Как правильно добавить виртуальные хосты при запуске WHM? - PullRequest
4 голосов
/ 01 августа 2011

Я использую выделенный сервер, разделяющий учетные записи для моих клиентов с WHM и CentOS 5. Один из моих клиентов попросил меня установить Subversion и сохранить хранилище под webroot.

  • Истинная папка репо будет находиться в "/ home / itsfolder / svn"
  • . Репо будет доступно через поддомен на "svn.theirdomain.com"

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

Самым близким, что я получил, было вместо этого переместить папку subversion в webroot, но даже тогда,мои инструкции по использованию аутентификации не выполняются, так что это не очень хорошее решение с точки зрения безопасности.Также оказалось, что в этой настройке страницы генерировались Apache, а не Subversion.

Может ли кто-нибудь здесь указать мне на руководство, которое может помочь мне в этом типе установки, или дать мне четкое представление?, пошаговое руководство, что мне нужно сделать?Я много чего перепробовал, но ничто на самом деле не привело меня туда.У меня уже есть Subversion и все его зависимости загружены и установлены правильно.

Заранее спасибо!

Ответы [ 2 ]

10 голосов
/ 23 августа 2011

Один из способов сделать это - использовать один из пользовательских подключаемых файлов WHM и добавить свои собственные директивы <virtualhost> туда "обычным способом".Изменения, внесенные в эти файлы, сохранятся в результате автоматической перестройки файлов конфигурации Apache с помощью WHM, в то время как любые изменения, сделанные непосредственно в / etc / httpd / conf / httpd.conf , могут не выполняться.

Тамтри пользовательских включаемых файла, которые included по основному httpd.conf в разных точках.Эти файлы (если работает Apache 2.x) расположены по адресу:

  • / usr / local / apache / conf / includes / pre_virtualhost_2.conf , включенным перед автоматически сгенерированным <virtualhost> директивы
  • / usr / local / apache / conf / includes / post_virtualhost_2.conf , включенные после автоматически сгенерированных <virtualhost> директив
  • / usr/local/apache/conf/includes/pre_main_2.conf, включенный в начало httpd.conf

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

Я использовал post_virtualhost_2.conf для настройки дополнительных vhosts для учетных записей клиентов, когда WHM / cpanel не будет делать то, что мне нужно, с помощью других методов конфигурации.Любые допустимые директивы конфигурации Apache могут быть включены в файл - он просто полностью включен в основной httpd.conf.

3 голосов
/ 23 августа 2011

Приведенные выше инструкции не являются теми, которые вы бы использовали для каждой учетной записи.Все, что размещено в Apache, включает сервер.Вы хотели бы использовать apache включает в себя общий объект mod dav и mod authz.Вы, вероятно, уже установили его, но здесь приведены инструкции на всякий случай.В WHM перейдите к Конфигурация сервиса-> Конфигурация Apache-> Включить редактор. Поместите это в Pre Main Include:

LoadModule dav_svn_module modules/mod_dav_svn.so
LoadModule authz_svn_module modules/mod_authz_svn.so

Далее вы хотите создать файл .conf и поместить его в

/usr/local/apache/conf/userdata/std/2/<user account name>/svn.conf

Если вы хотите, чтобы SSL делал то же самое в

/usr/local/apache/conf/userdata/ssl/2/<user account name>/svn.conf

Если указанные выше каталоги еще не существуют, вам нужно будет их создать.

файл будет содержать:

<IfModule mod_dav_svn.c>
<Location /svn>
DAV svn
SVNPath /home/<user account>/svn
AuthType Basic
AuthName "My Repo"
AuthUserFile /etc/svn-auth-conf
Require valid-user
</Location>
</IfModule> 

Имя пользователя и пароль могут быть установлены с помощью:

htpasswd -cm /etc/svn-auth-conf myusername

Затем для фиксации изменений файла выполните:

/scripts/ensure_vhost_includes --user=<user account>
/scripts/rebuildhttpdconf
/scripts/restartsrv_httpd

Вы должны иметь возможность перейти к

yourdomain.com/svn 

и будет тянуть с

/home/<user account>/svn
...