Перейти к содержанию
Авторизация  

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


Описание

как добавить сайт на впс без панели.

Однажды я взял впс на ихц.ру без панели и долго мучался,как же засунуть туда свой сайтик)))

 

Для настройки виртуальных хостов на web сервере apache2 под ubuntu 7.10, 8.04, 8.10, 9.04, 9.10, Debian 5 необходимо в самое начало или конец (вне инструкций ) файла /etc/apache2/sites-available/default добавить директиву:

 

NameVirtualHost 192.168.0.1

Там необходимо указать IP адрес либо DNS имя компютера на котором размещён вебсервер, можно указать localhost или 127.0.0.1

 

Необходимо создать файл виртуального хоста в директории: /etc/apache2/sites-available/

например ваш сайт называется maxiland.ru, значит логичнее создать чтото вроде /etc/apache2/sites-available/maxiland_ru.conf. В любом случае это название должно вам говорить для чего этот файл и будет лучше если вы будете придерживаться какого то одного правила создания таких файлов. Затем в этот файл добавляем такой текст:

 

<VirtualHost *:80>
DocumentRoot "/home/httpd/maxi.ru/www"
ServerName maxi.xxx
<Directory />
allow from all
Options +Indexes
</Directory>
ScriptAlias /cgi-bin/ "/home/httpd/maxi.ru/cgi-bin/"
CustomLog /home/httpd/maxi.ru/access.log common
ErrorLog /home/httpd/maxi.ru/error.log
</VirtualHost>

Здесь мы создали виртуальный хост которых будет обрабатывать запросы на 80 порту с любого доступного адреса

 

Также тут указана корневая директория сайта, директория с cgi скриптами и пути к файлам журналов работы вебсервера

 

Для корневой деректори указаны дополнительные(необязательные) опции: разрешение доступа с любого адреса и включение модуля обработки индексного файла, в принципе эти опции не обязательны и нужны только если приходится переопределять глобальные политики доступа и загрузки модулей вебсервером

 

После создания этого файла веб сервер ещё не видит его. Если внимательно посмотреть на файлы в директориях /etc/apache2/sites-enabled/ и /etc/apache2/sites-available/ то должно стать ясно, то что в директории /etc/apache2/sites-available лежат файлы описывающие виртуальные хосты, а в папке/etc/apache2/sites-enabled/ лежат симлинки на файлы в sites-available. Исходя из названий становится ясно, что:

sites-available - все доступные виртуальных хосты

sites-enabled - включаемые вебсервером

то есть, чтобы добавить виртульный хост в apache2, необходимо либо создать файл нового виртуального хоста в sites-available либо дописать(не желательно) его в уже имеющийся там файл, а чтобы включить виртуальный хост, необходимо чтобы директории sites-enabled была ссылка на файл описывающий виртуальных хост

 

Это сделанно для того, чтобы разделить виртуальные домены на уровне хостинга. Например, хостер чтобы временно удалить какой то домен удаляет ссылку из папки sites-enabled и перезапускает вебсервер и так же быстро включает домен снова, без правки единого конфига, как это было реализованно ранее.

 

Итак, включаем наш, только что созданный, новых виртуальный хост:

 

ln -s /etc/apache2/sites-available/maxi_ru.conf /etc/apache2/sites-enabled/maxiland_ru.conf

Этой командой мы создаём симлинк(символическую ссылку на один файл в другой директории) на рабочий файл виртуального хоста, который будет обработан при следующем перезапуске вебсервера

 

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

 

Чтобы включить этого необходимо в файл виртального хоста, внутри инструкций .. добавить список необходимых алиасов:

 

<VirtualHost *:80>
....другие инструкции
ServerName maxi.xxx
....
ServerAlias www.maxi.xxx
ServerAlias maxi.ffsdmad.homelinux.org
ServerAlias www.maxi.ffsdmad.homelinux.org
....
</VirtualHost>

Вполне возможно придётся заниматься отладкой модуля mod_rewrite, для этого необходимо в файл виртуального хоста добавить строки:

 

<VirtualHost *:80>
....другие инструкции
RewriteLog /home/httpd/maxi.ru/rewrite.log
RewriteLogLevel 9
</VirtualHost>

Начните с небольшого примера и постепенно расширяйте возможности своего виртуального хостинга различными возможностями вебсервера apache2 (а их у него предостаточно) и постепенно вы поймёте насколько проста и логична такая структура в условиях такого сложного сервиса как вебхостинг



Рекомендуемые комментарии

Комментариев нет

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
×
×
  • Создать...