[typecho]小白也能轻松搞定的-极空间docker安装typecho
[typecho]小白也能轻松搞定的-极空间docker安装typecho
MOREFOXserver

[typecho]小白也能轻松搞定的-极空间docker安装typecho

MOREFOX
2024-03-31 / 0 评论 / 204 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2024年04月02日,已超过232天没有更新,若内容或图片失效,请留言反馈。

小白也能轻松搞定的-极空间docker安装typecho

拉取镜像

拉取镜像

docker pull joyqi/typecho:1.2.1-php7.4-apache

docker pull mysql:5.7.44

docker pull adminer:latest
  • 在极空间中
  • 选择 镜像 - 仓库 - 自定义拉取 - joyqi/typecho:1.2.1-php7.4-apache
  • 同理 自定义拉取 - mysql:5.7.44 adminer:latest

部署容器

部署mysql容器
  • 在本地镜像中选择 mysql 点击 部署到容器

  • 给容器命名并勾选 极空间开机后自动启动此容器

  • 选择文件夹路径,随便选个你喜欢的文件夹,
  • (当你后面需要修改数据库文件的时候,推荐不要直接拿这里面文件动手,容易出错。特别是不要手动删除数据库文件。强烈推荐使用接口+管理面板来管理数据库,比如:Adminer图形化管理面板)

  • 打开端口列表并将3306转发到3306,33060转发到33060。

  • 添加一行环境变量 MYSQL_ROOT_PASSWORD 并将值设置为你的密码。这一条是root账户的密码,如果不设置会无法启动容器无限重启。

  • 勾选 -it 选项,(我发现不勾好像也不影响使用但还是推荐勾上吧,保险起见。)

  • 把容器权限全打开(同样是保险起见,除了监控类型的别的还是都打开吧,不然总是出些幺蛾子毛病)

部署adminer容器

  • 选择本地镜像adminer后点部署,8080端口绑定的本地端口设置为 3305
  • 打开全部权限,同mysql。
  • 点击部署。

  • 进入浏览器,打开 http://你的极空间局域网ip:3305 示例: http://192.168.0.103:3305/
  • 进入后可以看到如下

  • 系统选择mysql
  • 服务器输入你的极空间地址+端口3306,这个输入的是mysql的服务器,也就是刚才部署的mysql容器的端口。
  • 用户名是root,
  • 密码是上面部署mysql的时候,环境变量里添加的那个。
  • 数据库可以不填,勾上保持登陆,点登陆。
通过adminer图形管理面板新建数据库
  • 进入adminer后台,在选择数据库的下方,点击 创建数据库 ,然后数据库名填写 typecho ,类型选校对即可,点击保存。

  • 可以选择在typecho数据库新建一个用户,也可以不新建用户直接使用root管理员用户。
  • 新建方式:返回数据库列表 - 选择刚刚新建的typecho数据库 - 点击上方‘权限’ - 点击创建用户
  • 创建完成后需要勾选权限才可使用。

  • 总之我比较懒,而且数据库只有我自己用,所以我就不新建用户了,直接用root来。
未安装adminer新建数据库的方式
  • 选择mysql容器,点击ssh按钮,然后点连接。

  • 后台输入 mysql -u root -p 然后回车
  • 回车后,输入第一步里mysql环境变量设置的密码,然后再回车,登陆进mysql。
  • 输入 CREATE DATABASE typecho;回车, 新建数据库,
  • 这里注意最后需要有 ; 符号,我第一次用数据库的时候踩过坑,研究了几个小时都新建不成功,回车之后没反应,这种犯蠢的时候感觉别人也会有,所以顺便说一下。
  • (当然这也是为啥最后决定用adminer图形管理系统的原因,我太萌新了不想敲指令)

↓ 数据库ssh使用方法详情参考下面这个链接 ↓


部署typecho容器

  • 这里的博客端口我设置的是9040,忘了为啥是这个了,好像是以前部署的时候看的哪一篇教程就是这个,那会儿太萌新了,怕操作错了,完全照着教程来的。
  • 最后需要把能力一栏,把所有权限都勾上。 习惯全勾,也是因为以前部署容器的时候踩过坑。
  • 最后点击应用,之后就可以通过内网ip+端口来访问了。
安装typecho
  • 浏览器输入 http://你的极空间局域网ip:博客端口/install.php例如: http://192.168.0.103:9040/install.php
  • 进入欢迎页面直接点下一步。
  • 然后填写数据库信息

  • 数据库一栏可以选择原生mysql或者pdo驱动mysql,原作者推荐pdo那就pdo吧,
  • 选择sqlite的话不需要mysql,但容易出毛病,不知道咋解决所以还是推荐mysql。
  • 之后点击 确认,开始安装
  • 如果提示error的话,检查数据库地址,可以查看mysql容器里的网络,然后尝试直接填写172.17.0.X格式的地址,
  • 之后再检查密码,
  • 检查数据库ssl关没关,
  • 还是有问题的话,去mysql容器检查是否开启成功,重启mysql容器之类的也行。

  • 成功后画面如下

  • 进入这个页面后就说明数据库构建很成功不用去管了,
  • 用户名和密码和邮箱都是后台的个人信息,用来登陆用的,
  • 网站地址可以先填上你的域名,也可以先默认的放着,反正现在填了也没用会恢复默认的。

  • 点击继续安装

成功后可以通过 极空间局域网ip+博客端口访问博客页面,例如 http://192.168.0.103:9040/

配置ssl和frp穿透

ssl证书获取

  • 打开dnspod管理面板,找到你的域名,点击服务一栏的 ssl 字符,选择管理或是申请。
    • 进入ssl证书详情后点击最上方一栏 证书下载

    • 选择 Nginx 下载,下载后为压缩包,文件解压后内含三个证书密钥文件,直接解压成文件夹,然后丢到frpc客户端文件夹根目录,如下。

    配置frp客户端
    • 双击打开 frpc客户端文件夹 内的 frpc.ini 配置文件
    • 新增如下配置
    [http_blog]
    type = http
    local_ip = 127.0.0.1
    local_port = 端口      //对于typecho来说,以下的端口都是同一个
    custom_domains = 域名
    
    [https_blog]
    type = https
    local_ip = 127.0.0.1
    local_port = 端口
    custom_domains = 域名
    plugin = https2http
    plugin_local_addr = 127.0.0.1:端口
    plugin_host_header_rewrite = 域名
    plugin_crt_path  = /frp/morefox.net_nginx/morefox.net_bundle.crt     //对应crt密钥文件
    plugin_key_path = /frp/morefox.net_nginx/morefox.net.key             //对应key密钥文件
    plugin_header_X-From_Where = frp             //修复css和js文件的https加载问题(实测没啥用,还是要改文件)
    force_https = true                           //强制开启https(页面内跳转才有效,地址栏输入无效)
    示例
    [http_blog]
    type = http
    local_ip = 127.0.0.1
    local_port = 1234
    custom_domains = morefox.net
    
    [https_blog]
    type = https
    local_ip = 127.0.0.1
    local_port = 1234
    custom_domains = morefox.net
    plugin = https2http
    plugin_local_addr = 127.0.0.1:1234
    plugin_host_header_rewrite = morefox.net
    plugin_crt_path  = /frp/morefox.net_nginx/morefox.net_bundle.crt
    plugin_key_path = /frp/morefox.net_nginx/morefox.net.key
    plugin_header_X-From_Where = frp
    force_https = true

    配置后需重启frpc客户端的docker容器以应用修改后的配置。


    https部署后网页错位情况

    如下:

    原因:使用https加载网页时,网页内的css样式文件和js脚本文件有http方式下载,导致被浏览器拦截

    修复方式如下:

    修改后台站点地址
    1. 进入后台,找到 网站设置-基本-站点地址
    2. 修改站点地址为https为前缀的域名地址。

    修改配置文件
    1. 进入极空间文件管理
    2. 找到 /typecho博客根目录/config.inc.php 双击打开配置文件
    3. 在配置文件最下面添加如下代码
     /**开启HTTPS**/
    define('__TYPECHO_SECURE__',true);

    总结

    • 博客至此部署完成,
    • 整体还是挺简单的,一共就4大步
    • 部署数据库,部署博客,部署frp穿透,设置ssl加密并开启https
    • 再往后就是添加插件和主题了,这部分自行研究或者后面我会分享一些主题或插件推荐。
    • 以上

    主题放在 /typechoBlog/usr/themes 文件夹下
    插件放在 /typechoBlog/usr/plugins 文件夹下
    最后去博客后台启用对应主题和插件即可。

    6

    评论 (0)

    取消