Страница 1 из 1

Добавление виртуальных хостов в Apache 2.2

Добавлено: 21 июл 2014, 19:25
deadwalker
Собственно надо изменить DocumentRoot для одного домена, добавляю в конец Apache-2.2_vhost.conf это:
<VirtualHost yii2:80>
   DocumentRoot "%sprogdir%/domains/yii2/web"
   ServerName "yii2"
</VirtualHost>
Папка с доменом называется "yii2".
При запуске получаю ошибку:
[Mon Jul 21 19:10:46 2014] [error] [client 127.0.0.1] File does not exist: C:/OpenServer/domains/yii2/web/openserver
Ошибка ясна, но не ясно почему мое правило срабатывает для стандартной страницы openserver?

Добавлено: 21 июл 2014, 19:35
Максим
deadwalker писал(а):Собственно надо изменить DocumentRoot для одного домена, добавляю в конец Apache-2.2_vhost.conf это:
1. Надеюсь вы добавляете это в отдельном файле-шаблоне конфигурации, который создан для этого домена так, как это указано в руководстве пользователя, а не в общем шаблоне хоста.

2. Вы читали руководство пользователя? Там написано: Обратите внимание - при редактировании конфигурации хоста нельзя удалять или заменять системные переменные %...%, вы можете вносить только новые записи дополняющие конфигурацию.

Так почему у вас всё удалено подчистую, а оставлено только то, что вам захотелось? У вас в описании хоста нет служебного блока, вот сервер и ругается. Только в последней версии Open Server служебный блок не нужен, но в вашей очевидно старой версии OS без этого блока сервер не запустится. Делайте так, как указано в руководстве, а не так, как вам хочется, и всё будет работать.

Добавлено: 21 июл 2014, 21:13
deadwalker
Создал отдельный файл-шаблон конфигурации, его содержимое:
#---------------------------------------------#
# Начало блока конфигурации HTTP хоста        #
#---------------------------------------------#
<VirtualHost *:%httpport%>
  %limit%
  DocumentRoot "%hostdir%"
  ServerName "%host%"
  ServerAlias "%host%" %aliases%
  <IfModule alias_module>
    ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
  </IfModule> 
</VirtualHost>
#---------------------------------------------#
# Конец блока конфигурации HTTP хоста         #
#---------------------------------------------#

#---------------------------------------------#
# Начало блока конфигурации HTTPS хоста       #
#---------------------------------------------#
<VirtualHost *:%httpsport%>
  %limit%
  SSLEngine on
  BrowserMatch ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
  DocumentRoot "%hostdir%"
  ServerName "%host%"
  ServerAlias "%host%" %aliases%
  <IfModule alias_module>
    ScriptAlias /cgi-bin/ "%hostdir%/cgi-bin/"
  </IfModule>
</VirtualHost>
#---------------------------------------------#
# Конец блока конфигурации HTTPS хоста        #
#---------------------------------------------#
<VirtualHost yii2:80>
   DocumentRoot "%sprogdir%/domains/yii2/web"
   ServerName "yii2"
</VirtualHost>
Ошибки те же.
Не совсем понимаю, что за служебный блок?
Версия OpenServer - последняя(5.1.1)

Спасибо за ответ.

Добавлено: 21 июл 2014, 21:25
Максим
deadwalker, если версия OpenServer последняя(5.1.1) и вы получаете такую ошибку, то это говорит только об одном - вы зачем то удалили служебный домен из основного конфига Apache (не хоста).

Имею ввиду эту штуку:
#---------------------------------------------#
# Первичный виртуальный хост "по умолчанию"
#---------------------------------------------#
... бла бла бла
#---------------------------------------------#
# Конец конфигурации хоста "по умолчанию"
#---------------------------------------------# 
Что еще могу предположить... хм, ну возможно вы с какого-то перепугу взяли и скопировали конфиги со старой версии Open Server в новую (последнюю), хотя они не совместимы.

Покажите главный конфиг пожалуйста?

И кстати, что за прикол вы вписали в шаблоне хоста? Вам нужно заменить там дефолный docroot на свой, а вы зачем-то в конец шаблона новый блок домена добавили. По всей видимости вы не умеете работать с конфигурацией апача?

Добавлено: 22 июл 2014, 10:40
deadwalker
Спасибо, проблема решилась.
Заменил дефолтный DocumentRoot в файле-шаблоне настроек хоста.