НАСТРОЙКА 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
На смартфоне чуть сложнее: настройки - Конфедициальность и Безопасность -очистить историю...