Сообщество «Я и Ubuntu»
19 Май 2012, 04:12:14 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Добро пожаловать!
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: [1]
  Печать  
Автор Тема: Apache2 и странное поведение виртуальных хостов (VirtualHost)  (Прочитано 4168 раз)
Zeboton
Администратор
Старожил
*****
Сообщений: 331


Просмотр профиля
« : 01 Май 2009, 08:36:47 »

Вчера установил на нетбуке мета-пакет LAMP. Начал настраивать Apache 2 для работы. В результате если файлы в sites-available имеют вот такой вид:
project1
Код:
<VirtualHost *>
ServerName project1
ServerAdmin webmaster@localhost

DirectoryIndex index.php
DocumentRoot /home/serg/Projects/project1/www

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/serg/Projects/project1/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error_project1.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access_project1.log combined

</VirtualHost>

project2
Код:
<VirtualHost *>
ServerName project2
ServerAdmin webmaster@localhost

DirectoryIndex index.php
DocumentRoot /home/serg/Projects/project2/www

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/serg/Projects/project2/www/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ErrorLog /var/log/apache2/error-project2.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access-project2.log combined

</VirtualHost>

То оба виртуальных хоста (я указал в /etc/hosts/ что при обращении к project1 и project2 нужно ломиться на 127.0.0.1) открывают директорию из конфигурации default, то есть с надписью «It works!»

А если в этих файлах указать в VirtualHost порт:
Код:
<VirtualHost *:80>
То, внимание, сильно не смейтесь, при попытке открыть в браузере любой из виртуальных хостов открывается, я предупреждал чтобы не смеялись, www.meandubuntu.ru. Где, как, почему и когда срабатывает редирект — в душе не чаю!

Вчера весь день с этим э-э-э-э-э... совокуплялся, но так ни к чему и не пришёл. В Интернете тоже на нашёл рецепта от этого Грустный Может кто знает из-за чего Apache себя так ведёт.

P.S.
Файл ports.conf
Код:
Listen 80
NameVirtualHost *:80

<IfModule mod_ssl.c>
    # SSL name based virtual hosts are not yet supported, therefore no
    # NameVirtualHost statement here
    Listen 443
</IfModule>
Записан
vanoc
Авторы
Постоялец
*
Сообщений: 111



Просмотр профиля WWW
« Ответ #1 : 01 Май 2009, 16:06:51 »

может чего забыл сделать? http://vanoc.ru/ubuntu/lamp-i-ubuntu-810/

Код:
<VirtualHost *:80>
ServerAdmin webmaster@localhost

DocumentRoot /home/vanoc/sites/www/new/

ServerName new

<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /home/vanoc/sites/www/new/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>

ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride All
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>

ErrorLog /var/log/apache2/error-new.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog /var/log/apache2/access-new.log combined

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
        Options Indexes MultiViews FollowSymLinks
        AllowOverride All
        Order deny,allow
        Deny from all
        Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

</VirtualHost>
Записан
Zeboton
Администратор
Старожил
*****
Сообщений: 331


Просмотр профиля
« Ответ #2 : 07 Май 2009, 09:12:53 »

Как выяснилось после долгой... эм-м-м-м-м... настройки, если так можно сказать всё дело было в:
Цитировать
   <Directory />
      Options FollowSymLinks
      AllowOverride All
   </Directory>

Как только заменил All на None именно в этой директиве, в нижеследующих оставил All, то всё заработало. Мне совершенно не понятно почему так происходило, но разбираться некогда.
Записан
Zeboton
Администратор
Старожил
*****
Сообщений: 331


Просмотр профиля
« Ответ #3 : 28 Декабрь 2009, 19:35:22 »

Та же ситуация на Ubuntu 9.10 и теперь фокус с AllowOverride None не прокатывает. Я фигею без баяна...
Записан
Softovick
Глобальный модератор
Постоялец
*****
Сообщений: 175


Улыбнись миру и мир улыбнется тебе!


Просмотр профиля WWW
« Ответ #4 : 28 Декабрь 2009, 21:54:22 »

Сереж, а я все хосты пишу в default, в одном файле. Они доступны по принципу - чем раньше описал, тем первей откроется. У меня тоже было такое, что в файле сначала default описан, а потом мой проект - открывается все равно default по имени проекта. Если я сначала пишу проект, а потом default уже идет - тогда все срабатывает нормально.
Записан

power_slam
Новичок
*
Сообщений: 1


Просмотр профиля
« Ответ #5 : 16 Октябрь 2010, 02:39:57 »

Существует вероятность отсутствия ссылки на apache2/mods-available/rewrite.load в папке mods-enabled
 sudo a2enmod rewrite должен помочь
« Последнее редактирование: 16 Октябрь 2010, 02:42:02 от power_slam » Записан
Страниц: [1]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.16 | SMF © 2006-2008, Simple Machines Valid XHTML 1.0! Valid CSS!