本指南将引导在 Ubuntu系统上快速安装和配置 WordPress,包括 Apache、MariaDB、PHP 的设置以及 WordPress 的基本配置。无论是新手还是有一定经验的开发者,本教程都能帮助顺利完成 WordPress 的部署。
先决条件
在开始之前,需要准备一台安装了 Ubuntu 操作系统的服务器
发布的 GitLab 硬件要求建议使用至少有以下配置的服务器:
4 核心的 CPU,4GB 的内存
选择服务器提供商
为了本教程的演示,我将以一个具体的云服务提供商为例,展示如何进行操作。选择哪个提供商根据个人偏好和需求来决定。
以下步骤仅供参考,请根据实际需求选择配置。
购买云服务器
本示例中,我们选择了香港作为服务器区域。
点击 云产品 → 云服务器 → 立即购买
选择操作系统
在创建服务器实例时,选择 Ubuntu 作为操作系统。
连接到服务器
使用 X-shell 或偏好的 SSH 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。
- 使用 SSH 以非 root 用户身份访问实例,并具有 sudo 权限。
安装和配置 Apache 2
步骤 1: 登录到服务器并更新软件包仓库。
sudo apt-get update -y
步骤 2: 安装 apache2
sudo apt-get install apache2 -y
步骤 3: 执行以下命令以禁用匿名目录列表。
sudo sed -i "s/Options Indexes FollowSymLinks/Options FollowSymLinks/" /etc/apache2/apache2.conf
步骤 4: 启动、启用并检查 apache2 的状态
sudo systemctl stop apache2
sudo systemctl enable apache2
sudo systemctl start apache2
安装和配置 MariaDB
步骤 1: 安装 MariaDB 数据库服务器和客户端
sudo apt-get install mariadb-server mariadb-client -y
步骤 2: 使用以下命令启动、停止、启用和检查 MariaDB 服务的状态。
sudo systemctl stop mysql
sudo systemctl start mysql
sudo systemctl enable mysql
sudo systemctl status mysql
步骤 3: 使用 mysql_secure_installation 命令设置数据库的 root 管理员密码。它会提示设置新密码。
sudo mysql_secure_installation
按照提示使用以下选项。
当前 root 用户的密码(如果没有则按 Enter):直接按 Enter
设置 root 密码?[Y/n]:Y
新密码:输入密码
重新输入新密码:重复密码
删除匿名用户?[Y/n]:Y
禁止 root 用户远程登录?[Y/n]:Y
删除测试数据库及其访问权限?[Y/n]:Y
现在重新加载权限表?[Y/n]:Y
步骤 4: 重启数据库服务器以使更改生效。
sudo systemctl restart mysql
设置和配置 PHP
步骤 1: 安装 PHP 8 及其相关模块。
sudo apt-get install php8.2 php8.2-mysql libapache2-mod-php8.2 php8.2-cli php8.2-cgi php8.2-gd
步骤 2: 打开 /etc/php/8.2/apache2/php.ini 文件
sudo vi /etc/php/8.2/apache2/php.ini
向文件中添加以下内容。
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 350
date.timezone = America/Chicago
为 WordPress 配置数据库
步骤 1: 使用为 root 设置的密码登录数据库。
sudo mysql -u root -p
步骤 2: 创建一个名为 “wordpress-db” 的数据库
CREATE DATABASE wordpress_db;
步骤 3: 创建一个名为 “wordpress-admin” 的新数据库用户并设置自定义密码。此用户将在 WordPress 配置中使用。
CREATE USER 'wordpress-admin'@'localhost' IDENTIFIED BY 'your_password_here';
步骤 4: 为 wordpress-admin 用户授予 wordpress-db 的所有权限。替换为 wordpress-admin 设置的密码。
GRANT ALL ON wordpress_db.* TO 'wordpress-admin'@'localhost' IDENTIFIED BY 'your-password-here' WITH GRANT OPTION;
步骤 5: 刷新所有权限并退出数据库 shell。
FLUSH PRIVILEGES;
exit
设置和配置 WordPress
步骤 1: 下载最新的 WordPress
wget <https://wordpress.org/latest.tar.gz>
步骤 2: 解压 WordPress 文件
tar -xvf latest.tar.gz
步骤 3: 将 WordPress 文件夹移动到 /var/www/html 文件夹。
sudo mv wordpress /var/www/html/wordpress
步骤 4: 将 wordpress 文件夹的所有权更改为 www-data
sudo chown -R www-data:www-data /var/www/html/wordpress/
步骤 5: 使用以下命令更改文件夹和文件权限。文件夹应具有 755 权限,文件应具有 644 权限。
find /var/www/html/ -type d -print0 | xargs -0 chmod 0755
find /var/www/html/ -type f -print0 | xargs -0 chmod 0644
可以使用以下命令检查是否已应用权限。
stat -c "%a %n" /var/www/html/wordpress/*
为 WordPress 配置 Apache
步骤 1: 为 WordPress 站点创建一个新的 Apache 配置文件 wp-site.conf。
sudo vi /etc/apache2/sites-available/wp-site.conf
向文件中添加以下配置并保存。将 yourdomain
替换为自定义的域名。
<VirtualHost *:80>
ServerAdmin admin@yourdomain.com
DocumentRoot /var/www/html/wordpress/
ServerName yourdomain.com
ServerAlias www.yourdomain.com
<Directory /var/www/html/wordpress/>
Options +FollowSymlinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
步骤 2: 启用 wp-site.conf
sudo a2ensite wp-site.conf
步骤 3: 启用 apache 重写模块。
sudo a2enmod rewrite
步骤 4: 重启 apache 服务器。
sudo systemctl restart apache2
配置 WordPress 应用程序
步骤 1: 将默认的 wp-config-sample.php
重命名为 wp-config.php
sudo mv /var/www/html/wordpress/wp-config-sample.php /var/www/html/wordpress/wp-config.php
步骤 2: 打开 wp-config.php 文件
sudo vi /var/www/html/wordpress/wp-config.php
用前几步生成的数据库、用户和密码替换下图中高亮显示的值。
步骤 3: 现在已在 wp-site.conf 文件中配置了站点详细信息,尝试通过浏览在 wp-site.conf 文件中使用的域名来访问 WordPress。
确保服务器已映射到在 wp-site.conf 文件中配置的域名。
<http://your-domain-name.com>
如果尚未配置域名,可以使用以下方式访问已安装的 WordPress
http://<your-server-ip>/wordpress
步骤 4: 选择首选语言并填写配置向导中的详细信息。
步骤 5: 一旦 WordPress 安装完成,可以使用用户名和密码访问仪表盘。