воскресенье, 15 августа 2010 г.

Ubuntu, virtual host creating through Apache2

Задавшись целью настроить возможность одновременной работы над несколькими Web-programming проектами, натолкнулся на сложность настройки виртуального хостинга для Apache2. Итак: вы хотите одновременно разрабатывать несколько проектов (site1, site2, site3) на вашей локальной машине. Для этого:
  1. Откроем файл /etc/hosts. Там будет строка:


    127.0.0.1 localhost
    После слова localhost через пробелы можно добавлять какое угодно количество псевдонимов сайтов для данного IP. Добавим наши сайты. Теперь этот кусок файла примет вид:


    127.0.0.1 localhost site1 site2 site3
  2. Добавим в хвост /etc/apache2/apache2.conf строку, что заявляет индейцу о существовании именных виртуальных хостов:


    NameVirtualHost 127.0.0.1:80
  3. Создадим конфигурационные файлы site1, site2, site3 по образцу default в директории /etc/apache2/sites-available/:


    sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/site{1, 2, 3}
  4. Изменим каждый из них вот тут:


    <VirtualHost *:80>
            ServerAdmin webmaster@localhost

            DocumentRoot /var/www
            <Directory />
                    Options FollowSymLinks
                    AllowOverride None
            </Directory>
            <Directory /var/www/>
                    Options Indexes FollowSymLinks MultiViews
    заменив  /var/www на путь до корневой директории каждого из ваших локальных сайтов
  5. Добавим каждый виртуальный хостинг для использования его индейцем:


    sudo a2ensite site{1, 2, 3}
  6. Передёрнем индейца:


    sudo apache2ctl -k restart
Вуа-ля. Обращаться к каждому теперь можно просто вбив его псевдоним  site{1, 2, 3} в адресную строку браузера.

Как добавлять виртуальные именные хостинги понятно. А удалять их из использования следует командой: sudo a2dissite site{1, 2, 3}