Порядок настройки файла 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.