更新:截至目前(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,一条命令就可以顶我们在图形界面上鼓捣好久。
cd ~ wget -c https://ftp.drupal.org/files/projects/drupal-8.3.7.tar.gz tar zxvf drupal-8.3.7.tar.gz 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”。
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。说时迟,那时快,还是一句命令的事:
sudo chown -R www-data:www-data /var/www/html/drupal8.dev
至于第二个错误,/sites/default/settings.php文件缺失,解决了第一个问题,第二个问题也就不存在了,因为drupal安装程序有了写权限之后,自己会复制一份文件过去。
至于简洁URLs(Clean URLs)功能未启用,那就启用啊。首先启用Apache的mod_rewrite模块:
sudo a2enmod rewrite
然后确认一下虚拟主机配置文件/etc/apache2/sites-available/drupal8.dev.conf里关于网站目录有AllowOverride All的参数设定:
<directory /var/www/html/drupal8.dev> Options Indexes FollowSymLinks MultiViews AllowOverride All Order allow,deny allow from all </directory>
这两步都妥了以后,再执行sudo service apache2 restart重启一下Apache,然后刷新一下页面,Duang!所有错误和警告都没有了!
4. 配置数据库
如果你的数据库用户有创建数据库的权限,你可以直接填入要创建数据库的名称、用户名和密码,Drupal会尝试着为你创建新的数据库。你也可以直接使用phpMyAdmin,事先给网站创建一个数据库,然后把相关信息填进去。因为这里我们安装的是测试开发用的,大伟哥就直接使用数据库的root用户新创建一个叫做drupal8dev的数据库了,网站真正上线的时候为了安全起见,最好不要直接用root,为每一个数据库单独配一个拥有者会更安全。
5.等待Drupal安装
这一步没我们的事,看着Drupal干活就可以。
6. 配置网站
这一步很简单,我们要设置网站的名称、站长联系方式、用户名和密码。
7. 安装完成,可以看到网站首页了。
- 添加新评论
- 477 阅读
评论
写得不错,拜读!
当时在linux服务器上搭建第一个站点的时候好麻烦的说。
大家伙都是从第一步过来的,不断犯错,不断学习…
大家伙都是从第一步过来的,不断犯错,不断学习,慢慢就成长了。
添加新评论