Перед установкой Drupal 9 следует ознакомится со статьями - LAMP сервер своими руками и Composer.
Добавим новый виртуальный сервер в систему:
sudo nano /etc/apache2/sites-available/drupal.conf
Добавим в него:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html/drupal.ru/web
ServerName drupal.ru
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/html/drupal.ru/web/>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/drupal_error.log
LogLevel notice
CustomLog ${APACHE_LOG_DIR}/drupal_access.log combined
</VirtualHost>
Создадим директорию drupal.ru:
sudo mkdir /var/www/html/drupal.ru
Активируем виртуальный хост drupal.ru:
sudo a2ensite drupal.conf
Проверяем файл виртуального хоста на наличие синтаксических ошибок:
sudo apache2ctl configtest
AH00112: Warning: DocumentRoot [/var/www/html/drupal.ru/web] does not exist
Syntax OK
На предупреждение не обращаем внимания, папка web будет создана автоматически. Перезагружаем и проверяем Apache.
sudo systemctl reload apache2
sudo systemctl status apache2
Меняем права для папки drupal.ru:
sudo chown -R drhellp:drhellp /var/www/html/drupal.ru/
Переходим в каталог drupal.ru:
cd /var/www/html/drupal.ru/
Запускаем:
composer create-project drupal/recommended-project .
После установки переходим по адресу нового виртуального сервера.
Создаем директории:
mkdir web/sites/default/files
mkdir web/sites/default/files/translations
Меняем владельца:
sudo chown -R www-data:www-data /var/www/html/drupal.ru/web/sites/default/files
Копируем файл настроек и меняем владельца:
cp web/sites/default/default.settings.php web/sites/default/settings.php
sudo chown www-data:www-data /var/www/html/drupal.ru/web/sites/default/settings.php
Продолжаем установку:
Создать пользователя и базу данных можно по статье - Установка phpMyAdmin.
Заполняем данные о сайте:
Готовый сайт:
Осталось в settings.php настроить переменную trusted_host_patterns.