Apache2 настройка виртуального хоста – Минимальный конфиг виртуального хоста Apache 2 для настройки работы домена в связке Apache + NGiNX

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

Данное руководство предназначено для использования в локальной среде тестирования на Windows. Инструкции подходят для Apache 2.4 и более поздних версий.

  1. Создайте вложенную папку внутри C:\vhosts для каждого виртуального хоста, который вы хотите добавить на сервер Apache.
  2. Откройте C:\WINDOWS\system32\drivers\etc\hosts в блокноте или в любом другом текстовом редакторе. Найдите следующую строку в нижней части документа:
    127.0.0.1   localhost
  3. На отдельной пустой строке введите 127.0.0.1, затем поставьте пробел и введите имя виртуального хоста, который необходимо зарегистрировать. Например, чтобы создать виртуальный хост с именем mysite, введите следующую команду:
    127.0.0.1   mysite
  4. Добавьте нужное количество дополнительных виртуальных хостов, каждый из которых должен быть введён на отдельной строке с указанием того же IP-адреса (127.0.0.1). Сохраните файл хостов, и закройте его.
  5. Откройте конфигурационный файл Apache, httpd.conf, в текстовом редакторе. Он находится в файлах Apache в папке conf. Если вы используете XAMPP, этот файл находится по адресу C:\xampp\apache\conf\httpd.conf. Прокрутите вниз до конца раздела Supplemental configuration и найдите следующий раздел (приблизительно около 500 строки):
    #Virtual hosts
    #Include conf/extra/httpd-vhosts.conf
  6. Сотрите # около начала второй строки, раздел теперь должен выглядеть так:
    #Virtual hosts
    Include conf/extra/httpd-vhosts.conf
  7. Сохраните файл httpd.conf и закройте его.
  8. Откройте extra\httpd-vhosts.conf в блокноте или в любом другом текстовом редакторе. Если вы используете XAMPP, то адрес будет таким C:\xampp\apache\conf\extra\httpd-vhosts.conf
    . Главный раздел выглядит так:

    В XAMPP все строки будут закомментированы. Вам нужно удалить # в начале строки, содержащей следующую директиву:
    NameVirtualHost *.80
  9. Переместите курсор в область пустого пространства, расположенного на 15 строке в предыдущем скриншоте, и вставьте туда следующие три строки кода:
    <Directory C:/vhosts>
      Require all granted
    </Directory>
    Это позволяет установить правильные разрешения для папки, содержащей сайты, которые нужно рассматривать в качестве виртуальных хостов.
  10. На скриншоте в строках с 27 по 42 расположен код, который показывает примеры определения виртуальных хостов (в XAMPP они закоментированы). Там показаны все команды, которые могут быть использованы, но из них только DocumentRoot и ServerName являются обязательными.

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

    <VirtualHost>, используя расположение веб-файлов сайта в качестве значения для DocumentRoot, и имя виртуального хоста для ServerName. Если путь содержит пробелы, то необходимо весь путь заключить в кавычки. Если ваш корневой каталог расположен, как у меня, в C:\htdocs, и вы добавляете mysite в качестве виртуального хоста в C:\vhosts, измените код на строках с 27 по 42 следуя следующему примеру (в XAMPP, просто добавить эти новые директивы в нижней части файла, и установить DocumentRoot для localhost в C:/xampp/htdocs):

    
    <VirtualHost *:80>
      DocumentRoot c:/htdocs
      ServerName localhost
    </VirtualHost>
    <VirtualHost *:80>
      DocumentRoot c:/vhosts/phpdw
      ServerName mysite
    </VirtualHost>
    
  11. Сохраните httpd-vhosts.conf и перезапустите Apache. Все сайты в корневом каталоге сервера будет по-прежнему доступны через httр://localhost/sitename/. Все, что в виртуальном хосте будет доступен через прямой адрес, например, httр://mysite/.
  12. Если у вас есть трудности с доступом к виртуальным хостам, убедитесь, что вы добавили index.php в директиву DirectoryIndex в файле httpd.conf.

puzzleweb.ru

Добавление виртуальных хостов в Apache. Linux статьи

Добавление виртуальных хостов в Apache По умолчанию после установки Apache создается виртуальный хост с именем localhost. Я расскажу как добавлять новые виртуальные хосты в Apache.

Я создам виртуальный хост с именем myhost (вместо myhost вы можете выбрать любое имя, которое вам захочется).

Сначала нужно создать каталог, в котором будут находиться файлы будущего сайта. Создайте в своем домашнем каталоге директорию myhost. Чтобы это сделать можно выполнить команду:

mkdir ~/myhost

Директорию можно создавать где угодно, я для простоты создал ее в корне своей домашней директории yuriy.

Создаем конфигурационный файл хоста

В каталоге /etc/apache2/sites-available хранятся конфигурационные файлы виртуальных хостов Apache. По умолчанию там хранится файл default, который соответствует хосту localhost. Мы возьмем за основу файл default и скопируем его в файл с именем

myhost. Для этого выполните следующие команды:

cd /etc/apache2/sites-available
sudo cp default myhost

Теперь отредактируем файл myhost. Откройте его в редакторе (например, в редакторе Gedit), выполнив команду:

sudo gedit myhost

Внесите в файл соответствующие изменения. В частности пропишите путь до директории, в которой будут храниться файлы хоста. В нашем случае это путь /home/yuriy/myhost, где yuriy вы должны заменить на название вашей домашней директории. Путь нужно прописать в двух местах: у параметра DocumentRoot и в заголовке секции <Directory /home/yuriy/myhost>. В самом начале файла (на второй строке) обязательно пропишите строку «ServerName myhost». Вот пример того, как должен выглядеть ваш файл myhost:

<VirtualHost *:80>
    ServerName myhost
    ServerAdmin webmaster@localhost

    DocumentRoot /home/yuriy/myhost
    <Directory />
        Options FollowSymLinks
        AllowOverride None
    </Directory>
    <Directory /home/yuriy/myhost>
        Options Indexes FollowSymLinks MultiViews
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    LogLevel debug

    CustomLog /var/log/apache2/access.log combined
</VirtualHost>

Теперь нам нужно сделать наш хост активным. Apache использует каталог /etc/apache2/sites-enabled для определения хостов, которые нужно включить. Создадим символьную ссылку в каталоге sites-enabled, указывающую на наш файл myhost. Для этого выполните команды:

cd ../sites-enabled
sudo ln -s ../sites-available/myhost myhost

Перезапускаем Apache

Перезапустите Apache, выполнив команду:

sudo /etc/init.d/apache2 restart

Редактируем /etc/hosts

Осталось отредактировать файл /etc/hosts. В нем прописывается соответствие IP адреса имени хоста. То есть это своего рода локальный DNS. Чтобы открыть файл, выполните следующую команду:

sudo gedit /etc/hosts

В файле после адреса 127.0.0.1 допишите название своего виртуального хоста. В моем случае это myhost.

127.0.0.1	localhost myhost

Заключение

На этом настройка виртуального хоста Apache с именем myhost закончена. Теперь к нему можно обратиться в браузере, набрав адрес http://myhost.

pingvinus.ru

Установка и настройка сервера Apache

Apache — это популярнейший свободный веб-сервер. Состоянием на 2016 год он используется на 33% всех сайтов интернета, а это приблизительно 304 миллиарда сайтов. Этот веб-сервер был разработан в далеком 1995, как замена для популярного того сервера NCSA и исправил множество его проблем. Ходят слухи что его имя походит от a patchy, заплатка, так как он исправлял ошибки NCSA. Сейчас же, это кроссплатформенная программа, поддерживающая Windows, Linux и MacOS и обеспечивающая достаточную гибкость, настраиваемость и функциональность. Программа имеет модульную структуру, что позволяет расширять ее функциональность почти до бесконечности с помощью модулей.

Установить Apache в Linux можно с помощью нескольких команд, но программа предоставляет очень большое количество настроек, которые можно изменить, а также модулей, после включения которых она будет работать лучше. В этой статье будет рассмотрена установка и настройка Apache, в качестве основной системы мы будем использовать Ubuntu, но вы можете повторить эти действия в любом другом дистрибутиве. Будет рассмотрена не только установка самой программы, но и способы ее настройки, настройка виртуальных хостов apache, а также самые полезные модули.

Содержание статьи:

Установка Apache

На данный момент, самая новая версия программы 2.4 поэтому и будет рассмотрена настройка apache 2.4. Как я уже говорил, в Linux программа устанавливается буквально в пару команд. Для установки в Ubuntu сначала обновим систему до самой новой версии:

sudo apt update
$ sudo apt upgrade

Затем установка apache2:

sudo apt install apache2

В других дистрибутивах пакет программы называется либо так, либо httpd и его установка у вас не вызовет трудностей.

После завершения установки нужно добавить веб-сервер в автозагрузку, чтобы не запускать его вручную после включения компьютера:

sudo systemctl enable apache2

Настройка Apache

Уже прошло то время, когда конфигурация Apache хранилась в одном файле. Но оно и правильно, когда все распределено по своим директориям, в конфигурационных файлах легче ориентироваться.

Все настройки содержатся в папке /etc/apache/:

  • Файл /etc/apache2/apache2.conf отвечает за основные настройки
  • /etc/apache2/conf-available/* — дополнительные настройки веб-сервера
  • /etc/apache2/mods-available/* — настройки модулей
  • /etc/apache2/sites-available/* — настойки виртуальных хостов
  • /etc/apache2/ports.conf — порты, на которых работает apache
  • /etc/apache2/envvars

Как вы заметили есть две папки для conf, mods и site. Это available и enabled. При включении модуля или хоста создается символическая ссылка из папки available (доступно) в папку enable (включено). Поэтому настройки лучше выполнять именно в папках available. Вообще говоря, можно было бы обойтись без этих папок, взять все и по старинке свалить в один файл, и все бы работало, но сейчас так никто не делает.

Сначала давайте рассмотрим главный файл конфигурации:

vi /eta/apache2/apache2.conf

apache

Timeout — указывает как долго сервер будет пытаться продолжить прерванную передачу или прием данных. 160 секунд будет вполне достаточно.

KeepAlive On — очень полезный параметр, позволяет передавать несколько файлов, за одно соединение, например, не только саму html страницу, но и картинки и css файлы.

MaxKeepAliveRequests 100 — максимальное количество запросов за одно соединение, чем больше, тем лучше.

KeepAliveTimeout 5 — таймаут соединения, обычно для загрузки страницы достаточно 5-10 секунд, так что больше ставить не нужно, но и рвать соединение раньше чем загрузились все данные тоже не нужно.

User, Group — пользователь и группа, от имени которых будет работать программа.

HostnameLookups — записывать в логи вместо ip адресов доменные имена, лучше отключить, чтобы ускорить работу.

LogLevel — уровень логирования ошибок. По умолчанию используется warn, но чтобы логи заполнялись медленнее достаточно включить error

Include — все директивы include отвечают за подключение рассмотренных выше конфигурационных файлов.

apache1

Директивы Directory отвечают за настройку прав доступа к той или иной директории в файловой системе. Синтаксис здесь такой:

<Directory /адрес/в/файловой/системе/>
Параметр значение
</Directory>

Здесь доступны такие основные опции:

AllowOverride — указывает нужно ли читать .htaccess файлы из этой директории, это такие же файлы настроек и таким же синтаксисом. All — разрешать все, None — не читать эти файлы.

DocumentRoot — устанавливает из какой папки нужно брать документы для отображенияа пользователю

Options — указывает какие особенности веб-сервера нужно разрешить в этой папке. Например, All — разрешить все, FollowSymLinks — переходить по символическим ссылкам, Indexes — отображать содержимое каталога если нет файла индекса.

Require — устанавливает, какие пользователи имеют доступ к этому каталогу. Require all denied — всем запретить, Require all granted — всем разрешить. можно использовать вместо all директиву user или group чтобы явно указать пользователя.

Order — позволяет управлять доступом к директории. Принимает два значения Allow,Deny — разрешить для всех, кроме указанных или Deny,Allow — запретить для всех, кроме указанных. Теперь мы можем запретить доступ к директории для всех: Deny from all, а затем разрешить только для приложения от losst.ru: Allow from losst.ru.

Здесь все эти директивы не используются, поскольку нас устраивают значения по умолчанию, но вот в файлах .htaccess они могут быть очень полезны.

У нас остался файл /etc/apache2/ports.conf:

apache2

В нем только одна директива, Listen, которая указывает программе на каком порту нужно работать.

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

apache3

Дальше поговорим немного о htacess. Совсем немного.

Настройка сервера Apache через htaccess

Файлы .htaccess позволяют настраивать веб-сервер на Ubuntu для поведения в определенной директории. Все инструкции, указанные в этом файле выполняются как бы они были обвернуты в тег <directory адрес_папки> если бы находились в основном файле.

Важно заметить, что для того, чтобы сервер читал инструкции из .htaccess настройки для этой папки в основном файле или файле виртуального хоста не должны содержать AllowOverride None, чтобы могли работать все настройки нужно AllowOverride All.

А в остальном, здесь может выполняться любая настройка сервера apache, от включения модулей, до обычного изменения доступа к папке. Поскольку все параметры мы уже рассмотрели просто приведем пару примеров:

Order Deny,Allow
Deny from all

Запрещает всем доступ к этой папке, важно применить, для папок с конфигурацией. Чаще всего .htaccess используется для работы с модулем mod_rewrite, который позволяет изменять запросы на лету:

RewriteEngine on
RewriteRule ^product/([^/\.]+)/?$ product.php?id=$1 [L]

Но это очень обширная тема и выходит за рамки этой статьи.

Настройка модулей Apache

Как я уже говорил, Apache — модульная программа, ее функциональность можно расширять с помощью модулей. Все доступные модули загрузчики и конфигурационные файлы модулей находятся в папке /etc/apache/mods-available. А активированные в /etc/apache/mods-enable.

Но вам необязательно анализировать содержимое этих папок. Настройка Apache 2.4 с помощью добавления модулей выполняется с помощью специальных команд. Посмотреть все запущенные модули можно командой:

apache2ctl -M

apache4

Включить модуль можно командой:

sudo a2enmod имя_модуля

А отключить:

sudo a2dismod имя_модуля

После включения или отключения модулей нужно перезагрузить apache:

sudo systemctl restart apache2

Во время выполнения одной из этих команд создается или удаляется символическая ссылка на файл модуля с расширением load в директории mods-available. Можете посмотреть содержимое этого файла, там только одна строка. Например:

vi /etc/apache2/mods-available/deflate.load

apache5

Это к тому, что активировать модуль можно было просто добавив эту строчку в файл apache2.conf. Но принято делать именно так, чтобы избежать путаницы.

Настройки модулей находятся в той же папке, только в файле с расширением .conf вместо load. Например, посмотрим настройки того же модуля для сжатия deflate:

vi /etc/apache2/mods-available/deflate.conf

apache6

Файлы в папке conf-available, это такие же модули, только они установлены отдельно от apache, это может быть конфигурационные файлы для включения модуля php или любого другого языка программирования. Здесь работает все точно так же, только команды для включения и отключения этих модулей немного другие:

a2enconf имя_модуля

a2disconf имя модуля

Как вы убедились, включать модули очень просто. Давайте включим несколько необходимых, но не включенных по умолчанию модулей:

sudo a2enmod expires
$ sudo a2enmod headers
$ sudo a2enmod rewrite
$ sudo a2enmod ssl

Модули expires и headers уменьшают нагрузку на сервер. Они возвращают заголовок Not Modified, если документ не изменился с последнего запроса. Модуль expiries позволяет устанавливать время, на которое браузер должен кэшировать полученный документ. Rewrite позволяет изменять запрашиваемые адреса на лету, очень полезно при создании ЧПУ ссылок и т д. А последний для включения поддержки шифрования по SSL. Не забудьте перезагрузить apache2 после завершения настроек.

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

Было бы не совсем удобно, если на одной физической машине можно было размещать только один сайт. Apache может поддерживать сотни сайтов на одном компьютере и выдавать для каждого из них правильное содержимое. Для этого используются виртуальные хосты. Сервер определяет к какому домену приходит запрос и отдает нужное содержимое из папки этого домена.

Настройки хостов Apache расположены в папке /etc/apache2/hosts-available/. Для создания нового хоста достаточно создать файл с любым именем (лучше кончено с именем хоста) и заполнить его нужными данными. Обернуть все эти параметры нужно в директиву VirtualHost. Кроме рассмотренных параметров здесь будут использоваться такие:

  • ServerName — основное имя домена
  • ServerAlias — дополнительное имя, по которому будет доступен сайт
  • ServerAdmin — электронная почта администратора
  • DocumentRoot — папка с документами для этого домена

Например:

vi /etc/apache2/sites-available/test.site.conf

apache7

<VirtualHost *:80>

ServerName test.site
ServerAlias www.test.site
ServerAdmin webmaster@localhost
DocumentRoot /var/www/test.site/public_html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Виртуальные хосты, как и модули нужно активировать. Для этого есть специальные утилиты. Чтобы активировать наберите:

sudo a2ensite test.site

Здесь test.site — имя файла виртуального хоста. Для отключения тоже есть команда:

sudo a2dissite test.site

Настройка виртуальных хостов Apache завершена и на публичном сервере это все бы уже работало, но если вам нужна настройка Apache на домашней машине, то вы ваш новый сайт не откроется в браузере. Браузер не знает такого сайта. И откуда ему знать? DNS службы не могут ничего сообщить об этом доменном имени. Но в системе Linux мы можем сами указать ip адреса для доменных имен в файле /etc/hosts. Поэтому добавляем в конец файла такие строки:

vi /etc/hosts

127.0.0.1 test.site
127.0.0.1 www.test.site

Вот, ну теперь будет работать, открывайте браузер, проверяйте.

Выводы

Вот и все. Установка и настройка Apache linux завершена, вы можете использовать программу для размещения ваших сайтов. Более того, вы не просто настроили ее, вы разобрались со всеми подробностями и теперь знаете чуточку больше. Если у вас остались еще вопросы, пишите в комментариях!

Оцените статью:

apache7 Загрузка…

losst.ru

Как настраивать виртуальные хосты в Apache 2 ( Статьи

В этой статье написано, как создавать несколько виртуальных хостов на локальной машине. Данное действие необходимо уметь делать веб-мастерам, когда они разрабатывают несколько сайтов.

 

Вначале небольшое объяснение.

 

Что такое виртуальный хост? Это такая настройка локального веб-сервера, при которой веб-сервер начинает откликаться на заданное имя, а не только на IP 127.0.0.1 или псевдоним localhost. То есть, при настройке виртуального хоста на имя site.ru, в браузере по этому URL начнет отвечать локальный веб-сервер.

 

Веб-сервер можно настроить на несколько имен сайтов. Тогда веб-сервер начнет выдавать страницы, соответсвующие каталогу, в котором находятся данные для указанного имени. Например, есть два виртуальных хоста — site.ru и money.com. Для site.ru настроен рабочий каталог /var/www/site.ru, а для money.com настроен рабочий каталог /var/www/money.com. Если теперь в браузере обратиться к site.ru, то веб-сервер будет выдавать страницы из каталога /var/www/site.ru, а если обратиться к money.com, то веб-сервер будет генерировать страницы из каталога /var/www/money.com. Как сделать такую настройку и написано в данной статье.

 

В Debian 5.x.x, сервер Apache-2 сразу после установки готов работать с виртуальными хостами. Но настроен только на один (default) хост, который доступен как localhost. Чтобы добавить еще один виртуальный хост, надо сделать следущее:

 

1. В каталог /etc/apache2/sites-available нужно добавить пустой файл с произвольным именем. Для удобства, лучше давать имя файла, содержащее имя виртуального хоста. Например, если планируется добавить виртуальный хост с именем studio.ru, надо задатьдать имя файла studio.ru.conf.

 

2. В этот файл надо вписать (примерно) следующее:

 

<VirtualHost *:80>

 ServerName studio.ru
 ServerAlias www.studio.ru

 DocumentRoot «/var/www/studio»

 <Directory «/var/www/studio»>
  allow from all
  Options +Indexes
 </Directory>

</VirtualHost>

 

Где:

  • ServerName, ServerAlias — это URL, набираемый в браузере, на который должен откликаться данный виртуальный хост;
  • DocumentRoot — это корневая директория данного виртуального хоста;
  • Секция Directory — настройка прав доступа к указанной директории. В данном случае настраиваются права доступа к корневой директории виртуального хоста.

Нужно обратить внимание на параметр секции VirtualHost. Здесь он написан как «*:80». Но обязательно нужно заглянуть в файл /etc/apache2/sites-available/default и посмотреть, какой параметр написан там в такой же секции VirtualHost. Если написано «*», то в нашем файле надо так же написать «*».

 

Другоми словами, нужно заглянуть в файл /etc/apache2/ports.conf. Там нужно найти директиву:

 

NameVirtualHost *:80


Какое значение стоит в этой директиве (здесь — «*:80»), такое значение и нужно прописать в качестве параметра секции VirtualHost во всех файлах директории /etc/apache2/sites-available, иначе хосты видны не будут.

 

Частая ошибка — когда в /etc/apache2/ports.conf прописано «*.80», а в файле хоста в секции VirtualHost прописано «*». Несмотря на то, что маска «*» покрывает маску «*.80», сервер Apache не понимает такой записи. При такой настройке, сервер Apache не найдет нужного хоста!

 

3. Надо перейти в каталог /etc/apache2/sites-enabled и создать там символическую ссылку на созданный нами файл:

 

# cd /etc/apache2/sites-enabled
# ln -s /etc/apache2/sites-available/studio.ru.conf studio.ru.conf

 

4. Необходимо перезапустить Apache командами:

 

# /etc/init.d/apache2 stop
Stopping web server: apache2 … waiting .

# /etc/init.d/apache2 start
Starting web server: apache2.


в момент перезапуска надо смотреть, не появляются ли в консоли сообщения об ошибках или предупреждения. В нормально сконфигурированном Апаче никаких сообщений о ошибках (и даже предупреждений!) выдаваться не должно.

 

5. Завершающее действие — нужно открыть файл /etc/hosts и прописать там новую строку следующего содержания:

 

127.0.0.1 studio.ru

 

это позволит браузеру обращаться локально к Апачу, а не искать данный сайт в интернете.

 

Все, конфигурирование закончено. Никаких перезагрузок не требуется.


Можно в браузере набрать URL http://studio.ru/index.html, и должен открыться файл /var/www/studio/index.html (если он есть). Таким образом, сразу видно, что виртуальный хост создался, и отображается в браузере. Подобным образом добавляются и другие виртуальные хосты.

webhamster.ru

apache — Настройка сервера Apache2 (два виртуальных хоста на одном IP)

Stack Overflow на русском

Loading…

  1. 0
  2. +0
    • Тур Начните с этой страницы, чтобы быстро ознакомиться с сайтом
    • Справка Подробные ответы на любые возможные вопросы
    • Мета Обсудить принципы работы и политику сайта
    • О нас Узнать больше о компании Stack Overflow
    • Бизнес Узнать больше о поиске разработчиков или рекламе на сайте
  3. Войти Регистрация
  4. текущее сообщество

    • Stack Overflow на русском справка

ru.stackoverflow.com

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

настройка виртуального хоста apache

настройка виртуального хоста apacheВведение: Есть настроенный Веб-сервер на 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>

<h2>Успех!  Хост newhost работает!</h2>

</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 — название хоста. Заходим на виртуальный хост и работаем.

abuzov.ru

Настройка виртуальных хостов Apache2.2/Apache2.4 — Блог Дмитрия Власова

 

Всем привет. Сегодня решил поделиться настройкой виртуальных хостов для Apache 2.2 и Apache 2.4.

Данную статью я уже писал в своем прошлом блоге, она была посвящена настройке Apache 2.2, так как Apache2.4 еще не было, а релиз стабильной версии Apache 2.4 появился сравнительно не так уж давно, хотя может быть ооочень давно, а именно в 2012г.

И снова хочу оговориться. Мануалов сейчас много и мой будет лишь еще дополнением, однако я бы хотел написать свое видение и настройку данного веб-сервера. Ну думаю можно приступить. А собственно настраивать будет под бубунтой Ubuntu/ дебиян Debian.

Ну думаю можно приступить, уже час как приступаю :-).
Предполагаю что у Вас уже стоит Apache2.2/Apache2.4, версию можно посмотреть командой

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

Ну поехали, настраиваем хосты для Apache2.2:

1) Создадим директорию для нашего сайта:

~# cd /var/www/ ~# mkdir vasya-pupkin.ru // Создание директории будущего сайта

~# cd /var/www/

~# mkdir vasya-pupkin.ru   // Создание директории будущего сайта

2) Далее переходим в директорию конфигов хостов (первоначально после установки Apache2.2 там лежит файл default):

~# cd /etc/apache2/sites-available/

~# cd /etc/apache2/sites-available/

3) Создаем файл с наименованием вашего сайта (это для того чтобы Вы понимали в каком конфиге настройка для определенного сайта, а вообще можете назвать хоть как):

dvlas.ru

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *