Виртуальные хосты в Апаче2
Автор: Silver Ghost 27 июня, 2009
15 Коммент.
Пришло мне недавно письмо от одного из читателей с просьбой написать о виртуальных хостах в Апаче. Сложного там ничего нет, а потому приведу один из своих конфигов, а после его разберем построчно. Первое, что нужно сделать – это удалить симлинк /etc/apache2/sites-enabled/default.
Потом добавляем в httpd.conf строку:
NameVirtualHost *:80
Создаем файл domain.tld.vhost в каталоге /etc/apache2/sites-available с настройками виртуального хоста:
<VirtualHost *:80> DocumentRoot /var/www/domain.tld/web ServerName domain.tld ServerAlias www.domain.tld ServerAdmin webmaster@domain.tld ErrorLog /var/www/domain.tld/log/error.log <Directory /var/www/domain.tld/web> Options FollowSymLinks AllowOverride Indexes AuthConfig Limit FileInfo Order allow,deny Allow from all </Directory> # mod_php enabled AddType application/x-httpd-php .php .php3 .php4 .php5 php_admin_value sendmail_path "/usr/sbin/sendmail -t -i -fwebmaster@domain.tld" php_admin_value upload_tmp_dir /var/www/domain.tld/tmp php_admin_value session.save_path /var/www/domain.tld/tmp php_admin_value open_basedir /var/www/domain.tld:/usr/share/php5:/tmp </VirtualHost>
Вот так выглядит конфиг для моего сайта. Дальше делем симлинк:
ln /etc/apache2/sites-available/domain.tld.vhost /etc/apache2/sites-enabled/domain.tld.vhost
Рестартуем Апач и все готово.
Теперь разберем сам конфиг:
- DocumentRoot – корневой каталог сайта
- ServerName – домен сайта
- ServerAlias – второй домен сайта, например, с www
- ServerAdmin – EMail администратора сайта
- ErrorLog – где будет лежать лог-файл ошибок
Дальше идут параметры каталога сайта и тонкие настройки для PHP. Это уж разберите сами. Типа домашнее задание. :)
Постовые: газеты одессы, iwc replica, valet parking gatwick




Подскажите пожалуйста, зделал все как вы указывали… Но апач выдает вот такие ошибки:
sw@jt-net-www:/$ /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[Tue Jun 30 23:29:46 2009] [warn] NameVirtualHost 127.0.0.1:80 has no VirtualHosts
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[Tue Jun 30 23:29:46 2009] [warn] NameVirtualHost 127.0.0.1:80 has no VirtualHosts
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]
Вернее вот такое:
sw@jt-net-www:/$ /etc/init.d/apache2 restart
* Restarting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[Tue Jun 30 23:33:59 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[Tue Jun 30 23:33:59 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]
Permission denied: make_sock: could not bind to address 0.0.0.0:80
Может у Вас Апач не остановился нормально?
# killall -9 httpd
или
# killall -9 apache2
Тоисть после проделаного по статье віше , я могу зарегиьть не сколько доменов там привязать их к айпи и у меня пару сатов будут открыватся уже по моим доменам (естествено прописав виртуал хосты) ?
как-то неадекватно вы вопрос поставили…
отвечу как смогу:
Проделав это вы сможете на сервера апач2 хостить несколько сайтов с разными адресами…
ясн, тоесть все мои сайты будут видны с инета … под разными именами
Ну грубо говоря да.
Там еще куча нюансов…
ну да надо есче и ДНС-ку поднимать , эх ((((
Не обязательно. ДНС может быть и на сторонних серверах
Зделал так:
sw@jt-net-www:/$ sudo killall -9 httpd
httpd: no process killed
sw@jt-net-www:/$ sudo killall -9 apache2
sw@jt-net-www:/$ /etc/init.d/apache2 start
* Starting web server apache2 apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[Wed Jul 01 00:24:39 2009] [warn] NameVirtualHost *:80 has no VirtualHosts
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs
[fail]
Реально не понятно в чем дело… Делал это все когда-то на винде… А щас не заводится на линуксе чего-то… Меня удивило что в файле httpd.conf было пусто до того как я добавил строку NameVirtualHost *:80
Помогите плз, очень нужно зделать и неполучается ничего…
# netstat -nap | grep 80
покажет Вам кто занял 80-й порт.
SW: у вас нет виртуальных хостов, если вы правили файл “httpd-vhosts.conf”, то, возможно, он у вас не включен в основной конфиг httpd.conf (раскомментируйте строчку “Include conf/extra/httpd-vhosts.conf” (она ближе к концу в файле “httpd.conf”)).
в ubuntu основной файл конфигураций apache2.conf а httpd.conf он для внесения собственных конфигураций хозяина этого серва… (и по девалту он пустой)
У меня такой вопросик создал я 2 онологичних виртуал хоста зарегил 2 доменых имени на dyndns.com и no-ip.org но почему то открывается только сайт с доменом dyndns.com а от no-ip.org не хочет … подскажите может гдето есче надо прописать чтот… ?
уже разобрался просто был глюк ссервом
Подписки
Подписаться на RSS Фид обновляется при появлении записей
Подписаться через почту:
Реклама
Рейтинг записей
Страницы
Мета
Архивы
Ссылки
Последние записи
Реклама
Счетчики