Featured image of post WordPress的部署与迁移

WordPress的部署与迁移

由于全站从 WordPress 迁移到 hugo,本文已经作废,仅供参考。

在 AlmaLinux 上部署和迁移 WordPress. CentOS 支持期已过,服务器到期后供自己参考用。

环境: AlmaLinux 8.5 (Linux kernel 4.18.0)

安装程序

安装源

# 参见 https://www.tecmint.com/install-lamp-in-rhel-based-distributions/
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm

安装 Maria db (当然 Mysql 也行)

sudo dnf install mariadb-server
sudo systemctl start mariadb
sudo mysql_secure_installation

安装 php7.4

sudo dnf module reset php
sudo dnf module install php:remi-7.4
sudo dnf install php-mysql

安装 Caddy (Nginx Apache 教程太多了这里就不放了)

sudo dnf install 'dnf-command(copr)'
sudo dnf copr enable @caddy/caddy
sudo dnf install caddy

下载并解压 wordpress

curl https://wordpress.org/latest.tar.gz --output wordpress.tar.gz
tar xf wordpress.tar.gz
sudo cp -r wordpress /var/www/html
sudo chown -R caddy:caddy /var/www/html/wordpress
# sudo chcon -t httpd_sys_rw_content_t /var/www/html/wordpress -R

配置环境

配置数据库

(记得更换名字和密码,这样命名不安全)

mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER wpuser@localhost IDENTIFIED BY 'passwd';
GRANT ALL PRIVILEGES ON wordpress.* TO wpuser@localhost;
exit

配置php-fpm

sudo vi /etc/php-fpm.d/www.conf 

找到php_fastcgi的监听路径,在填写 Caddyfile 时要用到 (listen 的路径可能有所不同)

listen = /run/php-fpm/www.sock 

修改下面这一行,加入 caddy,使 caddy 可以用 php

listen.acl_users = apache, nginx, caddy
sudo systemctl restart php-fpm

配置 Caddyfile

更详细的配置请参考官方文档

sudo vi /etc/caddy/Caddyfile 
example.com, www.example.com {
    
    root * /var/www/html/wordpress
    # php_fastcgi 的位置可能不同 unix/ + 上文提到的路径
    php_fastcgi unix//run/php-fpm/www.sock 
    file_server
    encode gzip

    tls {
        dns cloudflare 
    }
    # 如使用自己的ssl证书,则参照下面一行:
    # tls /path/to/certificate /path/to/privkey

    @disallowed {
        path /xmlrpc.php
        path *.sql
        path /wp-content/uploads/*.php
    }

    rewrite @disallowed '/index.php'
}

配置网站

浏览器里输入 127.0.0.1 进行 wordpress 的数据库配置
如果在这里不能成功配置数据库的话,可去服务器里的 /var/www/html/wordpress
参照 wp-config-sample.php 进行配置,另存为 wp-config.php

迁移博客

施工中。。。