После переноса сайта Drupal 11 на сервер вы можете столкнуться с ошибкой 503:
Service Unavailable
The server is temporarily unable to service your request due to maintenance downtime or capacity problems. Please try again later.
Это может быть вызвано различными причинами, связанными с настройками сервера, базы данных или файлов Drupal. Разберёмся, как решить проблему.
1. Проверьте статус веб-сервера
Первым делом убедитесь, что ваш веб-сервер работает. В зависимости от используемого ПО выполните команду:
systemctl status apache2 # для Apache
systemctl status nginx # для Nginx
systemctl status php-fpm # если используете PHP-FPM
Если сервер остановлен, запустите его:
sudo systemctl restart apache2
sudo systemctl restart nginx
sudo systemctl restart php-fpm
2. Отключите режим обслуживания в Drupal
Если перед переносом сайт был в режиме обслуживания, он останется в этом состоянии. Отключите его в базе данных:
UPDATE key_value SET value = 'b:0;' WHERE collection = 'system.site' AND name = 'maintenance_mode';
Или выполните команду Drush (если установлен):
drush sset system.maintenance_mode 0
drush cache:rebuild
3. Проверьте settings.php
В файле sites/default/settings.php должны быть правильные данные для подключения к базе:
$databases['default']['default'] = [
'database' => 'имя_базы_данных',
'username' => 'пользователь',
'password' => 'пароль',
'host' => 'localhost',
'port' => '3306',
'driver' => 'mysql',
'prefix' => '',
];
4. Проверьте права на папку files
Drupal требует доступ к папке sites/default/files:
chmod -R 775 sites/default/files
chown -R www-data:www-data sites/default/files
5. Очистите кеш вручную
Удалите временные файлы Drupal:
rm -rf sites/default/files/php
rm -rf sites/default/files/js
rm -rf sites/default/files/css
rm -rf sites/default/files/.htaccess
# Или выполните команду Drush:
drush cache:rebuild
6. Проверьте логи сервера
Если сайт по-прежнему не работает, проверьте логи веб-сервера:
tail -f /var/log/apache2/error.log # Для Apache
tail -f /var/log/nginx/error.log # Для Nginx
tail -f /var/log/php8.1-fpm.log # Для PHP-FPM
7. Убедитесь, что установлены нужные PHP-модули
Drupal 11 требует некоторых модулей PHP. Проверьте их наличие:
php -m | grep -E 'gd|pdo_mysql|mbstring|xml|json|curl|zip'
Если чего-то не хватает, установите недостающие модули:
sudo apt install php-gd php-xml php-mbstring php-curl php-zip php-mysql
sudo systemctl restart apache2
8. Проверьте версию PHP
Drupal 11 требует PHP 8.1 или выше. Проверьте версию:
php -v
Если версия ниже 8.1, обновите её:
sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-mysql php8.3-xml php8.3-mbstring php8.3-curl php8.3-zip
sudo systemctl restart apache2
Заключение
Если ваш сайт Drupal 11 не работает после переноса, следуйте этим шагам:
- Проверьте работу сервера
- Отключите режим обслуживания
- Проверьте settings.php
- Исправьте права на sites/default/files
- Очистите кеш
- Проанализируйте логи
- Проверьте установленные модули PHP
- Обновите PHP до версии 8.1+
После выполнения этих шагов ваш сайт должен снова заработать.