好物优选点击查看详情 京东购买

暂无内容

openwrt系统docker安装Typecho和宝塔

前言

原本我的Typecho是搭建在阿里云服务器上的,后来想了想,我的typecho大部分时间是作为个人笔记使用的,本地网络能够访问就够了,就萌生了本地搭建的想法。

Typecho作为几大博客平台之一,虽然使用人数比较多,但是容器化却是在今年年初才获得官方支持。官方没出教程,网上已有的教程要么是直接在debian、centos上安装,要么已经过时。

我使用的配置是N4500,固件版本OpenWrt R22.7.7 (2022-07-16) / LuCI Master (git-22.196.12585-0f5cc90)。4G内存,128GSSD(docker分配30G)。

安装之前

docker环境的配置此处不再赘述,如果拉取镜像总是报错,自己配置一下镜像加速器。本文所有镜像集成lnmp环境,无需提前配置,但在安装前请注意空间内存足够。

docker安装第三方typecho:80×86/typecho

  • 优点:简单快捷,占用资源少

  • 缺点:版本老旧,我没找到升级办法,疑似是魔改版

  • 地址:https://hub.docker.com/r/80×86/typecho

  • 拉取镜像:80×86/typecho

创建docker容器–命令行(直接复制于上面地址中的命令):

然后在浏览器输入:本地ip:90 就能进入typecho的初始化页面了。

下面显示的版本是1.20……但是后面括号里面还是19年的版本,由于我常用的主题不支持1.1,所以我还是尝试给他进行升级。我就当他不是1.20版本,winscp连接进行升级。

openwrt系统docker安装Typecho和宝塔插图

理论上只需要把左边的几个文件覆盖到右边就行了,但是他这几个文件实际上是左边usr里面的,作者在github上也没解释,遂放弃。理论上应该是会有升级方法,但是我自己没有折腾。

docker安装typecho官方镜像:joyqi/typecho

  • 优点:官方支持,版本较新,占用资源少

  • 缺点:没找到方法支持MySQL(数据库不好管理)

  • 地址:https://hub.docker.com/r/joyqi/typecho

  • 拉取镜像:joyqi/typecho:1.2.0-php7.4-apache

如果直接拉取镜像joyqi/typecho,他会直接拉取nightly也就是latest版本,相当于是测试版,可能不稳定,而且我不知道为什么一直拉取失败,所以这里需要直接拉取特定版本的镜像,具体版本可以自己在tag里面选。由于我使用的主题推荐使用php7.4,因此我以php7.4-apache版本为例进行演示。

创建docker容器–命令行:

然后在浏览器输入:本地ip:90 就能进入typecho的初始化页面了。

这里一定要注意,数据库选择Sqlite。理论上这个镜像是内置MySQL的,但是我折腾了半天也没成功,一直显示连接不到数据库,如果有成功的大佬还请赐教

此外,在官方所述的环境变量里面,有这么一项

openwrt系统docker安装Typecho和宝塔插图1

还可以直接设置数据库、用户名、密码等,理论上应该是可以直接一键部署的,但是我也没成功。

docker安装宝塔面板,在面板中安装typecho:pch18/baota

  • 优点:便于管理,宝塔面板安装环境

  • 缺点:占用资源很多

  • 地址:https://hub.docker.com/r/pch18/baota

  • 拉取镜像:pch18/baota

作者给的命令行是这个:

但是openwrt占用80端口,这样宝塔里面的nginx和ftp都会不工作,建立的站点也连接不到。

这里解决方法来源是https://www.bilibili.com/read/cv14147134专栏下热心网友的评论:

openwrt系统docker安装Typecho和宝塔插图2

但是这样只能建立一个端口为80的站点,如此一来,只要预先把所有想要用到的端口全部映射进去即可:

我这里格外映射了50000~50004端口,如果有需要的朋友可以自己再加。

启动容器后,就可以在浏览器输入:本地ip:8888 进入宝塔登录页面了

默认账户密码是:username password

但是输入进去会密码错误,解决方法是:

ssh连接后,docker exec -it baota bash

输入bt,修改密码即可登录

进入宝塔后的设置本文不再赘述,网上已经有很多教程,唯一需要注意的点是,域名只可以填写上面绑定过的,以本文的设置为例,域名只可以填写如下六个:

在访问时,除第一个(默认80端口)需要使用映射的8280端口访问以外,其他的直接输入浏览器即可。对应输入浏览器的访问地址:

总结

至此,在openwrt上通过docker已经成功安装typecho,我选择的是宝塔安装,管理起来方便一些。此外,解决方法还有很多,比如docker一个debian,在debian里面再安装typecho;或者干脆直接安linux双系统。但是我的需求已经满足了,我就不再去折腾了。

声明:

本文部分引用他人成果,已在文章中标明,如有侵权,尽快通知我删除相关内容。

原文链接:https://www.bilibili.com/read/cv17975385/

© 版权声明
THE END
喜欢就支持一下吧
点赞11 分享