引言
截止至 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;
}
}
这样就可以实现重写的部分了。
开启后台的地址重写功能
我们可以在后台开启地址重写,便于搜索引擎收录,具体方式是:
在顶上的配置菜单中,打开开关,然后进行保存。