LINUX.ORG.RU
ФорумAdmin

Apache2 и виртуальные хосты


2

1

В /var/www/ находятся 2 папки с сайтами, называются папки так же как домены сайта. Когда ввожу эти сайты в браузере попадаю просто в корень /www, либо на страницу Index of / где вижу 2 эти папки, либо в документ index.html если его положить в папку www. Уже задолбался гуглить делаю так же как у других в конфиге но все равно не то. Вот конфиг одного из виртуальных хостов:

 	<VirtualHost 193.16.101.219:80>
	
	ServerAdmin	xegai@ukr.net
	ServerName	isec.in.ua
	ServerAlias	www.isec.in.ua

	DocumentRoot /var/www/isec.in.ua
	
	</VirtualHost>

Содержимое /etc/hosts :

 
127.0.0.1       server
127.0.0.1       isec.in.ua
193.16.101.219  isec.in.ua
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
★★
Ответ на: комментарий от bvn13

Тоже самое что и когда набираешь доменное имя. Index of / и 2 мои папки с сайтами. Если кликаеш в нужную папку то попадаеш туда, куда и надо, т.е. я буду находится в браузере по адресу http://isec.in.ua/isec.in.ua

Xegai ★★
() автор топика
Ответ на: комментарий от Xegai

Щас покопал свою конфигурацию и хочу спросить. Настройка вирт.серверов лежит в отдельных файлах или это все в одном http.conf?

bvn13 ★★★★★
()
Ответ на: комментарий от invokercd

Само собой апач ребутал много раз. дефолтный хост есть но он отключен

a2dissite default
Site default already disabled

Уже задолбался, хоть убей не понимаю почему не пашет

Xegai ★★
() автор топика
Ответ на: комментарий от bvn13

отдельная для каждого сайта, лежит в пути /etc/apache2/sites-enabled/нужный сайт

Xegai ★★
() автор топика
Ответ на: комментарий от Xegai

Значит в apache2.conf (или в conf.d) указан этот DocumentRoot, иначе апач бы не выдавал этот каталог в листинг. В конфиге есть это?

Include sites-enabled/*

invokercd ★★★★
()
Последнее исправление: invokercd (всего исправлений: 1)
Ответ на: комментарий от invokercd

всмысле какие файлы лежат в этих папках показать?

/etc/apache2/conf.d

apache2-doc
charset
localized-error-pages
other-vhosts-access-log
security

/etc/apache2/sites-enabled/

isec.in.ua

Xegai ★★
() автор топика
Ответ на: комментарий от invokercd
 cd /etc/apache2;grep -rni '/var/www/'
sites-available/monolith-server.com:7:	DocumentRoot /var/www/monolith-server.com
sites-available/monolith-server.com:9:	<Directory /var/www/monolith-server.com>
sites-available/default-ssl:10:	<Directory /var/www/>
sites-available/isec.in.ua:7:        DocumentRoot /var/www/isec.in.ua
sites-available/isec.in.ua:9:        <Directory '/var/www/isec.in.ua/'>
sites-available/default:9:	<Directory /var/www/> 
Xegai ★★
() автор топика
Ответ на: комментарий от Xegai

У меня осталось два варианта - неверная передача хедера, из за чего не получаем в ответ нужный vhost, или же проблема с правами у юзера от которого запущен апач.

invokercd ★★★★
()
Ответ на: комментарий от invokercd

Сейчас изменил в настройке виртуалхоста как ты посоветовал вместо айпишника написал *, потом сам незная зачем включил хост default и сразу же его обратно выключил и заработало. По запросу isec.in.ua попадаю именно в папку с сайтом. Теперь самое интересное. Включил другой виртуальный хост где должен быть в перспективе другой сайт. по запросу на этот сайт я тоже опять попадаю в папку isec.in.ua И еще после рестарта апача он стал выдавать ошибку :

 Service apache2 restart
[....] Restarting web server: apache2apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
 ... waiting apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
. ok 
Xegai ★★
() автор топика
Последнее исправление: Xegai (всего исправлений: 1)
Ответ на: комментарий от Xegai

А, значит имя сервера не указал, напиши что больше по вкусу

ServerName somewhat-you-like.com
в apache2.conf

invokercd ★★★★
()

в конфигах имеется?

NameVirtualHost 193.16.101.219:80

truf
()
Ответ на: комментарий от invokercd

Нет, эту. После этого нужно релоаднуть апач само собой. Еще я бы посмотрел нет ли дефолтного виртхоста.

Кстати, как правильно определить дефолтный виртуальный хост?

ktulhu666 ☆☆☆
()
Ответ на: комментарий от ktulhu666

У апача - это первый в алфавитном порядке конфиг (например из sites-enabled), поэтому лучше что то цифровое ему дать (0123-host.conf, например).

invokercd ★★★★
()
Ответ на: комментарий от ktulhu666

Насколько я знаю, первая конфигурация, которая будет прочитана будет использована если не найдено других совпадений при запросе. Я пробовал не указывать ServerName или указывать ServerName * - но это работает только если все засунуто в один файл (хотя это наверное может еще зависит от версии апача).

invokercd ★★★★
()

Для того чтобы не было срача и догадок надо показывать конфиги целяком, а не тут часть ... тут часть. Так можно сразу же дать ответ, а не гадать и впустую тратить свое и ваше время.

Не воспринимайте слишком буквально, просто рекомендация на будущее ;)

black_13
()
Ответ на: комментарий от Xegai

выложите все конфиги Начинать стоит из того какая OS у вас стоит? Судя по путям какойто линукс. Есть море доков как настроить VirtualHost и все настолько просто и ясно описано, что просто жуть ....

Опять же, включаю libastral и гадая на кофейной гуще, предполагаю что у вас Debian. Делать нужно примерно так: создать необходимое количество виртуалхостов в директории /etc/apache2/sites-available/ Включить эти виртуалхосты. Делается это созданием симлинка в директории /etc/apache2/sites-enabled/ Например у меня так (всего один виртуалхост):

root@deb1:~# ls -l /etc/apache2/sites-enabled/
итого 4
lrwxrwxrwx 1 root root 30 Фев  1  2013 011_vhost1 -> ../sites-available/011_vhost1
root@deb1:~#
Содержимое файлика с виртуалхостом /etc/apache2/sites-available/011_vhost1
<VirtualHost *:80>
        ServerAdmin webmaster@vhost1.domain.ua
        ServerName vhost1.domain.ua
        ServerAlias www.vhost1.domain.ua

        DocumentRoot /home/vhost1/www
        <Directory /home/vhost1/www>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

       ErrorLog ${APACHE_LOG_DIR}/vhost1-error.log

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

       CustomLog ${APACHE_LOG_DIR}/vhost1-access.log combined
</VirtualHost>

Таких виртуалхостов может быть много. Разные будут только домены и пути к DocumentRoot, ну и Directory Также в /etc/apache2/apache2.conf должно быть вот такое:

# Include the virtual host configurations:
Include sites-enabled/
После любых манипуляций с конфигами нужно перегружать сервис apache2 Много мест где можно затупить, поэтому просьба выложить все конфиги, заменив, если нужно, имена доменов/ip.

black_13
()
Ответ на: комментарий от invokercd

а в каком именно конфиге должно быть

 NameVirtualHost 193.16.101.219:80 

Если отключаю a2dissite isec.in.ua , то по второму домену попадаю как и нужно в папку второго домена...

Xegai ★★
() автор топика
Последнее исправление: Xegai (всего исправлений: 1)
Ответ на: комментарий от invokercd

Спасибо, всё заработало как нужно, каждый домен в своей папке. Только при перезагрузке апача осталась какая то ошибка не большая

 service apache2 restart
[....] Restarting web server: apache2[Fri Nov 15 09:25:28 2013] [warn] NameVirtualHost 193.16.101.219:80 has no VirtualHosts
 ... waiting [Fri Nov 15 09:25:29 2013] [warn] NameVirtualHost 193.16.101.219:80 has no VirtualHosts
. ok 

и еще вопрос к тебе, не знаешь как сделать так чтобы по запросу на мой ip адрес сервера люди не попадали на сайт? а на какую то заглушку или страницу с ошибкой

Xegai ★★
() автор топика
Последнее исправление: Xegai (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.