Как установить корневую директорию поддомена в корневой каталог WHM?

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

Я пытаюсь установить openProject на своем VPS от Bluehost. У меня есть root-доступ к WHM, и я создал учетную запись cPanel в WHM.

При установке openProject я не могу изменить директорию установки (или, по крайней мере, я не уверен, как это сделать). Он устанавливается в /opt/openproject.

Домен учетной записи cPanel – example.com (изменено для защиты невиновных). Имя учетной записи cPanel – example. Я создал базу данных и поддомен в cPanel этой учетной записи.

Я хочу загрузить projects.example.com в корневую директорию opt/openproject.

В WHM я перешел в Home / Service Configuration / Apache Configuration и выбрал редактор include.

На этой странице я перешел в “post virtualhost include”, выбрал глобальную версию apache и вставил следующее:

<VirtualHost *:80>
    ServerName projects.example.com
    DocumentRoot /opt/openproject/public
    <Directory "/opt/openproject/public">
        Require all granted
        AllowOverride All
    </Directory>
</VirtualHost>

Затем я перезапустил apache.

Однако URL не перенаправляется, и когда я просматриваю файл по пути /etc/httpd/conf, файл был воссоздан, но моего изменения там нет.

Ответ или решение

Чтобы настроить корневую директорию документа для поддомена в рамках WHM, важно понимать, как работает Apache и как конфигурация виртуального хоста (Virtual Host) может влиять на направленные запросы. У вас есть доступ к WHM, а также вы создали учетную запись cPanel, и теперь необходимо направить поддомен projects.example.com на директорию /opt/openproject/public. Рассмотрим пошагово, как можно это сделать.

Теория

Веб-сервер Apache использует конфигурационные файлы для управления тем, как запросы направляются на различные домены и поддомены. Каждый домен или поддомен может иметь свой виртуальный хост, который указывает, какая папка на сервере будет использоваться в качестве корневой директории документа. Виртуальные хосты позволяют Apache обрабатывать запросы на разные домены через один и тот же IP-адрес.

При настройке виртуальных хостов важно убедиться, что конфигурационные файлы Apache обновляются правильно, и все изменения сохранены. Однако, в управляемой среде, такой как WHM, проблема часто возникает из-за того, что изменения в конфигурациях не сохраняются должным образом или перезаписываются системными процессами.

Пример

Вы приводите пример настройки конфигурации виртуального хоста, вводя данные через WHM в разделе "post virtualhost include". Это действительно правильное место для подобных изменений, однако есть некоторые детали, которые стоит учесть:

  1. Права доступа и конфигурация: Убедитесь, что у вашего Apache сервера действительно есть доступ к директории /opt/openproject/public. Директория должна иметь соответствующие права, чтобы Apache мог выполнять файлы и считывать содержимое.

  2. Путь к конфигурационному файлу: Обычно конфигурационные файлы Apache находятся в директории /etc/httpd/conf или /etc/apache2/sites-available, а не /etc/apach2/conf (возможно, это просто опечатка). Убедитесь, что изменения вносятся в актуальные конфигурационные файлы.

  3. Проверка конфигурации: После внесения изменений, всегда полезно проверить конфигурацию командой apachectl configtest, чтобы убедиться в отсутствие синтаксических ошибок.

  4. Перезапуск Apache: После внесения изменений и проверки конфигурации, перезапуск Apache обычно настраивается с помощью команды systemctl restart httpd или systemctl restart apache2, в зависимости от дистрибутива Linux.

Применение

Вот шаги, которые вы можете предпринять для успешной настройки:

  1. Права доступа: Откройте терминал и проверьте права на директорию /opt/openproject/public. Используйте команды ls -ld /opt/openproject/public и chown -R apache:apache /opt/openproject, если это необходимо, чтобы изменить владельцев и группы на те, под которыми работает Apache.

  2. Обновление конфигурации Apache:

    • Перейдите в WHM и снова откройте редактор Post VirtualHost Include.
    • Убедитесь, что изменения сохраняются и файл включает вашу конфигурацию.
  3. Проверка конфигурации:

    • Введите apachectl configtest в терминале, чтобы убедиться, что конфигурация не имеет ошибок.
    • Если ошибки есть, исправьте их перед перезапуском Apache.
  4. Перезапуск службы Apache:

    • Исполните systemctl restart apache2 или systemctl restart httpd (в зависимости от дистрибутива) для применения изменений.
  5. Дополнительная проверка:

    • Проверьте файл конфигурации Apache, чтобы убедиться, что там действительно присутствуют ваши изменения и они не перезаписываются каким-либо другим процессом. Для этого откройте конфигурационный файл в текстовом редакторе (например, nano /etc/httpd/conf/httpd.conf или nano /etc/apache2/sites-available/000-default.conf) и убедитесь, что ваши изменения налицо.
  6. Проверка работы поддомена: После всех изменений и перезапуска попробуйте зайти на проекты поддомена projects.example.com в вашем браузере, чтобы убедиться, что загрузка происходит из /opt/openproject/public.

Если проблема не решается, возможно, системы управления (WHM/cPanel) перезаписывают ваши изменения. В этом случае, вам надо убедиться, что ваша конфигурация действительно сохраняется в систему управления. Это может потребовать изменения шаблонов виртуальных хостов или использования особых флагов в интерфейсе WHM для сохранения нестандартных конфигураций.

Поскольку Apache – это мощный и гибкий инструмент, при правильной настройке он должен корректно обработать ваши изменения и обеспечить верную работу поддомена.

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

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