Виртуални хостове с Apache, част 2

Уеб сървър виртуални хостовеТова е продължението, на първата статия Виртуални хостове с Apache, част 1.

Приемаме, че на машината вече има инсталирано и работещо Apache и продължаваме с настройката на виртуалните хостове, базирани на имена.

Нека за примера предположим, че имаме два домейна – myblog.com и mysite.com , DNS сървърите на които са настроени да сочат към IP адреса на тестовата машина, на която е инсталиран OpenSUSE Linux с работещо Apache.

Проверяваме дали във файла /etc/apache2/httpd.conf  присъства ред

Include /etc/apache2/vhosts.d/*.conf

Този ред трябва да присъства и да не е коментиран.
За виртуалните хостове ще използваме отделни конфигурационни файлове, които ще поместим в диреторията /etc/apache2/vhosts.d . Хората от OpenSUSE са се погрижили да не ги създаваме от нищото, като в същата директория са поместили темплейт за конфигурация на виртуален хост – vhost.template .
Захващаме се с пърия хост myblog.com, като изпълняваме следното:

# cd /etc/apache2/vhosts.d/
# cp vhost.template myblog.com.conf

Копирахме темплейт файла във файла myblog.com.conf, който ще бъде конфигурационния файл на myblog.com
Отваряме го с текстов редактор и започваме да заместваме. Намираме следните редове и ги променяме така:

 ServerAdmin webmaster@myblog.com
 ServerName  myblog.com
 ServerAlias www.myblog.com
 DocumentRoot /srv/www/vhosts/myblog.com
 ErrorLog /var/log/apache2/myblog.com-error_log
 CustomLog /var/log/apache2/myblog.com-access_log combined
 UseCanonicalName on

Директивите осначават следното:
ServerAdmin – email адреса на администратора на сървъра, т.е. вашият
ServerName – името, по което ще се адресира хоста
ServerAlias – псевдоним, алтернативно име, за примера използвам www.myblog.com, но може да бъде обратното, а и да се иползват други.
DocumentRoot – коренът на виртуалния хост – път до файловете, които Apache ще търси при поискване
ErrorLog – лог файл за грешките
UseCanonicalName – указваме на Apache да иползва каноничното име

Продължаваме надолу в конфигурационния файл и където видим host.example.com , го заместваме с myblog.com .
Най-много ни инетерсува директивата :

<Directory "/srv/www/vhosts/myblog.com">
......
</Directory>

В тази секция въвеждаме всички желани директиви, на които няма да се спирам, защото не са предмет на настоящата статия.

След като сме приключили с конфигурационния файл, създаваме root дуректорията на виртуалния хост:

# mkdir -p /srv/www/vhosts/myblog.com

И в нея копираме файловете на сайта ни.

За следващия виртуален хост, вместо да копираме темплейт файла, копираме myblog.com.conf :

# cd /etc/apache2/vhosts.d/
# cp myblog.com.conf mysite.com.conf

Отваряме файла mysite.com.conf и заместваме навсякъде myblog.com с mysite.com . Последното става много лесно и бързо с текстовия редактор vim , като изпълним:

:%s/myblog/mysite/g

Вече имаме конфигурационен файл и на втория виртуален хост, остава да създадем root директорията му и да копираме в нея необходимото:

# mkdir -p /srv/www/vhosts/mysite.com

Рестартираме Apache и ако не съм пропуснал нещо, нещата трябва да работят , в най-простия им вид.

# /etc/init.d/apache2 restart

© 2011, Ваньо Контев. Всички права запазени. Копирането на статията е разрешено само с връзка към първоизточника!

Публикувано в web, Линукс, Мрежи и сървъри с етикети , , , , , , , . Постоянна връзка.

Вашият коментар

Вашият имейл адрес няма да бъде публикуван Задължителните полета са отбелязани с *

Можете да използвате тези HTML тагове и атрибути: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">