Прекрасно, когда нужна поддержка сайта, а ты сидишь с телефоном в руке и знаешь, чей номер набрать! Тел., Whatsapp, Viber, Telegram +7 953 5571863 Skype aitishnik
Айтишник РУ Нижний Новгород, Симферопольская, 21 ПН-ПТ 08 - 18
Сайтостроение. Как сделать свой сайт

Работаем с виртуальными хостами

Так как большинство читателей работают с операционной системой Windows, то сначала организуем виртуальные хосты в Windows 7.

Виртуальные хосты в Windows 7

В качестве примера поместим один или несколько проектов на диск D: локального компьютера. Сначала организуем структуру каталогов. На диске D: создаем каталог «mysites», а в нём каталог для первого сайта «site1». В каталоге «site1» сделаем два подкаталога: «www» и «logs». В первом подкаталоге будет располагаться сам сайт, а во втором, журналы виртуального хоста: access.log (журнал доступа) и error.log (журнал ошибок).

Пример структуры каталогов виртуального хоста

Файлы журналов создавать не надо, они будут созданы автоматически. А в каталоге «www», пока нет сайта, поместим простейший файл-заглушку «index.html» следующего содержания:

Файл заглушка

Теперь немного поправим настройки для виртуальных хостов веб-сервера Apache. Открываем C:\xampp\apache\conf\extra\ httpd-vhosts.conf
Как видим, этот файл уже содержит два примера виртуальных хостов. Не будем их трогать, а ниже разместим следующие строки:

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "C:/xampp/htdocs"
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@site1.ru
    DocumentRoot "D:/mysites/site1/www"
    ServerName site1
    ServerAlias www.site1
    ErrorLog "D:/mysites/site1/logs/error.log"
    CustomLog "D:/mysites/site1/logs/access.log" common
   <Directory "D:/mysites/site1/www">
	AllowOverride All
	Require all granted
    </Directory>
</VirtualHost>

 Первая директива NameVirtualHost *:80 включает поименное использование виртуальных хостов на 80-ом порту (обычный http, если нужен https, используем 443 порт).
Следующие четыре строки это общая секция для всех виртуальных хостов. Если клиент обращается к серверу по IP-адресу или по несуществующему имени он попадет на этот виртуальный хост. В нашем случае в корневую директорию веб-сервера. Остальные строки это описание нашего первого виртуального хоста. Если нужно добавить ещё один виртуальный хост, то просто копируем эту секцию, вставляем ниже и по аналогии изменяем данные. Сохраняем файл.
Значение данных в секции виртуального хоста:

  • <VirtualHost *:80> Какой порт используется
  • ServerAdmin webmaster@site1.ru Эл. почта администратора сайта
  • DocumentRoot "D:/mysites/site1/www" Корневой каталог сайта
  • ServerName site1 Имя хоста
  • ServerAlias www.site1 Псевдоним хоста. Можно обращаться, используя псевдоним
  • ErrorLog "D:/mysites/site1/logs/error.log" Расположение журнала ошибок
  • CustomLog "D:/mysites/site1/logs/access.log" common Расположение журнала доступа. Оператор common определяет общую степень детализации журнала. Если нужна более подробная детализация, то вместо common пишем combined
  • <Directory "D:/mysites/site1/www"> Подсекция, в которой определяются права и настройки для конкретного каталога.
  • AllowOverride All Эта директива нужна для правильной работы системы SEF

Из панели управления XAMPP перестартовываем Apache. Изменяем файл C:\Windows\System32\drivers\etc\hosts. Дописываем в него две строки:

127.0.0.1     site1
127.0.0.1     www.site1

Вместо 127.0.0.1 можно написать 127.0.0.2, а для следующего виртуального хоста 127.0.0.3, но в этом нет особой нужды. Об этом напишу в другой раз. А сейчас сохраняем файл. Открываем браузер и адресной строке вводим http://site1 или просто site1. Если всё сделано правильно, видим информацию из файла-заглушки.

Результат работы виртуального хоста

Виртуальные хосты в Debian GNU/Linux

Настройка виртуальных хостов в Linux мало чем отличается от их настройки в Windows. Разве что созданием структуры каталогов. Оно и понятно, Apache кроссплатформенное решение, настроечные файлы практически одинаковы.
При установке XAMPP, корневой директорией веб-сервера Apache является каталог /opt/lampp/htdocs. А вот когда Apache устанавливается в Linux отдельным пакетом, то по умолчанию корневой директорией является каталог /var/www. Вот в этот каталог мы и поместим виртуальные хосты.
В качестве примера, создадим каталог /var/www/site1, который будет содержать два подкаталога: logs для журналов и www для файлов сайта.

Пример структуры каталогов виртуального хоста

Делаем владельцем каталога site1 пользователя www-data:

sudo chown -R www-data:www-data /var/www/site1

В каталог /var/www/site1/www помещаем файл-заглушку index.html

 Пример файла-заглушки

 Открываем файл /opt/lampp/etc/extra/httpd-vhosts.conf и удаляем всё его содержимое. Добавляем следующий код:

 

NameVirtualHost *:80
<VirtualHost *:80>
    DocumentRoot "/opt/lampp/htdocs/"
    ServerName localhost
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@site1.ru
    DocumentRoot "/var/www/site1/www"
    ServerName site1
    ServerAlias www.site1
    ErrorLog "/var/www/site1/logs/error.log"
    CustomLog "/var/www/site1/logs/access.log" common
    <Directory "/var/www/site1/www">
	Options Indexes FollowSymLinks Includes ExecCGI
	AddType text/shtml .shtml
	AddOutputFilter INCLUDES .shtml
	AllowOverride All
	Require all granted
    </Directory>
</VirtualHost>

 Последние 15 строк кода – это как раз описание виртуального хоста site1. Если в дальнейшем надо будет добавить ещё один виртуальный хост, то просто скопируйте эти строки и измените пути к директориям.
Открываем файл /opt/lamp/etc/httpd.conf и раскомментируем (т. е. удалим символ решетки) строку 488:

Include etc/extra/httpd-vhosts.conf 

Перестартовываем XAMPP

/opt/lampp/xampp restart

Правим файл /etc/hosts. Ниже строки

127.0.0.1	localhost

Вставляем строку следующие строки:

127.0.0.1	site1
127.0.0.1     www.site1

В адресной строке браузера набираем
http://site1 или просто site1

Пример работы виртуального хоста

Если вы видите страницу-заглушку, значит, всё сделали правильно!

Помните, что у нас вы можете не только купить готовый сайт или заказать его разработку, но и подобрать подходящий тариф поддержки сайта, заказать продвижение сайта в поисковых системах, а так же зарегистрировать домен в одной из двухсот доменных зон и выбрать недорогой тариф хостинга! Айтишник РУ

Задать вопрос

Об авторе:

ZolkinМеня зовут Андрей Золкин. Из более, чем пятнадцати лет работы в сфере информационных технологий, десять лет работаю с системами, базирующимися на открытом исходном коде. На страницах сайта Aitishnik.Ru веду блоги по CMC Joomla и Debian GNU/Linux.

 

Ещё о сайтостроении

    • Конструктор - как инструмент создания сайта...

      Конструктор - как инструмент создания сайта...Вопрос о бесплатном создании собственного интернет – проекта до сих пор волнует многих пользователей. Все дело в том, что люди не всегда могут сразу определиться, для чего им необходим собственный интернет – проект, и как с ним нужно...

    • CodeLobster IDE – бесплатный PHP, HTML, CSS, JavaScript редактор...

      CodeLobster IDE – бесплатный PHP, HTML, CSS, JavaScript редактор...В этой статье мы рассмотрим бесплатный кросс-платформенный редактор для веб-разработки - CodeLobster IDE. Он уже долгое время присутствует на рынке и завоевал очень большое количество пользователей. CodeLobster IDE предназначен для...

    • Преимущества прокси-сервера

      Преимущества прокси-сервераИспользование прокси-сервера не только дает анонимность вашему ИП-адресу, но также позволяет ограничивать доступ к разным ресурсам Интернета сотрудников компании. Прокси-сервер — это машина, которая функционируют в качестве посредника,...

    • «Сайт под ключ» - как не обмануться

      «Сайт под ключ» - как не обманутьсяВам нужен сайт. Вы знаете, что сами его не сделаете. Вы поговорили с друзьями, имеющими сайт. Но Вам ничего не нравится. Вы вбиваете в поиск в интернете словосочетание «сайт под ключ» и получаете 6 миллионов ответов. Столько же при...

    • Что входит в техподдержку сайта на Joomla?...

      Что входит в техподдержку сайта на Joomla?...Очень часто посетители нашего сайта интересуются вопросами техподдержки. Многих интересуют вопросы: что такое техническая поддержка, что входит в техподдержку сайта на Joomla. В этом материале мы приводим список работ, которые входят в...

    • Основы юзабилити

      Основы юзабилити Высокая конверсия, или отношение численности посетителей сайта к фактическим покупателям, зависит от многих факторов. Веб проект может иметь идеальный дизайн, но не давать нужного уровня конверсии. Почему? Часто причиной становятся...