引言

截止至 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官网

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

下载正式版

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

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

下载安装包

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

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

服务器直接下载

登录进服务器,使用 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命令

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

解压typecho源码

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

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

typecho源码

安装

源码迁移到项目目录

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

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

移动源码到项目文件夹下

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

进行 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配置文件

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

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

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

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

nginx -t

Nginx配置检查和重启

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

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

nginx -s reload

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

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

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

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

找到ECS控制台

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

复制你实例的地址

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

配置域名解析(阿里云)

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

阿里云控制台

首先登录到阿里云平台

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

域名选择

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

添加记录按钮

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

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

添加域名解析

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

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

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

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

检测域名解析情况

运行 typecho网站安装程序

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

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

打开网站地址

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

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

我们开始点击下一步

出现报错

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

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

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

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

查看uploads目录权限

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

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

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

设置所属者

这里我为了以后方便,还可以把整个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信息

开启后台的地址重写功能

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

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

开启重写


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

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

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