Apache — несколько сайтов на локальном компьютере.

Аватар пользователя userok


Apache — несколько сайтов на локальном компьютере.

Доброго времени суток посетителям нашего сайта. В этой небольшой статье мы рассмотрим возможность использования вэб-сервера apache на локальном компьютере с ОС Linux для размещения нескольких сайтов. Если у Вас в разработке находится параллельно несколько проектов, то данная возможность вам пригодится.

Итак, по-умолчанию после установки вэб-сервера apache для размещения сайтов доступен каталог /var/www/html/. Сразу после установки apache здесь помещается файл index.html, содержимое которого «It works!» выводится в браузере по адресу 127.0.0.1 или localhost.

Мы оставим файлик index.html в покое, пусть его содержимое показывается нам по адресу localhost. Для каждого нашего сайта мы создадим отдельный каталог в папке /var/www/html/ рядом с index.html.

Пусть мы хотим расположить на нашем вэб-сервере два сайта: firstsite и secondsite. Они будут доступны по адресам: firstsite.localhost и secondsite.localhost соответственно. Для этого создадим следующие каталоги:

# mkdir /var/www/html/firstsite
# mkdir /var/www/html/secondsite

Права доступа и владельца каталогов выставим такими-же как на родительский каталог /var/www/html/. Подробнее о правах на файлы и каталоги в GNU/Linux вы можете почитать в статье на нашем сайте.

Установим вледельца root и группу webmaster:

#sudo chown root:webmaster /var/www/html/firstsite
#sudo chown root:webmaster /var/www/html/secondsite

Дадим владельцу и группе полные права на каталоги, остальным — на чтение.

#sudo chmod 775 /var/www/html/firstsite
#sudo chmod 775 /var/www/html/secondsite

Создадим так же два отдельных каталога для хранения логов каждого сайта:

# mkdir /var/log/httpd2/firstsite
# mkdir /var/log/httpd2/secondsite

Права доступа и владельца каталогов выставим такими-же как на родительский каталог /var/log/httpd2/. Установим вледельца root и группу apache2 для этих каталогов:

#sudo chown root:apache2 /var/log/httpd2/firstsite
#sudo chown root:apache2 /var/log/httpd2/secondsite

Дадим владельцу полные права на каталоги, группе — просмотр, остальным — нет доступа.

#sudo chmod 750 /var/log/httpd2/firstsite
#sudo chmod 750 /var/log/httpd2/secondsite

Теперь добавим в конец файла /etc/hosts следующие две строки:
127.0.0.1 firstsite.localhost
127.0.0.1 secondsite.localhost

Все подготовительные работы закончены, перейдём к настройке конфигурационного файла apache по адресу /etc/httpd2/conf/httpd2.conf. Добавим в конец файла следующие строки:

# виртуальные хосты

NameVirtualHost 127.0.0.1

# по адресу localhost будет доступен сайт находящийся в корневом каталоге
# вэб-сервера /var/www/html. В нашем случае там будет лежать только файлик index.html
# выдающий «It works!» чтобы не было путаницы.


# путь к каталогу сайта
DocumentRoot /var/www/html
# имя сервера
ServerName localhost
# путь к логам сайта
ErrorLog /var/log/httpd2/error_log
CustomLog /var/log/httpd2/access_log combined

# первый сайт, который будет доступен по адресу firstsite.localhost

# путь к каталогу сайта
DocumentRoot /var/www/html/firstsite
# имя сервера
ServerName firstsite.localhost
# путь к логам сайта
ErrorLog /var/log/httpd2/firstsite/error_log
CustomLog /var/log/httpd2/firstsite/access_log combined

# второй сайт, который будет доступен по адресу secondsite.localhost

# путь к каталогу сайта
DocumentRoot /var/www/html/ secondsite
# имя сервера
ServerName secondsite.localhost
# путь к логам сайта
ErrorLog /var/log/httpd2/secondsite/error_log
CustomLog /var/log/httpd2/secondsite/access_log combined

Теперь перезапускаем apache:
#/etc/init.d/httpd2 restart

Если всё сделано правильно, то по адресу localhost или 127.0.0.1 будет доступен сайт, лежащий в корневом каталоге вэб-сервера /var/www/html/, по адресу firstsite.localhost будет доступен сайт, находящийся в /var/www/html/firstsite, а по адресу secondsite.localhost будет доступен сайт, находящийся в /var/www/html/secondsite .

Эта статья опубликована под Creative Commons Attribution ShareAlike лицензией.

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