最近想搭建一个博客,将现在已经记录在obsidian的文章上传。查看和obsidian配合使用最多的是hexo。实际使用hexo以后发现搭建确实比较方便,几个命令就可以下载,但是主题配置麻烦,自定义难度高。我的诉求是自己通过AI创建了一个官网,希望把这个官网作为博客的主页,选了hexo的next、butterfly、even、fluid都不满意,看了bili上的博客网站,看了一下halo和wordpress,最终决定用wordpress搭建。我的需求如下:

  1. 我自己新建的官网可以使用,那是一个纯用AI生成的官网,用于给用户展示。
  2. 在官网的基础把博客内容放进去,或者反过来说,我需要建立一个wordpress的博客,官网可以使用我已经建立好的官网页面,恰好看到wordpress支持这个功能.
    使用配置如下:
  • ubuntu主机1台

安装过程

1. 准备工作

使用ubuntu进行搭建,本人的ubuntu版本是20.04,可以通过如下命令进行查看:

1
2
3
lsb_release -a
# 或者查看文件
cat /etc/os-release

2. 安装 nginx

先要升级最新源,安装nginx服务器

1
2
3
4
5
6
7
# 升级到最新源
sudo apt-get update
sudo apt-get upgrade

# 安装nginx
sudo apt install nginx
sudo systemctl start nginx

查看nginx状态,看是否成功

1
2
3
4
5
6
7
# 查看nginx状态
sudo systemctl status nginx

# 若果看到active,那就是成功了
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since ...

或者打开浏览器,如果是本地电脑安装,打开http://localhost,如果是云端部署,打开http://IP地址,如果看到一个显示 “Welcome to Nginx!” 的页面,那就是成功了。

3. 安装php组件

需要安装php组件和相关依赖组件

1
2
3
4
5
6
7
sudo apt-get install php8.1

# 安装
sudo apt install php8.1-fpm
# 使能
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

如果如下错误

1
2
3
E: Unable to locate package php8.1
E: Couldn't find any package by glob 'php8.1'
E: Couldn't find any package by regex 'php8.1'

则有可能是PPA不正确,重新添加并更新PPA

1
2
3
4
5
6
sudo apt-add-repository ppa:ondrej/php # 运行需要按回车继续
sudo apt-get update
sudo apt-get install php8.1
sudo apt install php8.1-fpm
sudo systemctl start php8.1-fpm
sudo systemctl enable php8.1-fpm

安装后检查是否运行,如果是active,则正常运行

1
sudo systemctl status php8.1-fpm

4. 安装mysql数据库

需要安装mysql组件和php mysql相关组件

1
2
sudo apt-get install mysql-server -y
sudo apt-get install php8.1-mysql

5. 安装phpmyadmin

安装phpmyadmin,如果你是用的apache2,则选择apache。
因为本次使用的是nginx,则都不选择直接选择OK,后面手动配置nginx去服务这个目录

1
sudo apt-get install phpmyadmin -y

然后会提示输入mysql的密码,自行输入对应的密码,本地输入密码为:mysqlroot123
注意:一定要用自己的密码,mysqlroot123只是示意,用于后面区分多个密码
然后需要创建nginx的配置文件,并添加如下内容

1
sudo vim /etc/nginx/sites-available/phpmyadmin

在文件中添加如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
server {  
listen 80;
server_name localhost; # 将其替换为你的域名或服务器IP,本地部署就是localhost
root /usr/share/phpmyadmin; # phpMyAdmin 的安装位置
index index.php;

location / {
try_files $uri $uri/ =404;
}

location ~ \.php$ {
include snippets/fastcgi-php.conf; # 使用 PHP 的设置
fastcgi_pass unix:/run/php/php8.1-fpm.sock; # 根据你的 PHP 版本和配置调整
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

location ~ /doc/ {
deny all; # 禁止访问文档目录
}
}

然后建立软链接,将mysql和phpmyadmin链接起来,使用www文件夹下的文件可以直接访问

1
sudo ln -s /usr/share/phpmyadmin /var/www/html/phpmyadmin

6. 重新启动mysql和nginx

1
2
sudo service mysql restart
sudo systemctl restart nginx

安装wordpress

1. 下载wordpress并安装

下载wordpress并解压安装,进入到自己的目录进行下载安装

1
2
3
4
5
6
7
8
9
10
11
# 进入用户目录
cd ~

# 下载wordpress文件
wget https://cn.wordpress.org/latest-zh_CN.zip

# 安装zip,用于解压
sudo apt-get install zip

# 解压wordpress
sudo unzip latest-zh_CN.zip

2. 配置wordpress数据库

运行mysql,开始创建数据库

1
sudo mysql -u root

进入到mysql页面中,创建数据库,为数据库创建用户和密码。
请注意用户名和密码是用于wordpress登录使用,本案例是用的用户名是wordpressadmin和admin123,请自行新建用户名和密码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 创建一个wordpress的数据库
CREATE DATABASE wordpress;

# 创建一个叫做wordpressadmin的用户,更改为自己的用户
CREATE USER wordpressadmin;

# 创建密码为admin123,可以更改为自己的密码
SET PASSWORD FOR wordpressadmin = "admin123";

# 创建访问权限
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressadmin ;

# 生效
FLUSH PRIVILEGES;

# 退出mysql
exit;

3. 配置wordpress

由于nginx默认访问的是/var/www/html文件夹,所以需要将wordpress文件夹内的内容都放在到/var/www/html里面去。

1
sudo mv wordpress/* /var/www/html/

重启nginx的服务

1
sudo systemctl restart nginx

配置wordpress

在浏览器中输入对应的IP地址,如果是本地输入:http://localhost,如果是服务器输入服务器的IP地址,跳转到wordpress的安装页面。

初始化wordpress

在安装页面中选择输入对应的数据库名称,数据库的用户和密码进行配置,本案例是:

  • 数据库:wordpress
  • 数据库用户名:wordpressadmin
  • 数据库密码:admin123
  • 数据库主机:localhost
  • 文件名:wp_

进入后台配置

默认会进入后台,如果要手动进入,输入地址:

1
http://IP地址/wp-admin