logo 🤗

技术视野

聚焦科技前沿,分享技术解析,洞见未来趋势。在这里,与您一起探索人工智能的无限可能,共赴技术盛宴。

数据库准备工作(宝塔版)

  1. 安装然后进入PostgreSQL管理器。
  2. 新建数据库:
# 数据库名
typechodb

# 用户名
typechouser

# 权限:指定ip网段
172.17.0.2,172.17.0.3

# 然后复制密码即可

正式部署

  1. 拉取docker镜像
docker pull joyqi/typecho:1.2.0-php7.4-apache
# 或者
docker pull dockerproxy.com/joyqi/typecho:1.2.0-php7.4-apache
docker tag dockerproxy.com/joyqi/typecho:1.2.0-php7.4-apache joyqi/typecho:1.2.0-php7.4-apache
  1. 运行镜像
docker run \
--name typecho-server \
--restart=always \
-p 9000:80 \
-v /data/typecho:/app/usr \
-e TYPECHO_INSTALL=1 \
-e TYPECHO_USER_NAME=tlntin \
-e TYPECHO_USER_MAIL=TlntinDeng01@Gmail.com \
-e TIMEZONE=Asia/Shanghai \
-e TYPECHO_DB_ADAPTER=Pdo_Mysql \
-e TYPECHO_SITE_URL=https://http5.cn \
-e TYPECHO_DB_HOST=10.0.8.2 \
-e TYPECHO_DB_USER=typechouser \
-e TYPECHO_DB_PASSWORD="xxxxx" \
-e TYPECHO_DB_DATABASE=typechodb \
-e TYPECHO_DB_PORT=5432 \
-d joyqi/typecho:1.2.0-php7.4-apache
  1. 开启https
  • 配置nginx反代
location / {
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection "upgrade";
     proxy_set_header Host $host;
     proxy_set_header X-Nginx-Proxy true;
     proxy_cache_bypass $http_upgrade;
     proxy_pass http://localhost:9000/;
  }
  • 修改config.inc.php,使得所有文件默认开启https
docker exec -it typecho-server /bin/bash

echo "define('__TYPECHO_SECURE__',true);" >> config.inc.php

docker restart typecho-server

安装主题

Typecho 博客主题安装:

下载Typecho主题,解压得到一个文件夹
通过FTP将整个文件夹上传至usr/themes/目录下
登陆自己的Typecho博客后台,在“控制台”的下拉菜单中选择“外观”选项进入已安装主题列表
将鼠标移动要上传的主题上传,点击“激活”即可使用

git clone https://github.com/dyedd/lanstar.git -b 4.0.2
# 或者
git clone https://ghproxy.com/https://github.com/dyedd/lanstar.git -b 4.0.2

# 然后将文件丢到主题目录
docker cp lanstar typecho-server:/app/usr/themes
  • 后台》管理》分类》编辑分类中,在分类描述里填入你想要自定义的图片地址。否则分类不显示图片。描述填入内容如下:https://q1.qlogo.cn/g?b=qq&nk=371043382&s=100
  • 控制台》设置外观》将主题改成这个主题。
  • 控制台》设置外观》侧边栏设置》将头像改成上面的网站图片, 然后名称改成你的名称。

语雀同步插件

git clone https://github.com/Juexe/YuqueSync.git -b v1.2.1
# 或者
git clone https://ghproxy.com/https://github.com/Juexe/YuqueSync.git -b v1.2.1

docker cp YuqueSync typecho-server:/app/usr/plugins/
  • 然后去插件启用,并且获取token。
# Personal Access Token
xxxxxx

# Login User
xxxxx
  • 关于图片无法显示问题,在页面 header 中加入如下 meta 即可绕过防盗链:
  • 可以在设置外观》开发者设置》自定义头部信息里面加入。
<meta name="referrer" content="no-referrer">

Latex插件

git clone https://github.com/gogobody/TypechoLaTeX.git
# 或者
git clone https://ghproxy.com/https://github.com/gogobody/TypechoLaTeX.git

# 拷贝到插件
docker cp TypechoLaTeX typecho-server:/app/usr/plugins/

多域名(可选,建议设置)

  1. 复制配置文件
docker cp typecho-server:/app/var/Widget/Options.php .
  1. 搜索站点信息
TYPECHO_SITE_URL
# 找到下面这段

/** 初始化站点信息 */
if (defined('__TYPECHO_SITE_URL__')) {
    $this->siteUrl = __TYPECHO_SITE_URL__;
} else if (defined('__TYPECHO_DYNAMIC_SITE_URL__') && __TYPECHO_DYNAMIC_SITE_URL__) {
    $this->siteUrl = $this->rootUrl;
}

# 下面的代码加到这里
  1. 添加你的其他域名(注意,只支持开启Https的域名)
if($_SERVER['HTTP_HOST']=='http5.cn'){
    $this->siteUrl = 'https://http5.cn';
}       

if($_SERVER['HTTP_HOST']=='http6.cn'){
    $this->siteUrl = 'https://http6.cn';
}
  1. 复制文件回去
docker cp Options.php typecho-server:/app/var/Widget/

docker restart typecho-server

头像不显示或者不匹配问题

将以下代码加到站点根目录的 config.inc.php 中即可

docker exec -it typecho-server /bin/bash

echo "define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cravatar.cn/avatar/');" >> config.inc.php

docker restart typecho-server

备案相关

关闭点赞,评论功能

  • 根据公安备案要求,个人网站不提供交互功能(包含点赞,评论等)
  • 可以用grep命令搜一下评论,点赞相关字眼
grep "评论" -r ./lanstar/*
grep "点赞" -r ./lanstar/*
  1. vim ./component/post.content.php
  • 删除下面的代码
<div class="article-action-item">
    <a id="comment" href="#comment" data-bs-toggle="tooltip" data-bs-placement="bottom"
       data-bs-title="评论">
        <svg class="icon" aria-hidden="true">
            <use xlink:href="#icon-liuyanban"></use>
        </svg>
    </a>
</div>
<div class="article-action-item" id="agree-btn" data-cid="<?php $this->cid(); ?>"
     data-bs-toggle="tooltip" data-bs-placement="bottom"
     data-bs-title="点赞">
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-xihuan"></use>
    </svg>
    <?php $agree = $this->hidden ? array('agree' => 0, 'recording' => true) : utils::agreeNum($this->cid); ?>
    <span class="agree-num"><?=  $agree['agree']; ?></span>
</div>
  1. vim lanstar/component/index.article.php
  • 删除下面这两段
<div class="commentNum">
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-pinglun"></use>
    </svg>
    <?php $this->commentsNum('0', '1', '%d'); ?>
</div>
<div class="like" data-cid="<?php $this->cid(); ?>"
     data-bs-toggle="tooltip" data-bs-placement="right"
     data-bs-title="喜欢">
    <?php $agree = $this->hidden ? array('agree' => 0, 'recording' => true) : utils::agreeNum($this->cid); ?>
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-dianzan"></use>
    </svg>
    <b class="agree-num"><?=  $agree['agree']; ?></b>
</div>
  1. vim lanstar/component/page.content.php
  • 删除下面的评论统计
<div class="post-info-icon">
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-pinglun"></use>
    </svg>
    <?php $this->commentsNum(); ?>条评论
</div>
  1. vim lanstar/component/post.content.php
  • 删除下面的评论统计
<div class="post-info-icon">
    <svg class="icon" aria-hidden="true">
        <use xlink:href="#icon-pinglun"></use>
    </svg>
    <?php $this->commentsNum(); ?>条评论
</div>
  1. vim lanstar/layout/right.php
  • 删除右侧的评论量统计
<div class="item" title="累计评论数">
    <span class="num"><?=  number_format($item->publishedCommentsNum); ?></span>
    <span>评论量</span>
</div>
  1. 覆盖主题
docker cp lanstar typecho-server:/app/usr/themes

填写ICP备案号

  • 进入后端管理页面
  • 控制台-设置外观-公共设置-网站备案号
  • 如果忘记了自己的备案号,可以去该网站输入你的域名进行查询。https://beian.miit.gov.cn/

填写公安备案号

  • 进入后端管理页面
  • 控制台-设置外观-开发者设置-自定义脚部信息
  • 下面是一个简单的示例,将备案号码换成你的就可以了。
<img src="https://pic.imgdb.cn/item/64a198cd1ddac507cc863cf6.png"><a class="jgawb" href="http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=44010402003054" target="_blank" data-v-057bc46e="" style="color: rgb(116, 154, 227) !important;"> &nbsp;粤公网安备44010402003054号</a>

版权属于:tlntin
作品采用:本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。
更新于: 2023年10月08日 11:57


39 文章数
5 分类数
40 页面数
已在风雨中度过 1年160天12小时18分
目录
来自 《利用docker安装typecho博客》
暗黑模式
暗黑模式
返回顶部
暗黑模式
暗黑模式
返回顶部