Введение: Есть настроенный Веб-сервер на Ubuntu 14.04 TLS (связка Apache + MySQL + php + phpmyadmin). Доступ к нему осуществляется с компьютера под управлением Windows 7, следующим образом:
Из браузера – по IP.
В консоль – через putty.
По ssh – через winCSP.
Компьютеры в одной локальной сети. Теперь я расскажу о том как осуществить настройку виртуальных хостов в Apache.
При первоначальной настройке виртуальный хост это IP адрес самого Веб-сервера. Требуется создать новый виртуальный хост на Веб-сервере с возможностью доступа к нему с различных машин.
Шаг 1: создание каталогов
Создаем корневые каталоги для локального хоста newhost:
sudo mkdir -p /var/www/newhost/public_html
В папке public_html будут храниться файлы хоста newhost.
Шаг 2: назначение прав
Для того, что бы пользователь it мог изменять файлы в папке public_html выполним команду:
sudo chown -R it /var/www/newhost/public_html
Для корректного отображения страниц сайта назначим пользователю it (у меня он уже создан) права доступа на общую веб-директорию:
sudo chmod it -R 755 /var/www
Шаг 3: создание файлов нового виртуального хоста
Файл виртуального хоста определяет его конфигурацию, и дает понять серверу Apache, как обрабатывать виртуальный хост.
Стандартный файл виртуального хоста в Apache – 000-default.conf./ Скопируем его для нового виртуального хоста:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/newhost.conf
После чего откроем его для редактирования:
sudo nano /etc/apache2/sites-available/newhost.conf
Для удобства удалим комментарии – весь текст в строке начинающейся со знака #.
Файл примет следующий вид:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Приведем его к виду:
<VirtualHost *:80>
ServerAdmin admin@newhost
ServerName newhost
ServerAlias www.newhost
DocumentRoot /var/www/newhost/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Сохраним и закроем файл. Для редактора nano это команды Ctrl+O (сохранить) Ctrl+X (закрыть).
Шаг 4: включение виртуального хоста
Для включения виртуального хоста выполним команду
sudo a2ensite newhost.conf
После чего перезапустим Apache
sudo service apache2 reload
Шаг 5: создание индексного файла и проверка работы хоста
Создадим файл index.html со следующим содержимым:
<html>
<head>
<title>Добро пожаловать на хост newhost!</title>
</head>
<body>
<h1>Успех! Хост newhost работает!</h1>
</body>
</html>
Шаг 6: настройка файла локального хоста
Открываем файл hosts
sudo nano /etc/hosts
Файл будет иметь примерно следующий вид
127.0.0.1 localhost
127.0.1.1 webserver
Добавляем строку
127.0.1.2 newhost
Сохраняем файл.
Проверяем работоспособность хоста
curl http://newhost
Данная команда должна вывести нам html код страницы. Хост успешно создан и работает. Для доступа к хосту через браузер компьютеров под управлением Windows 7 необходимо в файле C:\Windows\System32\drivers\etc добавить
XXX.XXX.X.XXX newhost
Где: XXX.XXX.X.XXX – IP адрес Веб-сервера, например 192.168.1.1, newhost — название хоста. Заходим на виртуальный хост и работаем.