[Video] v21. Два веб.сайта на одном apache2 сервере.


В этом видео я рассказываю о том как настроить два веб.сайта на одном apache2 сервере (настроить можно больше, я показываю на примере двух веб.сайтов).

Посетите мой второй канал: AfterWorkLife YouTube
и мой второй сайт: AfterWorkLife Web.Site

План работ:
Сначала нужно создать записи в DNS для обоих веб.сайтов у себя в DNS или у Вашего хостера.
Для теста данные записи можно задать локально у себя на компьютере в файле “/etc/hosts”.
Добавлю записи (192.168.56.3 – моя тестовая виртуалка):
~$ cat /etc/hosts
site1.it-inside.org 192.168.56.3
site2.it-inside.org 192.168.56.3

Работу настроек можно проверить с помощью утилиты ping (если имена резолвятся в ip-address-a, то всё работает):
ping site1.it-inside.org
ping site2.it-inside.org

Далее переходим в директорию /var/www/html – обычно это стандартная директория для контента ваших сайтов на вашем веб.сервере. В данной директории создаю две директории для удобства – в одной директории будет лежать контент одного сайта, в другой контент другого сайта.
cd /var/www/html
sudo mkdir site1 site2

Если Вы только установили apache2, то в корневой директории вашего веб сервера должен быть файл index.html, он есть и у меня. Я его скопирую в директории site1 и site2:
sudo cp -p index.html site1/
sudo cp -p index.html site2/

Изменю содержимое файлов index.html для того, чтобы понять какой сайт открыт в каждый момент – данные тестовые файлы будут работать как пример.:
sudo nano index.html site1/
This is the first site - site1.it-inside.org

sudo nano index.html site2/
This is the second site - site2.it-inside.org

Сохраняю и перехожу к настройке apache2.
Информация о том какие сайты доступны у вас на сервере храниться в файлах расположенных в директории .../sites-available
В данной директории есть файл 000-default.conf, вы можете создать какой-либо свой.
~$ cat /etc/apache2/sites-available/000-default.conf

Я создам свой файл с настройками:
sudo touch /etc/apache2/sites-available/it-inside.conf
В данном файле опишу конфигурацию моих сайтов.
В строках ниже где есть ‘\’ в реальном конфиге его нет. Здесь он добавлен для того чтобы текст отображался на сайте корректно. Например, <\VirtualHost>, здесь символа ‘\’ быть не должно.

sudo nano /etc/apache2/sites-available/it-inside.conf
<\VirtualHost *:80>
ServerName it-inside.org
ServerAlias site1.it-inside.org
DocumentRoot /var/www/html/site1
#Logs
ErrorLog ${APACHE_LOG_DIR}/site1/error.log
CustomLog ${APACHE_LOG_DIR}/site1/access.log combined
<\/VirtualHost>

<\VirtualHost *:80>
ServerName site2.it-inside.org
DocumentRoot /var/www/html/site2
#Logs
ErrorLog ${APACHE_LOG_DIR}/site2/error.log
CustomLog ${APACHE_LOG_DIR}/site2/access.log combined
<\/VirtualHost>

Теперь необходимо создать симлинк на новый файл конфигурации с помощью команды (и удалить старый конфиг):
:/etc/apache2$ sudo a2ensite it-inside.conf
:/etc/apache2$ sudo a2dissite 000-default.conf

Узнать какие настройки сейчас активны можно просмотрев каталог
ls -l/etc/apache2/sites-available/
Перезапускаю apache2
sudo service apache2 restart
Проверяю доступность сайтов в браузере:
site1.it-inside.org
site2.it-inside.org

Как видите – всё достаточно просто.
Удачи!