如何在 Ubuntu 24.04 上安装带有 Apache 和免费 Let’s Encrypt SSL 的 Drupal CMS
Drupal 是一种用 PHP 编写的流行内容管理系统。 互联网上排名前 10,000 个的网站中至少有 14% 使用它,这些网站来自全球企业行业、政府、教育和机构网站。 Drupal 提供了与数字应用程序集成的高可扩展性系统,可用于为不同组织创建具有多语言支持的多站点。
本指南将向您展示如何在 Ubuntu 24.04 服务器上安装 Drupal。 我们将使用 LAMP Stack(Linux、Apache、MariaDB 和 PHP)安装 Drupal,并使用 Letsencrypt 的 HTTPS 保护 Drupal。
先决条件
在开始之前,请确保您拥有:
- Ubuntu 24.04 服务器
- 具有管理员权限的非 root 用户
- 域名指向服务器IP地址
安装依赖项
Drupal 是一个基于 MySQL/MariaDB 和 PHP 的 CMS。 要安装它,您必须确保系统上安装了 MySQL/MariaDB 和 PHP。 对于 Web 服务器,您可以使用 Apache 或 Nginx。
在本节中,您将安装 Drupal 的依赖项。 这包括 LAMP Stack(Linux、Apache、MariaDB 和 PHP)和 Composer。
首先,使用以下命令更新 Ubuntu 软件包索引。
sudo apt update
现在使用以下命令将 LAMP Stack(Linux、Apache、MariaDB 和 PHP)和 Composer 依赖项安装到您的 Ubuntu 系统:
sudo apt install apache2 mariadb-server composer php php-apcu php-dev libapache2-mod-php libcurl4-openssl-dev php-cli php-mysql php-zip php-gd php-fpm php-json php-common php-intl php-mbstring php-curl php-xml php-pear php-tidy php-uploadprogress php-soap php-bcmath php-xmlrpc
输入 Y 确认安装。
安装完成后,检查Apache和MariaDB状态,然后检查PHP和Composer版本。
使用以下命令检查 Apache 服务。 这将确保 Apache 在您的服务器上运行并启用。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
启用 out 表示 Apache Web 服务器将在引导时启动。 而active(running)则表明Apache正在运行。
现在使用以下命令检查 MariaDB 服务状态:
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
与 Apache 一样,您将看到启用的输出和“活动(运行)”状态,确认 MariaDB 将在启动时启动并且状态为运行。
最后,使用以下命令检查 PHP 和 Composer 版本。 此时,默认的 Ubuntu 24.04 存储库提供 PHP 8.3 和 Composer 2.7.1。
sudo php -v
sudo -u www-data composer -v
配置 PHP
安装依赖项后,您需要为 Drupal 设置 PHP。您需要编辑默认的“php.ini”文件并根据 Drupal 的需要更改一些默认配置。
使用以下 nano 编辑器命令打开 php.ini 配置。
sudo nano /etc/php/8.3/apache2/php.ini
使用以下内容更改默认配置,并确保根据您的服务器环境调整 memory_limit 和 date.timezone 选项。
memory_limit = 512M
upload_max_filesize = 60M
max_execution_time = 300
date.timezone = Europe/Amsterdam
完成后,保存并退出文件。
现在重新启动 Apache Web 服务器以应用新的 PHP 配置。
sudo systemctl restart apache2
配置 MariaDB 服务器
现在您已经配置了 PHP,让我们通过使用“mariadb-secure-installation”实用程序保护 MariaDB 服务器来配置 MariaDB 服务器,并为 Drupal 创建一个新的数据库和用户。
使用以下命令保护您的 MariaDB 服务器安装。 该命令将提示有关 MariaDB 服务器配置的信息。
sudo mariadb-secure-installation
现在输入 Y 将更改应用到 MariaDB,或输入 n 拒绝它:
- 默认的 MariaDB 安装没有密码,当提示输入密码时按 ENTER。
现在输入 Y 设置 MariaDB root 密码。 然后,输入 MariaDB 的新密码并重复该密码。
输入 Y 从 MariaDB 安装中删除匿名用户。
当提示禁用 MariaDB 根用户的远程登录时再次输入 Y。
输入 Y 从 MariaDB 中删除默认数据库测试。
最后,输入 Y 重新加载表权限并应用新的更改。
当 MariaDB 服务器受到保护后,您需要为 Drupal 创建新的数据库和用户。 这可以使用“mariadb”客户端命令来完成。
使用以下命令登录 MariaDB 服务器 – 出现提示时输入您的 MariaDB root 密码。
sudo mariadb -u root -p
运行以下查询来为 Drupal 创建新的数据库和用户。 在此示例中,您将创建一个新用户“drupal”、数据库“drupaldb”、密码“DrupalSecurePassword”。 请务必使用您的详细信息更改信息。
CREATE DATABASE drupaldb;
CREATE USER drupal@localhost IDENTIFIED BY 'DrupalSecurePassword';
GRANT ALL ON drupaldb.* TO drupal@localhost WITH GRANT OPTION;
FLUSH PRIVILEGES;
现在运行下面的查询来验证用户“drupal”。 确保用户“drupal”可以访问数据库“drupaldb”。
SHOW GRANTS FOR drupal@localhost;
以下输出表明用户“drupal”可以访问数据库“drupaldb”。
最后,输入 quit 退出 MariaDB 服务器。
下载 Drupal 源代码
在此步骤中,您将下载 Drupal 源代码并设置具有适当所有权和权限的 Web 根目录。在此示例中,您将下载并安装 Drupal 的最新版本。
转到 /var/www 目录并使用下面的 wget 命令下载 Drupal 源代码。
cd /var/www/
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
下载完成后,提取 Drupal 源代码并将提取的目录重命名为“drupal”。 这样,/var/www/drupal 将成为您安装 Drupal 的 Web 根目录或文档根目录。
tar -xvf drupal.tar.gz
mv drupal-* /var/www/drupal
现在运行以下命令将 /var/www/drupal 的所有权更改为用户 www-data 并将权限更改为 755。
sudo chown -R www-data:www-data /var/www/drupal/
sudo chmod -R 755 /var/www/drupal/
设置 Apache 虚拟主机
下载 Drupal 后,您必须为安装创建 Apache 虚拟主机。 因此,请确保您已为 Drupal 安装准备好域名。
首先,运行以下命令以启用 Apache 模块“ssl”和“rewrite”。
sudo a2enmod ssl rewrite
现在使用以下命令创建新的 Apache 虚拟主机配置。
sudo nano /etc/apache2/sites-available/drupal.conf
复制并粘贴下面的配置,并确保将 ServerName 选项更改为您的 Drupal 安装的域名。
ServerName hwdomain.io
ServerAdmin [email protected]
DocumentRoot /var/www/drupal
# Add security
php_flag register_globals off
ErrorLog ${APACHE_LOG_DIR}/hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/hwdomain.io.access.log combined
SSLOptions +StdEnvVars
Options FollowSymlinks
#Allow .htaccess
AllowOverride All
Require all granted
SecRuleEngine Off
# or disable only problematic rules
RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$index.php?q=$1 [L,QSA]
完成后,保存并退出文件。
现在运行以下命令来激活“drupal.conf”虚拟主机文件,然后验证您的 Apache 语法。 如果您有正确的 Apache 语法,您应该得到一个输出“语法正确”。
sudo a2ensite drupal.conf
sudo apachectl configtest
最后,使用以下命令重新启动 Apache 以应用新的虚拟主机配置。 这样,您的 Drupal 就应该可以访问了。
sudo systemctl restart apache2
使用 HTTPS 保护 Drupal
要使用 HTTPS 保护 Drupal,您可以使用 Letsencrypt 的免费 SSL 证书。 如果您要在公共域名上进行安装,请按照此步骤在 Drupal 安装上启用 HTTPS。 如果您使用本地域名,则可以使用自签名 SSL 证书。
使用以下命令安装 Certbot 和 Certbot Apache 插件 – 输入 Y 确认安装。
sudo apt install certbot python3-certbot-apache
安装完成后,运行下面的 certbot 命令为您的 Drupal 安装生成 SSL/TLS 证书。 请务必使用您的信息更改电子邮件地址和域名。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d hwdomain.io
完成后,您的 SSL/TLS 证书应在 /etc/letsencrypt/live/example.com 目录中生成,并且您的 Drupal 安装应自动使用 HTTPS 进行保护。
安装Drupal
使用您喜欢的 Web 浏览器访问您的 Drupal 域名,例如 https://hwdomain.io。如果安装成功,您应该会看到 Drupal 安装向导。
选择 Drupal 的默认语言,然后单击“保存并继续”。
选择您首选的 Drupal 安装配置文件,单击“保存并继续”。 对于初学者,请使用标准或演示配置文件。 如果您有使用 Drupal 的经验,则可以选择“最小配置文件”。
现在,确保您通过了 Drupal 环境检查,这确保您的服务器已准备好安装 Drupal。
如果准备就绪,您将被重定向到 Drupal 的数据库配置。输入您的 MariaDB 服务器详细信息、数据库名称、用户名和密码,然后单击“保存并继续”。
Drupal 安装应该开始:
Drupal 安装完成后,您必须配置 Drupal 站点。 输入站点名称、电子邮件地址、管理员用户名、密码、默认国家/地区和时区。
点击保存并继续确认。
现在,如果安装成功,您应该收到消息“恭喜,您安装了 Drupal”。
在这里,单击“管理”>“配置”菜单以访问 Drupal 管理仪表板。 您将看到以下内容:
结论
恭喜 您已在 Ubuntu 24.04 服务器上完成了 Drupal CMS 的安装。 您的 Drupal 与 LAMP Stack(Linux、Apache、MariaDB 和 PHP)一起运行,并使用 Letsencrypt 的 HTTPS 进行保护。 您现在可以通过安装主题或添加扩展来管理您的 Drupal 站点。
资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载