Как настроить виртуальные хосты в Apache на Debian 7

Данный мануал поможет вам создать домен на Apache под операционной системой Linux - Mint, debian, ubuntu.
Как настроить виртуальные хосты в Apache на Debian 7


Обновленная версия статьи тут!!!

Необходимые условия

Перед тем как приступить к настройке виртуальных хостов необходимо создать не root пользователя.
Так же вам будет необходим apache. Если он еще не установлен, установить его можно с помощью команды apt-get.

Команды в статье выполняются под root пользователем:

apt-get update
apt-get install apache2


Приступаем к настройке виртуальных хостов.
Создаем виртуальный домен
test.com


Корневой каталог по умолчанию:
/var/www

Размещаем сайт в папке public_html:
/var/www/test.com/public_html


Выполняем следующие манипуляции:
cd /var/www

Необходимо создать папку с именем домена:
mkdir test.com

Переходим в только что созданную папку:
cd test.com

Внутри папки с именем вашего домена, необходимо создать еще одну папку, которая будет содержать структуру сайта на хосте:
mkdir public_html

Полный путь до папки public_html следующий:
/var/www/test.com/public_html

Необходимо перейти в папку public_html:
cd /var/www/test.com/public_html


Назначение прав

Допустим логин пользователя qwerty.

Следующая команда дает права пользователю на управление данной директорией.
chown -R qwerty:$USER /var/www/test.com/public_html


Теперь необходимо дать необходимые права на запись и чтение.
Выдача прав на чтение и запись:
chmod -R 755 /var/www


Создание файла виртуального хостинга.

Базовая директория файла хоста:
/etc/apache2/sites-available/default


Начнем копирование файла для нового виртуального хоста.
cp /etc/apache2/sites-available/default /etc/apache2/sites-available/test.com.conf


Открыть файл редактором с root параметрами
nano /etc/apache2/sites-available/test.com.conf


Содержимое файла с настройками виртуального хоста приблизительно следующее:

<VirtualHost *:80>
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
<VirtualHost *:80>
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
 


Указываем E-mail администратора:
ServerAdmin webmaster@localhost

Необходимо добавить директивы с названием виртуального хоста и алиас:
ServerName test.com

ServerAlias www.test.com


Осталась последняя директива.
Задает расположение корневого каталога для домена.
DocumentRoot /var/www/test.com/public_html


Теперь файл хоста должен выглядеть следующим образом:

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerName test.com       
        ServerAlias www.test.com

        DocumentRoot /var/www/test.com/public_html
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
        <Directory "/usr/lib/cgi-bin">
<VirtualHost *:80>
        DocumentRoot /var/www
        <Directory />
                Options FollowSymLinks
                AllowOverride All
        </Directory>
        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>

        ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
                <Directory "/usr/lib/cgi-bin">
                AllowOverride All
                Options Indexes FollowSymLinks MultiViews
                Order allow,deny
                Allow from all
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log

        # Possible values include: debug, info, notice, warn, error, crit,
        # alert, emerg.
        LogLevel warn

        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
 


Сохраните файл и закройте(ctrl+o и ctrl+x).

Включение виртуальных хостов.

Были созданы файлы виртуальных хостов.
Теперь необходимо их включить.
Включить их можно следующим образом:
sudo a2ensite test.com

Подробнее можно узнать тут: О том как добавить или удалить виртуальные хосты.

Для того, чтобы изменения вступили в силу необходимо перезагрузить apache.
Это можно сделать так:
/etc/init.d/apache2 restart


Настройка host фала для OS Linux

Как открыть виртуальный домен на локальной машине OS Linux?


Настройка host фала для OS Windows
Как открыть тестовый домен с OS Windows
Информация
Посетители, находящиеся в группе Гости, не могут оставлять комментарии к данной публикации.
  • Яндекс.Метрика
  • Счетчик PR-CY.Rank
  • Рейтинг@Mail.ru