Настройка виртуальных хостов в Apache2

Категория :

Apache2

Опубликовано:

Введение

Веб-сервер Apache — самый популярный способ обслуживания веб-контента в Интернете. На его долю приходится более половины всех активных веб-сайтов.

Apache разбивает свои функции и компоненты на отдельные блоки, которые можно настраивать независимо друг от друга. Базовый блок для сайта называется хостом.

Эти обозначения позволяют администратору использовать один сервер для размещения нескольких доменов или сайтов за пределами одного интерфейса или IP-адреса с помощью механизма сопоставления. Это актуально для всех, кто хочет разместить более одного сайта на одном сервере.

В этом руководстве мы расскажем, как настроить виртуальные хосты на веб-сервере Apache2. В ходе этого процесса вы узнаете, как предоставлять различный контент разным посетителям в зависимости от того, какие домены они запрашивают.
  • Подключаемся к серверу, на котором будет размещаться сайт, любым удобным SSH клиентом.
  • Получаем права root.
sudo -i // вводим пароль администратора
  • Cоздаем .conf для нового сайта.
Есть 2 варианта:
  • Если на сервере есть другие сайты, можно слизать conf с него, командой:
cp /etc/apache2/sites-available/«‎название сайта».conf /etc/apache2/sites-available/«‎название сайта».conf
  • Либо командой nano или vi создать .conf для сайта:
nano /etc/apache2/sites-available/«‎название сайта».conf
Если копировали, то получим примерно следующее:
<VirtualHost *:80>
 ServerAdmin admin@«‎название сайта»
 ServerName «‎название сайта»
 DocumentRoot /var/www/«‎название сайта»
 <Directory />
   Options All
   AllowOverride All
 </Directory>
 <Directory /var/www/«‎название сайта»>
   Options All
   AllowOverride All
   Order allow,deny
   allow from all
 </Directory>
 ErrorLog /var/log/apache2/error_«‎название сайта».log
 # Possible values include: debug, info, notice, warn, error, crit,
 # alert, emerg.
 LogLevel warn
 CustomLog /var/log/apache2/access_«‎название сайта».log combined
 ServerSignature On
</VirtualHost>
  • Если создаем заново, то копипастим это в файл, с заменой «‎название сайта» на доменное имя сайта.
Создаем папку для сайта. опять же 2 варианта:
cp -R /var/www/«старый сайт»/ /var/www/«‎новый сайт»
mkdir /var/www/«‎новый сайт»
  • Обязательно проверяем наличие файлов в папке:
ls /var/www/«‎новый сайт»
  • Должны быть следующие файлы и папки(при наличии таковых, к примеру загрушка была на старом сайте):
css  fonts  img  index.php
Включаем в Apache наш новый сайт командой:
a2ensite «‎новый сайт».conf
  • Если все правильно, сервер попросит перезапустить службу аппача, перезапускаем командой:
service apache2 reload
  • Готово!