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

Настройка виртуальных хостов Apache на ОС Ubuntu Server 13.04

В этой статье рассмотрим настройку виртуальных хостов web-сервера Apache на ОС Ubuntu Server 13.04. Это позволит нам создать несколько сайтов на одном сервере. Для этого нам понадобится следующее настроенный Web-сервер на ОС Ubuntu Server 13.04 совместно с 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-сервер (LAMP), можно посмотреть здесь. Как настроить FTP-сервер ProFTPd – здесь. Настроить на FTP-сервере нужно будет только пользователя webmaster, остальных пользователей необходимости нет.

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

Первым делом — открываем файл /etc/apache2/ports.conf. В нём прописываем следующие строки (если они существуют, то прописывать не надо, если закоментированы — раскоментировать):

ServerName webserver.localserver12.ru

NameVirtualHost *:80

Listen 80

После этого открываем файл /etc/apache2/apache2.conf и проверим, не закомментированы ли такие строчки (если закомментированы, нужно раскомментировать):

Include ports.conf

Include sites-enabled/

После этого открываем файл /etc/apache2/sites-available/default, стираем всё, что там есть и пропишем следующее:

<VirtualHost *:80>

ServerName webserver.localserver12.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/html

<Directory /var/www/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/cgi-bin/

<Directory /var/www/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName localserver12.ru

ServerAlias www.localserver12.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/localserver12.ru/html

<Directory /var/www/vhosts/localserver12.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/localserver12.ru/cgi-bin/

<Directory /var/www/vhosts/localserver12.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName pma.localserver12.ru

ServerAlias www.pma.localserver12.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /usr/share/phpmyadmin

<Directory /usr/share/phpmyadmin>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName subdomain.localserver12.ru

ServerAlias www.subdomain.localserver12.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/subdomain.localserver12.ru/html

<Directory /var/www/vhosts/subdomain.localserver12.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/subdomain.localserver12.ru/cgi-bin/

<Directory /var/www/vhosts/subdomain.localserver12.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName localserver34.ru

ServerAlias www.localserver34.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/localserver34.ru/html

<Directory /var/www/vhosts/localserver34.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/localserver34.ru/cgi-bin/

<Directory /var/www/vhosts/localserver34.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName subdomain.localserver34.ru

ServerAlias www.subdomain.localserver34.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/subdomain.localserver34.ru/html

<Directory /var/www/vhosts/subdomain.localserver34.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/localserver34.ru/cgi-bin/

<Directory /var/www/vhosts/subdomain.localserver34.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName localserver56.ru

ServerAlias www.localserver56.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/localserver56.ru/html

<Directory /var/www/vhosts/localserver56.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/localserver56.ru/cgi-bin/

<Directory /var/www/vhosts/localserver56.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

<VirtualHost *:80>

ServerName subdomain.localserver56.ru

ServerAlias www.subdomain.localserver56.ru

ServerAdmin webmaster@localserver12.ru

DocumentRoot /var/www/vhosts/subdomain.localserver56.ru/html

<Directory /var/www/vhosts/subdomain.localserver34.ru/html>

Options Indexes FollowSymLinks MultiViews

AllowOverride None

Order allow,deny

allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/vhosts/subdomain.localserver56.ru/cgi-bin/

<Directory /var/www/vhosts/subdomain.localserver56.ru/cgi-bin>

AllowOverride None

Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch

Order allow,deny

Allow from all

</Directory>

ErrorLog ${APACHE_LOG_DIR}/error.log

CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Следующий шаг – создаём на сервере все необходимые папки, которые соответствуют DocumentRoot из файла /etc/apache2/sites-available/default для всех сайтов. Желательно делать это с помощью FTP-клиента, например, FileZilla.

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

/var/www/html

/var/www/cgi-bin

/var/www/vhosts

/var/www/vhosts/localserver12.ru

/var/www/vhosts/localserver12.ru/html

/var/www/vhosts/localserver12.ru/cgi-bin

/var/www/vhosts/subdomain.localserver12.ru

/var/www/vhosts/subdomain.localserver12.ru/html

/var/www/vhosts/subdomain.localserver12.ru/cgi-bin

/var/www/vhosts/pma.localserver12.ru

/var/www/vhosts/localserver34.ru

/var/www/vhosts/localserver34.ru/html

/var/www/vhosts/localserver34.ru/cgi-bin

/var/www/vhosts/subdomain.localserver34.ru

/var/www/vhosts/subdomain.localserver34.ru/html

/var/www/vhosts/subdomain.localserver34.ru/cgi-bin

/var/www/vhosts/localserver56.ru

/var/www/vhosts/localserver56.ru/html

/var/www/vhosts/localserver56.ru/cgi-bin

/var/www/vhosts/subdomain.localserver56.ru

/var/www/vhosts/subdomain.localserver56.ru/html

/var/www/vhosts/subdomain.localserver56.ru/cgi-bin

В папку html любого из сайтов заливаем HTML-страницы и PHP-скрипты, а в папку CGI-BIN – Perl/CGI скрипты.

Перезагружаем машину или вводим команду:

sudo service apache2 restart

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


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

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


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