如何使用Ubuntu 15.04/CentOS 7使用LEMP堆栈设置Drupal 8
DuRPal是一种以PHP语言编写的自由源的内容管理系统,允许我们在不需要知道任何编码语言的情况下创建和维护我们的。
它在GNU通用公共许可证版本或者以后自由分发。
它被用作后端框架,占全球所有的至少2.1%,从个人教程 到企业,政治和政府。
Drupal开发人员最近发布了一个具有巨大更新和错误修正的新版本,称为Drupal 8.最新的Build Drupal 8拥有200多个新功能和改进,也称为世界上最佳的自由和开源内容管理系统。
以下是在最新发布的Drupal 8中提出的一些功能和改进。
- 它具有包含实体,字段和视图的框中的全面内容。
- 它由一个很棒的管理界面组成,用于自定义内容页面,甚至是表单和管理页面。
- Drupal的定位和平滑性得到改善。
- 移动式首先,响应,HTML5输出具有令人敬畏的前端设计和REST-First Native Web服务。
- 它有能力将一些现代PHP标准和实践与流行的库相结合,如composer,symfony2,guzzze和树枝。
- Drupal 8包含增强的缓存和与CDN和反向代理集成。
- 它与PHP7完全兼容,以及PostgreSQL和SQLite数据库和更多。
在本文中,我们将学习如何在运行Ubuntu 15.04和CentOS 7的机器上使用LEMP堆栈安装Drupal 8内容管理系统。
1.安装LEMP堆栈
首先,我们需要在我们的机器运行Ubuntu 15.04或者CentOS 7中设置完整的LEMP堆栈.LEMP堆栈是Nginx Web服务器,MariaDB数据库服务器和PHP模块的组成。
要在我们的计算机中安装LEMP堆栈,我们需要打开终端或者控制台,并根据我们正在运行的分发方式运行以下命令。
在Ubuntu 15.04上
# apt-get update # apt-get install nginx mariadb-server mariadb-client php5-mysql php-pear php5-gd php5-intl php5-curl php5-xdebug php5-dev php5-xcache php5-fpm
在Ubuntu 15.04中,我们将被要求向Mariadb root用户输入新密码,如下所示。
将来我们需要此密码来访问MariaDB数据库服务器的root用户。
在CentOS 7
# yum update # yum install nginx mariadb-server mariadb-client php-mysql php-pear php-gd php-xml php-intl php-curl phpxdebug php-dev php-mbstring php-xcache php5-fpm
2.配置MariaDB.
由于我们已经在我们的Ubuntu 15.04计算机中为我们的Mariadb root用户配置了密码,我们只需跳过此步骤配置MariaDB并继续为我们的Drupal 8创建数据库的下一步。
但如果我们在我们的机器中运行CentOS ,我们需要遵循此步骤以配置我们的MariaDB并为数据库root用户设置密码。
要配置MariaDB并分配root密码,我们需要运行以下命令。
# mysql_secure_installation This will ask us to enter the password for root but as we haven’t set any password before and its our first time we’ve installed mariadb, we’ll simply press enter and go further. Then, we’ll be asked to set root password, here we’ll hit Y and enter our password for root of MariaDB. Then, we’ll simply hit enter to set the default values for the further configurations. …. so you should just press enter here. Enter current password for root (enter for none): OK, successfully used password, moving on… Setting the root password ensures that nobody can log into the MariaDB root user without the proper authorisation. Set root password? [Y/n] y New password: Re-enter new password: Password updated successfully! Reloading privilege tables.. … Success! … installation should now be secure. Thanks for using MariaDB!
完成后,我们将通过运行以下命令启动MariaDB服务器。
# systemctl start mysql
然后,我们将向前迈向创建数据库用户和数据库,以便Drupal 8可以使用它来存储其数据。
3.创建MariaDB数据库
接下来,我们将进一步努力创建我们的新数据库,以便Drupal 8可以利用它来存储其数据。
为此,我们需要首先以root用户身份登录MariaDB命令提示符。
其中我们需要输入我们在上面设置的MariaDB root帐户的密码。
# mysql -u root -p
在我们登录到MariaDB命令提示符后,我们将创建数据库,数据库用户,密码并为该数据库分配完全权限。
为此,我们需要运行以下MariaDB控制台命令。
> CREATE DATABASE drupaldb; > CREATE USER 'drupaluser'@'localhost' IDENTIFIED BY 'Pa$$worD'; > GRANT ALL PRIVILEGES ON drupaldb.* TO 'drupaluser'@'localhost'; > FLUSH PRIVILEGES; > EXIT;
4.配置PHP5-FPM
接下来,我们将配置我们的PHP5-FPM配置,该配置位于/etc/php5/fpm/php.ini使用我们喜欢的文本编辑器。
# nano /etc/php5/fpm/php.ini
使用文本编辑器打开文件后,我们需要使用需要运行Drupal 8所需的以下配置来追加文件。
cgi.fix_pathinfo=0 xdebug.max_nesting_level=256
完成后,我们只需保存文件并退出文本编辑器。
5.配置nginx服务器
我们现在将配置我们的nginx服务器并创建配置文件以使我们的Drupal工作。
为此,我们需要使用文本编辑器打开/etc/nginx/sites-available/drupal.theitroad.com。
# nano /etc/nginx/sites-available/drupal.theitroad.com
然后,我们将简单地将以下配置添加到文件中。
server { listen 80; root /var/www/drupal.theitroad.com; index index.php index.html index.htm; server_name drupal.theitroad.com; location/{ try_files $uri $uri//index.php?$args; } location ~ [^/]\.php(/|$) { fastcgi_split_path_info ^(.+\.php)(/.*)$; fastcgi_index index.php; fastcgi_pass unix://var/run/php5-fpm.sock; include fastcgi.conf; } }
完成后,我们将保存并退出该文件。
之后,我们需要激活配置文件。
为此,我们需要创建一个新创建的nginx文件的新链接/etc/nginx /启用站点/目录。
# sudo ln -s /etc/nginx/sites-available/drupal.theitroad.com /etc/nginx/sites-enabled/drupal.theitroad.com
6.下载Drupal 8
现在,我们将从官方下载页面下载最新版本的Drupal IE版本8.
我们将打开下载站点并获取tar包文件的链接。
然后,我们只需在/tmp /目录下使用wget命令下载wget命令。
# cd /tmp/ # wget http://ftp.drupal.org/files/projects/drupal-8.0.2.tar.gz --2015-01-16 12:48:04-- http://ftp.drupal.org/files/projects/drupal-8.0.2.tar.gz Resolving ftp.drupal.org (ftp.drupal.org)... 103.245.222.68 ... Connecting to ftp.drupal.org (ftp.drupal.org)|103.245.222.68|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 11720487 (11M) [application/octet-stream] Saving to: 'drupal-8.0.2.tar.gz' drupal-8.0.2.tar.gz 100%[=====================>] 11.18M 69.8MB/s in 0.2s 2015-01-16 12:48:04 (69.8 MB/s) - 'drupal-8.0.2.tar.gz' saved [11720487/11720487]
一旦Drupal 8 tar包成功下载,我们将提取它。
# tar -xzf drupal-8.0.1.tar.gz
然后,我们将从tar包中提取的整个文件移动到我们的Webroot我们在Nginx服务器配置文件中设置为/var/www/drupal.theitroad.com。
通过运行以下命令,我们可以执行此操作。
# mkdir -p /var/www/drupal.theitroad.com # mv drupal-8.0.1/* /var/www/drupal.theitroad.com
7.启用和重新启动服务
随着所有配置完成,我们将简单地重新启动我们的服务器,以便将这些配置效果。
完成后,我们将设置我们的服务器以在每个系统启动中启动。
为此,我们需要运行以下systemctl命令。
在Ubuntu 15.04上
# systemctl restart mysql nginx php5-fpm # systemctl enable mysql nginx php5-fpm
在CentOS 7
# systemctl restart mariadb nginx php5-fpm # systemctl enable mariadb nginx php5-fpm
8.允许防火墙
我们需要允许端口80在互联网上公开,以便在同一网络中访问我们的。
要启用HTTP或者允许端口80,我们需要运行以下命令。
在Ubuntu 15.04上
众所周知,Iptables是Ubuntu系统中使用的非常受欢迎的防火墙解决方案程序。
因此,要允许或者公开端口80,我们需要执行以下IPTables命令。
# iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT # iptables-save > /etc/iptables-up.rules
在CentOS 7
CentOS 7用SystemD作为默认初始系统提供,我们将安装防火墙作为防火墙解决方案。
要允许端口80或者HTTP服务,我们需要运行以下命令。
# firewall-cmd --permanent --add-service=http # firewall-cmd --reload
9. Web安装
一切都是在上面的步骤中设置并配置,我们现在将向前迈向Web安装Drupal 8.我们需要将我们的Web浏览器指向我们的服务器的IP地址或者域名,因为http://ip-address /或者根据配置的http://theitroad.com/。
在此,在本教程中,我们将将我们的Web浏览器指向http://drupal.theitroad.com/,如下图所示。
我们现在需要选择我们的语言,然后单击"保存",然后继续进一步朝安装。
然后,将要求我们在标准和最小值之间选择安装配置文件。
在本教程中,我们将使用标准配置文件,因为它安装了使用常用功能的Drupal。
数据库设置页面将加载我们需要输入MariaDB数据库登录详细信息,以便Drupal 8可以使用该数据库来存储其数据。
一旦完成,Web安装程序将根据如下所示的配置设置我们的Drupal 8.
安装完成后,我们需要使用名称,电子邮件地址,站点维护帐户登录详细信息等所需信息配置我们的。
如果一切都按预期正确正确,我们将看到我们的Drupal 8的主页。
稍后,为了登录管理员面板,我们将需要我们刚刚创建上面的用户名和密码。