在测试服务器上安装第一个Drupal网站

大伟哥 提交于 2017-09-18,周一, 18:19

更新:截至目前(2020-7-13),Drupal的当前最新版本是8.9.2和9.0.2,本文介绍的Drupal 8/Drupal 9的手动安装方式仍然适用,但大伟哥建议读者学习一下使用更加方便的composer来管理Drupal本身及其依赖。

现在我们已经在测试服务器上搭建好了LAMP环境,又配置好第一个虚拟主机,也用hosts文件把自定义的域名指向了测试服务器,接下来我们就试着来安装第一个由Drupal驱动的网站。

零. Drupal安装条件

Drupal 8.x的安装运行需要一个支持PHP的WEB服务器环境,例如:
  - Apache 2.0 (或者更高版本) (http://httpd.apache.org/)
  - Nginx 1.1 (或者更高版本) (http://nginx.com/)
PHP 7.2 (或更高版本) (http://php.net/). Drupal 8/9最新版本要求PHP版本不能低于7.2,PHP可以调用的内存不少于64MB,如果使用Composer等内存需求大的命令行工具,可能需要分配更多内存给PHP使用。
数据库:可以是下面列出的任何一种数据库:
  - MySQL:Drupal 8需要MySQL5.5.3+,Drupal 9需要MySQL 5.7.8+。
  - MariaDB:MariaDB是完全可以替代MySQL的MySQL分支。Drupal 8需要 MariaDB 5.5.20+,Drupal 9需要MariaDB 10.3+。
  - Percona Server: Drupal 8需要Percona Server 5.5.8+,  Drupal 9需要Percona Server 5.7.8+。
  - Drupal 8要求PostgreSQL 9.1.2 或更高版本,Drupal 9需要10.0以上,并且启用pg_trgm扩展。
  - SQLite 3.7.11 (或更高版本) (http://www.sqlite.org/).

安装前请自行确认自己的服务器或主机是否满足以上条件。

一.准备工作

首先从官网下载最新的Drupal,目前是Drupal 8.3.7,上传到上次我们设定的文件夹里。方法有很多种,可以用FTP,也可以SCP,还可以SSH直接登录测试服务器,从官方直接下载到服务器上。这里我们推荐使用SSH登录测试服务器直接操作,不熟悉Linux的新手可能感觉有点难,但用熟练了就会喜欢并依赖上SSH,一条命令就可以顶我们在图形界面上鼓捣好久。

  1. cd
  2. wget -c https://ftp.drupal.org/files/projects/drupal-8.3.7.tar.gz
  3. tar zxvf drupal-8.3.7.tar.gz
  4. sudo cp -r drupal-8.3.7/. /var/www/html/drupal8.dev/

三条命令搞定,分别是下载、解压缩、复制到网站目录。

二. 开始安装

接下来正式安装开始了。在浏览器(推荐使用Chrome, Firefox)地址栏输入我们的域名,这里是www.drupal8.dev,就会进入Drupal 8的安装界面:

1. 选择Drupal语言。

Drupal支持多国语言,如果你选择中文,在安装过程中就会自动下载中文语言包,安装以后前后台就都是中文了。但我们这里使用英文作为默认语言,因为我们打算做的是英文站 ,无论是做信息站还是外贸B2B/B2C,英文站赚钱的潜力都要比中文站要大。因此,还是一开始就熟悉英语环境比较好。当然Drupal非常灵活,你可以随时安装其他语言包,切换前后台的语种。点“Save and continue”。

选择Drupal语言

2. 选择安装配置

Drupal的安装可以选择标准安装或者最小化安装,标准安装会安装一些预先配置好的模块,最小化安装只安装必要的内核和关键模块,更适合高级用户。这里我们只是测试和了解,选择标准安装就可以了。点“Save and continue”。

选择安装配置

3. 解决环境错误

Drupal的安装和运行需要一定的文件/文件夹操作权限,并且需要Web服务器安装特定的插件,Drupal安装程序会自己检测环境,把不符合的地方报告出来,让我们去解决。

我们的服务器环境是默认安装的,有些地方还没有设置好,有些模块还没有安装。如下图所示,Drupal检测出了两个错误和一个警告:sites/default/files文件夹不可写;/sites/default/settings.php文件缺失;简洁URLs(Clean URLs)功能未启用。很简单,我们一个一个来解决。

解决系统环境错误

sites/default/files文件夹不可写,是没有给文件和文件夹指定正常的所有者和相应的权限。因为我们当时复制文件是用sudo cp过来的,这些目录和文件的所有者都是root,而作为web服务的执行用户,www-data即使能读取,但是默认是没有写权限的。所以我们要把drupal的目录和文件所有权全部修改为www-data。说时迟,那时快,还是一句命令的事:

  1. sudo chown -R www-data:www-data /var/www/html/drupal8.dev

至于第二个错误,/sites/default/settings.php文件缺失,解决了第一个问题,第二个问题也就不存在了,因为drupal安装程序有了写权限之后,自己会复制一份文件过去。

至于简洁URLs(Clean URLs)功能未启用,那就启用啊。首先启用Apache的mod_rewrite模块:

  1. sudo a2enmod rewrite

然后确认一下虚拟主机配置文件/etc/apache2/sites-available/drupal8.dev.conf里关于网站目录有AllowOverride All的参数设定:

  1. <directory drupal8.dev="" html="" var="" www="">
  2. Options Indexes FollowSymLinks MultiViews
  3. AllowOverride All
  4. Order allow,deny
  5. allow from all
  6. </directory>

这两步都妥了以后,再执行sudo service apache2 restart重启一下Apache,然后刷新一下页面,Duang!所有错误和警告都没有了!

4. 配置数据库

如果你的数据库用户有创建数据库的权限,你可以直接填入要创建数据库的名称、用户名和密码,Drupal会尝试着为你创建新的数据库。你也可以直接使用phpMyAdmin,事先给网站创建一个数据库,然后把相关信息填进去。因为这里我们安装的是测试开发用的,大伟哥就直接使用数据库的root用户新创建一个叫做drupal8dev的数据库了,网站真正上线的时候为了安全起见,最好不要直接用root,为每一个数据库单独配一个拥有者会更安全。

配置Drupal网站数据库

5.等待Drupal安装

这一步没我们的事,看着Drupal干活就可以。

Drupal 8安装网站

6. 配置网站

这一步很简单,我们要设置网站的名称、站长联系方式、用户名和密码。

配置drupal网站的名称,管理员用户名和密码

7. 安装完成,可以看到网站首页了。

Drupal网站安装完成

文章分类

标签

评论

添加新评论

此字段内容将保密,不会被其他人看见。

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。
验证码
发布评论前,请通过下面的验证,以免被当作垃圾评论机器人屏蔽。
5 + 0 =
计算出这道简单的算术题并键入答案。例如、1+3,就输入 4。