Drupal是基于PHP的开源内容管理系统,分布在GNU通用公共许可证下。 Drupal是Web内容管理的可扩展和开放的平台,它提供超过31,000个模块来扩展核心功能,Drupal在互联网上至少占所有网站的2.1%。 在2015年底,Drupal项目发布了本教程将介绍的新版本的Drupal 8。
在本教程中,我将介绍如何在Ubuntu 15.10上安装Drupal 8,以Apache作为Web服务器,MySQL作为数据库后端以及如何使用SSL来保护网站。
先决条件
- Ubuntu 15.10 - 64bit。
- 根权限
第1步 - 安装Apache和PHP
Ubuntu软件包安装程序将安装apache和PHP(以及Drupal需要的一些PHP模块)。 然后我们将启用apache模块mod_rewrite和mod_ssl。
更新Ubuntu存储库并安装Apache:
sudo su
apt-get update
apt-get install apache2 -y
然后使用以下命令安装PHP 5和PHP模块:
apt-get install -y php5 libapache2-mod-php5 php5-mysqlnd php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-apcu
现在启用Apache SSL并使用' a2enmod '命令重写模块。 重新启动apache以应用配置更改:
a2enmod rewrite ssl
systemctl restart apache2
检查模块是否加载了以下命令:
apache2ctl -M | egrep 'ssl|rewrite'
输出结果如下:
#Enabled
rewrite_module (shared)
ssl_module (shared
所以mod-rewrite和mod-ssl被加载。
现在我将检查Apache和PHP是否正常工作。 在“/ var / www / html /”目录中创建一个新文件。 该文件包含phpinfo()命令:
cd /var/www/html
echo "<?php phpinfo(); ?>" > info.php
访问服务器IP: 192.168.1.100/info.php
结果应该类似于这个截图。
删除info.php文件:
rm -f /var/www/html/info.php
作为可公开访问的info.php文件是一种安全隐患。
第2步 - 安装和配置MySQL数据库
在这一步中,我们将安装MySQL 5.6并为Drupal创建一个新的数据库。 我们将创建一个名为' drupaldb '的数据库,一个新用户' drupaluser ',密码为' drupaluser @ ',并授予用户对数据库的访问权限。
使用以下命令安装MySQL:
apt-get install mysql-server mysql-client -y
安装过程将提示输入MySQL密码,选择安全密码。
现在使用用户“root”和您以前选择的密码登录MySQL数据库,然后为drupal创建数据库和用户。
您可以使用以下命令:
mysql -u root -p
create database drupaldb;
create user drupaluser@localhost identified by 'drupaluser@';
grant all privileges on drupaldb.* to drupaluser@localhost identified by 'drupaluser@';
flush privileges;
exit
数据库配置完成。
第3步 - 安装和配置SSL
我们将使用SSL来启用对Drupal的安全访问。 在apache配置目录中为ssl创建新目录,然后使用OpenSSL命令创建SSL证书,并更改证书文件的权限。
转到apache目录,创建一个ssl目录并输入:
cd /etc/apache2/
mkdir ssl
cd ssl/
生成自签名SSL证书:
sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/apache2/ssl/drupalssl.key -out /etc/apache2/ssl/drupalssl.crt
更改证书文件的权限:
chmod 600 *
创建新的SSL证书文件。
第4步 - 配置Apache Virtualhost
在此步骤中,我们将在/ var / www目录中为Drupal创建一个目录,并为Drupal添加一个新的虚拟主机配置文件。
mkdir -p /var/www/drupal
cd /etc/apache2/sites-available
现在,将使用包含Apache虚拟主机配置的vim创建一个名为“ drupal.conf ”的新文件:
vim drupal.conf
将虚拟主机配置粘贴到下面:
<VirtualHost *:80> ServerName www.mydrupal.co DocumentRoot /var/www/drupal # Redirect http to https RedirectMatch 301 (.*) https://www.mydrupal.co$1 </VirtualHost> <VirtualHost _default_:443> # Server Info ServerName www.mydrupal.co ServerAlias mydrupal.co ServerAdmin webmaster@localhost # Web root DocumentRoot /var/www/drupal # Log configuration ErrorLog ${APACHE_LOG_DIR}/drupal-error.log CustomLog ${APACHE_LOG_DIR}/drupal-access.log combined # Enable/Disable SSL for this virtual host. SSLEngine on # Self signed SSL Certificate file SSLCertificateFile /etc/apache2/ssl/drupalssl.crt SSLCertificateKeyFile /etc/apache2/ssl/drupalssl.key <Directory "/var/www/drupal"> Options FollowSymLinks AllowOverride All Require all granted </Directory> <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown </VirtualHost>
用您的Drupal网站的域名替换域名www.mydrupal.co。
保存文件并退出。
现在使用命令测试apache配置:
apachectl configtest
如果您看到“ Syntax ok ”,那么apache配置是正确的。
现在激活Drupal虚拟主机并重新启动Apache:
a2ensite drupal
systemctl restart apache2
创建和配置虚拟主机。
第5步 - 安装和配置Drupal 8
在安装Drupal之前,我们必须安装git和drush。 所以让我们使用以下apt命令安装它们:
apt-get install git drush -y
现在去Drupal目录,并用'drush命令'下载新的Drupal 8版本。
cd /var/www/drupal
drush dl drupal-8
将所有Drupal文件移动到“/ var / www / drupal”:
mv drupal-8.0.1/* .
rm -rf drupal-8.0.1/
转到目录“sites / default”并复制两个配置文件的settings.php和“ services.yml ”:
cd sites/default
cp default.settings.php settings.php
cp default.services.yml services.yml
然后创建一个新的目录' files '并更改'sites / default'目录中所有文件和文件夹的权限:
mkdir files/
chmod a+w *
转到'/ var / www /'目录,并将drupal目录的所有者更改为用户和组'www-data':
cd /var/www/
chown -R www-data:www-data drupal/
Drupal安装的shell部分完成后,访问您的网站“ www.mydrupal.co ”的drupal域,您将自动切换到https连接。
选择你的语言,我将在这里使用“ 英语 ”。
选择“ 标准 ”安装配置文件。
当您的服务器准备好Drupal(当我们的服务器是使用上面的安装步骤时),您将被传递到“验证要求”部分并继续数据库配置。 填写我们之前创建的MySQL数据库的数据库详细信息:
点击“保存并继续”,等待安装过程完成。
ow配置站点,管理员帐号,电子邮件,站点名称等。
Drupal已安装和配置。
结论
Drupal是一个基于PHP的内容管理系统,它被互联网上至少2.1%的网站使用。 到目前为止,Drupal已经发布了第8版,并提供了许多附加模块,使Drupal非常有用。 我们可以在任何支持MySQL或MariaDB的服务器上安装Drupal作为数据库,像Apache或Nginx这样的Web服务器以及PHP编程语言。 Drupal易于安装和配置。