搭建Typecho博客
提示
本方案采用docker + typecho 进行快速搭建
演示环境: centos7
# 镜像构建与运行
创建或进入一个目录,下载源文件
mkdir build
git clone https://github.com/typecho/typecho.git typecho`
cd ./typecho/tools
docker build -t typecho:0.1 .
#查看是否成功构建,若因网络等原因构建失败可重试几次。
docker images
2
3
4
5
6
创建运行容器,并且映射端口9900
宿主机挂在目录:/server/docker-apps/typecho
(当然你可以选择其他目录,前提自行解决目录访问权限问题)
docker run -d -p 9900:80 --name typecho -v /server/docker-apps/typecho:/www typecho:0.1
无法访问?
安全组开放端口
防火墙开放端口
firewall-cmd --zone=public --query-port=9900/tcp firewall-cmd --zone=public --add-port=9900/tcp --permanent firewall-cmd --reload
1
2
3
无法创建config.inc.php?
容器内部/www
目录所属(www-data)和权限(读写)。
chown www-data:www-data -R /www #容器内执行
# 容器修改
容器运行成功后进行调试
# 进入容器内部
docker exec -it typecho bash
# 连接内置mysql
# 默认密码123456, 可在构建前修改Dockerfile,更换指定mysql密码
mysql -u root -p
# 创建数据库
create database if not exists typecho default charset utf8 collate utf8_general_ci;
2
3
4
5
6
7
# 宿主机调试
# 进入挂载目录
cd /server/docker-apps/typecho/
# 下载typecho代码
wget http://typecho.org/downloads/1.1-17.10.30-release.tar.gz
# 解压
tar -zxf 1.1-17.10.30-release.tar.gz
mv build/* .
rm 1.1-17.10.30-release.tar.g
rm -r build/
2
3
4
5
6
7
8
9
# Typecho
主站:http://typecho.org/ (opens new window)
Typecho基于PHP5开发,支持多种数据库 (opens new window),是一款内核强健﹑扩展方便﹑体验友好﹑运行流畅的轻量级开源博客程序。
特点:
- 极简
- 轻量
- 内置数据库
# 更换主题
- 首先下载Typecho主题文件。网上可以搜索到很多主题模板,选择一款喜欢的主题下载即可,然后将下载的主题文件解压到电脑上。
- 解压成功后将保存了主题的文件夹直接上传到Typecho网站,放到容器内
/www/usr/themes
目录下(自带一个default主题)。 - 主题文件上传成功后,我们进入到Typecho网站后台,点击控制台中的“外观”,激活启用该主题,然后刷新下网站,就可以看到新的主题了。
自用主题:Typecho AL_lolimeow
# 更换插件
- 操作同上,下载插件后放到容器内
/www/usr/plugins
目录下(自带一个HelloWorld插件),然后启用即可。
- 操作同上,下载插件后放到容器内
typecho容器内
/www/usr/uploads
目录存放上传的文件,若上传文件失败,请检查容器内部该目录所属(www-data)和权限(读写)。如果想将typecho文件上传到其他文件存储服务,以便节省服务器磁盘空间,加快博客访问速度,可安装对应插件。可以参考另一篇文章上传失败还有一种情况,nginx日志报错
client intended to send too large body
,是因为nginx限制了客户端请求的大小,将限制放宽即可在nginx配置的http下添加或修改以下配置
client_max_body_size 50m;
自用插件:
- Links
- APlayer for Typecho | Meting 修复版
- jkSiteHelper
- jkOptionsFramework
# 修改后台登陆地址
- 修改typecho管理后台登陆地址
先将admin目录修改成自己知道名称,可以是一串字符,至少没那么好猜,如:
nimda
将容器内
/www
目录的admin目录重命名为新名称 如:nimda
修改容器内
/www
目录config.inc.php 文件修改配置。将以下行中的admin修改成对应名称
nimda
即可define('__TYPECHO_ADMIN_DIR__', '/admin/');
=>define('__TYPECHO_ADMIN_DIR__', '/nimda/');
- typecho隐藏登陆入口,这样在首页就看不到登陆入口。
- 登陆管理后台,左上角
控制台
找到设置外观
,点进去 - 取消
设置外观
下显示其它杂项
的勾勾,然后保存设置。
- Typecho修改gravatar头像源为国内服务器源
typecho代码目录下 config.inc.php 文件添加以下配置
/*gravatal源*/ define('__TYPECHO_GRAVATAR_PREFIX__', 'https://cdn.v2ex.com/gravatar/');```
1
2