Как сделать виртуальные хосты на Апачи

Допустим, я жадный и хочу иметь два сайта, где на каждом стоит отдельный ВордПресс: Мой секси сайт и Мой эротик сайт. Я пошел и сделал для каждого сайта два разных домена: moisexysaite.duckdns.org и moieroticsaite.duckdns.org. Как их подключить на один и тот же Апачи на одном и том же компе?

Очень просто. Для этого надо сделать два виртуальных хоста.

pdf-icon Tutorial: Virtual_Hosts

1. Сначала сделаем отдельную папку для каждого из сайтов по имени домена:

sudo mkdir /var/www/moisexysaite.duckdns.org
sudo mkdir /var/www/moieroticsaite.duckdns.org

2. Внутри каждой папки сделаем еще одну папку html:

sudo mkdir /var/www/moisexysaite.duckdns.org/html
sudo mkdir /var/www/moieroticsaite.duckdns.org/html

3. Поставим для папок правильную принадлежность

sudo chown -R $USER:$USER /var/www/moisexysaite.duckdns.org/html
sudo chown -R $USER:$USER /var/www/moieroticsaite.duckdns.org/html

и разрешение.

sudo chmod -R 755 /var/www

4. Создадим конфигурационные файлы для каждого сайта.

Образец такого файла находится в /etc/apache2/sites-available/000-default.conf

sudo leafpad /etc/apache2/sites-available/moisexysaite.duckdns.org.conf
sudo leafpad /etc/apache2/sites-available/moieroticsaite.duckdns.org.conf

5. Скопируем в .conf файлы слдуещее:

a. Для moisexysaite.duckdns.org

<VirtualHost *:80>
ServerAdmin admin@moisexysaite.duckdns.org
ServerName moisexysaite.duckdns.org
ServerAlias www.moisexysaite.duckdns.org
DocumentRoot /var/www/moisexysaite.duckdns.org/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#RedirectMatch ^/$ /wordpress/
</VirtualHost>

b. Для moieroticsaite.duckdns.org

<VirtualHost *:80>
ServerAdmin admin@moieroticsaite.duckdns.org
ServerName moieroticsaite.duckdns.org
ServerAlias www.moieroticsaite.duckdns.org
DocumentRoot /var/www/moieroticsaite.duckdns.org/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
#RedirectMatch ^/$ /wordpress/
</VirtualHost>

 

Note:
Примечательна строчка #RedirectMatch ^/$ /wordpress/. Она сейчас закоментирована.

Я полагаю, что на каждом сайте может стоять не один ВордПресс, а два, пять, сто – каждый в своей отдельной папке: wordpress1, wordpress5, wordpress100. Тогда, если вы хотите, чтоб Апачи при получении доменного имени, интернет адреса – moisexysaite.duckdns.org – показывал не просто содержимое html, корневой директории сайта:

virthost1

а сразу переключался на нужный вордпресс – wordpress1, например, то эту строчку надо раскомментировать и изменить так, чтоб она стала:

RedirectMatch ^/$ /wordpress1/

6. Включаем виртуальные хосты, которые мы только что сделали.

sudo a2ensite moisexysaite.duckdns.org
sudo a2ensite moieroticsaite.duckdns.org

Note:
Выключаются виртуальные хосты так:

sudo a2dissite moisexysaite.duckdns.org
sudo a2dissite moieroticsaite.duckdns.org

 

7. Перезагружаем Апачи.

sudo service apache2 restart