Сайт Apache не загружается по URL.

Вопрос или проблема

У меня было два работающих сайта, пока я не понял в выходные, что мой сервер работает на 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 или обратиться за помощью к сообществу.

Оцените материал
Добавить комментарий

Капча загружается...