记录Debian 12 vps 上 wordpress 博客的搭建过程。
准备阶段
一台安装 debian 12 的 vps,ssh 远程连接上 vps 服务器。使用
sudo apt update && sudo apt upgrade -y
更新系统至最新状态。以及一个托管在 Cloudflare 的域名。
安装 apache 服务器、php8.2、mysql
使用以下命令安装 apache 服务器 和 php8.2环境:
sudo apt install apache2 php8.2 -y
mysql 安装:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.33-1_all.deb
sudo apt install ./mysql-apt-config_0.8.33-1_all.deb
在TUI中选择安装 mysql 8.0 版本
sudo apt install mysql-server
在TUI中设置ROOT密码,安装完成。
安装 wordpress 所需 php模块:
sudo apt install php8.2-imagick php-curl php-gd php-soap php-mbstring php-zip php-xml php-intl php8.2-opcache php8.2-mysql -y
mysql 和 apache 服务器配置
1、mysql的配置:
使用命令
mysql -u root -p
输入设置的密码,登录mysql。输入以下命令以创建一个名为 wordpress 的新数据库:
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
输入以下命令创建一个新的MySQL用户,这个示例创建了一个名为 wpuser 的用户,密码为 wppassword,你需要替换为你自己的用户名和密码,并牢记,后面WordPress搭建会用到。
CREATE USER 'wpuser'@'%' IDENTIFIED WITH mysql_native_password BY 'wppassword';
授权用户,输入以下命令授予用户对WordPress数据库的访问权限。
GRANT ALL ON wordpress.* TO 'wpuser'@'%';
刷新权限,输入以下命令刷新MySQL权限:
FLUSH PRIVILEGES;
至此,完成了 wordpress 的 mysql 数据库部分的配置,输入
EXIT;
退出 mysql。
2、apache服务器的配置
使用以下命令创建配置文件:
sudo vim /etc/apache2/sites-available/my_domain.conf
请将“my_domain”替换为你的域名。
配置文件内容参考如下:
<VirtualHost *:443>
ServerName my_domain
ServerAlias www.my_domain # SSL 配置
SSLEngine on
SSLCertificateFile /etc/ssl/my_domain/my_domain.crt
SSLCertificateKeyFile /etc/ssl/my_domain/my_domain.key
SSLCertificateChainFile /etc/ssl/my_domain/my_domain.crt
# 基础配置
ServerAdmin webmaster@localhost
DocumentRoot /var/www/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
# 目录权限
<Directory /var/www/wordpress/>
AllowOverride All
Require all granted
</Directory>
# -----------------------
# 模块配置部分-
# -----------------------
# 静态资源缓存(需已启用 expires_module 和 headers_module)
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType image/jpeg "access plus 1 year"
ExpiresByType text/css "access plus 1 month"
ExpiresByType application/javascript "access plus 1 month"
</IfModule>
<IfModule mod_headers.c>
<FilesMatch "\.(js|css|jpg|png|gif|svg|woff2)$">
Header set Cache-Control "public, max-age=31536000"
</FilesMatch>
</IfModule>
# GZIP 压缩(需已启用 deflate_module)l
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript text/xml application/json
</IfModule>
</VirtualHost>
*ssl 证书可在 cloudflare 里对应域名下的 SSL/TLS > 源服务器 中申请。
保存退出,启用新网站:
sudo a2ensite my_domain
最后,禁用默认网站,并重启Apache:
sudo a2dissite 000-default && sudo a2enmod rewrite && sudo a2enmod rewrite && sudo apache2ctl configtest && sudo systemctl restart apache2
下载WordPress
运行以下命令以下载并解压 WordPress 文件:
cd ~ && wget https://wordpress.org/latest.tar.gz && tar -xzvf latest.tar.gz
移动wordpress到/var/www/下并修改权限:
mv wordpress /var/www/ && chown -R www-data:www-data /var/www/wordpress && chmod 750 -R /var/www/wordpress/
完成安装
访问你的域名,在wordpress安装程序引导下完成wordpress的安装。