--PAGE_BREAK--srm.confзадаются параметры документов, которые размещены на сервере.
● Файл access.confсодержит параметры доступа к серверу.
Начиная с версии 1.3, рекомендуется все директивы, которые раньше находились в файлах srm.confи access.conf, помещать в файл httpd.conf.
Сервер Apacheверсии 2.0, который входит в состав дистрибутива Linux Red Hat 9.0, содержит еще несколько конфигурационных файлов: apache-mime.types, vhosts/vhosts.conf,vhosts/VirtualHomePages.conf, vhosts/DynamicVHosts.conf. В файле apache-mime.typesсодержатся типы MIME, поддерживаемые сервером Apache. Файлы vhosts.conf, VirtualHomePages.conf, DynamicVHosts.confотносятся к конфигурированию виртуальных Web-серверов, о которых речь пойдет немного позже.
2.2. Конфигурационный файл httpd.conf и его директивы
Директивой называется параметр сервера, влияющий на его поведение. Директивы бывают простыми и сложными, которые также называются блоками директив. Простые директивы изменяют только одно свойство сервера, например, его имя, а блоки директив позволяют изменять сразу несколько свойств какого-нибудь объекта, например, каталога.
Как уже отмечалось ранее, этот файл содержит практически все директивы, необходимые для работы сервера. Директивы конфигурационного файла сервера Apacheможно условно разделить на такие группы:
1. Общие.К общим директивам относятся глобальные директивы, влияющие на работу всего Web-сервера. Это директивы ServerName, ServerType, Port, User и Group, ServerAdmin, ServerRoot, PidFile, DocumentRoot, UserDir.
2. Директивы протоколирования:Error Log, TransferLog, HostnameLookups.
3. Директивы ограничения доступа:AllowOverride, Options, Limit.
4. Директивы управления производительностью:StartServers, MaxSpareServers, MinSpareServers, а также Директива CacheNegotiatedDocs.
5. Директивы обеспечения постоянного соединения с клиентом:Timeout, KeepAlive, KeepAliveTimeout.
6. Директивы настройки отображения каталогов.Оформить отображение каталогов можно с помощью директив настройки отображения каталогов: Directorylndex, Fancylndexing и AddlconByType.
7. Директивы обработки ошибок.Директивой обработки ошибок HTTP-сервера является директива ErrorDocument. С ее помощью можно установить реакцию на любую ошибку сервера, например, на ошибку 404 (документ не найден).
8. Директивы перенаправления:Redirect, Alias и ScriptAlias.
9. Директивы для работы с многоязычными документами:AddLanguage и LanguagePriority.
10. Директивы обработки MIME-типов.Настроить свой сервер для обработки различных MIME-типов можно с помощью директив DefaultType, AddEncoding, AddType, AddHandler и Action.
11. Директивы создания виртуальных узлов:VirtualHost, Listen, BindAddress.
Все эти директивы редактировать вам вряд ли придется — нужно будет задать только значения директив ServerNameи ServerAdmin. По умолчанию остальные директивы содержат вполне разумные значения. Далее приведено описание директив, используемых в файле httpd.conf.
2.3. Настройка файла конфигурации Apache
Apacheпо праву считается одним из лучших веб-серверов, однако заставить его правильно работать не каждому под силу. В лучших традициях *nix-программ все настройки осуществляются редактированием текстового файла httpd.conf. Значительно облегчить конфигурирование может графическая оболочка ApacheConf 3.3: apache-gui.com, www.zecos.com, support@zecos.com.ApacheConf 3.3 позволяет редактировать файл httpd.conf, используя графический интерфейс (GUI):
Все параметры сервера в утилите удобно разбиты на разделы (глобальные параметры, виртуальные хосты и т.п.), имеет мастера по установки SSI, PHPи множество дополнительных функций. Начинающие администраторы смогут улучшить свои знания Apache — многие директивы снабжены комментариями, имеются подсказки на русском языке. Опытным пользователям программа поможет сэкономить время при настройке. Поддерживаются версии сервера Apache 2 и 1.3.Редактировать можно как локальный файл httpd.conf, так и расположенный на FTP-сервере.
Конфигурирование Apache— непростое занятие. К счастью, все директивы сервера подробно описаны в сопроводительной документации, включенной в дистрибутив. Существует и online-версия руководства. Она доступна по адресу httpd.apache.org/docs/. Главное достоинство документации на сайте в том, что по ней можно проводить поиск, что недоступно при использовании руководства из дистрибутива.
Следует в точности выполнять перечисленные ниже шаги, не пропуская и не откладывая ни одного.
Создайте в папке home папкуlocalhost:
В папке localhost будет храниться содержимое главного хоста Apache-того, который будет доступен по адресу localhost.
В папке localhostследует создать папкиcgi-bin иwww:
В папкеcgi-bin будут хранитьсяCGI-сценарии, а в папкеwww – программы наPHP и разные документы. Обратите внимание CGI-сценарии – это не совсем то же самое, что PHP – скрипты. Поэтому они должны располагаться раздельно.
Для настройки Apacheнеобходимо открыть файл D:\usr\Apache\conf\httpd.confпри помощи Блокнота илиNotepad++. Это единственный файл, который нужно настроить. Прежде чем начать редактирование данного файла рекомендуется сделать его резервную копию (например, с названием: httpd.conf рез коп исх).
Приступим к настройке.
1. Первую опцию, которую мы установим, будет путь к Apache. Измените ее следующим образом:ServerRoot "/usr/Apache"
2. Далее установим число запросов, которое сервер может обрабатывать одновременно:ThreadsPerChild 15
3. Директиву BindAddressиспользовать не рекомендуется, поэтому оставьте ее закомментированной:
4. Раскомметируйте строку подключения модуля:LoadModule rewrite_module modules/mod_rewrite.so
5. В конец списка загружаемых модулей добавьте строку:LoadModule php4_module "/usr/php/sapi/php4apache.dll"
Эта строка подключает модуль PHPдля правильной работы с Apache. Если его не подключить, то могут возникать проблемы при работе со скриптами.
6. После подключения модуля PHPдобавьте две строчки:
#For the module mod_rewrite
RewriteEngine On
7. Далее идет раздел добавления модулей Apache — AddModule. Его необходимо поменять местами с разделом LoadModule. Т.е. раздел:
# Reconstruction of the complete module list from all available modules
# (static and shared ones) to achieve correct module execution order.
AddModule mod_setenvif.c
поместите перед словами:
#
# Dynamic Shared Object (DSO) Support
#
Перейдем ко второму разделу файла httpd.conf – конфигурация сервера по умолчанию.
8. В опции ServerAdminследует указать адрес, на который следует направлять сообщения в случаи неправильной работы сервера:
ServerAdmin admin@localhost.ru
9. Опция ServerNameзадает имя сервера:
ServerName localhost
10. Опция DocumentRootуказывает каталог, в котором расположены web-страницы:DocumentRoot "/home"
Было:
Стало:
11. Опция и используется для применения опций к конкретному каталогу. Замените следующий блок:
#
# This may also be «None», «All», or any combination of «Indexes»,
# «Includes», «FollowSymLinks», «ExecCGI», or «MultiViews».
#
# Note that «MultiViews» must be named *explicitly* — «Options All»
# doesn't give it to you.
#
Options Indexes FollowSymLinks MultiViews
#
# This controls which options the .htaccess files in directories can
# override. Can also be «All», or any combination of «Options», «FileInfo»,
# «AuthConfig», and «Limit»
#
AllowOverride None
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
на блок:
#
# This may also be «None», «All», or any combination of «Indexes»,
# «Includes», «FollowSymLinks», «ExecCGI», or «MultiViews».
#
# Note that «MultiViews» must be named *explicitly* — «Options All»
# doesn't give it to you.
#
Options Indexes FollowSymLinks Includes MultiViews
#
# This controls which options the .htaccess files in directories can
# override. Can also be «All», or any combination of «Options», «FileInfo»,
# «AuthConfig», and «Limit»
#
AllowOverride All
#
# Controls who can get stuff from this server.
#
Order allow,deny
Allow from all
В этом блоке была настроена папку home. Давайте разберем значения опций.
● ДирективаOptionsопределяет, какие особенности сервера являются доступными в данном каталоге:
— Indexes — если запрошенный URLсоответствует папке, и в этой папке нет ничего соответствующего DirectoryIndex(например, index.html), то сервер выведет содержание данной папки;
— FollowSymLinks — разрешить переходы по символическим ссылкам (создаваемым командой ln);
— Includes — разрешить SSI(Server Side Includes);
— MultiViews — разрешить поддержку многих языков.
● ДирективаAllowOverrideпозволяет отменять, при помощи файлов .htaccess, ранее установленные директивы. Если данная директива установлена в None, то файл .htaccessигнорируется, если же в All, то все директивы .htaccessфайла будут допускаться.
● Директивы Order allow,denyи Allow from allопределяют, кто может получать, что бы то ни было с данного сервера.
12. Закомментируйте следующий модуль:
#
# UserDir «D:/usr/Apache/users/»
#
13. Далее для опции DirectoryIndexнеобходимо указать файлы, которые будут загружаться, когда происходит обращение к папке, а не к конкретному файлу:
DirectoryIndex index.html index.htm index.php index.shtml index.shtm
14. В блоке:
Order allow,deny
Deny from all
Satisfy All
удалите строку:Satisfy All.
15. Далее следует отключить директиву UseCanonicalName On, т.е. поставить значение Off: UseCanonicalName Off
16. Если вы желаете, чтобы в сообщениях об ошибке высвечивался e-mailадминистратора, то замените в следующей опции Onна Email:
ServerSignature EMail
17. Находим такую строку:
ScriptAlias /cgi-bin/ «D:/usr/Apache/cgi-bin/»
и заменяем ее другой строкой:ScriptAlias /cgi-bin/ "/home/cgi-bin/"
Этот каталогcgi-bin, в котором должны располагаться ваши CGI — скрипты. Он был создан в директории home.
18. Установите следующие опции для папки cgi-bin:
AllowOverride All
Options ExecCGI
19. Ищем строку AddType application/x-tar .tgz, она расположена после настроек приоритета языков. Перед этой строкой необходимо добавить блок подключения php:
#AddType application/x-httpd-php phtml php3 php
#ScriptAlias /__php_dir__/ "/usr/php/"
#Action application/x-httpd-php "/__php_dir__/php.exe"
Первая строка указывает расширения файлов, которые должны обрабатываться PHPинтерпретатором.
Во второй строке связывается настоящий путь к PHPи псевдоним, а в третьей указывается файл интерпретатора.
Эти строки пока следует закомментировать, иначе могут возникнуть ошибки. После настройки PHP, комментарии нужно будет снять.
20. Далее настраивают SSI— очень мощный и в то же время очень простой инструмент, способный помочь при создании и поддержке сайта. С помощью SSI-директив, их еще называют SSI-вставками, можно включать в страницу другие файлы, результаты работы программ, значения системных переменных и пр. Преимущества этой технологии особенно проявляются, когда нужно поддерживать достаточно большой по объему сайт, который имеет определенную структуру и повторяющиеся по всему сайту элементы. Для подключения SSIнаходят строки, снимают с них комментарии и изменяют, как показано ниже:AddHandler cgi-script .cgi
Затем надо раскомметировать и изменить:
AddType text/html .shtml .shtm
AddHandler server-parsed .shtml .shtm
Было:
Стало:
Этими директивами настраиваем SSI. Apacheбудет обрабатывать файлы с указанными расширениями процессором SSI. Это наиболее стандартный ход. Впрочем, вместо .shtmlможно написать .htmlили .phtml — главное, чтобы расширение было идентично расширению, которые использует для обозначения использующих SSIфайлов провайдер.
И, естественно, нужно включить сам «механизм» вложения, а для этого добавить к команде Optionsслово Includes. Тогда строка с командой Optionsможет принять вид:Options Indexes FollowSymLinks Includes
Далее надо раскомметировать:AddHandler send-as-is asis
Эта функция разрешает Apacheпередачу файлов, не сопровождающихся httpзаголовками.
21. Для использования карт изображения и карт типов раскомметируйте следующие строки:
AddHandler imap-file map
AddHandler type-map var
22. В самый конец файла добавьте строку:
Include conf/vhosts.conf
Сохраните все изменения файла httpd.conf. Создайте резервную копию рабочего файла httpd.conf(например, с названием: httpd.conf рабочий). Этоможет оказаться полезным при восстановлении системы.
23. Создайте в папке D:\usr\Apache\conf файл vhosts.conf:
Допустим, что Вам придется работать с несколькими серверами. Разработчики Apacheпредусмотрели и этот вариант. При настройке Apache, изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить. Для этого при настройке Apacheсоздают файл vhosts.conf и в конец файла httpd.confдобавляют строчку «Include conf/vhosts.conf», которая подключает этот файл.
Добавление нового сервера подробно описано в разделе 2.4.
24. Теперь перезапустите Apache: Пуск → Все программы → Apache HTTP Server → Control Apache Server → Restart.
Если все сделано верно, то откроется консольное окно:
В консольном окне сообщается, что Apache запущен, модульPHP 4.3.9RC3 для правильной работы Apache с PHPустановлен и работает.
Если же имеются ошибки, то в течение 30секунд оно будет запущено и в нем будет написана ошибка, по которой Apacheне может быть запущен, например:
Сообщается, что на линии327файла httpd.confимеется ошибка. Ошибка часто возникает, если забыли скопировать файл php4ts.dllв каталог C:\Windows\System32.
Ошибка может возникнуть также, если забыли создать файл vhosts.conf и хотя бы один виртуальный хост.
2.4. Создание виртуальных хостов
Разработчики Apacheпредусмотрели возможность создания нескольких виртуальных хостов. При настройке Apache, изначально сделано так, чтобы с появлением нового сервера на Вашем компьютере его было легко подключить и настроить.
Для этого при настройке Apacheбыл создан файл vhosts.conf:
и в конец файла httpd.confдобавлена строчка «Include conf/vhosts.conf», которая подключила этот файл:
Для того чтобы добавить новый сервер:
● необходимо создать папку, в директории home, в которой будут расположены серверные папки и файлы;
● сделать описание этого сервера в файле vhosts.conf;
● добавить название сервера и IP-адрес в файл C:\WINDOWS\system32\drivers\etc\hosts.
Т.к. в файле httpd.confимя сервера мы установили localhostи папку для документов установили home, то это нас не устроит, потому что во всем должен быть порядок (сейчас поймете, о чем идет речь).
Если мы оставим все как есть, то htmlдокументы, принадлежащие серверу localhost, и новые виртуальные серверы окажутся в одной папке home. Это выглядит не очень красиво и удобно.
Поэтому мы перенастроим localhost, оформив его в виде виртуального сервера:
1. Создайте в папке homeпапку localhost, а в ней папку cgi-bin:
2. Добавьте следующее описание в файл vhosts.conf:
#----localhost
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
Здесь папка cgi-bin(вместо cgi), html-файлы (которые должны располагаться в папке html) и файл error.logбудут находиться в одной папке localhost:
Эти описания можно было сделать в файле httpd.conf, но если все виртуальные серверы описать в отдельном файле, то строение вашего http-сервера становится более наглядным.
3. Создайте второй виртуальный хост.
Допустим, что Ваш сайт расположен в Internetпо адресу mysite.ru. Настроим Apache так, чтобы при наборе этого адреса загружался Ваш сайт, без выхода в Internet.
Для этого в папке homeсоздайте папку mysiteи в папке mysiteпапки cgiи html:
Опишите данный сервер в файле виртуальных хостов vhosts.conf:
— задается IP-адрес сервера
DocumentRoot "/home/mysite/html/" — папка расположения документов
ServerName www.mysite.ru — имя сервера
ScriptAlias /cgi-bin/ "/home/mysite/cgi/" — папка с cgi-скриптами
ErrorLog /home/mysite/error.log — расположение файла ошибок
CustomLog /home/mysite/access.log common — расположение файла доступа
— закрываем описание сервера
#----localhost
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/ "/home/localhost/cgi-bin/"
ErrorLog /home/localhost/error.log
#----mysite
DocumentRoot "/home/mysite/html/"
ServerName www.mysite.ru
ScriptAlias /cgi-bin/ "/home/mysite/cgi/"
ErrorLog /home/mysite/error.log
CustomLog /home/mysite/access.log common
В конец файла С:\WINDOWS\system32\drivers\etc\hosts:
добавьте IP-адрес и имя сервера:
127.0.0.2 mysite.ru
Перезапустите Apache.
5) Если Вам понадобиться обратить к сайту mysite.ruна удаленном сервере, то закомментируйте строку: продолжение
--PAGE_BREAK--#127.0.0.2 mysite.ru
в файле С:\WINDOWS\system32\drivers\etc\hosts.
Не забывайте про это, иначе при попытке обращения к удаленному серверу, Вы будете оказываться на своем локальном.
Что бы этого не делать, лучше виртуальные хосты называть так же, как и на настоящем web – сервере, но только без «суффикса» .ruили .com. В этом случае, используя правило «отсечения суффиксов» можно легко обращаться к «реальному» и «виртуальному» хостам, даже если имеется подключение к Интернет.
Вы можете использовать любойIP-адрес из диапазона 127.0.0.1 – 127.255.255.255.
На этом настройка сервера окончена. Перезапустите его. Все должно работать:
Если Вы получаете сообщение об ошибке и номер строки в файле http.conf, где она произошла, то исправьте ошибку и перезапустите сервер. Если ошибок больше нет, то появится показанное выше окно.
2.5. Настройка PHP
Для настройки PHPнеобходимо воспользоваться файлом php.ini. Если при установке PHPиспользован инсталлятор, то этот файл расположен в C:\WINDOWS:
Если Вы использовали архив, то скопируйте файл php.ini-distrв каталог C:\WINDOWSи переименуйте его в php.ini. Откройте этот файл при помощи Notepad++.
1. Диагностический вывод при наличии ошибок. Найдите директиву error_reportingи присвойте ей значение E_ALL & ~E_NOTICE & ~E_STRICT
error_reporting = E_ALL & ~E_NOTICE & ~E_STRICT
Эта директива указывает PHP,насколько подробным должен быть диагностический вывод при наличии ошибок и предупреждений. Установлен минимальный вывод. Но если вы собираетесь создавать скрипты на PHP, то лучше оставить E_ALL, т.к. это позволит создавать более качественный код:
Установлен максимально подробный режим контроля ошибок. Это очень поможет при отладке скриптов. Для программ, которые на этот режим не рассчитаны, всегда его можно отключить.
2. Сохранение последнего сообщения об ошибке.Установите:
track_errors = On
Сделанные изменения позволят сохранять последнее сообщение об ошибке или замечании в переменной $php_errormsg.
3. Режим register_globals.
Внимание
Начиная с PHP 4.2.0, значение директивы register_globals по умолчанию установлено в off(отключено, раньше было on — включено). Положение register_globalsв off делает предопределенные переменные доступными в глобальной области видимости.
Например, чтобы получить:
● DOCUMENT_ROOT, необходимо использовать $_SERVER['DOCUMENT_ROOT']вместо $DOCUMENT_ROOT;
● $_GET['id']из URL www.example.com/test.php?id=3 вместо $id;
● $_ENV['HOME']вместо $HOME.
При работе с полями формы, например, следует каждый раз писать:
$_REQUEST[' … ']
Это делать необходимо из-за того, что все данные из полей формы PHPпомещает в глобальный массив $_REQUEST.
Рекомендуется писать скрипты с расчетом на выключенный register_globals=off.
Сценарий, корректно работающий при выключенном register_globals, будет работать и при включенном режиме. Но не наоборот.
Установите строку:register_globals = Off
4. Магические автокавычки. Чтобы код проекта работал в соответствии с описанием, необходимо бывает включить режим magic quotes. Если это не выполнено, к вводимым данным в базу данных MySQLпотребуется применить функцию addslashes(), а к извлекаемым данным — функцию stripslashes().
Включить (магические кавычки) директивы magic_quotes_gpcи magic_quotes_runtimeможно в файле php.ini. Они автоматически добавляют или убирают управляющие символы обратной косой черты, причем magic_quotes_gpcвыполняет это для входных переменных методов GET, POSTи cookie-наборов, a magic_quotes_runtime— для данных, входящих или исходящих из базы данных.
Примечание:директива конфигурации magic_quotes_gpcдействует на значения Get, Postи Cookie. Если она включена, значение (It's «PHP!») автоматически становится (It\'s \«PHP!\»). Мнемонизирование необходимо для вставки в БД.
Если magic_quotes_sybaseтакже включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash, если magic_quotes_gpcили magic_quotes_runtimeвключена.
Когда magic_quotesвключены, все ' (одинарные кавычки), " (двойные кавычки), \ (обратные слэши) и NUL мнемонизируются обратными слэшами автоматически. Если magic_quotes_sybaseтакже включена, одинарные кавычки мнемонизируются одинарной кавычкой вместо backslash.
5. Конфигурирование расширений.PHPпоставляется в виде ядра и набора из нескольких десятков «внешних расширений» (DLL-библиотек), которые можно подключать и отключать. Этим процессом можно управлять при помощи следующих директив. Сначала указываем папку, в которой хранятся загружаемые модули:extension_dir = "/usr/php/extensions/"
ЭТА ДИРЕКТИВА – ОДНА ИЗ САМЫХ ВАЖНЫХ. БЕЗ НЕЕ РАСШИРЕНИЯ ПРОСТО НЕ ПОДКЛЮЧАЮТСЯ
Теперь подключим те расширения, которые понадобятся для работы. Для этого нужно найти место, где впервые упоминается директива extension. Надо добавить (или снять комментарии) непосредственно перед ней следующие команды:
extension=php_xsl.dll
extension=php_gd2.dll
extension=php_mysql.dll
Все остальные расширения пока не потребуются. Необходимые библиотеки лучше подключать по мере необходимости (некоторые из них требуют дополнительных настроек).
При компиляции и сборке PHPимеется возможность для каждой библиотеки расширения указать, как именно с ней поступать: собирать ли в виде отдельного DLL-модуля или же помешать код в ядро (php5td.dll). Поэтому многие популярные расширения уже включены в ядро PHPи не требуют дополнительной директивы extension.Такими модулями являются: dom, iconv, libxml, sqlite и т. д. Это определяется экспериментально. Если какой-то модуль не заработает, возможно, разработчики дистрибутива его вынесли из ядра в отдельный DLL-файл и его следует подключить. Или наоборот, его внесли в ядро, и директиву extensionнужно убрать.
После подключения новых модулей обязательно нужно проверить, что сервер Apacheзапускается, а тестовая страница PHP– открывается. И уже после этого открывайте php.iniи добавляйте необходимые модули.
Появились сообщения:
Поэтому провели изменения:
При помощи модуля:extension=php_gd2.dll
осуществляется работа с графической библиотекой GDLib.
Найдите директиву include_path, задающую путь к библиотекам PHP.
;include_path = ".;c:\php\includes"
Снимите с нее знак комментария (точка с запятой) и укажите следующее значение:include_path = ".; \usr\php\PEAR "
PEAR– это набор разнообразных библиотек, написанных на PHP. Некоторые из этих библиотек входят в дистрибутив PHP:
6. Каталог для временных файлов.Найдите директиву:
; upload_tmp_dir = C:\PHP\uploadtemp ; temporary directory for HTTP uploaded files (will use system default if not specified)
Отредактируйте ее:upload_tmp_dir = /tmp
Если значение директивы оставить пустой, то будет использован системный каталог для хранения временных файлов.
7. Сохраните все изменения, сделанные в файле php.ini.
8. После этого скопируйте файл php4ts.dllиз папки D:\usr\php:
в каталог C:\Windows\System32:
Этим мы скопировали библиотеки в каталог, который уже присутствует в путях поиска (C:\Windows\System32):
При установке новой версии PHP или после переустановки системы не забывайте повторно скопировать библиотеки.
9. Найдите директиву session. Ее значение должно быть:session.save_path =/tmp
Это путь к временной папке, в которой PHPбудет хранить файлы сессий (session files). Поскольку этого каталога пока нет, рекомендуется его создать: D:\tmp, а в проводнике установить для него атрибут Скрытый(Hidden), чтобы случайно не удалить:
10. Откройте файл httpd.conf и раскомметируйте три строки, в которых настроен PHPв виде CGIпрограммы:
AddType application/x-httpd-php phtml php3 php
ScriptAlias /__php_dir__/ "/usr/php/"
Action application/x-httpd-php"/__php_dir__/php.exe"
Директива AddTypeсвязывает расширение файла (PHP) с уникальным идентификатором MIME-типа. Далее указывается программа, которую нужно запустить, когда пользователь попытается открыть файл указанного типа. Так как в директиве Actionдопустимо использовать только URL(но не абсолютные пути), то предварительно назначаем абсолютному пути до PHP-каталога с URL/php/.
11. Сохраните изменения в файле httpd.conf. Перезапустите сервер. Перезагрузка должна выполниться, если не было допущено ошибок.
2.6. Настройка MySQL
Зайдите в папку D:\usr\mysql\bin\:
и запустите файл winmysqladmin.exe:
Должно появиться такое окно:
Введите имя (admin) пользователя и пароль (password):
Нажмите ОК. На панели в нижнем правом углу монитора появился значок светофора. Нажмите на светофор на панели правой клавишей мышки:
Выберете Show me. Появится окно:
Закройте окно, удалите файл my.iniв папке C:\WINDOWS:
Запустите winmysqladmin.exe:
В открывшемся WinMySQLadmin, введите имя(admin) и пароль (password):
Нажмите ОК. Нажмите правой клавишей мыши по значку светофора на панели монитора, выберите Show me, откроется окно:
В открывшемся окне перейдите на закладку my.ini Setup:
Нажмите кнопку «Create ShortCut on Start Menu», а затем нажмите ОК:
Можно перейти к настройке файла my.ini.
Файл my.iniсостоит из нескольких секций, нас интересует только секция mysqid. Можно удалить все остальные секции из файла, все равно их игнорирует сервер.
Для изменения значений директив, расположенных в my.ini, снимают знак комментария с соответствующей строки. Многие из этих директив уже записаны в файле, и остается лишь их подкорректировать. Другие же команды там даже и не упоминаются — для них нужно вручную вписать нужные строки.
Итак, выполняют следующие действия:
1. УкажитеIP-адрес, на котором MySQLбудет ожидать подключения:
bind-address=127.0.0.1
Рекомендуется использовать только 127.0.0.1, чтобы сервер был доступен лишь с текущей машины (но не из локальной сети). Это позволит обезопасить себя от хакерских атак.
2. Укажите каталог, который MySQLбудет использовать для хранения временных файлов (конечно, он должен существовать):
tmpdir=/tmp
3. Укажите путь к каталогу, хранящему файлы различных кодировок:
character-sets-dir=/usr/mysql/share/charsets
4. Укажите кодировку по умолчанию, используемую при создании всех таблиц:
default-character-set=cpl251
Этот параметр очень важен: неверное его значение (в частности, значение, используемое MySQL по умолчанию) приводит к ошибкам при поиске и неправильной сортировке результатов запросов.
5. Укажите основной каталог MySQL, а также папку, где сервер будет хранить свои данные:
basedir=/usr/localhost/mysql/
datadir=/usr/localhost/mysql/data/
6. Раскомметируйте и измените строку, которая устанавливает язык:
language=D:/usr/mysql/share/russian
Остальные параметры затрагивают работу с таблицами типа InnoDB, поддерживающими высокую надежность хранения данных и защищенных от аппаратных сбоев. Работа с такими таблицами не рассматривается, поэтому можно пропустить директивы, касающиеся InnoDB.
Вполне вероятно, что сервер запустится и без настройки всех многочисленных параметров — просто на «значениях по умолчанию». Однако в этом случае он будет работать неправильно.
Отредактированный my.ini:
#This File was made using the WinMySQLAdmin 1.4 Tool
#03.10.2005 18:21:07
#Uncomment or Add only the keys that you know how works.
#Read the MySQL Manual for instructions
[mysqld]
basedir=D:/usr/mysql
bind-address=127.0.0.1
datadir=D:/usr/mysql/data
language=D:/usr/mysql/share/russian
#slow query log#=
tmpdir=/tmp
#port=3306
#set-variable=key_buffer=16M
default-character-set=cp1251
character-sets-dir=/usr/mysql/share/charsets
[WinMySQLadmin]
Server=D:/usr/mysql/bin/mysqld-nt.exe
user=admin
password=password
В опциях userи passwordможно в любое время изменить/установить имя пользователя и пароль.
Нажмите «Save Modification»,а затем последовательно нажимайте ОК:
Теперь кликните правой кнопкой в любом месте этого окна, и в выпадающем меню выберите команду Hide me, чтобы программа обратно свернулась в трей возле часов. На панели задач в правом нижнем углу монитора появится значок светофора.
При необходимости можно всегда изменить настройки файла my.ini.Для этого нажмите на светофор на панели правой клавишей мышки:
Выберите Show me. Появится знакомое окно:
Далее выполняйте уже описанные действия.
Перезапустите сервер Apache.Если все прошло удачно (сервер перезапустился без ошибок) в файле index.phpдля проверки работоспособности MySQLпоместите следующий код:
$dblocation = «127.0.0.1»;
$dbname = «test»;
$dbuser = «root»;
$dbpasswd = "";
$dbcnx = @mysql_connect($dblocation, $dbuser, $dbpasswd);
if (!$dbcnx)
{
echo "К сожалению, не доступен сервер MySQL";
exit();
}
if (!@mysql_select_db($dbname,$dbcnx) )
{
echo "К сожалению, не доступна база данных";
exit();
}
$ver = mysql_query(«SELECT VERSION()»);
if(!$ver)
{
echo "Ошибка в запросе";
exit();
}
echo mysql_result($ver, 0);
?>
В случае успешной интеграции MySQLв связку Apacheи PHP, обращение по адресу localhost/index.php выведет в окно браузера версию сервера MySQL:
База данных MySQLустановлена успешно.
Для входа в систему MySQLв интерфейс командной строки наберите следующее:
> mysql -h hostname -u username -p
Команда mysqlзапускает монитор MySQL. Это клиент командной строки, который выполняет соединение с сервером MySQL.
Аргументами mysql являются:
1. Ключ -hиспользуется для обозначения хоста, к которому осуществляется подключение — это компьютер с запущенным сервером MySQL.При вводе этой команды на той же машине, на которой находится сервер MySQL, применять этот ключ, равно как и параметр hostname, вовсе не обязательно. Если на другой, то параметр hostnameследует заменить именем машины, на которой выполняется сервер MySQL.
2. Ключ -uиспользуется для указания имени пользователя, под которым требуется осуществить соединение. Если не указать имя пользователя, по умолчанию будет использоваться имя, под которым вы входили в операционную систему.
Если сервер MySQLустановлен на вашем собственном компьютере или сервере, необходимо войти в систему под именем root и создать базу данных. Если установка производилась впервые, то rootбудет единственным пользователем, который имеет доступ к системе.
Если MySQLиспользуется на машине, которую администрирует другой человек, применяйте имя пользователя, которое вам назначил этот администратор.
3. Ключ — рсообщает серверу о том, что вы хотите соединиться с использованием пароля. Можете не использовать этот ключ, если для пользователя, под именем которого вы регистрируетесь, пароль не требуется.
Если вы входите в систему под именем rootи не установили пароль, настоятельно рекомендуется установить пароль. Без пароля для пользователя rootсистема не защищена.
Включать пароль в эту строку не обязательно. Сервер MySQLзапросит его самостоятельно. Лучше даже его не включать. Если набрать пароль в командной строке, он появится на экране в виде текста и таким образом станет доступным остальным пользователям.
После ввода команды mysqlи нажатия клавиши Enterдолжен быть получен приблизительно такой ответ (Enter password:_):
Если после ввода команды mysqlи нажатия клавиши Enter Вы получаете сообщение о том, что программа не найдена или введена неправильная команда, нужно при работе в Windowsнайти в файле AUTOEXEC.BAT:
строку, в которой устанавливается переменная PATH. Значение переменной PATHнадо установить так, чтобы она содержала каталог установки mysql.Если программа установлена в каталоге D:\usr\mysql\bin:
то переменная PATHдолжна выглядеть так:
SET PATH=D:\usr\mysql\bin; C:\WINDOWS; C:\WINDOWS\COMMAND
После того как переменная окружения установлена, чтобы сделанные изменения вошли в силу, надо перезагрузить компьютер.
В ответ на запрос пароля введите пароль пользователя root. Если MySQL-пользователь не имеет пароля, просто нажмите клавишу Enter. Должен наблюдаться приблизительно такой ответ:
Сейчас вы должны наблюдать приглашение MySQLна ввод команды: mysql>_,т.е. система готова к созданию базы данных.
Для выхода из MySQL используют предложениеquit.
Осталось только создать базу данных.
2.6. Настройка Send mail
Для настройки откройте файл D:\usr\sbin\sendmail.ini:
В файле sendmail.iniследует сделать следующие исправления.
Переменной Mailserver присвойте имя вашего сервера или его IP-адрес:MAILSERVER=localhost
В переменную Fromнапишите e-mailотправителя по умолчанию:
FROM=sk@localhost.ru
Измените время между отправлениями сообщений (время в секундах):
TIMEOUT=5
Переменной Regkeyнеобходимо указать регистрационный ключ, который генерируется «KeyGen»:
В переменную Replyto укажите Ваш e-mail:REPLYTO=sk@localhost.ru
Файл sendmail.ini после внесенных изменений:
Сохраните изменения. Запустите программу sendmail.exeиз консоли:
Для настройки Send mailслужит пункт «Configure Sendmail»в меню "Пуск" Windowsв папке, созданной установщиком. Вы можете установить нужные параметры с его помощью, или отредактировать d:\usr\sbin\stndmail.ini вручную, изменив его следующим образом:
[OPTIONS];
; Адрес почтового сервера. Укажите здесь «localhost»
; или «127.0.0.1» — адрес вашего компьютера;
; Впрочем, можно указать и SMTP-сервер вашего провайдера;
MAILSERVER=localhost;
; Здесь нужно указать адрес отправителя по умолчанию.;
FROM=ваш@мейл;
; Порт почтового сервера. Пусть остаётся «25»;
PORT=25;
; Интервал между отправками сообщений в секундах.
; Измените со 180 на, например, 3;
TIMEOUT=3;
; Регистрационный ключ.;
REGKEY=none;
; Адрес по умолчанию для поля «reply-to».;
REPLYTO=ваш@мейл
Это всё, что требуется для правильной установки Sendmail.
Дальше cкачайте генератор ключей к Sendmailи сохраните его у себя на диске. К версии 2.01 подходят генераторы как от 1.14, так и от предыдущих версий.
Регистрационный ключ в Sendmailпривязан к имени Вашего компьютера. Чтобы узнать его, Вам нужно щёлкнуть правой кнопкой мышки по иконке “Мой компьютер” на рабочем столе Windowsи, выбрав в выпавшем меню пункт “Свойства” («Properties»), дождаться появления такого окна.
Запомните имя, присвоенное Вашему компьютеру.
После этого запустите файл tno_s114.exe из архива. Введите имя для регистрации и имя вашего компьютера в соответствующие графы.
Сгенерированный ключ Вам нужно будет подставить в sendmail.ini Вместо продолжение
--PAGE_BREAK--