未加星标

How to install Drupal 8.1.10 on Ubuntu 16.04

字体大小 | |
[系统(linux) 所属分类 系统(linux) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

How to install Drupal 8.1.10 on Ubuntu 16.04
Introduction

Drupalis a content-management framework written inphp and distributed under the GNU GPL. It can be used for any type of site, from personal blogs to multinational corporate sites. It’s basic part is named Drupal Core , and it can be extended with plugins.

This tutorial explains how to install and configure Drupal on a Ubuntu 16.04 server running Nginx.

Install Nginx

Install Nginx . In Ubuntu, it is available in repositories:

# apt install nginx

Next, install packages required by Drupal Core, php7.0-fpm and php-gd extension :

# apt install php7.0-fpm php7.0-cli php7.0-gd php7.0-mysql php7.0-xml Configure Nginx

Configure Nginx to use php-fpm. With a text editor, edit /etc/php/7.0/fpm/php.ini . Uncomment line 760, and change from 1 to 0, so you’ll have: cgi.fix_pathinfo=0

Next, modify Nginx virtual host configuration for enabling php-fpm; the file is /etc/nginx/sites-available/default . There, uncomment lines 51, 52, 57, 58 . After that, you’ll have:

# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ { include snippets/fastcgi-php.conf;
#
# # With php7.0-cgi alone:
# fastcgi_pass 127.0.0.1:9000;
# # With php7.0-fpm: fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}

Save, exit, and test Nginx:

# nginx -t

If you read:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

everything went well.

Restart Nginx and PHP-FPM:

# systemctl restart nginx
# systemctl restart php7.0-fpm

Now, check if php-fpm is working correctly with nginx. Create the file /var/www/html/info.php and write:

<?php
phpinfo();
?>

Save and close the file, and then, with your browser, visit the URL your_IP_Server/info.php .


How to install Drupal 8.1.10 on Ubuntu 16.04

As you can see, everything is up and running.

Configure MariaDB

If you don’t have MariaDB, install and start it with the following commands:

# apt install mariadb-client mariadb-server
# systemctl start mysql

Configure a root account with:

# mysql_secure_installation

Next, login to MariaDB as root:

# mysql -u root -p

Configure a new database and a new user for Drupal:

MariaDB> CREATE DATABASE mydrubaldb;
MariaDB> CREATE USER [email protected] IDENTIFIED BY '[email protected]'; MariaDB> GRANT ALL PRIVILEGES ON mydrubaldb.* TO [emailprotected]

IDENTIFIED BY '[email protected]'; MariaDB> FLUSH PRIVILEGES; MariaDB> EXIT;

Generate a SSL certificate

Create the directory /etc/nginx/ssl . Next, execute the commands:

# cd /etc/nginx/ssl
# openssl req -x509 -nodes -days 365 -newkey rsa:4096 -keyout /etc/nginx/ssl/drupal.key -out /etc/nginx/ssl/drupal.crt

You’ll be asked some questions:


How to install Drupal 8.1.10 on Ubuntu 16.04

Change the permission of the generated key:

# chmod 600 drupal.key Configure Virtual Host for Drupal

In /var/www create a directory named “drupal8”:

# mkdir /var/www/drupal8

Drupal will be installed there, with the domain name “mydomain.me”. Of course, use the name you need and/or want.

Create a new file, “drupal8”, in /etc/nginx/sites-available/ . In that new file, paste the following text:

server {
server_name mydomain.me;
root /var/www/drupal8; ## <-- Your only path reference.
location = /favicon.ico {
log_not_found off;
access_log off;
}
location = /robots.txt {
allow all;
log_not_found off;
access_log off;
}
# Very rarely should these ever be accessed outside of your lan
location ~* \.(txt|log)$ {
allow 192.168.1.0/16;
deny all;
}
location ~ \..*/.*\.php$ {
return 403;
}
location ~ ^/sites/.*/private/ {
return 403;
}
# Allow "Well-Known URIs" as per RFC 5785
location ~* ^/.well-known/ {
allow all;
}
# Block access to "hidden" files and directories whose names begin with a
# period. This includes directories used by version control systems such
# as Subversion or Git to store control files.
location ~ (^|/)\. {
return 403;
}
location / {
# try_files $uri @rewrite; # For Drupal <= 6
try_files $uri /index.php?$query_string; # For Drupal >= 7
}
location @rewrite {
rewrite ^/(.*)$ /index.php?q=$1;
}
# Don't allow direct access to PHP files in the vendor directory.
location ~ /vendor/.*\.php$ {
deny all;
return 404;
}
# In Drupal 8, we must also match new paths where the '.php' appears in
# the middle, such as update.php/selection. The rule we use is strict,
# and only allows this pattern with the update.php front controller.
# This allows legacy path aliases in the form of
# blog/index.php/legacy-path to continue to route to Drupal nodes. If
# you do not have any paths like that, then you might prefer to use a
# laxer rule, such as:
# location ~ \.php(/|$) {
# The laxer rule will continue to work if Drupal uses this new URL
# pattern with front controllers other than update.php in a future
# release.
location ~ '\.php$|^/update.php' {
fastcgi_split_path_info ^(.+?\.php)(|/.*)$;
# Security note: If you're running a version of PHP older than the
# latest 5.3, you should have "cgi.fix_pathinfo = 0;" in php.ini.
# See http://serverfault.com/q/627903/94922 for details.
include fastcgi_params;
# Block httpoxy attacks. See https://httpoxy.org/.
fastcgi_param HTTP_PROXY "";
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param QUERY_STRING $query_string;
fastcgi_intercept_errors on;
# PHP 5 socket location.
#fastcgi_pass unix:/var/run/php5-fpm.sock;
# PHP 7 socket location.
fastcgi_pass unix:/var/run/php/php7.0-fpm.sock;
}
# Fighting with Styles? This little gem is amazing.
# location ~ ^/sites/.*/files/imagecache/ { # For Drupal <= 6
location ~ ^/sites/.*/files/styles/ { # For Drupal >= 7
try_files $uri @rewrite;
}
# Handle private files through Drupal. Private file's path can come
# with a language prefix.
location ~ ^(/[a-z\-]+)?/system/files/ { # For Drupal >= 7
try_files $uri /index.php?$query_string;
}
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
}

Save and exit.

Next, activate the Drupal Virtual Host and restart Nginx:

# ln -s /etc/nginx/sites-available/drupal8 /etc/nginx/sites-enabled/
# systemctl restart nginx Install and configure Drupal Now, everything is ready for Drupal installation. In /var/www/drupa

本文系统(linux)相关术语:linux系统 鸟哥的linux私房菜 linux命令大全 linux操作系统

主题: NginxUbuntuPHPGitTICGRY
分页:12
转载请注明
本文标题:How to install Drupal 8.1.10 on Ubuntu 16.04
本站链接:http://www.codesec.net/view/534564.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 系统(linux) | 评论(0) | 阅读(107)