引言

截止至 2024年3月27日 10:23:48,当前最新的稳定版本是 v1.2.1

这里要安装的是当前稳定版本 v1.2.1,适用于 php7及以上版本,但 php8暂不支持,如果需要高版本的支持,请前往 github上下载最新开发版本。

首先明确,typecho开源博客,是一个软件,也就是 php代码和 htmlcssjs代码的集合,是属于软件包,不是一个支持环境,所以需要你自行安装好相关支持环境,可以参见我其他的博客内容。

官方说法是需要有以下的支持条件的:

  • 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的官网地址(如下):

https://typecho.org

typecho官网

typecho官网

找到下载按钮,点击进去。

下载正式版

下载正式版

你这里有两种方式可选择:

  1. 点击直接下载到你电脑上,然后通过 ftpscp命令上传到服务器上(可参见我另一篇博客)
  2. 通过服务器上的 wget命令,直接从 typecho官网拉取软件包

下载安装包

下载安装包

我这里选用的是第二种,直接复制下面这个下载链接(或者从官网复制):

https://github.com/typecho/typecho/releases/latest/download/typecho.zip

服务器直接下载

登录进服务器,使用 wget命令进行下载

使用wget命令下载资源

使用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

这里是需要全局权限进行安装的。

安装unzip命令

安装unzip命令

安装完成后再次调用解压命令,这时候就可以正常解压了。

解压typecho源码

解压typecho源码

你可以看到你的目录下多了一个 typecho-1.2.1的目录。

里面就是这个 typecho开源博客的源码了。

typecho源码

typecho源码

安装

源码迁移到项目目录

接下来我们将这个解压后的文件夹(typecho源码目录)移动到你的项目目录下

mv /server/package/typecho-1.2.1 /server/web/

移动源码到项目文件夹下

移动源码到项目文件夹下

然后我们进到项目目录下,发现已经存在这个博客项目了。

进行 Nginx的解析配置

在你的 Nginx配置下,找到你的多站点配置目录。

下面内容如果看不懂站点域名配置的,可以移步另一篇博客查看

或者看你的 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;
    }
}

nginx配置文件

nginx配置文件

我给的代码当中增加了几条 location / {}语句

另外将 PHP执行脚本的解析转发给 9000端口,这个端口是我这个环境的 php-fpm进程监听的,请求会由 fpm进程处理完成返还给 Nginx,然后再响应给客户端。

接下来我们保存并退出(输入 :wq

回到命令行里,这时候进行配置的检查命令:

nginx -t

Nginx配置检查和重启

Nginx配置检查和重启

发现是正常的,显示 syntax is oktest is successful,表示测试都通过了。

这时候我们就可以进行服务的重启,让我们的配置生效了。

nginx -s reload

这是一种较为平稳的重启命令

执行后没有报错,就代表重启成功了。

确定服务器的公网 ip(阿里云)

首先要确定服务器所在的 ip,我这里是阿里云购买的 ECS服务器,打开阿里云的控制台。

找到ECS控制台

找到ECS控制台

点击打开这个控制台后,找到你购买的实例。

复制你实例的地址

复制你实例的地址

注意,这里要复制的是公网地址,如果是私网地址(内网)会解析失败的。

配置域名解析(阿里云)

接下来我们要进行域名解析相关的配置,这里我是在阿里云万网购买的域名,如果你是在别的平台购买的域名或找别人要的二级域名,就需要参考别的方式了。

阿里云控制台

阿里云控制台

首先登录到阿里云平台

  1. 点击左上角橙色菜单下
  2. 找到“云解析DNS”菜单(可通过搜索栏搜索)
  3. 找到你上面配置好,要解析到这台服务器的域名
  4. 点击“解析设置”按钮

域名选择

域名选择

然后进入到解析设置里,我们点击“添加记录”按钮,增加一条域名解析的 DNS记录

添加记录按钮

添加记录按钮

选择解析方式是 A解析-域名指向一个ip地址

主机记录填写为上面获取的 公网ip地址ttl选择默认即可

添加域名解析

添加域名解析

设置完成后,点击右下角的确定即可

检测解析结果是否符合预期

设置完成后,可以使用当前电脑的 ping命令,进行域名解析检测

在你的 cmd窗口中,输入 ping 你的博客域名,查看返回的ip地址,是否是你的服务器地址。

检测域名解析情况

检测域名解析情况

运行 typecho网站安装程序

首先,你在你的电脑浏览器上输入你的博客网站域名。

网站打开后,会自动跳转到下列地址。

打开网站地址

打开网站地址

如果见不到这个页面,可以去检查之前的步骤是否正常完成了。

或者也可以关注我们公众号,给我发消息。

我们开始点击下一步

出现报错

出现报错

这时候会出现这里有个写入失败的报错,我们按照提示内容,对指定目录进行权限设置。

注意,这里是要在 网站运行(安装)目录 下的这个uploads进行权限设置,不要搞错了

这里找到这个目录,使用cd命令进入,可以看到这个目录权限为:

rwxr-xr-x,我们给进行权限的提升。

查看uploads目录权限

查看uploads目录权限

根据你服务器上的具体信息进行权限提升。

我看到网上有很多说法是直接设置成777权限的,我并不提倡,最好是按照你的nginx访问者,和php-fpm访问者的权限进行划分,这样更安全

我这里做了个所属者的修改,改为Nginx访问者作为所有者。

设置所属者

设置所属者

这里我为了以后方便,还可以把整个usr目录都修改所属者信息,方便以后进行插件和主题的修改。

设置整个usr目录的所有者

设置整个usr目录的所有者

然后回到网页,再点击下一步,就可以正常进入下一个页面了。

这里会出现一个数据库信息的填写界面,你需要填写一些你数据库的账号、密码、端口、前缀等等。

如果数据库服务未安装,那就需要先进行安装或配置。

当然,你有钱的话,可以额外购置一台RDB数据库服务器,我就不再多说了。

这里的数据库适配器选择,我选择了PDO适配,因为我安装过phppdo依赖,也可以选择其他的方式,只是你需要去配置一些依赖了。

填写数据库账密和其他信息

填写数据库账密和其他信息

填写完成后,点击下面的“确认”按钮

由于我们一开始只给了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;
    }
}

这样就可以实现重写的部分了。

配置重写nginx信息

配置重写nginx信息

开启后台的地址重写功能

我们可以在后台开启地址重写,便于搜索引擎收录,具体方式是:

在顶上的配置菜单中,打开开关,然后进行保存。

开启重写

开启重写


欢迎关注拓行公众号,分享各种技术博客文章

拓行——奋勇进取,开拓未来,砥砺前行

最后修改:2024 年 04 月 25 日
如果您对各种技术博客文章感兴趣,欢迎关注拓行公众号,分享各种专业技术知识~