Настройка виртуальных хостов Apache на ОС FreeBSD 9.1 | OS CONFIG

Настройка виртуальных хостов Apache на ОС FreeBSD 9.1

В этой статье рассмотрим настройку виртуальных хостов web-сервера Apache на  ОС FreeBSD 9.1. Это позволит нам создать несколько сайтов на одном сервере. Для этого нам понадобится следующее настроенный Web-сервер на ОС FreeBSD 9.1 совместно с FTP-сервером (все службы на одном сервере).

У нас имеется доменное имя localserver12.ru (будем использовать как основное), а также localserver34.ru и localserver56.ru. Наша задача – поднять такие имена:

  • www.localserver12.ru
  • subdomain.localserver12.ru (субдомен для второго сайта)
  • pma.localserver12.ru (субдомен для phpMyAdmin)
  • webserver.localserver12.ru (субдомен, по умолчанию для самого сервера)
  • www.localserver34.ru
  • subdomain.localserver34.ru
  • www.localserver56.ru
  • subdomain.localserver56.ru



Как настроить Web-сервер, можно посмотреть здесь. Как настроить FTP-сервер vsFTPd – здесь, а ProFTPd – здесь. Настроить на FTP-сервере нужно будет только пользователя webmaster, остальных пользователей необходимости нет.

Также в DNS-сервер необходимо будет внести соответствующие A-записи. Если DNS необходимо настроить на своей территории, то можно воспользоваться любой из этих статей (в зависимости от используемой операционной системы):

Первым делом – открываем файл /usr/local/etc/apache22/httpd.conf и выполняем действия:

1)      Ниже (или вместо)

# Listen 12.34.56.78:80

Пишем:

Listen 80

2)      Ниже (или вместо)

# ServerName www.example.com:80

Пишем:

ServerName webserver.localserver12.ru:80

3)      Проверяем, чтобы было не закомментировано:

DocumentRoot /usr/local/www/apache22/data

4)      Находим DirectoryIndex и допишем чего не хватает:

DirectoryIndex index.php index.html index.htm index.shtml

5) Раскомментируем строчку:

Include etc/apache22/extra/httpd-vhosts.conf

6) Добавляем в конец файла строчку (если её нет):

Include etc/apache22/Includes/*.conf

Дальше – открываем файл /usr/local/etc/apache22/extra/httpdvhosts.conf, стираем всё что там видим и впишем туда следующее:

NameVirtualHost *:80

<VirtualHost *:80>

ServerName webserver.localserver12.ru

DocumentRoot /usr/local/www/apache22/data

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver12.ru

ServerName localserver12.ru

ServerAlias www.localserver12.ru

DocumentRoot /usr/local/www/apache22/vhosts/localserver12.ru/data

<Directory /usr/local/www/apache22/vhosts/localserver12.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/localserver12.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/localserver12.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver12.ru

ServerName subdomain.localserver12.ru

ServerAlias www.subdomain.localserver12.ru

DocumentRoot /usr/local/www/apache22/vhosts/subdomain.localserver12.ru/data

<Directory /usr/local/www/apache22/vhosts/subdomain.localserver12.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/subdomain.localserver12.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/subdomain.localserver12.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver12.ru

ServerName pma.localserver12.ru

ServerAlias www.pma.localserver12.ru

DocumentRoot /usr/local/www/phpMyAdmin

<Directory /usr/local/www/phpMyAdmin >

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/pma.localserver12.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/pma.localserver12.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver12.ru

ServerName localserver34.ru

ServerAlias www.localserver34.ru

DocumentRoot /usr/local/www/apache22/vhosts/localserver34.ru/data

<Directory /usr/local/www/apache22/vhosts/localserver34.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/localserver34.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/localserver34.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver34.ru

ServerName subdomain.localserver34.ru

ServerAlias www.subdomain.localserver34.ru

DocumentRoot /usr/local/www/apache22/vhosts/subdomain.localserver34.ru/data

<Directory /usr/local/www/apache22/vhosts/subdomain.localserver34.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/subdomain.localserver34.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/subdomain.localserver34.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver56.ru

ServerName localserver56.ru

ServerAlias www.localserver56.ru

DocumentRoot /usr/local/www/apache22/vhosts/localserver56.ru/data

<Directory /usr/local/www/apache22/vhosts/localserver56.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/localserver56.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/localserver56.ru/logs/access_log common

</VirtualHost>

<VirtualHost *:80>

ServerAdmin webmaster@localserver56.ru

ServerName subdomain.localserver56.ru

ServerAlias www.subdomain.localserver56.ru

DocumentRoot /usr/local/www/apache22/vhosts/subdomain.localserver56.ru/data

<Directory /usr/local/www/apache22/vhosts/subdomain.localserver56.ru>

            Order Allow,Deny

            Allow from all

</Directory>

ErrorLog /usr/local/www/apache22/vhosts/subdomain.localserver56.ru/logs/error_log

CustomLog /usr/local/www/apache22/vhosts/subdomain.localserver56.ru/logs/access_log common

</VirtualHost>

 

Следующий шаг – создаём на сервере все необходимые папки, которые соответствуют DocumentRoot из файла /usr/local/etc/apache22/extra/httpd-vhosts.conf для всех сайтов. Желательно делать это с помощью FTP-клиента, например, FileZilla.

Подключившись по FTP с учётной записи webmaster, попадаем в папку /usr/local/www/apache22 (это из настроек FTP-сервера пользователя webmaster). И создаём папки:

/usr/local/www/apache22/vhosts

/usr/local/www/apache22/vhosts/localserver12.ru

/usr/local/www/apache22/vhosts/localserver12.ru/data

/usr/local/www/apache22/vhosts/localserver12.ru/logs

/usr/local/www/apache22/vhosts/subdomain.localserver12.ru

/usr/local/www/apache22/vhosts/subdomain.localserver12.ru/data

/usr/local/www/apache22/vhosts/subdomain.localserver12.ru/logs

/usr/local/www/apache22/vhosts/pma.localserver12.ru

/usr/local/www/apache22/vhosts/pma.localserver12.ru/logs

/usr/local/www/apache22/vhosts/localserver34.ru

/usr/local/www/apache22/vhosts/localserver34.ru/data

/usr/local/www/apache22/vhosts/localserver34.ru/logs

/usr/local/www/apache22/vhosts/subdomain.localserver34.ru

/usr/local/www/apache22/vhosts/subdomain.localserver34.ru/data

/usr/local/www/apache22/vhosts/subdomain.localserver34.ru/logs

/usr/local/www/apache22/vhosts/localserver56.ru

/usr/local/www/apache22/vhosts/localserver56.ru/data

/usr/local/www/apache22/vhosts/localserver56.ru/logs

/usr/local/www/apache22/vhosts/subdomain.localserver56.ru

/usr/local/www/apache22/vhosts/subdomain.localserver56.ru/data

/usr/local/www/apache22/vhosts/subdomain.localserver56.ru/logs

В папку data любого из сайтов заливаем HTML-страницы и PHP-скрипты.

Перезагружаем машину. Проверяем. Вписываем в адрес браузера (на другой машине в сети) все эти адреса. Если все они работают – значит всё сделано правильно.


Если Вам помогла статья, вы можете отблагодарить автора:
перечислить на WMR кошелёк (WebMoney): R301575071888
перечислить на Яндекс.Кошелёк: 410011003938168
или на PayPal:

Вы можете оставить комментарий, или ссылку на Ваш сайт.


Яндекс.Метрика
Проверка ТИЦ Яндекс цитирования