Drupal 7 是一个功能强大的内容管理系统,虽然它现在已经进入维护期,但很多老项目仍在使用,本教程将带你一步步完成从零开始的安装过程。

Drupal 7 在 Linux (CentOS 7) 上的完整安装教程
本教程将涵盖以下步骤:
- 环境准备:安装 LAMP (Linux, Apache, MySQL, PHP) 栈。
- 创建数据库:为 Drupal 准备独立的数据库和用户。
- 下载 Drupal:获取 Drupal 7 的源代码。
- 设置文件权限:让 Web 服务器可以写入必要目录。
- Web 安装向导:通过浏览器完成最后的安装配置。
第一步:环境准备
在安装 Drupal 之前,你的服务器需要满足其运行环境要求,Drupal 7 需要 PHP 5.2.5 或更高版本 和 MySQL 5.0 或更高版本,我们将安装一个稳定的 LAMP 环境。
更新系统
登录到你的 Linux 服务器(通过 SSH),并更新所有已安装的软件包。
sudo yum update -y
安装 Apache Web 服务器
Apache 是最流行的 Web 服务器之一。

sudo yum install httpd -y
安装完成后,启动 Apache 服务并设置其开机自启。
sudo systemctl start httpd sudo systemctl enable httpd
你可以通过访问服务器的 IP 地址(http://你的服务器IP)来测试 Apache 是否正常运行,你应该能看到 Apache 的测试页面。
安装 MySQL 数据库服务器
MariaDB 是 MySQL 的一个流行分支,完全兼容。
sudo yum install mariadb-server mariadb -y
同样,启动 MariaDB 服务并设置开机自启。

sudo systemctl start mariadb sudo systemctl enable mariadb
为了安全起见,运行 mysql_secure_installation 脚本,它会帮你设置 root 密码、移除匿名用户、禁止 root 远程登录等,根据提示操作即可,大部分问题直接按 Y (是) 回答即可。
sudo mysql_secure_installation
安装 PHP 及所需扩展
Drupal 7 需要 PHP 以及一些特定的扩展才能正常运行。
sudo yum install php php-mysql php-gd php-xml php-mbstring -y
php: 核心 PHP 包。php-mysql: PHP 与 MySQL 数据库通信的模块。php-gd: 用于处理图片。php-xml: 用于处理 XML 和 RSS。php-mbstring: 用于处理多字节字符串(对中文等语言至关重要)。
安装完成后,重启 Apache 服务以加载 PHP 模块。
sudo systemctl restart httpd
第二步:创建 Drupal 数据库
为了安全和管理的方便,我们不应该使用 root 用户来连接 Drupal 数据库,我们将创建一个专用的数据库和用户。
-
登录到 MySQL/MariaDB 使用 root 用户登录。
mysql -u root -p
然后输入你在
mysql_secure_installation中设置的 root 密码。 -
创建数据库 输入以下 SQL 命令来创建一个名为
drupal_db的数据库,你可以根据喜好更改数据库名。CREATE DATABASE drupal_db CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
注意:
utf8mb4是utf8的超集,能更好地支持包括 emoji 在内的完整 Unicode 字符,推荐使用。 -
创建用户并授权 创建一个名为
drupal_user的用户,密码设为your_strong_password(请务必替换成一个强密码!)。CREATE USER 'drupal_user'@'localhost' IDENTIFIED BY 'your_strong_password';
-
授予用户权限 将
drupal_db数据库的所有权限授予drupal_user。GRANT ALL PRIVILEGES ON drupal_db.* TO 'drupal_user'@'localhost';
-
刷新权限并退出
FLUSH PRIVILEGES; EXIT;
你的数据库环境已经准备就绪。
第三步:下载 Drupal
我们将把 Drupal 安装到 Apache 的默认网站根目录 /var/www/html 中。
进入网站根目录
cd /var/www/html
下载 Drupal 7
我们使用 wget 从 Drupal 官方源下载最新的 Drupal 7.x 版本,请访问 https://www.drupal.org/project/drupal 获取最新的稳定版本号。
# 请将 7.98 替换为最新的 Drupal 7.x 版本号 wget https://ftp.drupal.org/files/projects/drupal-7.98.tar.gz
解压文件
下载完成后,解压压缩包。
tar -zxvf drupal-7.98.tar.gz
重命名并移动文件
为了更简洁,我们将解压出的 drupal-7.98 目录重命名为 drupal,并将其内容移动到 /var/www/html 根目录。
mv drupal-7.98 drupal mv drupal/* . mv drupal/.* . 2>/dev/null || true rmdir drupal
注意:
mv drupal/.* .这条命令是为了移动隐藏文件(如.htaccess),2>/dev/null || true是为了避免因为某些目录下没有隐藏文件而报错。
Drupal 的所有文件都在 /var/www/html 目录下了。
第四步:设置文件权限
Web 服务器(Apache,运行在 apache 用户下)需要能够写入 Drupal 的某些目录(如 sites/default/files)和文件(如 sites/default/settings.php)。
更改目录所有者
将 /var/www/html 目录的所有者更 apache 用户。
sudo chown -R apache:apache /var/www/html
设置正确的权限
sites/default目录需要可写,以便安装程序可以创建settings.php和files目录。sites/default/files目录需要可写,以便上传文件(如图片、文档)。
# 设置 sites/default 目录为 755 sudo chmod 755 sites/default # 设置 sites/default/files 目录为 755 (或 2775,如果希望新文件继承组) sudo chmod 755 sites/default/files # sites/default/settings.php 文件已存在,需要设置为可写 # 在安装过程中,它会自动创建 # sudo chmod 664 sites/default/settings.php
第五步:Web 安装向导
最简单的部分来了,通过你的浏览器访问 Drupal 网站,即可启动图形化安装程序。
- 打开浏览器,在地址栏输入:
http://你的服务器IP - 你会看到 Drupal 的安装界面,选择语言,然后点击 “Save and continue”。
- 选择配置文件:选择 "Standard" (标准),这是最常用的配置,包含博客、故事、论坛等常用模块,点击 “Save and continue”。
- 验证数据库设置:
- 数据库类型: 选择
MySQL, MariaDB, or equivalent。 - 数据库名称: 输入我们之前创建的数据库名
drupal_db。 - 数据库用户名: 输入
drupal_user。 - 数据库密码: 输入你设置的强密码
your_strong_password。 - 数据库主机:
localhost。 - 数据库端口: 留空(使用默认的 3306)。
- 数据库前缀: 留空。
- 点击 “Save and continue”。
- 数据库类型: 选择
- 设置站点:
- 站点名称: 输入你的网站名称。
- 站点邮箱: 输入管理员邮箱。
- 管理员用户名: 输入你的管理员用户名。
- 密码: 设置一个强大的管理员密码。
- 邮件地址: 再次输入管理员邮箱。
- 点击 “Save and continue”。
Drupal 将完成安装,并自动配置好所有必要的信息,安装完成后,系统会自动将 sites/default 目录和 settings.php 文件的权限修改为只读,以增强安全性。
点击 “Visit your new site”,你就可以登录到你的新 Drupal 7 网站了!
常见问题排查
-
问题:安装时出现 "The directory sites/default is not writable" 错误。 解决:返回第四步,确保
sites/default目录的权限是755,并且所有者是apache。 -
问题:页面显示乱码或中文字符显示为方框。 解决:确保在创建数据库时使用了
utf8mb4字符集,Drupal 的配置中也正确设置了字符编码(通常默认就是正确的)。 -
问题:无法上传文件或图片。 解决:确保
sites/default/files目录的权限是755,并且所有者是apache。 -
问题:访问网站时看到 403 Forbidden 错误。 解决:确保
/var/www/html目录的权限不是777,正确的权限通常是755,并且文件所有者是apache。
恭喜!你已经成功在 Linux 服务器上安装了 Drupal 7,你可以登录到 /admin 路径,安装主题、模块,开始构建你的网站。
