如何安装Drupal 8与Apache,MySQL和SSL在Ubuntu 15.10

在本教程中,我将向您展示如何在Ubuntu 15.10上安装Drupal 8,Apache作为Web服务器,MySQL作为数据库后端,以及如何保护...

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

phpinfo结果。

结果应该类似于这个截图。

删除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密码,选择安全密码。

输入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

为Drupal创建一个MySQL数据库。

数据库配置完成。

第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安装程序中选择语言。

选择“ 标准 ”安装配置文件。

选择Drupal安装配置文件。

当您的服务器准备好Drupal(当我们的服务器是使用上面的安装步骤时),您将被传递到“验证要求”部分并继续数据库配置。 填写我们之前创建的MySQL数据库的数据库详细信息:

Drupal数据库设置。

点击“保存并继续”,等待安装过程完成。

ow配置站点,管理员帐号,电子邮件,站点名称等。

Drupal站点配置。

Drupal已安装和配置。

Drupal安装完成。

结论

Drupal是一个基于PHP的内容管理系统,它被互联网上至少2.1%的网站使用。 到目前为止,Drupal已经发布了第8版,并提供了许多附加模块,使Drupal非常有用。 我们可以在任何支持MySQL或MariaDB的服务器上安装Drupal作为数据库,像Apache或Nginx这样的Web服务器以及PHP编程语言。 Drupal易于安装和配置。