Порядок настройки файла httpd.Conf

Пакет установки создан в формате Windows Installer. Если Вы уже устанавливали Office 2000, то Installer у Вас наверняка уже есть (в этом можно убедиться, поискав папку Installer в каталоге Windows). Хотя скачать его с сайта на всякий случай не мешает - вдруг имеющаяся у Вас версия устарела? Теперь определитесь с директорией, в которую Вы будите устанавливать Apache. Все дальнейшие рассуждения основаны на том, что Вы выбрали для этой цели такой каталог: D:\usr\Apache. Вы можете поставить Apache на любой другой диск. Запустите только что скачанный файл инсталляции. В появившемся диалоге нажмите кнопку Yes, а затем - кнопку Next. Прочитайте лицензионное соглашение и поставьте галочку на против "I accept the terms in the license agreement" и нажмите на кнопку Next.

В следующем окне нужно написать:

a) Network Domain - имя Вашего домена;

b) Server Name - Имя Вашего сервера;

c) Administrator's Email Address - Ваш почтовый адрес;

d) For All Users, on Port 80, as a Service - Сделать доступным для всех пользователей на 80 порт.

В следующем окне выберите установку "Typical" и нажмите кнопку Next

Теперь нажмите кнопку Browse укажите для установки директорию D:\usr\Apache и нажмите Next и подождите, пока будут копироваться файлы Apache.

На запрос о перезагрузке компьютера ответьте "Перезагрузить".

Поздравляем - Apache установлен! Если все прошло успешно, то Вы сможете запросить свой первый документ по адресу http://localhost/. Веб - страница, которую Вы увидете, находится в каталоге DocumentRoot - по умолчанию, это D:\usr\Apache\Apache2\htdocs\. В директории D:\usr\Apache\Apache2\conf находится файл httpd.conf, откройте его. Это - единственный файл, который необходимо настроить. Вам предстоит найти и изменить в нем некоторые строки, а именно те, о которых упоминается далее. Во избежание недоразумений не трогайте всё остальное. Следует заметить, что в нем каждый параметр сопровождается несколькими строками комментариев, разобраться в которых с первого раза довольно тяжело. Поэтому не обращайте на них внимание.

В поле Listen укажите номер порта, на котором будет работать Apache, по умолчанию стоит 80:

Listen 80

лучше так и оставить, но если он занят другой программой, тогда его нужно будет изменить на другой свободный порт. Не забудьте, если Apache использует другой порт, тогда Вам придётся всегда его указывать в ссылках, например, на порт 8080 будет ссылка выглядеть так http://127.0.0.1:8080

В поле ServerAdmin укажите Ваш E-mail адрес, который будет показываться в сообщениях об ошибке сервера. Например:

ServerAdmin [email protected]

В поле ServerName напишите любое слово - на работе это не сказывается, например:

ServerName ApacheServer

Только не забудьте раскомментировать поле ServerName, то есть убрать символ "#" перед этим параметром (по умолчанию он закомментирован)!

В поле DocumentRoot укажите ту директорию, в которой будут храниться Ваши html-файлы, например:

DocumentRoot D:/www

Найдите блок, начинающийся строкой <Directory /> и заканчивающийся </Directory> (вообще, такие блоки обозначают установки для заданной директории и всех ее поддиректорий). Его нужно изменить на:

<Directory />

Options Indexes Includes

AllowOverride All

</Directory>

Таким образом, в этом блоке будут храниться установки для всех директорий по умолчанию (т.к. это - корневая директория).

Возможные значения параметров:

- ExecCGI - разрешить выполнение CGI-сценариев в данном каталоге и его поддереве;

- FollowSymLinks - разрешить переходы по символическим ссылкам (создаваемым командой ln);

- Includes - разрешить SSI (Server Side Includes);

- Indexes - разрешить выдачу листинга каталога, если в нем нет файл index.html (или файла индекса, заданного директивой DirectoryIndex);

- MultiViews - разрешить поддержку многих языков; по умолчанию она отключена, и включать ее, как правило, не нужно; поддержка перекодирования "на лету" для русского языка устанавливается с помощью других директив, которые мы рассмотрим позже;

- All - установить сразу все перечисленные режимы кроме MultiViews.

Найдите аналогичный блок, начинающийся <Directory "d:/usr/Apache/htdocs"> и заканчивающийся </Directory>. Там будет много комментариев, не обращайте на них внимание. Этот блок следует заменить на:

<Directory "D:/www">

Options Indexes Includes

AllowOverride All

Order allow,deny

Allow from all

</Directory>

Это - установки для директории с Вашими html-документами. Если хотите, можете установить другую директорию, главное, чтобы она совпадала с той, которая прописана в параметре DocumentRoot.

Идем дальше. Установите UserDir, например, так:

UserDir "d:/home"

Это будет директория, в которой хранились бы домашние страницы пользователей, если бы это был настоящий Web-сервер, а также корневые каталоги виртуальных хостов (см. ниже). Не забудьте также создать этот каталог.

Установите DirectoryIndex так:

DirectoryIndex index.html index.htm

Это - так называемые файлы индекса, которые автоматически выдаются сервером при обращении к какой-либо директории, если не указано имя html-документа. В принципе, можно добавить сюда и другие имена, например, index.phtml, если Вы будите работать с PHP и т.д.

Найдите и пропишите такой параметр:

ScriptAlias /cgi-bin/ "d:/cgi-bin/"

Да, именно так, с двумя слэшами. Это будет та директория, в которой должны храниться Ваши CGI-скрипты. Если хотите, можете задать другое имя, например:

ScriptAlias /mycgi/ "d:/mycgidir/"

Подобный параметр говорит Apache о том, что, если будет указан путь вида http://localhost/cgi-bin, то на самом деле следует обратиться к директории D:/cgi-bin.

Теперь следует найти и настроить блок параметров, начинающийся с <Directory "D:/cgi-bin"> и заканчивающийся </Directory>. Это - установки для Вашей CGI-директории (если Вы установили для нее другое имя на предыдущем шаге, соответственно модифицируйте путь). Там должно быть:

<Directory "D:/cgi-bin">

AllowOverride All

Options ExecCGI

</Directory>

Теперь найдите строку AddDefaultCharset. Там должно быть:

AddDefaultCharset ISO-8859-1

измените так:

AddDefaultCharset WINDOWS-1251

Эта строка отвечает за кодировку в которой хранятся на диске Ваши файлы.

Настройте следующий параметр:

AddHandler cgi-script .bat .exe .cgi .pl

Это говорит Apache о том, что файлы с расширением .exe и .bat нужно рассматривать как CGI-скрипты.

И последнее - установите:

AddHandler server-parsed .shtml .shtm .sht

Или, если Вы хотите, чтобы и обычные файлы html обрабатывались SSI, напишите так:

AddHandler server-parsed .shtml .shtm .sht .html .htm

Поздравляем - Вы настроили свой Apache, и он должен уже работать! Для запуска сервера нажмите Пуск->Программы->Apache HTTP Server->Control Apache

Server->Start при этом появится окно, очень похожее на Сеанс MS-DOS, и ничего больше не произойдет. Не закрывайте его и не трогайте пока оно само не закроется. Ещё появится в трее иконка, с помощью которой можно запускать и отключать сервер Apache.

Основные шаги, которые можно проделать для проверки работоспособности сервера:

Проверка html. В директории d:\www. Создайте файл index.html, например с таким содержанием:

<HTML>

<BODY>

<H1>УРА! Сервер работает!</H1>

</BODY>

</HTML>

Теперь запустите браузер и наберите:

http://localhost/index.html или просто http://localhost/

Загрузится Ваш файл.

Проверка CGI: в директории D:/cgi-bin для CGI-скриптов создайте файл test.bat с таким содержанием:

@echo off

echo Content-type: text/html

echo

pause

dir

Теперь в браузере наберите: http://localhost/cgi-bin/test.bat. В окне отобразится результат команды DOS dir. (Хотелось бы отметить, что указанный тест работает не на всех версиях Windows, иногда вместо того, чтобы выполнить файл test.bat, Apache выводит в браузер его содержимое. С чем это связано - не совсем ясно, однако, кажется, можно избавиться от указанной ошибки путем манипулирования с Реестром. Если у Вас test.bat не запускается, не расстраивайтесь: вряд ли Вы когда-нибудь будете писать скрипты в виде bat-файлов, тем более, что это несовместимо с Unix.)

Проверка SSI: аналогична проверке html. Создайте файл test.html с таким содержанием:

<!--#include virtual="/cgi-bin/test.bat"-->

Если bat - файлы Ваш Apache запускать не хочет (см. выше), то дождитесь установки Perl или PHP.

Если что-то пошло не так, окно Apache открывается и тут же закрывается, или выдаёт следующее сообщение:

Syntax error on line 57 of D:/usr/Apache/Apache2/conf/httpd.conf

:ServerRoot must be a valid directory

Note the errors or messages above, and press the <ESC> key to exit. 17...23...

это значит, произошла ошибка - в httpd.conf.

Создание виртуальных хостов

На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.

Сначала требуется указать какой IP-адрес используется для виртуальных хостов.

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>

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

</VirtualHost>

Далее нужно прописать директивы для контейнера <VirtualHost>, которые будут определять конфигурацию виртуального хоста.

Пример: Файл httpd.conf. Контейнер <VirtualHost>

<VirtualHost 127.0.0.1:80>

ServerAdmin webmaster@may_domain.ru

DocumentRoot c:/www/mysite

ServerName www.mysite.ru

ServerAlias www.site.ru www.host2.ru

ErrorLog logs/mysite-error.log

CustomLog logs/mysite-access.log common

</VirtualHost>

Рассмотрим директивы виртуального узла:

DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)

ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу http://www.mysite.ru/.

ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена: http://www.site.ru/ и http://www.host2.ru/.

ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.

Контейнеры обычно располагают один за другим в конце файла httpd.conf.

Пример: Файл httpd.conf. Настройка виртуальных хостов

NameVirtualHost 127.0.0.1:80

<VirtualHost 127.0.0.1:80>

# Директивы виртуального хоста 1

</VirtualHost>

<VirtualHost 127.0.0.1:80>

# Директивы виртуального хоста 2

</VirtualHost>

<VirtualHost 127.0.0.1:80>

# Директивы виртуального хоста 3

</VirtualHost>

Примечание: Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.

Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:\Window\System32. Файл hosts содержит записи вида:

127.0.0.1 www.mysite.ru

127.0.0.1 www.site.ru

127.0.0.1 www.host2.ru

Установка и настройка PHP

Скачайте PHP 4.3.4 installer (1,043Kb), и устанавливаете к себе на компьютер, как любую обыкновенную программу.

1. Нажмите кнопку Next;

2. Соглашайтесь с условиями лицензии, жмите I Agree;

3. Выберите Standard, и жмите на кнопку Next;

4. Установщик предлагает по умолчанию папку c:\php. Нажите на кнопку Browse… , и укажите папку D:\usr\PHP ;

5. Теперь Вам нужно будет указать ваш SMTP-сервер и почтовый адрес. Имя сервера оставьте неизменным - " localhost" или же укажите SMTP-сервер своего провайдера - без разницы, а адрес "[email protected]" замените на Ваш почтовый адрес;

6. Вам предлагают выбрать название используемого вебсервера, нужно будет указать "Apache". Установщик также спросит, к каким расширениям файлов ему привязать вызов PHP4 - укажите все три, - "*.php", "*.php3" и "*.phtml".

После установки Вам нужно будет скопировать из D:\usr\php файл php4ts.dll в папку С:\windows\system32. Если php4ts.dll там уже есть, оставьте имеющийся файл.

Настройка PHP

Теперь откройте файл conf/httpd.conf и добавьте в его конец (но перед блоком виртуальных хостов, если они там есть) такие строки:

AddType application/x-httpd-php3 phtml php3 php

Action application/x-httpd-php3 "/__php_dir__/php.exe"

ScriptAlias /__php_dir__/ "d:/usr/php/"

<Directory "d:/usr/php">

Options ExecCGI

</Directory>

Откройте файл php.ini, который находится в каталоге Windows, в нём есть закомментированные строки, выглядящие так:

;extension=имя_модуля.dll

Если Вы хотите включить какой-нибудь модуль (по умолчанию уже включена поддержка GD и mSQL), раскомментируйте соответствующую строку (уберите точку с запятой).

Ну вот, пожалуй, и все. Если Вы все сделали правильно, то PHP установлен.

Проверьте его работоспособность, для этого создайте файл d:/www/test.php3 с таким содержанием:

<?

echo "<h1>Ура!! PHP-скрипты работают!!!!!</h1>\n";

phpinfo();

?>

Если скрипт заработает, и Вы видите эту фразу, набрав в браузере http://127.0.0.1/test.php3, всё сделано правильно.

Напоминаем, что php-скрипты - не то же самое, что cgi-скрипты. В частности, если cgi-скрипты обычно располагают в /cgi-bin/, то php-скрипт должен лежать в директории с документами, в нашем случае это D:\www\.

Практическая работа №8

Установка и настройка сервера почты.+

Цель работы

1.1 Исследовать процесс настройки почтового сервера и получить практический опыт работы с ним.

Литература

2.1 Олифер В.Г. Компьютерные сети. Принципы, технологии, протоколы: Учебник для ВУЗов. - СПб.: Питер, 2002 г.

Подготовка к работе

3.1 Повторить теоретический материал по данной теме;

3.2 Подготовить бланк отчета.

Основное оборудование

4.1 ПЭВМ.

Задание

5.1 Создать почтовый сервер.

Порядок выполнения работы

6.1 Выполните задание по условию приложения;

6.2 Покажите преподавателю получившиеся результаты;

6.3 Ответьте письменно на контрольные вопросы.

Содержание отчета

7.1 Цель работы;

7.2 Подробное описание выполненной работы;

7.3 Ответы на контрольные вопросы;

7.4 Вывод.

8 Контрольные вопросы

8.1 Что такое почтовый сервер?

8.2 В чем разница между IMAP и STMP?

8.3 В каком формате хранятся на жёстком диске почтовые сообщения?

Приложение

Почтовый сервер – в системе пересылки электронной почты так обычно называют агент пересылки сообщений. Это компьютерная программа, которая передаёт сообщения от одного компьютера к другому. Обычно почтовый сервер работает «за кулисами», а пользователи имеют дело с другой программой — клиентом электронной почты.

hMailServer — бесплатный почтовый сервер под платформу Windows. Работает как служба Windows и включает в себя инструменты администрирования и резервного копирования. Поддерживает почтовые протоколы IMAP, POP3 и SMTP. Для хранения настроек и индексов использует базы данных типа MySQL, MS SQL или PostgreSQL, сами же почтовые сообщения хранятся на жестком диске в формате MIME.

Наши рекомендации