Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Сайтостроительство. Практические решения.


Информационный Канал Subscribe.Ru


Домашний виртуальный сервер.

При верстке страниц и отладке сделанных документов возникает задача проверить, как это все будет выглядеть и работать в сети Интернет. Стандартные средства виндовс не позволяют это сделать, т.к. нет поддержки CGI, PHP скриптов, нет SSI. В этом случае Вам поможет домашний виртуальный сервер. При этом вы сможете отладить свою страничку таким образом, как если бы были в сети интернет. Прочитав эту статью и скачав дистрибутивы, Вы будете вооружены всеми инструментами, которые так необходимы для профессиональной работы в Web! И так приступим…

Будем основывать свой выбор на легко доступном программном обеспечении, при этом вы не затратите ни копейки своих собственных средств (не включая плату за интернет :), по этому выберем сервер Apache. Его можно скачать с официального сайта в интернете http://www.apache.org/ . К достоинствам сервера отнесем еще тот факт, что он мультиплатформенный , это значит, что на приложения будут почти одинаково работать как среде UNIX, так и Windows.
Итак, Вы скачали сервер? Нет? Так быстренько скачиваем, так как сейчас мы будем говорить о его настройке. Хотите иметь адрес на вашем домашнем компьютере, как в интернете, типа http:/www.моя_домашняя_страничка.ru
Приступим к его установке и настройке.
Внимание! Попрошу Вас в точности выполнять перечисленные ниже шаги, не пропуская и не откладывая ни одного. В этом случае все заработает - это проверено.

Установка сервера Apache.

Создайте в корневой каталог, вида c:\usr\local\apache - сюда мы будем устанавливать сервер. Этот каталог максимально соответствует каталогу для реального Web-сервера Интернета. Ведь чем ближе в плане конфигурации мы будем к такому серверу, тем лучше и эффективнее сможем работать. Так же создайте каталоги:

с:\www - здесь мы будем хранить свои сайт.
c:\home - здесь мы будем хранить виртуальных хосты
c:\cgi-bin - здесь расположим скрипты
Теперь по шагам.

  1. Запускаем дистрибутив apache_setup.exe
  2. В появившемся диалоге нажмите кнопку Yes, а затем - кнопку Next.
  3. Теперь нажмите Browse. Вручную задайте директорию для установки: c:\usr\local\apache и нажмите кнопку OK.
  4. Выберите тип установки - Сustom и уберите флажок Source Code (вам же не нужны исходные тексты Apache). Этим Вы сэкономите себе 3 Мбайта.
  5. Нажмите Next и ждем, пока будут копироваться файлы Apache.
  6. На запрос о перезагрузке компьютера ответьте "Перезагрузить".

Поздравляем - Apache установлен!

Настройка файла конфигурации Apache mime.types

  1. Откройте директорию c:\usr\local\apache\conf. Откройте для редактирования находящийся там файл mime.types.
  2. Найдите в нем такую строчку:
    text/html html htm
    Измените ее на:
    text/html html htm shtml shtm sht
    Следует заметить, что можно не изменять этот файл настройки, а вместо этого прописать в файле httpd.conf строку:
    AddType text/html html htm shtml shtm sht
    Настройка файла httpd.conf
    Внимание! Это - самый ответственный момент установки. Прошу соблюдать инструкции как они есть.
  1. В директории c:\usr\local\apache\conf откройте для редактирования файл httpd.conf. Это - единственный файл, который Вам осталось настроить. Найдите и измените строки, а именно те, о которых упоминается далее. Если не понимаете значения других строк лучше их пока не трогать. Следует заметить, что в этом файле каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте на них внимание. Комментарии начинаются со значка "решетка" - #.
  2. В поле ServerAdmin укажите Ваш E-mail адрес, который будет показываться в сообщениях об ошибке сервера. Например:
    ServerAdmin error@email.ru
  3. В поле ServerName напишите любое слово - на работе это не сказывается, например:
    ServerName ServerApache
    Только не забудьте раскомментировать поле ServerName, то есть убрать символ "#" перед этим параметром (по умолчанию он закомментирован)!
  4. В поле DocumentRoot укажите ту директорию, в которой будут храниться Ваши html-файлы:
    DocumentRoot c:/www
  5. Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (эти блоки обозначают установки для заданной директории и всех ее поддиректорий). Этот блок нужно изменить на:
    <Directory />
    Options Indexes Includes
    AllowOverride All
    </Directory>
    В этом блоке храниться установки для всех директорий по умолчанию, т.к. это - корневая директория.
  6. Найдите аналогичный блок, начинающийся <Directory "c:/usr/local/apache/htdocs"> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок следует заменить на:
    <Directory "c:/www">
    Options Indexes Includes
    AllowOverride All
    Order allow,deny
    Allow from all
    </Directory>

    Это - установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, но чтобы она совпадала с той, которая прописана в параметре DocumentRoot
  7. Установите UserDir, например так:
    UserDir c:/home
    Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов. Не забудьте также создать этот каталог.
  8. Установите DirectoryIndex так:
    DirectoryIndex index.htm index.html
    Здесь задаются файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории. Так же можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д., например:
    DirectoryIndex index.htm index.html index.php index.phtml index.php3
  9. Найдите и пропишите такой параметр:
    ScriptAlias /cgi-bin/ "c:/cgi-bin/"
    Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например:
    ScriptAlias /cgi/ "c:/cgi/"
    Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории c:/cgi-bin.
  10. Настроите блок параметров, начинающийся с <Directory "c:/cgi-bin"> и заканчивающийся </Directory>. Это - установки для Вашей CGI-директории. Там должно быть:
    <Directory "с:/cgi-bin">
    AllowOverride All
    Options ExecCGI
    </Directory>
  11. Настройте следующий параметр:
    AddHandler cgi-script .bat .exe
    Это говорит Apache о том, что файлы с расширением .exe и .bat нужно рассматривать как CGI-скрипты.
  12. И последнее - установите:
    AddHandler server-parsed .shtml .shtm .sht
    Или, если Вы хотите, чтобы и обычные файлы html обрабатывались SSI, напишите так:
    AddHandler server-parsed .shtml .shtm .sht .html .htm

И так, настройка сервера Apache завершена. Теперь проверяем его.
Для запуска сервера нажмите Пуск->Программы->Apache Web Server->Start Apache as console app, при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте до конца работы с Apache. Для завершения работы сервера выполните Пуск->Программы->Apache Web Server->Shutdown Apache as console app, при этом появится еще одно окно, которое быстро закроется и поле завершит работу сервер.
Шаги, которые можно проделать для проверки работоспособности сервера:

  • Проверка html: в директории c:/www с html-документами Apache создайте файл index.html. Теперь запустите браузер и наберите:
    http://localhost/index.html
    или просто
    http://localhost/
    Загрузится Ваш файл.
  • Проверка CGI: в директории c:/cgi-bin для CGI-скриптов создайте файл test.bat с таким содержанием:
    @echo off
    echo Content-type: text/html
    echo.
    echo.
    dir

    Теперь в браузере наберите:
    http://localhost/cgi-bin/test.bat
    В окне отобразится результат команды DOS dir.
  • Проверка SSI: аналогична проверке html. Используйте, например, директиву в тексте index.html:
    <!--#exec cgi="/cgi-bin/test.bat"-->

Если все работает, то теперь можно настроить виртуальные хосты, если нет то проделайте все заново как указано, по шагам!

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

Итак, Вы установили Apache. Получили, таким образом, директорию c:/www для хранения документов и c:/cgi-bin для CGI. Но в Интернете у Вас несколько серверов, а Apache создал для вас только один. Конечно, можно структуру этих нескольких серверов хранить на одном - главном хосте localhost, однако проще и удобнее было бы создать несколько виртуальных хостов с помощью Apache, например, один с именем server1 и адресом 127.0.0.2, а другой - с именем server2 и адресом 127.0.0.3. (Конечно, вместо "server1" и "server2" Вам нужно будет указать имена Ваших виртуальных хостов. Советуем назвать их так же, как и на Вашем настоящем Web-сервере - это может многое упростить при программировании скриптов.)
Как это принято в Unix, каждый сервер будет представлен своим каталогом в директории c:/home с именем, совпадающим с именем сервера. Например, сервер server1 будет храниться в директории c:/home/server1. В этой директории будут находиться:

  • файл access.log - журнал доступа к виртуальному серверу.
  • файл errors.log - журналом ошибок сервера.
  • директория www, где будут храниться html-документы.
  • директория cgi для хранения CGI-программ.

Последние две директории (www и cgi) Вам необходимо создать.
Для установки виртуального хоста необходимо сделать некоторые изменения в файле конфигурации Apache httpd.conf , а также в некоторых файлах Windows. Вот необходимые действия:

  1. Откройте в c:\usr\local\apache\conf файл httpd.conf. Перейдите в его конец, и добавьте строки в конце файла после всех комментариев:
    #----server1
    <VirtualHost 127.0.0.2>
    ServerAdmin admin@server1.ru
    ServerName server1
    DocumentRoot "c:/home/server1/www"
    ScriptAlias /cgi/ "c:/home/server1/cgi/"
    ErrorLog f:/home/server1/error.log
    CustomLog f:/home/server1/access.log common
    </VirtualHost>

    При желании можно добавить и другие параметры (например, DirectoryIndex и т.д.) Вообще, не переопределенные параметры наследуются виртуальным хостом от главного.
  2. Теперь надо подправить системный файл hosts, который находится в C:\WINDOWS (такого файла может не быть, в этом случае его надо создать). hosts - текстовый файл, и в нем обычно заранее прописана только одна строка:
    127.0.0.1 localhost
    эта строка и задает соответствие имени localhost адресу 127.0.0.1. Для нашего виртуального хоста надо добавить соответствующую строчку, чтобы файл выглядел так:
    127.0.0.1 localhost
    127.0.0.2 server1

Этим Вы создадите виртуальных хост со следующими свойствами:

  • Имя хоста - server1
  • Адрес http://server1 (или http://127.0.0.2).
  • Расположен, соответственно, в директории c:/home/server1.
  • Директория для хранения документов - c:/home/server1/www, доступная по адресу http://server1/.
  • Директория для CGI - c:/home/server1/cgi, доступная по адресу http://server1/cgi/
  • Файлы логов хранятся в c:/home/server1

Таким образом мы создали один виртуальный хост. Если будет необходимо сделать второй, нужно просто проделать аналогичные действия, заменив параметры, связанные с расположением хоста на диске. Главное, не забудьте в этом случае указать другой IP-адрес (лучше всего указывать их последовательно, начиная с 127.0.0.2, затем 127.0.0.3 и т.д. - в этом случае все работает корректно). Желательно также для этих целей не указывать IP-адрес http://127.0.0.1, так как это - адрес главного сервера.
Кстати, необходимо заметить, что главный хост (невиртуальный, тот, который мы создали в разделах 1 и 2) по-прежнему доступен по адресу http://127.0.0.1 или http://localhost. Более того, его директория cgi-bin "видна" всем созданным виртуальным хостам, так что Вы можете ее использовать.
В следующий раз мы опишем установку PHP и MySQL, по этому лучше сразу запаситесь дистрибутивами. Они также предоставляются бесплатно.
Вот их адреса:
http://www.php.net/
http://www.mysql.com/

Свои отзывы и вопросы Вы можете направлять по адресу: faq@st5.hut.ru
Материалы сайта: Пятая студия


http://subscribe.ru/
E-mail: ask@subscribe.ru
Отписаться
Убрать рекламу

В избранное