Вопрос или проблема
У меня было два работающих сайта, пока я не понял в выходные, что мой сервер работает на Ubuntu 23.04, которая не имела очевидного простого обновления до 24.04. Поэтому я сделал резервную копию своих веб-файлов и файлов конфигурации сайта и провел чистую установку Ubuntu. С тех пор я пытаюсь восстановить свои сайты (воскресенье, 8 декабря). В настоящее время я работаю над восстановлением одного из них, как только он будет запущен, я начну работать над другим.
Я могу загружать свой сайт локально через локальный IP-адрес или удаленно через публичный IP. Тем не менее, я не могу загрузить сайт по URL.
Мой файл конфигурации выглядит следующим образом — его название deletedforsec.us.conf
ServerName www.deletedforsec.us
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName deletedforsec.us
ServerAlias www.deletedforsec.us
DocumentRoot /var/www/html/deletedforsec.us
ErrorDocument 404 /404Error.shtml
<Directory /var/www/html/deletedforsec.us>
Options Indexes FollowSymLinks MultiViews Includes
AllowOverride None
Order allow,deny
allow from all
AddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =deletedforsec.us [OR]
RewriteCond %{SERVER_NAME} =www.deletedforsec.us
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent] </VirtualHost>
Я отключил сайт по умолчанию (sudo a2dissite 000-default)
Я включил сайт, над которым работаю (sudo a2ensite deletedforsec.us.conf)
Я включил переопределение URL (sudo a2enmod rewrite)
Я включил включения (sudo a2enmod include)
Может кто-то сказать мне, где я ошибся или что мне нужно сделать, чтобы решить эту проблему?
Ответ или решение
Когда на сервере Apache ваш сайт не загружается по URL, это может быть вызвано множеством факторов. Обратим внимание на некоторые ключевые аспекты вашего описания проблемы и проведём диагностику.
1. Конфигурация виртуального хоста
Ваша конфигурация файла deletedforsec.us.conf
выглядит в целом корректной. Однако есть некоторые моменты, которые стоит проверить:
-
ServerName и ServerAlias: Убедитесь, что записи DNS для
deletedforsec.us
иwww.deletedforsec.us
корректно указывают на ваш сервер. Вы можете использовать командуdig
илиnslookup
, чтобы проверить, разрешается ли имя в правильный IP-адрес. -
DocumentRoot: Убедитесь, что указанный путь к документам (
/var/www/html/deletedforsec.us
) существует и содержит ваши файлы сайта. Проверьте права доступа к этому каталогу, чтобы Apache мог его прочитать.
2. Проверка служб
-
Служба Apache: Убедитесь, что служба Apache работает. Вы можете проверить это с помощью команды:
sudo systemctl status apache2
Если служба не работает, попробуйте её перезапустить:
sudo systemctl restart apache2
3. Логи Apache
Логи являются важным инструментом для диагностики проблем:
-
ErrorLog и CustomLog: Проверьте файлы логов, указанные в конфигурации. Используйте следующие команды для просмотра последних записей:
tail -f /var/log/apache2/error.log tail -f /var/log/apache2/access.log
Ищите любые ошибки, связанные с вашим доменом.
4. Проверка модулей
Вы указали, что вы включили модули rewrite
и include
. Убедитесь, что модули действительно активированы:
apache2ctl -M | grep rewrite
apache2ctl -M | grep include
Если один из них не активен, активируйте его и перезапустите Apache снова.
5. Файрвол и конфигурация сети
-
Файрвол: Убедитесь, что порты 80 (HTTP) и 443 (HTTPS) открыты. Вы можете использовать
ufw
для проверки правил:sudo ufw status
Если порты закрыты, откройте их следующими командами:
sudo ufw allow 'Apache Full'
6. DNS и кэширование
Иногда изменения на уровне DNS могут занять время для распространения. Если вы недавно изменили DNS, проверьте кеширование:
- Попробуйте очистить кеш DNS вашего устройства или использовать другую сеть для доступа к сайту (например, мобильный интернет).
7. Защита и сертификаты
Если у вас включен RewriteEngine
для перенаправления на HTTPS, убедитесь, что SSL-сертификат установлен и корректно настроен. Если нет, вам необходимо создать и установить такой сертификат, используя, например, Let’s Encrypt.
Заключение
Следуя вышеперечисленным рекомендациям, вы сможете выяснить, в чём заключается проблематика загрузки вашего сайта по URL. Важно тщательно проверять каждый этап и использовать логи для диагностики. Если после выполнения всех шагов проблема не решена, вам потребуется углубиться в настройки конфигурации Apache или обратиться за помощью к сообществу.