Как установить Drupal с LAMP (Apache MySQL PHP) на Ubuntu 20.04 LTS

12 set 2022 5 min di lettura
Как установить Drupal с LAMP (Apache MySQL PHP) на Ubuntu 20.04 LTS
Indice dei contenuti

Введение

Drupal — это бесплатная среда управления веб-контентом с открытым исходным кодом, написанная на PHP и распространяемая под Стандартной общественной лицензией GNU. Drupal обеспечивает серверную основу как минимум для 2,3% всех веб-сайтов по всему миру, начиная от личных блогов и заканчивая корпоративными, политическими и государственными сайтами.

LAMP — это группа программного обеспечения с открытым исходным кодом, которое обычно устанавливается вместе, чтобы позволить серверу размещать динамические веб-сайты и веб-приложения.LAMP включает Apache, MySQL, PHP.

В этом руководстве мы установим LAMP с Drupal на Ubuntu 20.04 LTS Focal Fossa.

Если вы хотите установить Drupal на удаленный сервер, продолжайте читать, в противном случае пропустите первый абзац «Подключение к серверу» и читайте следующий.

Подключение к серверу

Чтобы получить доступ к серверу, вам нужно знать IP-адрес. Вам также потребуется ваше имя пользователя и пароль для аутентификации. Чтобы подключиться к серверу как root, введите следующую команду:

ssh root@IP_DEL_SERVER

Далее вам нужно будет ввести пароль пользователя root.

Если вы не используете пользователя root, вы можете войти под другим именем пользователя с помощью той же команды, а затем изменить root на свое имя пользователя:

ssh nome_utente@IP_DEL_SERVER

Затем вам будет предложено ввести пароль пользователя.

Стандартный порт для подключения по ssh — 22, если ваш сервер использует другой порт, вам нужно будет указать его с помощью параметра -p, затем введите следующую команду:

ssh nome_utente@IP_DEL_SERVER -p PORTA

Теперь вы подключены к своему серверу и готовы начать установку Drupal на Ubuntu 20.04 LTS.

Установить Апач

Официальные репозитории пакетов Ubuntu включают обновленную версию Apache. Затем мы можем установить необходимые пакеты, используя apt.

Обновите список пакетов Ubuntu, чтобы иметь последнюю версию списков репозитория, с терминала:

sudo apt update

Чтобы установить Apache, откройте терминал и выполните следующие команды:

sudo apt install apache2

Если брандмауэр Ubuntu активен, вам необходимо включить трафик для Apache:

sudo ufw allow in "Apache Full"

На данный момент сервер готов с конфигурациями по умолчанию. Просто подключитесь к вашему общедоступному IP-адресу или локальному хосту:

http://localhost

Чтобы перезапустить Апач:

sudo service apache2 restart

Чтобы остановить Апач:

sudo service apache2 stop

Чтобы запустить Апач:

sudo service apache2 start

Настроить виртуальный хост

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

Apache в Ubuntu 20.04 LTS имеет включенный по умолчанию блок сервера, который настроен для обслуживания документов из правильно функционирующего каталога /var/www/html для одного сайта. Если вы размещаете несколько сайтов, вместо изменения /var/www/html создайте структуру каталогов внутри /var/www, оставив /var/www/html в качестве каталога по умолчанию, который будет использоваться, если запрос клиента не соответствует любому другому настроенному сайту. в качестве виртуального хоста.

Создайте каталог для esempio.com, используя флаг -p для создания всех необходимых каталогов:

sudo mkdir -p /var/www/drupal/

Назначьте текущего пользователя владельцем нового каталога:

sudo chown -R $USER:$USER /var/www/drupal

Убедитесь, что разрешения указаны правильно:

sudo chmod -R 755 /var/www/drupal

Создайте новый файл конфигурации для виртуального хоста esempio.com, не изменяя файл по умолчанию:

sudo nano /etc/apache2/sites-available/drupal.conf

Вставьте следующие строки кода, убедившись, что вы изменили значения для своего домена, в данном случае esempio.com:


<VirtualHost *:80>
 ServerAdmin [email protected]
 ServerName esempio.com
 ServerAlias www.esempio.com
 DocumentRoot /var/www/drupal
 ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined
 <Directory /var/www/drupal>
 AllowOverride All
 Order allow,deny
 Allow from all
 </Directory>
 </VirtualHost>

Сохраните и закройте файл.

Включите новый сайт:

sudo a2ensite drupal.conf

Проверяем правильность введенных в файлы данных:

sudo apache2ctl configtest

Вы должны увидеть ответ, подобный этому:


Syntax OK

Перезапустите Апач:

sudo systemctl restart apache2

Теперь вы можете подключиться к только что созданному виртуальному хосту, подключившись к своему домену:


http://esempio.com

Установить MySQL

Вы можете установить MySQL, используя официальный репозиторий Ubuntu с помощью apt. Установите MySQL:

sudo apt install mysql-server

Защита MySQL

Запустите скрипт MySQL, чтобы изменить некоторые настройки:

sudo mysql_secure_installation

Вам будет предложено ввести пароль для пользователя root, который вы будете использовать для входа на сервер MySQL.

Введите «y» для «да» или любую другую букву для «нет».

Вас спросят, хотите ли вы проверить безопасность пароля.

Затем рекомендуется нажать «y», затем «yes».

  • Удалить анонимных пользователей
  • Удаленно отключить root-вход
  • Удалить тестовую базу данных
  • Обновите новые правила

Изменить метод аутентификации

Начиная с MySQL версии 5.7, корневой пользователь MySQL по умолчанию настроен на аутентификацию через плагин auth_socket вместо пароля.

Чтобы использовать пароль для подключения к MySQL в качестве пользователя root, вам необходимо изменить метод аутентификации с auth_socket на mysql_native_password.

Поскольку пароль еще не установлен, вы можете подключиться к серверу MySQL, просто используя команду mysql или sudo mysql, если вы вошли в систему как обычный пользователь. Затем вам нужно будет использовать команду mysql -u root -p от имени пользователя root, в противном случае sudo mysql -u root -p от имени обычного пользователя.

Итак, если вы вошли в систему как root, введите в терминале:

mysql

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql

Чтобы проверить метод аутентификации, связанный с учетными записями mysql:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | debian-sys-maint | $A$005$_I4jtC|i.)h^*f*z`:2qYuy4CAHnLW21jE8.omOKjDIEFVcepe6eQO/T8QS61 | caching_sha2_password | localhost |
 | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | root | | auth_socket | localhost |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 5 rows in set (0.00 sec)

Как видите, метод аутентификации auth_socket установлен по умолчанию для пользователя root.

Чтобы использовать аутентификацию по паролю для учетной записи root, внесите следующие изменения:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'TUA_PASSWORD';
Осторожность:Your password does not satisfy the current policy requirements.этот учебник

Теперь вы можете проверить новый метод аутентификации, связанный с пользователем root:

SELECT user,authentication_string,plugin,host FROM mysql.user;

Вы должны получить сообщение, подобное этому:

+------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | user | authentication_string | plugin | host |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 | debian-sys-maint | $A$005$_I4jtC|i.)h^*f*z`:2qYuy4CAHnLW21jE8.omOKjDIEFVcepe6eQO/T8QS61 | caching_sha2_password | localhost |
 | mysql.infoschema | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.session | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | mysql.sys | $A$005$THISISACOMBINATIONOFINVALIDSALTANDPASSWORDTHATMUSTNEVERBRBEUSED | caching_sha2_password | localhost |
 | root | *13097EDBBF2AB852D55D47ED1477E2901F60DFE1 | mysql_native_password | localhost |
 +------------------+------------------------------------------------------------------------+-----------------------+-----------+
 5 rows in set (0.00 sec)

Выйдите из приглашения MySQL:

exit;

Чтобы снова войти на сервер MySQL теперь вам нужно будет ввести пароль, затем из терминала:

Если вы вошли в систему как root, введите в терминале:

mysql -u root -p

В противном случае, если вы вошли в систему как обычный пользователь с привилегиями sudo:

sudo mysql -u root -p

Создайте базу данных для Drupal:

CREATE DATABASE drupal DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Свяжите нового пользователя с базой данных drupal с паролем и привилегиями:

CREATE USER 'drupalsuser'@'localhost' IDENTIFIED WITH mysql_native_password BY 'tua_password';
GRANT ALL PRIVILEGES ON drupal.* TO 'drupalsuser'@'localhost';
Осторожность:Your password does not satisfy the current policy requirements.этот учебник

Права обновления:

FLUSH PRIVILEGES;

Выход из MySQL:

exit;

Установить PHP

Чтобы установить PHP и полезные расширения для Drupal, из терминала:

sudo apt install php php-cli libapache2-mod-php php-mysql php-curl php-gd php-mbstring php-xml php-xmlrpc php-soap php-intl php-zip

Перезапустите Апач:

sudo service apache2 restart

Установить Друпал

Дайте следующие команды из терминала, войдите в папку Drupal:

cd /var/www/drupal

Загрузите Drupal, на данный момент последняя версия 8.8.5:

sudo wget https://ftp.drupal.org/files/projects/drupal-8.8.5.zip

Установите Zip и Unzip для управления архивами.zip:

sudo apt-get install zip unzip

Извлечь Друпал:

sudo unzip drupal-8.8.5.zip

Войдите в новую папку:

cd drupal-8.8.5

Переместите все файлы в корневую папку:

sudo mv * /var/www/drupal
mv.htaccess /var/www/drupal

Поднимитесь на один уровень вверх:

cd..

Удалите папку, созданную для извлечения файлов, теперь пустую:

sudo rm -rf drupal-8.8.5

Включить mod_rewrite:

sudo a2enmod rewrite

Перезапустите Апач:

sudo service apache2 restart

Изменить разрешения:

sudo chown -R www-data:www-data /var/www/

Подключиться к вашему доменному имени:


http://esempio.com

Вы должны увидеть первый экран установки Drupal.

Сервер готов к установке Drupal с LAMP, Virtual Host, PHP, MySQL на Ubuntu 20.04 LTS Focal Fossa.

После подключения к вашему веб-адресу и установки Drupal войдите в следующий каталог:

cd /var/www/drupal/sites/default

В целях безопасности откройте файл settings.php:

sudo nano settings.php

Добавьте эти строки в конец файла, используя ваше доменное имя:

$settings['trusted_host_patterns'] = [
 '^esempio\.com$',
 '^www\.esempio\.com$',
 ];

Сохраните и закройте файл.

Вывод

В этом руководстве мы увидели, как установить Drupal с LAMP на Ubuntu 20.04 LTS Focal Fossa.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.