Вопрос или проблема
Я пытаюсь установить 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". Это действительно правильное место для подобных изменений, однако есть некоторые детали, которые стоит учесть:
-
Права доступа и конфигурация: Убедитесь, что у вашего Apache сервера действительно есть доступ к директории /opt/openproject/public. Директория должна иметь соответствующие права, чтобы Apache мог выполнять файлы и считывать содержимое.
-
Путь к конфигурационному файлу: Обычно конфигурационные файлы Apache находятся в директории /etc/httpd/conf или /etc/apache2/sites-available, а не /etc/apach2/conf (возможно, это просто опечатка). Убедитесь, что изменения вносятся в актуальные конфигурационные файлы.
-
Проверка конфигурации: После внесения изменений, всегда полезно проверить конфигурацию командой
apachectl configtest
, чтобы убедиться в отсутствие синтаксических ошибок. -
Перезапуск Apache: После внесения изменений и проверки конфигурации, перезапуск Apache обычно настраивается с помощью команды
systemctl restart httpd
илиsystemctl restart apache2
, в зависимости от дистрибутива Linux.
Применение
Вот шаги, которые вы можете предпринять для успешной настройки:
-
Права доступа: Откройте терминал и проверьте права на директорию /opt/openproject/public. Используйте команды
ls -ld /opt/openproject/public
иchown -R apache:apache /opt/openproject
, если это необходимо, чтобы изменить владельцев и группы на те, под которыми работает Apache. -
Обновление конфигурации Apache:
- Перейдите в WHM и снова откройте редактор Post VirtualHost Include.
- Убедитесь, что изменения сохраняются и файл включает вашу конфигурацию.
-
Проверка конфигурации:
- Введите
apachectl configtest
в терминале, чтобы убедиться, что конфигурация не имеет ошибок. - Если ошибки есть, исправьте их перед перезапуском Apache.
- Введите
-
Перезапуск службы Apache:
- Исполните
systemctl restart apache2
илиsystemctl restart httpd
(в зависимости от дистрибутива) для применения изменений.
- Исполните
-
Дополнительная проверка:
- Проверьте файл конфигурации Apache, чтобы убедиться, что там действительно присутствуют ваши изменения и они не перезаписываются каким-либо другим процессом. Для этого откройте конфигурационный файл в текстовом редакторе (например,
nano /etc/httpd/conf/httpd.conf
илиnano /etc/apache2/sites-available/000-default.conf
) и убедитесь, что ваши изменения налицо.
- Проверьте файл конфигурации Apache, чтобы убедиться, что там действительно присутствуют ваши изменения и они не перезаписываются каким-либо другим процессом. Для этого откройте конфигурационный файл в текстовом редакторе (например,
-
Проверка работы поддомена: После всех изменений и перезапуска попробуйте зайти на проекты поддомена projects.example.com в вашем браузере, чтобы убедиться, что загрузка происходит из /opt/openproject/public.
Если проблема не решается, возможно, системы управления (WHM/cPanel) перезаписывают ваши изменения. В этом случае, вам надо убедиться, что ваша конфигурация действительно сохраняется в систему управления. Это может потребовать изменения шаблонов виртуальных хостов или использования особых флагов в интерфейсе WHM для сохранения нестандартных конфигураций.
Поскольку Apache – это мощный и гибкий инструмент, при правильной настройке он должен корректно обработать ваши изменения и обеспечить верную работу поддомена.