AI摘要
写在前面
截止至 2024年3月27日 10:23:48,当前最新的稳定版本是 v1.2.1
这里要安装的是当前稳定版本 v1.2.1,适用于 php7及以上版本,但 php8暂不支持,如果需要高版本的支持,请前往 github上下载最新开发版本。
首先明确,typecho开源博客,是一个软件,也就是 php代码和 html、css、js代码的集合,是属于软件包,不是一个支持环境,所以需要你自行安装好相关支持环境,可以参见我其他的博客内容。
官方说法是需要有以下的支持条件的:
- PHP 7.2 以上
- MySQL, PostgreSQL, SQLite 任意一种数据库支持,并在 PHP 中安装了相关扩展
- CURL 扩展支持
- mbstring 或 iconv 扩展支持
传送门
高版本的
php需要前往github下载最新开发包进行安装。# 安装依赖 sudo yum -y install unzip # 下载包 wget https://github.com/typecho/typecho/releases/latest/download/typecho.zip # 解压到指定目录 unzip typecho.zip -d /server/package/typecho-1.2.1
准备的信息
我这里需要提前准备(想)好一些存放的信息,下面你如果跟我不一致,需要进行修改:
| 项目 | 值 |
|---|---|
| 博客网站域名 | typecho.hw13.cn |
| 网站源码下载目录 | /server/package/typecho-1.2.1 |
| 网站运行(安装)目录 | /server/web/typecho |
网站Nginx配置文件存放位置 | /server/nginx/conf/vhost/typecho.hw13.cn.conf |
下载软件包
官网下载
打开 typecho的官网地址(如下):
找到下载按钮,点击进去。
你这里有两种方式可选择:
- 点击直接下载到你电脑上,然后通过
ftp或scp命令上传到服务器上(可参见我另一篇博客) - 通过服务器上的
wget命令,直接从typecho官网拉取软件包
我这里选用的是第二种,直接复制下面这个下载链接(或者从官网复制):
https://github.com/typecho/typecho/releases/latest/download/typecho.zip服务器直接下载
登录进服务器,使用 wget命令进行下载
下载完成后,需要解压这个压缩包。
首先,你需要确定一个包的解压位置,比如我,我提前准备好了这个路径:
/server/package/typecho-1.2.1
那么你就可以用 unzip命令进行解压了(如果你是选用第一种办法,先下载到你电脑上,那可以先解压再传上来)
使用命令:
unzip typecho.zip -d /server/package/typecho-1.2.1进行解压。
注意,如果你不加 -d参数的话,会直接解压到当前目录中,造成跟其他的源码包混在一起
(我已经踩过坑了……你要是想再踩一次,我也不反对)
这个时候,如果你跟我一样,提示没有安装 unzip包的话,,那就去安装依赖吧。
使用命令:sudo yum -y install unzip
这里是需要全局权限进行安装的。
安装完成后再次调用解压命令,这时候就可以正常解压了。
你可以看到你的目录下多了一个 typecho-1.2.1的目录。
里面就是这个 typecho开源博客的源码了。
安装
源码迁移到项目目录
接下来我们将这个解压后的文件夹(typecho源码目录)移动到你的项目目录下
mv /server/package/typecho-1.2.1 /server/web/然后我们进到项目目录下,发现已经存在这个博客项目了。
进行 Nginx的解析配置
在你的 Nginx配置下,找到你的多站点配置目录。
下面内容如果看不懂站点域名配置的,可以移步另一篇博客查看
或者看你的 Nginx配置情况,放到指定位置。
在这里,我创建了一个 域名.conf的配置文件(只是为了方便管理,没有特殊含义,只要是 .conf后缀即可)
然后编写里面的内容,使用 vim命令打开这个文件
下面,我给出我的文件信息仅供大家参考:
# 网站 http 访问
server{
listen 80;
server_name 域名;
root 项目目录;
index index.php index.html index.htm;
# 所有请求全部重定向到index.php
location / {
if (-f $request_filename/index.html){
rewrite (.*) $1/index.html break;
}
if (-f $request_filename/index.php){
rewrite (.*) $1/index.php;
}
if (!-f $request_filename){
rewrite (.*) /index.php;
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME 项目目录$fastcgi_script_name;
include fastcgi_params;
}
}我给的代码当中增加了几条 location / {}语句
另外将 PHP执行脚本的解析转发给 9000端口,这个端口是我这个环境的 php-fpm进程监听的,请求会由 fpm进程处理完成返还给 Nginx,然后再响应给客户端。
接下来我们保存并退出(输入 :wq)
回到命令行里,这时候进行配置的检查命令:
nginx -t
发现是正常的,显示 syntax is ok和 test is successful,表示测试都通过了。
这时候我们就可以进行服务的重启,让我们的配置生效了。
nginx -s reload这是一种较为平稳的重启命令
执行后没有报错,就代表重启成功了。
确定服务器的公网 ip(阿里云)
首先要确定服务器所在的 ip,我这里是阿里云购买的 ECS服务器,打开阿里云的控制台。
点击打开这个控制台后,找到你购买的实例。
注意,这里要复制的是公网地址,如果是私网地址(内网)会解析失败的。
配置域名解析(阿里云)
接下来我们要进行域名解析相关的配置,这里我是在阿里云万网购买的域名,如果你是在别的平台购买的域名或找别人要的二级域名,就需要参考别的方式了。
首先登录到阿里云平台
- 点击左上角橙色菜单下
- 找到“云解析DNS”菜单(可通过搜索栏搜索)
- 找到你上面配置好,要解析到这台服务器的域名
- 点击“解析设置”按钮
然后进入到解析设置里,我们点击“添加记录”按钮,增加一条域名解析的 DNS记录
选择解析方式是 A解析-域名指向一个ip地址
主机记录填写为上面获取的 公网ip地址,ttl选择默认即可
设置完成后,点击右下角的确定即可
检测解析结果是否符合预期
设置完成后,可以使用当前电脑的 ping命令,进行域名解析检测
在你的 cmd窗口中,输入 ping 你的博客域名,查看返回的ip地址,是否是你的服务器地址。
运行 typecho网站安装程序
首先,你在你的电脑浏览器上输入你的博客网站域名。
网站打开后,会自动跳转到下列地址。
如果见不到这个页面,可以去检查之前的步骤是否正常完成了。
或者也可以关注我们公众号,给我发消息。
我们开始点击下一步
这时候会出现这里有个写入失败的报错,我们按照提示内容,对指定目录进行权限设置。
注意,这里是要在 网站运行(安装)目录 下的这个uploads进行权限设置,不要搞错了
这里找到这个目录,使用cd命令进入,可以看到这个目录权限为:
rwxr-xr-x,我们给进行权限的提升。
根据你服务器上的具体信息进行权限提升。
我看到网上有很多说法是直接设置成777权限的,我并不提倡,最好是按照你的nginx访问者,和php-fpm访问者的权限进行划分,这样更安全
我这里做了个所属者的修改,改为Nginx访问者作为所有者。
这里我为了以后方便,还可以把整个usr目录都修改所属者信息,方便以后进行插件和主题的修改。
然后回到网页,再点击下一步,就可以正常进入下一个页面了。
这里会出现一个数据库信息的填写界面,你需要填写一些你数据库的账号、密码、端口、前缀等等。
如果数据库服务未安装,那就需要先进行安装或配置。
当然,你有钱的话,可以额外购置一台RDB数据库服务器,我就不再多说了。
这里的数据库适配器选择,我选择了PDO适配,因为我安装过php的pdo依赖,也可以选择其他的方式,只是你需要去配置一些依赖了。
填写完成后,点击下面的“确认”按钮
由于我们一开始只给了usr/目录修改了所属者和权限,根目录并没有给权限,所以这里会出现一个报错(不用担心,是故意的)
提示创建配置文件失败,我们复制这个配置文件的内容。
根据这个提示的文件路径,去到根目录创建一个config.ini.php文件,这个文件最好不要让程序自动创建,这样对于权限来说更安全。
这里我们来到根目录,使用vim命令创建这个配置文件
vim config.inc.php文件内容就从这个网站显示的内容来复制过去。
粘贴完成后,点击键盘的Esc按钮,之后输入:wq进行保存并退出
我们再点击这个网页上的按钮。
这里就进入了下一步了,我们输入自己要设置的管理员账密,和邮箱(用来找回密码的),然后点击下一步。
如果你看到这样的画面,就代表你的安装已经基本完成了,它会再把你输入的账密提示出来,你需要保存或者记录下来。
可以打开你的网站欣赏单纯的typecho网站了,当然也可以直接进入后台管理,发布你的第一篇博客。
正常访问网站
如下图,代表安装已经全部完成了
额外注意
如果你的网站打开第二个页面(比如文章详情页,后台登录后的管理页面)发现打不开,或者出现404 not found的情况,可以跟着我配置下面的一些东西
配置Nginx重写配置
找到之前我们的Nginx配置文件,加上几行代码
location / {
if (!-e $request_filename) {
rewrite ^(.*)$ /index.php?query=$1 last;
}
}这样就可以实现重写的部分了。
开启后台的地址重写功能
我们可以在后台开启地址重写,便于搜索引擎收录,具体方式是:
在顶上的配置菜单中,打开开关,然后进行保存。


































