最近因为阅读,想在威联通 NAS(QNAP)上本地访问,并快速记录一些知识,Typecho 油然而生。
博主采用 QNAP + Docker + SQLite 部署,SQLite 是在 Typecho 容器内安装的。
Typecho 特征:
1. 轻量高效:7 张表,不到 400KB 代码,超低 CPU 和内存使用率。2. 支持 Markdown,插件,主题,支持 BAE/GAE/SAE。
3. 简洁友好。
4. 支持 MySQL, SQLite, PostgreSQL 数据库。
首先 ,SSH 通过账号、密码连接上主机。
% ssh [email protected]
[email protected]'s password:
其次 ,Docker 查找 typecho 镜像,使用第一个 star 标注最多的 80x86/typecho 镜像。
QNAP 上的 Docker 也就是「Container Station 容器工作站」。
$ docker search typecho
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
80x86/typecho [multi arch] typecho PHP lightweight blog sy… 88
joyqi/typecho Typecho Official Image 68
zuolan/typecho Typecho 镜像,PHP 5.6,适用 Sqlite,基于 Alp… 7
yangxuan8282/typecho typecho docker https://github.com/typecho/t… 3 [OK]
nedvedliao/typecho Container running typecho in Nginx + PHP-FPM 2
xihefeng/typecho typecho,可以的话,点个收藏?☺ 2
flame123/typecho typecho 1.2 lightweight blog system for … 2
mssz/typecho_ssl This is an image for typecho which has been … 2
rehiy/typecho Docker Image for Typecho 1
derekamz/typecho typecho docker image 1 [OK]
chemistryhuang/typecho typecho enable ssl 1
frankzhang/typecho-phpbase 0 [OK]
vofficialuwu/typecho-paas 0
haloislet/typecho 0
kevin1528/typecho typecho Docker 环境,数据库使用mysql 0 [OK]
ouyangsong/typecho 0
thinkinn/typecho typecho without db 0
ohmydockerhub/typecho-php Typcho docker image base on alpine for https… 0
indexyz/typecho-docker Typecho docker build without mysql 0 [OK]
lufeidot/typecho Typecho images. 0
yearnfar/typecho-docker typecho-docker只是一个能运行 typecho 的 php-… 0 [OK]
90x60/typecho N1 typecho博客 0
kimoqi/typecho-blog tiny typecho blog 0
shyling/typecho typecho ( without inner database ) 0 [OK]
wjg1101766085/typecho Quickly start a typecho container 0
第三步 ,拉取 80x86/typecho 镜像。
$ docker pull 80x86/typecho
Using default tag: latest
latest: Pulling from 80x86/typecho
bdf0201b3a05: Pull complete
450942232c97: Pull complete
f821ea05a897: Pull complete
a6ed0c8c1d57: Pull complete
ed318611a4b7: Pull complete
973fd0cc02a9: Pull complete
dd4c978e5709: Pull complete
82a39a559649: Pull complete
f40bdad4e7ea: Pull complete
9e02658b0686: Pull complete
7c83383db86c: Pull complete
6d751e928c41: Pull complete
Digest: sha256:4af25c76919efa862d59aeb3a2d9f2394ad3ef4b338037e8a2499c55011dbbf7
Status: Downloaded newer image for 80x86/typecho:latest
docker.io/80x86/typecho:latest
第四步 ,从 QNAP 的 Container Station 中创建 Typecho 容器。
第五步 ,访问主机 http://192.168.10.6 :80,进入 Typecho 初始化页面。然后止步于此,先去第六步。
备注:
第六步 ,回到 SSH 窗口,进入 Typecho 容器内安装 SQLite。
$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7f45149e3f96 80x86/typecho:latest "/entrypoint.sh /app…" 23 minutes ago Up 23 minutes (healthy) 0.0.0.0:32768->80/tcp
$ docker exec -it typecho sh
/app # apk add sqlite3
fetch http://mirrors.aliyun.com/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.aliyun.com/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
ERROR: unsatisfiable constraints:
sqlite3 (missing):
required by: world[sqlite3]
/app # apk update
fetch http://mirrors.aliyun.com/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.aliyun.com/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
v3.9.6-143-ga5f34edab6 [http://mirrors.aliyun.com/alpine/v3.9/main]
v3.9.6-138-ge069a77b3b [http://mirrors.aliyun.com/alpine/v3.9/community]
OK: 9814 distinct packages available
/app # apk add sqlite3
ERROR: unsatisfiable constraints:
sqlite3 (missing):
required by: world[sqlite3]
仔细观察,这里有一个错误,进入 Alpine 容器后,使用 apk add 安装 sqlite3 报错,apk update 之后再安装还是会出现。这是因为 Alpine 以不同的名称提供了 sqlite3 软件包, 我们使用 sqlite 就好了。
使用以下命令安装 sqlite3。
/app # apk add --no-cache sqlite
fetch http://mirrors.aliyun.com/alpine/v3.9/main/x86_64/APKINDEX.tar.gz
fetch http://mirrors.aliyun.com/alpine/v3.9/community/x86_64/APKINDEX.tar.gz
(1/2) Installing readline (7.0.003-r1)
(2/2) Installing sqlite (3.28.0-r3)
Executing busybox-1.29.3-r10.trigger
OK: 46 MiB in 69 packages
/app # ls
log plugins themes
安装完 sqlite 数据库之后,是没有创建 db 数据库文件的。进入到 /app 根目录可以看到 Typecho 的 plugin、log、themes 目录都在这里,以后想要使用一些插件、或者主题的,可以使用命令 copy 到对应目录。
稍后通过 web 页面可以设置 db 数据库配置以及账号密码。
第七步 ,返回到「欢迎访问 Typecho」页面,点击「我准备好了, 开始下一步 」,设置数据库连接、管理员的账号和密码。
开始安装之后,进入到 /app/usr/ 目录可以看到 Typecho 自动为我们创建了 663d0a575a814.db 数据库文件。
/app # ls
LICENSE.txt README.md admin changelog.txt favicon.ico index.php install install.php tools typecho.db usr var
/app # cd usr
/data # ls
663d0a575a814.db config.inc.php log plugins themes
然后就可以安装成功啦!
第八步 ,访问管理后台、前端页面开始享用吧。
Typecho 官网直通车
GitHub - typecho/typecho
话说,很多人都在讨论用什么博客,网上对比也多,题主对于用什么博客系统不太关注,还是快造内容吧。