НАСТРОЙКА WEB-СЕРВЕРА APACHE - НЕСКОЛЬКО САЙТОВ НА ОДНОМ IP

Наверно это не будет приувеличением, если я скажу, что на Апачах работает практически половина интернета. И наверно не случайно... Имхо, Апач прост и надежен как автомат Калашникова. Я уже писал в одной из статей, как установить его заодно с сервером MySQL и поддержкой PHP... В Windows системах это похоже на секс в припрыжку... А в Linux все делается буквально одной строкой:

sudo apt-get -y update && sudo apt-get -y upgrade && sudo apt-get -y install lamp-server^ && sudo apt-get -y install phpmyadmin

Ну, если вы думаете заниматься на своем локальном сервере всего одним web-проектом, то в общем-то, и говорить не о чем - кидаете файлы в /var/www/html - и вперед... Ничего сложного.
Но у Апача так же есть возможность обслуживать сразу несколько сайтов. Вот я и решил разместить все свое хозяйство на Raspberry P, которую из-за низкого энергопотребления можно не выключать хоть круглый год.

Инструкция, приведенная ниже, проверялась в Ubuntu Mate 16.04.1 LTS (GNU/Linux 4.1.19-v7+ armv7l). Полагаю, будет работать так же в десктопной версии Ubuntu, в Mint и, может быть, в Debian. 

Ну, начнем сначала.

Для эксперимента у меня прикуплены парочка доменов: madmentat.com и madmentat.moscow. На роутере Mikrotik проброшены порты через NAT. К самой "Малинке" подключен внешний винчестер, примонтированный в /bgd1. Там созданы директории:

sudo mkdir /bgd1/www/madmentat.com

и

sudo mkdir /bgd1/www/madmentat.moscow

 Папкам присвоены права:

sudo chmod -R 755 /bgd1/www/madmentat.com

sudo chmod -R 755 /bgd1/www/madmentat.moscow

Затем сделаны копии

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madmentat.com.conf

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/madmentat.moscow.conf

Оба файла типа madmentat.com.conf приведены к подобному виду:

<VirtualHost *:80>
    ServerAdmin Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в вашем браузере должен быть включен Javascript.
ServerName madmentat.com
ServerAlias www.madmentat.com
DocumentRoot "/bgd1/www/madmentat.com" ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined </Directory> </VirtualHost>

Здесь ServerAdmin - это почтовый адрес администратора сайта.

Ну, в общем, почти все...Ч тобы не было проблем с доступом, изменен apache2.conf

sudo nano /etc/apache2/apache2.conf

Примерно так:

<Directory /bgd1/www/madmentat.com>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Для madmentat.moscow практически то же самое:

<Directory /bgd1/www/madmentat.moscow>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

Итак, мы создали конфигурационные файлы для виртуальных хостов. Теперь их нужно включить:

sudo a2ensite madmentat.com.conf

sudo a2ensite madmentat.moscow.conf

С настройками Апача все. Последний штришок...

sudo service apache2 reload

или

sudo service apache2 restart

Если вы WEB-разработчик, работающий на локальной машине над парочкой или более сайтов, то, видимо, покупать домены не обязательно, можно просто тупо прописать их в /etc/hosts

sudo nano /etc/hosts

127.0.0.1 localhost
127.0.0.1 madmentat.com
127.0.0.1 madmentat.moscow

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters

Если есть внешний IP и очень хочется иметь доступ к своей шарманке из глобальной сети, вероятно, неплохо бы пробросить до нее 80-й порт на роутере. 

Ну вот и все... Естественно, таким образом на одном серваке можно создать целую уйму сайтов, лишь бы хватало аппаратных мощностей )

P.S. При проверке работоспособности новых сайтов на сервере следует очищать кэш браузера, иначе изменения могут не вступить в силу, хотя на самом деле все работает. На компе достаточно нажать пару кнопок

Ctrl+F5

На смартфоне чуть сложнее: настройки - Конфедициальность и Безопасность -очистить историю...