Ubuntu上 使用Apache、MariaDB、PHP快速安装WordPress

本指南将引导在 Ubuntu系统上快速安装和配置 WordPress,包括 Apache、MariaDB、PHP 的设置以及 WordPress 的基本配置。无论是新手还是有一定经验的开发者,本教程都能帮助顺利完成 WordPress 的部署。

先决条件

在开始之前,需要准备一台安装了 Ubuntu 操作系统的服务器
发布的 GitLab 硬件要求建议使用至少有以下配置的服务器:
4 核心的 CPU,4GB 的内存
选择服务器提供商
为了本教程的演示,我将以一个具体的云服务提供商为例,展示如何进行操作。选择哪个提供商根据个人偏好和需求来决定。

以下步骤仅供参考,请根据实际需求选择配置。
购买云服务器
本示例中,我们选择了香港作为服务器区域。
点击 云产品云服务器立即购买
选择操作系统
在创建服务器实例时,选择 Ubuntu 作为操作系统。
连接到服务器
使用 X-shell 或偏好的 SSH 客户端,通过远程用户名和密码连接到服务器。成功连接后,将看到特定的欢迎信息,表明已成功登录。

https://syxoss.oss-cn-hangzhou.aliyuncs.com/Typora202411211021991.png

  • 使用 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

用前几步生成的数据库、用户和密码替换下图中高亮显示的值。

image.png

步骤 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 安装完成,可以使用用户名和密码访问仪表盘。