Настройка виртуальных хостов Apache, взгляд с другой стороны (UBUNTU LINUX)
Настройка виртуальных хостов Apache, взгляд с другой стороны (UBUNTU LINUX)
Немного теории.
Как нам уже известно, в каталоге /etc/apache2/sites-available находятся файлы конфигурации хостов, а в /etc/apache2/sites-enabled находятся символические ссылки на файлы конфигурации /etc/apache2/sites-available, включенных хостов. Для того чтобы создать виртуальный хост, нужно создать конфигурационный файл и при помощи утилиты a2ensite создать символическую ссылку. А отключить хост можно утилитой a2ensite.
Действие первое.
sudo /etc/init.d/apache2 stop
sudo a2dissite default
Для начала создадим папки для наших виртуальных хостов. В моем случае они будут находиться в директории /var/www/ и называться ipbased и namebased. ipbased будет привязан как на имя, так и на ip-адрес. namebased будет откликаться только на имя хоста.
sudo mkdir /var/www/localhost
sudo mkdir /var/www/ipbased
sudo mkdir /var/www/namebased
Работаем над шаблоном.
Давайте сделаем упрощённую версию /etc/apache2/sites-available/default, чтобы иметь backup default и убрать лишнее из файлов настроек хостов:
##Файл-шиблон для локальных хостов NameVirtualHost *:80 ## ipbased — локальный хост привязанный к IP ## http://ipbased http://127.0.0.2 <VirtualHost *:80> ServerAdmin webmaster@localhost ##Каталог с вашими документами DocumentRoot /var/www/ipbased/ ##Имя сервера ServerName ipbased ##Логфайлы ErrorLog /var/log/apache2/hosts/ipbased-error.log CustomLog /var/log/apache2/hosts/ipbased-access.log combined ##Показывать или нет сигнатуру сервера ServerSignature Off ##Доступ к файлам <Directory /var/www/ipbased/> Order Deny,Allow Deny from all Allow from 127.0.0.0/24 </VirtualHost>
Создаем namebased-хост. Копируем наш simple-default:
##Файл-шаблон для локальных хостов NameVirtualHost *:80 ## namebased — локальный хост не привязанный к IP ## http://namebased <VirtualHost 127.0.0.1:80> ServerAdmin webmaster@localhost ##Каталог с вашими документами DocumentRoot /var/www/namebased/ ##Имя сервера ServerName namebased ##Логфайлы ErrorLog /var/log/apache2/hosts/namebased-error.log CustomLog /var/log/apache2/hosts/namebased-access.log combined ##Показывать или нет сигнатуру сервера ServerSignature Off ##Доступ к файлам <Directory /var/www/namebased/> Order Deny,Allow Deny from all Allow from 127.0.0.0/24 </Directory> </VirtualHost>
Не забываем сохранять сделанные настройки.
Ещё немного настроек.
Чтобы наши виртуальные хосты заработали окончательно необходимо сделать еще пару манипуляций с файлом hosts. Для этого открываем в система-администрирование-сеть вкладку узлы. Выбираем 127.0.0.1, жмем на свойства и добавляем псевдонимы localhost namebased. Далее жмем на добавить, вводим ip адрес на который хотим чтобы откликался хост ipbased. Вводим в поле псевдонимы ipbased.
Перед тем как запустить apache, нужно включить нужные нам виртуальные хосты:
Мутновато чуток написано. Более понятно и универсально (не только для Ubuntu) про настройку универсальных хостов рассказано тут http://web-linux.ru/?p=56
Ничего мутноватого, а на том ресурсе который вы предложили вообще по древней схеме Linux-ов наклацано и никаких коментов здесь все ясно и понятно автору поклон =)
Когда стартую apache пишет ошибку: zeusakm@zeusakm-desktop:~$ sudo /etc/init.d/apache2 start * Starting web server apache2 Syntax error on line 18 of /etc/apache2/sites-enabled/namebased: order takes one argument, 'allow,deny', 'deny,allow', or 'mutual-failure' [fail] Подскажите что с этим делать плиз!
"Для этого открываем в система-администрирование-сеть вкладку узлы." - никак не могу понять где это? У меня есть Система -> Администрирование -> Сетевые инструменты, но там там нет вкладки "узлы".
вот все сделал как написано, при рестарте Апача дает
ilya@ilya-desktop:/$ sudo /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 Apr 27 21:47:42 2010] [warn] NameVirtualHost *:80 has no VirtualHosts [Tue Apr 27 21:47:42 2010] [warn] NameVirtualHost *:80 has no VirtualHosts [Tue Apr 27 21:47:42 2010] [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 Apr 27 21:47:43 2010] [warn] NameVirtualHost *:80 has no VirtualHosts [Tue Apr 27 21:47:43 2010] [warn] NameVirtualHost *:80 has no VirtualHosts [Tue Apr 27 21:47:43 2010] [warn] NameVirtualHost *:80 has no VirtualHosts [fail]