简介
Drupal 是一个强大的开源内容管理系统 (CMS),用于构建网站和应用程序。它以其灵活性、可扩展性和强大的功能而闻名,适用于从简单的博客到复杂的企业应用程序的各种项目。以下是 Drupal 的概述,包括其功能和生态系统。
Drupal 的主要功能
灵活性和自定义性:
- 内容类型:Drupal 允许你创建不同的内容类型(例如,文章、页面、博客),并使用自定义字段来满足你的需求。
- 分类法:使用分类系统对内容进行分类和标记,使其更容易管理和展示。
模块化架构:
- Drupal 具有模块化结构,允许你通过贡献模块和自定义模块扩展其功能。有数千个模块可用,可以启用 SEO、社交媒体集成、电子商务等功能。
用户管理:
- 内置的用户管理允许你创建和管理用户角色和权限。这非常适合需要不同级别访问权限的协作环境。
响应式设计:
- 许多 Drupal 主题都是开箱即用的响应式设计,确保网站在从台式机到移动电话的所有设备上都看起来不错。
强大的安全性:
- Drupal 非常注重安全性,拥有专门的安全团队和定期更新。它还允许精细的权限控制,有助于保护敏感内容。
多语言支持:
- Drupal 为多语言网站提供出色的支持,允许你以多种语言创建内容并有效地管理翻译。
SEO 友好:
- Drupal 提供了各种工具和模块,可帮助你优化网站以适应搜索引擎,包括简洁的 URL、元数据管理和 XML 站点地图。
社区和支持:
- Drupal 拥有庞大而活跃的开发人员、设计师和用户社区,他们为 Drupal 的开发做出贡献,并通过论坛、文档和活动提供支持。
本教程将指导你如何在 Ubuntu 服务器上使用 Nginx 作为 Web 服务器,MariaDB 作为数据库后端来部署 Drupal。
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
开始
第一步:更新和升级系统
首先,更新服务器的软件包索引并将已安装的软件包升级到最新版本。
bash
sudo apt update && sudo apt upgrade -y
第二步:安装 Nginx Web 服务器
Nginx 将作为 Drupal 的 Web 服务器。
安装 Nginx:
bash
sudo apt install nginx -y
启用 Nginx 在启动时启动并启动服务:
bash
sudo systemctl enable nginx
sudo systemctl start nginx
检查 Nginx 的状态以确保它正在运行:
bash
sudo systemctl status nginx
第三步:安装 PHP 和所需的扩展
Drupal 需要 PHP 和几个扩展。按如下方式安装 PHP 和必要的扩展:
bash
sudo apt install php-fpm php-mysql php-gd php-xml php-mbstring php-curl php-zip php-json -y
第四步:安装 MariaDB 并保护安装
MariaDB 将用作 Drupal 的数据库服务器。
安装 MariaDB:
bash
sudo apt install mariadb-server -y
运行安全脚本以保护 MariaDB 的安装:
bash
sudo mysql_secure_installation
按照提示设置 root 密码,删除匿名用户,禁止远程 root 登录,删除测试数据库,并重新加载权限表。
第五步:为 Drupal 创建数据库和用户
以 root 用户身份登录 MariaDB:
bash
sudo mysql -u root -p
为 Drupal 创建一个新数据库(将 drupal_db 替换为你首选的数据库名称):
sql
CREATE DATABASE drupal_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
创建一个新的 MariaDB 用户,并授予 Drupal 数据库的所有权限(将 drupal_user 和 password 替换为你所需的用户名和强密码):
sql
CREATE USER 'drupal_user'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON drupal_db.* TO 'drupal_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;
第六步:下载和配置 Drupal
导航到 Web 根目录:
bash
cd /var/www/
使用 wget 下载最新版本的 Drupal:
bash
sudo apt install wget -y
wget https://www.drupal.org/download-latest/tar.gz -O drupal.tar.gz
解压缩下载的存档并将其移动到名为 drupal 的文件夹中:
bash
sudo tar -xvf drupal.tar.gz
sudo mv drupal-* drupal
将 Drupal 目录的所有权更改为 Web 服务器用户:
bash
sudo chown -R www-data:www-data /var/www/drupal
设置正确的权限:
bash
sudo find /var/www/drupal -type d -exec chmod 755 {} \\;
sudo find /var/www/drupal -type f -exec chmod 644 {} \\;
第七步:为 Drupal 配置 Nginx
为 Drupal 创建一个新的 Nginx 服务器块配置文件:
bash
sudo nano /etc/nginx/sites-available/drupal
将以下配置添加到文件中,根据需要调整 server_name
和路径:
server {
listen 80;
server_name your_domain.com; # 替换为你的域名或服务器 IP
root /var/www/drupal;
index index.php index.html index.htm;
location / {
try_files $uri /index.php?$query_string;
}
location ~ \\.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /\\.ht {
deny all;
}
}
保存并退出文件。
通过创建一个指向 sites-enabled
的符号链接来启用新配置:
bash
sudo ln -s /etc/nginx/sites-available/drupal /etc/nginx/sites-enabled/
测试 Nginx 配置是否有语法错误:
bash
sudo nginx -t
重启 Nginx 以应用更改:
bash
sudo systemctl restart nginx
第八步:为 Drupal 配置 PHP 设置
编辑 PHP 配置文件以优化 Drupal。
打开 PHP-FPM 配置文件:
bash
sudo nano /etc/php/8.3/fpm/php.ini
将以下值修改为建议的设置:
memory_limit = 256M
upload_max_filesize = 100M
max_execution_time = 300
重启 PHP-FPM 以应用更改:
bash
sudo systemctl restart php8.3-fpm
第九步:配置防火墙设置
通过调整防火墙设置,确保 Nginx 可以提供流量。
允许 Nginx Full 配置文件:
bash
sudo ufw allow 'Nginx Full'
检查 UFW 的状态以确认更改:
bash
sudo ufw status
第十步:保护 Drupal 安装
启用 HTTPS:通过安装 SSL 证书来保护你的网站。你可以使用 Let's Encrypt 获取免费的 SSL 证书:
bash
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d your_domain.com
按照提示完成 SSL 设置。
第十一步:通过 Web 浏览器完成 Drupal 安装
打开你的 Web 浏览器并导航到你的服务器域名或 IP 地址:
http://your_domain.com
按照屏幕上的说明选择你的语言,配置你的数据库设置(使用之前创建的数据库名称、用户和密码),并完成安装。
故障排除提示
如果你无法登录到管理面板,请通过导航到以下位置重新运行 Drupal 安装:
https://drupal.hnxcode.dev/core/install.php
对于其他错误:
Nginx 错误:如果 Nginx 无法启动,请检查 /var/log/nginx/error.log 中的日志以获取详细的错误消息。
数据库连接问题:仔细检查位于 /var/www/drupal/sites/default/settings.php 的 Drupal 设置文件中的数据库凭据。
文件权限:确保 Web 服务器用户(www-data)具有读取和写入必要文件的正确权限。
本指南解释了如何在 Ubuntu 24.04 上使用 Nginx、MariaDB 和 SSL 安装 Drupal CMS 11。请确保定期更新和备份你的 Drupal 站点,以确保其安全平稳运行。
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site