通过.wpress文件迁移,包含WordPress全部内容(插件、内容)
#安装LAMP环境
sudo apt update && sudo apt upgrade -y
sudo apt install apache2 mysql-server php libapache2-mod-php php-mysql php-curl php-gd php-xml php-mbstring unzip -y
#创建数据库
sudo mysql
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
CREATE USER 'wpuser'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON wordpress.* TO 'wpuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;
#USER 'wpuser'@'localhost'可以保持默认,并仅可从本地访问,如果WordPress和数据库不在同一服务器内则需要按需配置
#安装WordPress
cd /tmp
wget https://wordpress.org/latest.tar.gz
tar -xzf latest.tar.gz
sudo mv wordpress /var/www/html/
sudo chown -R www-data:www-data /var/www/html/wordpress
sudo mv /var/www/html/wordpress/* /var/www/html/
sudo rm -rf /var/www/html/wordpress
#配置好后,访问 [hostip]/wp-admin(推荐手动配置wp-config.php)
#手动配置wp-config.php(可选&推荐)
cd /var/www/html/
sudo cp wp-config-sample.php wp-config.php
sudo nano wp-config.php
/** WordPress数据库的名称 */
define( 'DB_NAME', 'wordpress' );
/** MySQL数据库用户名 */
define( 'DB_USER', 'wpuser' );
/** MySQL数据库密码 */
define( 'DB_PASSWORD', 'your_password' );
/** MySQL主机 */
define( 'DB_HOST', 'localhost' );
使用All-in-One WP Migration导出备份文件backup.wpress
#通常位置
/etc/php/版本号/apache2/php.ini
#查询版本号
php -v
#如果是PHP 8.1,则文件路径是:
sudo nano /etc/php/8.1/apache2/php.ini
如果使用nano编辑器,可以使用ctrl+w来搜字段名
upload_max_filesize = 128M
post_max_size = 128M
memory_limit = 256M
max_execution_time = 300
max_input_time = 300
如果使用nano编辑器,可以使用ctrl+w来搜字段名
upload_max_filesize = 512M
post_max_size = 512M
memory_limit = 512M
max_execution_time = 600
max_input_time = 600
sudo systemctl restart apache2
注意:All-in-One WP Migration 插件 还有自己的限制(默认 512MB)
#配置PHP官方源
sudo apt update
sudo apt install software-properties-common -y
sudo add-apt-repository ppa:ondrej/php -y
sudo apt update
#安装常用扩展(以8.2为例)
sudo apt install php8.2 php8.2-mysql php8.2-xml php8.2-curl php8.2-gd php8.2-mbstring php8.2-zip php8.2-bcmath php8.2-cli php8.2-common libapache2-mod-php8.2 -y
sudo a2dismod php8.1 # 停用 PHP 8.1(旧版本)
sudo a2enmod php8.2 # 启用 PHP 8.2
sudo systemctl restart apache2
php -v
#插件目录
cd /var/www/html/wp-content/plugins/
#将插件目录改名(等于禁用)
sudo mv [插件名] simple-cloudflare-turnstile.bak
#查看/var/www/html/ 里是否正确安装了WordPress
cd /var/www/html/
ls
#如果发现已经安装,则记得删除Apache2 Default Page配置页
sudo rm /var/www/html/index.html
#然后重启Apache
sudo systemctl restart apache2
#检查是否监听了443端口
sudo ss -tlnp | grep :443
#如果没输出,则没有,需要看是否配置了SSL
sudo apache2ctl -M | grep ssl
#没有输出,需要配置
sudo a2enmod ssl
#配置完重启
sudo systemctl restart apache2
#创建源服务器,并把.pem 和.key文件创建并复制到/etc/ssl目录下
sudo touch /etc/ssl/pem.pem
sudo touch /etc/ssl/key.key
#通过nano 编辑这两个文件,将源服务器的SSL的pem代码和key代码放进去
sudo nano /etc/ssl/pem.pem
sudo nano /etc/ssl/key.key
#通过Apache2配置
配置Apache SSL虚拟主机
sudo nano /etc/apache2/sites-available/aurme-ssl.conf
#或者
sudo nano /etc/apache2/sites-enabled/default-ssl.conf
#或者查看
sudo nano /etc/apache2/sites-available/*.conf
<VirtualHost *:443>
ServerName aurme.com
SSLEngine on
SSLCertificateFile /etc/ssl/pem.pem #这里就是存放目录,根据自己存放的地方修改
SSLCertificateKeyFile /etc/ssl/key.key #这里就是存放目录,根据自己存放的地方修改
DocumentRoot /var/www/html
</VirtualHost>
配置完成后,需要重启生效
sudo systemctl restart apache2
如果网站无法显示CSS,则需要WordPress强制启用https
#修改wp-config.php文件
sudo nano /var/www/html/wp-config.php
#找到/* That's all, stop editing! */这一行,在下方添加
define('WP_HOME','https://[改为你的域名]');
define('WP_SITEURL','https://[改为你的域名]');
#一定要把域名改为自己的域名!
#重启Apache2生效
sudo systemctl restart apache2