Введение
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.