Как установить Drupal 8 с LetsEncrypt SSL на Debian 9

Drupal — это программное обеспечение для управления контентом с открытым исходным кодом, написанное на PHP и распространяемое под GPL.

Он имеет отличные стандартные функции, такие как легкое создание контента, надежная производительность и отличная безопасность.

Гибкость и модульность — один из его основных принципов, которые отличает его от отдыха.

Он имеет несколько инструментов, которые помогут вам создать универсальный и структурированный контент, который необходим динамическому веб-интерфейсу.

Drupal 8 будет самым большим обновлением в истории Drupal.

Создание контента намного проще в этом. Каждая встроенная тема адаптирована.

Он доступен на 100 языках, а его инструменты интеграции делают его отличным центром для сложных экосистем.

В этой статье я продемонстрирую, как установить этот Drupal 8 с Letsencrypt SSL на наших последних серверах Debian 9.

Давайте рассмотрим шаги установки один за другим.

Требования

  • Полностью функциональный сервер Debian
  • Настройка LAMP (Apache, MariaDB и PHP)

1) Начало работы

Всегда рекомендуется обновлять серверные пакеты до стабильных до любой установки.

Мы можем сделать это, просто выполнив команду обновления, как показано ниже:

 # apt-get update -y 

Кроме того, мы можем добавить некоторые общедоступные инструменты, которые мы будем помогать с помощью нашей установки.

 #apt-get install wget git unzip nano 

2) Установка Apache, MariaDB и PHP

Прежде чем мы начнем с установки Drupal, вам понадобится работающий веб-сервер и сервер базы данных. В этой статье мы будем работать с Apache2, PHP7 и MariaDB, вы можете легко установить их с помощью нашего инструмента менеджера пакетов, называемого apt. Сначала начните с установки веб-сервера Apache с помощью следующей команды:

 # apt-get install apache2 -y 

После установки вам необходимо запустить службу Apache и включить ее для автоматического запуска при следующей загрузке системы.

Для этого запустите следующую команду:

 # systemctl start apache2
# systemctl enable apache2
Synchronizing state of apache2.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable apache2
# systemctl status apache2
● apache2.service - The Apache HTTP Server
Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2017-07-19 13:12:00 UTC; 36s ago
Main PID: 12639 (apache2)
CGroup: /system.slice/apache2.service
├─12639 /usr/sbin/apache2 -k start
├─12641 /usr/sbin/apache2 -k start
└─12642 /usr/sbin/apache2 -k start 

Во-вторых, нам нужно установить PHP с необходимыми модулями, выполнив следующую команду:

 # apt-get install php7.0 libapache2-mod-php7.0 php7.0-cli php7.0-mcrypt php7.0-intl php7.0-mysql php7.0-curl php7.0-gd php7.0-soap php7.0-xml php7.0-zip -y 

Затем нам нужно изменить некоторые переменные PHP в нашем файле конфигурации /etc/php/7.0/cli/php.ini в зависимости от наших ресурсов сервера, как показано ниже:

 memory_limit = 512M
date.timezone = UTC
cgi.fix_pathinfo = 0
upload_max_filesize = 10M
<span class="">post_max_size = 10M</span> 

После внесения этих изменений не забудьте перезапустить сервер Apache.

Теперь нам нужно установить наш сервер базы данных.

Вы можете установить его, выполнив следующую команду:

 # apt-get install mariadb-server -y 

После установки вам необходимо запустить службу MariaDB и включить ее для автоматического запуска при следующей загрузке системы.

Для этого запустите следующую команду:

 # systemctl start mysql
# systemctl enable mysql
Synchronizing state of mysql.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable mysql
# systemctl status mysql
● mariadb.service - MariaDB database server
Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
Active: active (running) since Wed 2017-07-19 13:26:43 UTC; 43s ago
Main PID: 26526 (mysqld)
Status: "Taking your SQL requests now..."
CGroup: /system.slice/mariadb.service
└─26526 /usr/sbin/mysqld 

Затем вам нужно будет защитить ваш сервер базы данных.

Вы можете выполнить следующую команду для защиты базы данных MariaDB и установки пароля пользователя root:

 # mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
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:docker123
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!

By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y
... Success!

Normally, root should only be allowed to connect from 'localhost'. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access. This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
... Success!

Cleaning up...

All done! If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB 

3) Создать базу данных Drupal

Нам нужно создать базу данных и пользователя для нашей установки Drupal, чтобы сделать это, выполните следующую команду:

 .# mysql -u root -p
Welcome to the MariaDB monitor. Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 10.1.23-MariaDB-9+deb9u1 Debian 9.0

Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE drupal_db;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL PRIVILEGES on drupal_db.* to 'drupaluser'@'localhost' identified by 'drupal123';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> flush privileges;
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit 

Мы подключились к оболочке MySQL и создали базу данных с именем «drupal_db» с пользовательским «drupaluser» для установки Drupal.

4) Загрузите и установите Drupal 8.3.5

Вы можете скачать и установить Drupal со своего официальноВы можете скачать и установить Drupal со своего официального сайта.

Я загрузил последнюю версию программного обеспечения Drupal.

 # wget https://ftp.drupal.org/files/projects/drupal-8.3.5.zip 

Затем извлеките загруженный zip-файл и переместите извлеченный каталог Drupal в корневой каталог Drupal (/var/www/html/drupal/), который мы подразумеваем для установки Drupal.

 # unzip drupal-8.3.5.zip
# mv drupal-8.3.5 /var/www/html/drupal
# chmod -R 777 /var/www/html/drupal 

5) Создайте SSL для своего домена Drupal, используя Letsencrypt

Я планирую настроить свой Drupal на домене nodenixbox.com.

Следовательно, мне нужно настроить SSL для этого домена, чтобы защитить мою установку Drupal.

Два из этих пакетов должны быть установлены до установки Let’s Encrypt.

Bc — «произвольный калькулятор языка точности».

Он используется для сценария автоматического обновления в программном обеспечении Let’s Encrypt. Эти пакеты можно установить следующими командами:

 # apt-get install git bc -y 

Как только это будет сделано, мы сможем легко скачать Let’s Encrypt, клонируя репозиторий из GitHub.

 # git clone https://github.com/letsencrypt/letsencrypt 

Теперь мы можем перейти в нашу папку установки lets

 # ./letsencrypt-auto certonly --standalone --email saheetha1@gmail.com --agree-tos -d nodenixbox.comencrypt и запустить эту команду для выдачи нашего сертификата SSL.</pre>
-------------------------------------------------------------------------------
Would you be willing to share your email address with the Electronic Frontier
Foundation, a founding partner of the Let's Encrypt project and the non-profit
organization that develops Certbot? We'd like to send you email about EFF and
our work to encrypt the web, protect its users and defend digital rights.
-------------------------------------------------------------------------------
(Y)es/(N)o: yes
Obtaining a new certificate
Performing the following challenges:
tls-sni-01 challenge for nodenixbox.com
Waiting for verification...
Cleaning up challenges

IMPORTANT NOTES:
- Congratulations! Your certificate and chain have been saved at
/etc/letsencrypt/live/nodenixbox.com/fullchain.pem. Your cert will
expire on 2017-10-18. To obtain a new or tweaked version of this
certificate in the future, simply run letsencrypt-auto again. To
non-interactively renew *all* of your certificates, run
"letsencrypt-auto renew"
- Your account credentials have been saved in your Certbot
configuration directory at /etc/letsencrypt. You should make a
secure backup of this folder now. This configuration directory will
also contain certificates and private keys obtained by Certbot so
making regular backups of this folder is ideal.
- If you like Certbot, please consider supporting our work by:

 6) Создание виртуального хоста для вашего домена Drupal

Прежде всего, вам нужно будет создать файл виртуального хоста Apache для drupal.

Для этого создайте новый файл drupal.conf внутри каталога / etc / apache2 / sites-available /, который копирует формат Vhost по умолчанию:

 # cp -rp 000-default.conf drupal.conf 

И после этого мы можем изменить виртуальный хост согласно нашему доменному имени и корню документа.

 :/etc/apache2/sites-available# cat drupal.conf
<VirtualHost *:80>
# The ServerName directive sets the request scheme, hostname and port that
# the server uses to identify itself. This is used when creating
# redirection URLs. In the context of virtual hosts, the ServerName
# specifies what hostname must appear in the request's Host: header to
# match this virtual host. For the default virtual host (this file) this
# value is not decisive as it is used as a last resort host regardless.
# However, you must set it for any further virtual host explicitly.
ServerName nodenixbox.com

ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/drupal/

# Available loglevels: trace8, ..., trace1, debug, info, notice, warn,
# error, crit, alert, emerg.
# It is also possible to configure the loglevel for particular
# modules, e.g.
#LogLevel info ssl:warn

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

# For most configuration files from conf-available/, which are
# enabled or disabled at a global level, it is possible to
# include a line for only one particular virtual host. For example the
# following line enables the CGI configuration for this host only
# after it has been globally disabled with "a2disconf".
#Include conf-available/serve-cgi-bin.conf
</VirtualHost>

Как только это будет сделано, мы сможем включить виртуальный хост и включить модуль перезаписи с помощью следующей команды:

 # a2ensite drupal
Enabling site drupal.
To activate the new configuration, you need to run:
systemctl reload apache2

# a2enmod rewrite
Enabling module rewrite.
To activate the new configuration, you need to run:
systemctl restart apache2
# systemctl restart apache2 

Мы просто должны обязательно перезапустить службу Apache после этих изменений.

7) Защита Drupal с помощью протокола Letsencrypt SSL

Чтобы защитить наш Drupal, нам нужно включить виртуальный хост SSL для нашего домена.

Вы можете сделать это, скопировав виртуальный хост SSL по умолчанию в папку /etc/apache2/sites-available/ в drupal-ssl.conf и изменив его с помощью наших данных Letsencrypt SSL.

 # cp -rp default-ssl.conf drupal-ssl.conf 

И измените эти разделы, чтобы включить SSL для нашего домена Drupal.

 # cat drupal-ssl.conf
<IfModule mod_ssl.c>
<VirtualHost nodenixbox.com:443>
ServerAdmin webmaster@localhost

DocumentRoot /var/www/html/drupal/

SSLCertificateFile /etc/letsencrypt/live/nodenixbox.com/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/nodenixbox.com/privkey.pem

<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>

</VirtualHost>
</IfModule> 

После изменения виртуального хоста нам необходимо включить SSL и перезапустить Apache.


# a2enmod ssl
Considering dependency setenvif for ssl:
Module setenvif already enabled
Considering dependency mime for ssl:
Module mime already enabled
Considering dependency socache_shmcb for ssl:
Enabling module socache_shmcb.
Enabling module ssl.
See /usr/share/doc/apache2/README.Debian.gz on how to configure SSL and create self-signed certificates.
To activate the new configuration, you need to run:
systemctl restart apache2

#systemctl restart apache2 

8) Доступ к веб-интерфейсу Drupal

Теперь мы установили и настроили домен Drupal. Затем нам нужно завершить установку Drupal через веб-браузер.

Вы можете получить доступ к своему интерфейсу Drupal на URL >> https://nodenixbox.com/.

На первой странице вы должны выбрать предпочтительный язык.

Я выбираю английский язык и нажимаю кнопку «Save and continue».

Это приведет вас к следующей странице:

Выберите свой предпочтительный профиль установки и нажмите кнопку «Save and continue», затем проверьте все требования и нажмите кнопку «Save and continue».

Вы должны увидеть следующее изображение:

Теперь вы можете добавить данные базы данных, настроенные для вашего домена Drupal, и нажать «Save and Continue», чтобы продолжить установку.

Затем вы можете настроить свою страницу домена Drupal, указать имя вашего сайта, имя пользователя и пароль администратора, а затем нажать кнопку «Save and Continue», чтобы начать установку Drupal.

После установки Drupal вы увидите панель инструментов Drupal на следующем изображении:

Это все! вы успешно установили Drupal на свой сервер Debian 9. Теперь вы можете продолжить настройку Drupal в соответствии с вашими требованиями.

Для получения дополнительной документации вы можете посетить официальные документы, которые предоставляются проектом Drupal. Я надеюсь, что эта статья полезна для вас. Пожалуйста, опубликуйте свои ценные предложения и комментарии по этому поводу.

cryptoparty

Cryptography is typically bypassed, not penetrated.

Как установить Drupal 8 с LetsEncrypt SSL на Debian 9: 1 комментарий

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

5e7fa976b0640d40