Учебное пособие: Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows
Учебное пособие: Установка и настройка локального web-сервера Apache, PHP, MySQL под операционную систему Windows
ФЕДЕРАЛЬНОЕ
АГЕНТСТВО ПО
ОБРАЗОВАНИЮ
РОССИЙСКИЙ
ХИМИКО-ТЕХНОЛОГИЧЕСКИЙ
УНИВЕРСИТЕТ
им. Д.И.
Менделеева
НОВОМОСКОВСКИЙ
ИНСТИТУТ
Установка
и настройка
локального
web сервера
Apache, PHP,
MySQL под
операционную
систему Windows
УЧЕБНОЕ
ПОСОБИЕ
Новомосковск
2008
План
ВВЕДЕНИЕ
1.
УСТАНОВКА
ЛОКАЛЬНОГО
WEB–СЕРВЕРА И
ЕГО КОМПОНЕНТОВ
1.1.
Структура
каталогов
1.2.
Установка
Apache
1.3.
Установка PHP
1.4.
Установка MySQL
1.5.
Установка
SendMail
1.6.
Установка SMTP
сервера
2.
НАСТРОЙКА
WEB–СЕРВЕРА И
ЕГО КОМПОНЕНТОВ
2.1.
Конфигурационные
файлы сервера
Apache
2.2.
Конфигурационный
файл httpd.conf и его
директивы
2.3.
Настройка файла
конфигурации
Apache
2.4.
Создание виртуальных
хостов
2.5.
Настройка PHP
2.6.
Настройка MySQL
2.6.
Настройка
Sendmail
3.
ТЕСТИРОВАНИЕ
СЕРВЕРА
3.1.
Проверка
работоспособности
виртуальных
серверов
3.2.
Тест SSI (Server Side Includes)
3.3.
Тест PHP
3.4.
Тест MySQL
ЗАКЛЮЧЕНИЕ
или С ЧЕГО НАЧАТЬ
?
ЛИТЕРАТУРА
ВВЕДЕНИЕ
Работающий
Web-сервер
и СУБД требуются
при создании
Интернет проектов
с использованием
современных
технологий.
Наилучший
вариант — это
установка
локального
Web-сервера
на тот же ПК,
где создается
Интернет проект.
Этот ПК всегда
доступен по
IP-адресу
127.0.0.1, что эквивалентно
доменному имени
localhost. Поэтому
для доступа
к Web-серверу
через браузер
можно использовать
адрес http://localhost.
При использовании
локального
сервера все
изменения в
файлах доступны
через браузер
сразу же. Когда
все скрипты
будут отлажены,
можно зайти
в Интернет и
скопировать
их на сервер
хостинг-провайдера.
Язык
программирования
РНР, специально
предназначенный
для работы в
Интернет, изначально
создавался
под Unix-подобные
операционные
системы — Linux,
FreeBSD, и т.п.
Под Windows
существует
свой аналог
РНР, который
называется
ASP (Active
Server Pages). Он
полностью
ориентирован
на Windows и
позволяет
учитывать и
использовать
все особенности
этой операционной
системы. При
этом в качестве
HTTP-сервера
рекомендуют
использовать
IIS (Internet
Information Server)
— продукт компании
Microsoft.
Желательно,
чтобы на сервере
и на компьютере,
на котором
создаются и
тестируются
РНР - сценарии,
стояли одинаковые
операционные
системы. Бывает
так, что РНР
-программа
отлично работает
на Windows-компьютере,
но отказывается
работать или
работает некорректно
под Linux.
Профессиональное
использование
РНР ориентировано
на Linux (Unix).
Существуют
детали и возможности,
которые нельзя
учесть в силу
разности ОС
Windows и ОС Linux
(Unix).
Можно
ли разрабатывать
и отлаживать
скрипты в Windows,
а потом без
изменений
переносить
их в Unix? К
счастью, ответ
на этот вопрос,
чаще всего, —
да. Для этого
используют
локальный
Web-сервер
Apache для
Windows, а также
устанавливают
РНР и MySQL,
способные
работать в этой
ОС.
Почему
именно Apache?
Потому что это
самый распространенный
сервер. Он установлен
у большинства
хостинг-провайдеров.
Существует
его Windows-версия,
практически
идентичная
по функциональности
своему Unix-собрату.
Рекомендуется
устанавливать
самую последнюю
версию Apache.
Ссылка на
каталог, в котором
расположены
последние
версии Apache:
http://www.apache.org/dist/httpd/binaries/win32/.
Нужен ЕХЕ-файл,
имя которого
содержит подстроку
no_src,
т. е. "без исходных
кодов".
Установка
сервера Apache
и сопутствующих
программ вручную
- утомительное
занятие. Приходится
разбираться
с многочисленными
параметрами
конфигурации
Apache, PHP
и MySQL.
Существуют
готовые комплексы,
не нуждающиеся
в настройке.
Наиболее популярным
из таких комплексов
является Денвер
– это "Джентльменский
набор Web-разработчика".
Денвер — это
те же самые
дистрибутивы
Apache, PHP,
MySQL. Они
объединены
в единый архив
и снабжены
удобным инсталлятором
и утилитами
настройки
(включая средства
автоматического
конфигурирования
виртуальных
хостов).
Денвер
создавался
для того, чтобы
упростить
настройку и
установку
свободно
распространяемых
программ (Apache,
PHP, MySQL
и т. д.). Он имеет
модульную
структуру. Его
ядро — так называемый
"базовый пакет".
Все остальные
компоненты
поставляются
в виде автономных
пакетов расширений,
для работы
которых нужен
базовый пакет.
Базовый
пакет содержит
большинство
необходимых
Web-программисту
программ и
утилит:
● Apache
с поддержкой
SSI, mod_rewrite, mod_php.
● PHP
с поддержкой
GD и MySQL.
● MySQL
с поддержкой
транзакций
(mysql-max).
● phpMyAdmin
— система управления
MySQL через
Web-интерфейс;
полностью
заменяет командную
строку MySQL.
● Ядро
Perl без
стандартных
библиотек (они
поставляются
отдельно).
● Эмулятор
sendmail (отладочная
"заглушка",
помещающая
приходящие
письма в каталог
/tmp); поддерживается
работа совместно
с РНР и Perl.
● Система
управления
виртуальными
хостами, основанная
на шаблонах.
Чтобы создать
новый хост, вам
нужно лишь
добавить каталог
в /home, править
конфигурационные
файлы не требуется.
● Система
настройки и
управления
запуском/завершением.
●. Инсталлятор.
Дистрибутив,
содержащий
все перечисленные
выше компоненты,
занимает около
2 Мбайт.
На сайте
http://web.dklab.ru
доступно множество
пакетов расширений
для Денвера,
содержащих:
● Документацию
ко всем программам,
входящим в
комплекс.
● Полную
версию Perl
со стандартными
библиотеками.
● Полную
версию PHP
3 и PHP 4, а
также модули
для РНР 5.
● Модули
Apache, не вошедшие
в базовый пакет
Денвера.
● Разнообразные
"облегченные"
и "специализированные"
версии базового
пакета — в частности,
дистрибутив,
помещающийся
на одну дискету,
и базовый пакет
с поддержкой
РНР 4, а не РНР
5 по умолчанию.
По адресу
http://forum.dklab.ru/denwer/
действует
форум, где можно
получить консультацию
по вопросам,
касающимся
использования
Денвера. Он
также содержит
обширную базу
данных вопросов
и ответов. На
форуме действует
гибкая система
поиска.
Если Вы
желаете детально
разобраться
в работе локального
web-сервера,
то рекомендуется
собрать и настроить
его собственноручно
из отдельных
программных
продуктов.
Полезно предварительно
изучить статью
«Установка
и настройка
Apache+PHР», расположенную
по адресу
http://php5/ru/study/instal.
И, конечно же
- разделы официальной
документации,
посвященные
установке
соответствующих
программ.
1. УСТАНОВКА
ЛОКАЛЬНОГО
WEB–СЕРВЕРА И
ЕГО КОМПОНЕНТОВ
1.1.
Структура
каталогов
Рекомендуется
логически
отделить Web-проекты
от всех остальных
на локальном
ПК. Для этого
следует установить
все программное
обеспечение
локального
web-сервера,
а также записывать
все HTML-файлы,
скрипты и документы
в отдельный
каталог. Локальный
сервер удобнее
расположить
на отдельном
логическом
диске (не на
С), причем
организовать
его как реальный
сервер. Лучше
установить
и настроить
сервер на отдельном
диске D.
На этом диске
можно устроить
«Unix»:создать
подкаталог
/home/
для хранения
локальных
сайтов, а для
Apache,
PHP,
MySQL
и т.д. создать
подкаталог
/usr.
Создайте
на диске D
две папки с
названиями
usr
и home.
Названия
папок и файлов,
во избежание
проблем, следует
писать строчными
буквами, т.к. в
*nix
операционных
системах home
и Home
не одно и тоже.
Большинство
серверов, на
одном из которых
в дальнейшем
будет размещен
созданный Вами
Интернет проект,
работают под
*nix
операционными
системами.
1.2.
Установка
Apache
1. Запустите
файл инсталляции
«apache_1.3.24-win32-x86-no...»:
2. В
появившемся
диалоге нажмите
кнопку Yes,
а затем - кнопку
Next:
3. Прочитайте
лицензионное
соглашение
и поставьте
галочку напротив
«I accept the terms in the license
agreement» и нажмите
на кнопку Next:
4. В следующем
окне «Server
Information»
нужно написать:
● Network
Domain -
имя Вашего
домена: localhost
● Server
Name -
имя Вашего
сервера: www.localhost.ru
● Administrator's Email
Address - Ваш
почтовый
адрес:
admin@localhost.ru.
● Установите
переключатель
«Run when started manually, only
for me» (Запускать
вручную только
для меня), чтобы
запускать
сервер в ручном
режиме:
В окне
«Server Information»
можно указать
и другую любую
информацию
о сервере, так
как она в дальнейшем
может быть
исправлена
при редактировании
файла httpd.conf.
5. В следующем
окне «Setup
Type» выберите
установку
«Complete» и нажмите
кнопку Next:
6. В окне
«Destination Folder»
нажмите «Change»
и измените
путь, на тот
где будет
располагаться
web-сервер,
а именно D:\usr.
По
умолчанию Web –
сервер будет
установлен
в папку C:\Program
Files\Apacher
Group
C помощью
кнопки «Сhange»
(Изменить) можно
указать папку,
в которую будет
установлен
Web – сервер Apache:
D:\usr\:
В итоге
путь будет
изменен, нажмите
Next,
а в следующем
окне - кнопку
Install:
7. Будет
произведено
копирование
файлов:
8. Затем
появиться окно,
в котором нужно
нажать Finish:
9. Apache
установлен.
Запустите
установленный
Web – сервер Apache.
Для этого выберите
команду главного
меню Пуск
→ Программы
→ Apache HTTP Server → Start Apache in Console (Programs →
Web-сервер Apache →
Запустить
Apache в консольном
режиме).
На экране
появится окно
программы
Apache с сообщением:
Apache/1.3.24 (Win32) running... (Apache/1.3.24 (Win32)
работает...):
10. Теперь
можно подключиться
к Web-серверу Apache.
Для этого:
● Средствами
операционной
системы Windows
в папке D:\usr\Apache\htdocs:
переименуйте
файл index.html.en
в файл index.html:
● Запустите
браузер Microsoft
Internet
Explorer
или любой
другой, например
Mozilla
Firefox.
● В поле
ввода Address
(Адрес)
браузера введите
http://localhost
и нажмите клавишу
Enter. В окно
браузера загрузится
начальная
страница Web-сервера
Apache:
Начальная
страница Web-сервера
Apache на русском
языке:
Если
открылась
начальная
страница, значит
Apache установлен
правильно.
● Перейдите
в окно Web-сервера
Apache с помощью
Панели задач
операционной
системы Windows и
завершите
работу сервера
с помощью кнопки
[X] в правом верхнем
углу окна.
1.3.
Установка PHP
Загрузить
дистрибутивов
PHP можно
с официальной
страницы
http://www.php.net/downloads.php
из секции Windows
Binaries файл
с расширением
ZIP. Версии
РНР на этой
странице обновляются
редко. Если
нужно получить
самый последний
дистрибутив,
зайдите на сайт
http://snaps.php.net.
Там можно найти
даже версию,
откомпилированную
сегодня (новые
дистрибутивы
компилируются
и архивируются
автоматически
несколько раз
в день). Они могут
содержать и
новые (обычно
мелкие) ошибки,
которые еще
не успели исправить.
Чаще всего
оказывается,
что в новой
версии появились
дополнительные
возможности,
недоступные
на официальной
странице
дистрибутивов.
РНР постоянно
совершенствуется.
Наилучшим
решением будет
загрузить
последнюю
версию, поскольку
в ней исправлены
ошибки из предыдущих
версий языка,
и она выигрывает
по количеству
поддерживаемых
возможностей.
Скопировать
документацию
по РНР можно
со страницы
http://www.php.net/download-docs.php.
Рекомендуется
устанавливать
документацию
в формате СНМ
(файлы формата
Windows Help).
Доступна русская
версия справочной
системы.
Можно
просматривать
документацию
прямо на сайте
РНР (там есть
удобный поиск).
Классический
пример поиска
описания той
или иной функции
— это набор в
браузере адреса
вида: http://php.net/имя
Функции.
Например:
http://php.net/fopen;
http://php.net/eval;
http://php.net/str_replace.
Одна из
самых полезных
функций online-руководства
— возможность
оставлять и
читать пользовательские
комментарии
к той или иной
статье — они
выводятся в
ее конце. Например,
если кто-нибудь
обнаружит
особенность
в работе той
или иной функции,
он может прямо
на странице
описания этой
функции оставить
заметку о своей
находке. В результате
ценность и
объем информации,
собранной в
таких заметках,
значительно
превосходят
ценность и
объем исходной
статьи помощи.
Не нужно
постоянно
подключаться
к Интернету,
чтобы быть в
курсе всех
пользовательских
заметок. Доступна
версия официальной
документации,
в которую включены
все пользовательские
комментарии.
Скачать ее
можно по адресу:
http://weblabor.hu/php-doc-chm/Sdownload.
Рассмотрим
порядок установки
php 4.3.9.
1. Дважды
щелкните мышью
на файле инсталляции
php 4.3.9.-installer.exe:
На экране
появится первый
диалог мастера
установки РНР:
В данном
диалоге содержится
предупреждение
о том, что программа
защищена законом
об авторских
правах. Нажмите
кнопку Next.
2. На
экране появится
второй диалог
мастера установки
РНР:
Познакомьтесь
с текстом
лицензионного
соглашения
во втором диалоге
мастера установки
РНР.
Нажмите кнопку
IАgree,
чтобы принять
условия лицензионного
соглашения.
3. На
экране появится
третий диалог
мастера установки
РНР:
Установите
переключатель
«Advanced»
(Расширенный),
чтобы в дальнейшем
выбирать набор
функциональных
возможностей
программы.
Нажмите кнопку
Next.
4. На
экране появится
четвертый
диалог мастера
установки РНР:
С помощью
кнопки «Browse»
можно указать
папку, в которую
будет установлена
программа. По
умолчанию РНР
будет установлена
в папку C:\PHP. В
следующем окне
рекомендуется
заменить путь
на D:\usr\php:
Нажмите
кнопку Next.
5. На
экране появится
пятый диалог
мастера установки
РНР:
Диалог
определяет
каталог для
временных
файлов. Кнопка
«Browse»
позволяет
указать папку,
в которой будут
размещаться
временные файлы
(по умолчанию
эти файлы будут
находиться
в папке C:\PHP\uploadtemp).
Рекомендуется
выбрать
D:\usr\php\uploadtemp:
Нажмите
кнопку Next.
6. На
экране появится
шестой диалог
мастера установки
РНР.
В этом диалоге
с помощью кнопки
«Browse»
можно указать
папку, в которой
будут размещаться
данные сеанса
работы. По умолчанию
эти файлы будут
находиться
в папке C:\PHP\sessiondata.
Рекомендуется
выбрать
D:\usr\php\sessiondata:
Нажмите
кнопку Next.
7. На
экране появится
седьмой диалог
мастера установки
РНР:
В поле
ввода «Please
enter the address of your SMTP Server» (Пожалуйста,
введите адрес
вашего SMTP-сервера)
введите электронный
адрес своего
SMTP-сервера,
который указывают
при настройке
почтовой программы:
localhost.
В поле
ввода «Please
enter the «from» address for the mail function»
(Пожалуйста,
введите адрес
from для
функции mail)
введите свой
электронный
адрес: me@localhost.com.
Нажмите
кнопку Next.
8. На
экране появится
восьмой диалог
мастера установки
РНР:
Установите
переключатель
«Display all errors, warnings and
notices» (Отображать
все ошибки,
предупреждения
и примечания),
чтобы программа
в ходе своей
работы выводила
все ошибки,
предупреждения
и примечания.
Нажмите
кнопку Next.
9. На
экране появится
девятый диалог
мастера установки
РНР:
Установите
переключатель
Apache,
чтобы указать
используемый
Web-сервер.
Нажмите
кнопку Next.
10. На
экране появится
десятый диалог
мастера установки
РНР:
Если
сброшен флажок
php, то
установите
его, чтобы файлы
с расширением
php интерпретировались
программой
РНР.
Нажмите кнопку
Next.
11. На
экране появится
одиннадцатый
диалог мастера
установки РНР
с сообщением
о готовности
начать установку
программы:
Нажмите
кнопку Next.
12. На
экране появится
диалог, показывающей
процесс установки
РНР.
13. После
завершения
копирования
файлов на экране
возникнет
диалог Apache
Configuration (Конфигурация
Apache) с
сообщением
о необходимости
ручной настройки
Web-сервера Apache
для использования
совместно с
РНР:
Нажмите
кнопку OK,
чтобы закрыть
диалог Apache
Configuration
(Конфигурация
Apache)
с сообщением.
14. На
экране появится
диалог «Instalation
complete» (Установка
завершена) с
информацией
о завершении
установки РНР.
Нажмите
кнопку ОК,
чтобы закрыть
диалог «Instalation
complete». Установка
РНР
завершена.
15. Для
правильной
работы PHP
с Apache необходимо
установить
специальный
модуль. Нужно
воспользоваться
специальным
архивом (php-4.3.9
RC3-Win32
6,96 Мб), который
содержит все
необходимое
для полноценной
работы PHP
с Apache.
● Создайте
папку и распакуйте
в эту папку
специальный
архив (php-4.3.9
RC3-Win32
6,96 Мб):
● Все
содержимое
созданной папки
(распакованный
архив php-4.3.9
RC3-Win32)
скопируйте
в папку D:\usr\php:
● Запустите
файл go-pear.bat,
который проинсталлирует
PHP.
На вопросы 1,
2 и 3
нажмите последовательно
Enter,
на 4
вопрос ответьте
Y:
◘ Вопрос
1:
◘ Вопрос
2:
◘ Вопрос
3:
◘ Вопрос
4:
Следует
ответить Y:
Установка
PHP со
специальным
модулем завершена.
1.4.
Установка MySQL
1. Запускают
setup.exe:
2. Нажимают
Next:
3. Затем
нажимают еще
раз Next:
4. В
окне «Choose
Destination Location» изменяют
путь на
D:\usr\mysql:
5. Вариант
установки
рекомендуется
выбирать «Typical»:
6. Далее
произойдет
копирование
файлов:
8. В заключении
нажимают Finish:
1.5.
Установка Send
Mail
После
создания скрипта,
отправляющего
сообщения,
рекомендуется
проверить
работает он
или нет. Для
этого открывают
файл sendmail.log
и смотрят,
осуществлялась
ли попытка
отправления
сообщения. Если
да, тогда созданный
скрипт работает.
Почему написано
«попытка»?
Потому что
отправить
сообщение без
SMTP
-сервера невозможно.
Если будет
установлен
SMTP
- сервер, то
сообщение будет
отправлено
на сервер получателя.
Для установки
Send
Mail
запускают
инсталлятор,
в первых двух
окнах нажимают
Next,
далее заменяют
путь на D:\usr\sbin
и нажимают
Next.
Затем еще
в двух окнах
нажимаем Next
и в конце Finish.
Эта
программа
является платной.
В Интернете
имеется генератор
ключей, который
можно скачать
по адресу -
http://newprog.by.ru/serv/apache/sendmail_gen.zip.
Windows-версию
этой программы
предлагают
на
http://www.webwarper.net/ww/~GZ/www.indigostar.com/sendmail.htm?*,
где можно взять
тридцатидневную
полнофункциональную
shareware-версию. Здесь
будет рассказываться
именно о ней.
В конце этой
главы можно
прочитать про
то, как снять
с Send
Mail
защиту.
Send
Mail нужен
Вашим скриптам,
чтобы не вылетать
с сообщениями
об ошибке, когда
они не найдут
его в /usr/sbin/sendmail,
a Вам он
потребуется,
чтобы видеть,
способен ли
Ваш скрипт
что-то отправлять,
и будет ли он
работоспособен
после выгрузки
на сайт в Интернете.
Вообще говоря,
Вам совсем не
нужно, чтобы
скрипт что-то
отсылал по
почте, когда
Вы его тестируете
на домашнем
компьютере
- Вы ведь не будете
тестировать
свой домашний
сайт, сидя в
онлайн, и Send
Mail’у до
SMTP сервера
всё равно не
достучаться.
Поэтому главной
пользой от
деятельности
этой программы
будет sendmail.log,
который программа
создаёт после
запуска. Из
него будет
видно, что пытался
отправить Send
Mail - и пытался
ли. Если нет,
то у Вас появятся
вопросы к Вашему
скрипту. Если
Вы установите
SMTP сервер,
то программа
сможет отправлять
письма на порт
сервера.
Send
Mail нужно
будет установить
в папку d:\usr\sbin.
Там после установки
поселится файл
sendmail.exe, что
в результате
даст нам необходимый
путь:
/usr/sbin/sendmail
1.6.
Установка
SMTP сервера
SMTP-сервер
применяют для
отправки исходящей
почты на сервер
получателя.
В качестве SMTP
сервера можно
рекомендовать
программу
Advanced
Direct
Remailer.
Эта программа
платная. Создана
альтернативная
бесплатная
программа:
SPECTral
Personal SMTP Server 0.3.
Найти
ее можно по
адресу - http://spsmtp.net.ru.
Программа
SPECTral
Personal SMTP Server 0.3 устанавливается
в следующей
последовательности:
2.
НАСТРОЙКА
WEB–СЕРВЕРА И
ЕГО КОМПОНЕНТОВ
2.1.
Конфигурационные
файлы сервера
Apache
Сервер
Apache имеет
три конфигурационных
файла: httpd.conf,
srm.conf,
access.conf.
Обычно эти
файлы находятся
в каталоге
/etc/httpd/conf.
Вся настройка
сервера заключается
в редактировании
этих трех файлов.
Рассмотрим,
какие функции
выполняют эти
файлы:
● Файл
httpd.conf
— это основной
файл конфигурации
сервера. В нем
содержится
техническое
описание работы
сервера.
● В файле
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: http://apache-gui.com, http://www.zecos.com, support@zecos.com.ApacheConf 3.3 позволяет
редактировать
файл httpd.conf, используя
графический
интерфейс
(GUI):
Все параметры
сервера в утилите
удобно разбиты
на разделы
(глобальные
параметры,
виртуальные
хосты и т.п.), имеет
мастера по
установки SSI,
PHP и множество
дополнительных
функций. Начинающие
администраторы
смогут улучшить
свои знания
Apache - многие директивы
снабжены
комментариями,
имеются подсказки
на русском
языке. Опытным
пользователям
программа
поможет сэкономить
время при настройке.
Поддерживаются
версии сервера
Apache 2 и 1.3. Редактировать
можно как локальный
файл httpd.conf, так
и расположенный
на FTP-сервере.
Конфигурирование
Apache
— непростое
занятие. К счастью,
все директивы
сервера подробно
описаны в
сопроводительной
документации,
включенной
в дистрибутив.
Существует
и online-версия
руководства.
Она доступна
по адресу
http://httpd.apache.org/docs/
. Главное достоинство
документации
на сайте в том,
что по ней можно
проводить
поиск, что недоступно
при использовании
руководства
из дистрибутива.
Следует
в точности
выполнять
перечисленные
ниже шаги, не
пропуская и
не откладывая
ни одного.
Создайте
в папке home
папку
localhost:
В папке
localhost
будет храниться
содержимое
главного хоста
Apache-того,
который будет
доступен по
адресу http://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.
Опция <Directory>
и </Directory>
используется
для применения
опций к конкретному
каталогу. Замените
следующий блок:
<Directory
"D:/usr/Apache/htdocs">
#
# 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
</Directory>
на блок:
<Directory "/">
#
# 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
</Directory>
В
этом блоке была
настроена папку
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. Закомментируйте
следующий
модуль:
#<IfModule
mod_userdir.c>
# UserDir
"D:/usr/Apache/users/"
#</IfModule>
13.
Далее для опции
DirectoryIndex
необходимо
указать файлы,
которые будут
загружаться,
когда происходит
обращение к
папке, а не к
конкретному
файлу:
<IfModule mod_dir.c>
DirectoryIndex index.html
index.htm index.php index.shtml index.shtm
</IfModule>
14. В
блоке:
<Files ~ "^\.ht">
Order allow,deny
Deny from all
Satisfy All
</Files>
удалите
строку:
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:
<Directory "/home/cgi-bin/">
AllowOverride All
Options ExecCGI
</Directory>
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
<VirtualHost 127.0.0.1>
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/
"/home/localhost/cgi-bin/"
ErrorLog
/home/localhost/error.log
</VirtualHost>
Здесь
папка cgi-bin
(вместо cgi),
html-файлы
(которые должны
располагаться
в папке html)
и файл error.log
будут находиться
в одной папке
localhost:
Эти
описания можно
было сделать
в файле httpd.conf,
но если все
виртуальные
серверы описать
в отдельном
файле, то строение
вашего http-сервера
становится
более наглядным.
3. Создайте
второй виртуальный
хост.
Допустим,
что Ваш сайт
расположен
в Internet по
адресу http://mysite.ru.
Настроим Apache
так, чтобы при
наборе этого
адреса загружался
Ваш сайт, без
выхода в Internet.
Для этого
в папке home
создайте папку
mysite и в папке
mysite папки
cgi и html:
Опишите
данный сервер
в файле виртуальных
хостов vhosts.conf:
<VirtualHost
127.0.0.2> - задается
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 - расположение
файла доступа
</VirtualHost> -
закрываем
описание сервера
#----localhost
<VirtualHost 127.0.0.1>
DocumentRoot "/home/localhost/"
ServerName localhost
ScriptAlias /cgi-bin/
"/home/localhost/cgi-bin/"
ErrorLog
/home/localhost/error.log
</VirtualHost>
#----mysite
<VirtualHost 127.0.0.2>
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
</VirtualHost>
В конец
файла
С:\WINDOWS\system32\drivers\etc\hosts:
добавьте
IP-адрес
и имя сервера:
127.0.0.2
mysite.ru
Перезапустите
Apache.
5) Если
Вам понадобиться
обратить к
сайту mysite.ru
на удаленном
сервере, то
закомментируйте
строку: #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
http://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 поместите
следующий код:
<?php
$dblocation
= "127.0.0.1";
$dbname
= "test";
$dbuser
= "root";
$dbpasswd
= "";
$dbcnx
= @mysql_connect($dblocation, $dbuser, $dbpasswd);
if
(!$dbcnx)
{
echo
"<p>К сожалению,
не доступен
сервер MySQL</p>";
exit();
}
if
(!@mysql_select_db($dbname,$dbcnx) )
{
echo
"<p>К сожалению,
не доступна
база данных</p>";
exit();
}
$ver
= mysql_query("SELECT VERSION()");
if(!$ver)
{
echo
"<p>Ошибка в
запросе</p>";
exit();
}
echo
mysql_result($ver, 0);
?>
В случае
успешной интеграции
MySQL в связку
Apache и PHP,
обращение по
адресу http://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
Вместо
REGKEY=none
У Вас
получится
что-то типа:
REGKEY=Имя,Имя_компьютера,12345
Сохраните
sendail.ini и
попробуйте
запустить
sendmail.exe. У
Вас должно
получиться
что-то типа
Sendmail
for Windows V1.16 at Mon Nov 20 20:00:00 2003
Host
name: Имя_компьютера
[IP компьютера]
Licensed
to Имя for
Имя_компьютера
[IP компьютера]
Использование
этого кряка
является
противозаконным
и решение запускать
его или нет,
целиком и полностью
зависит от
Вашей законопослушности.
Если Вы хотите
вознаградить
труды разработчиков,
заплатите за
Sendmail официально
на
http://www.webwarper.net/ww/~GZ/www.indigostar.com/ordsend.htm?*
3.
ТЕСТИРОВАНИЕ
СЕРВЕРА
3.1.
Проверка
работоспособности
виртуальных
серверов
При помощи
Блокнота
создайте два
файла с именем
index.html.
Один сохраните
в папке home\localhost:
другой
в home\mysite\html:
Содержание
первого файла
index.html:
<html>
<head><title>Тест
сервера</title></head>
<body><h2>Сервер
localhost работоспособен!!!</h2></body>
</html>
Содержание
второго файла
index.html:
<html>
<head><title>Тест
сервера</title></head>
<body><h2>Сервер
mysite.ru работоспособен!!!</h2></body>
</html>
Набирайте
http://localhost
в Вашем
браузере, должен
будет загрузиться
файл index.html:
Тоже
самое повторите
для сервера
mysite.ru:
Можете
поэкспериментировать
с расширениями
файла index-
.htm,
.php.
Мы это настраивали.
3.2.
Тест
SSI (Server Side Includes)
Для того
чтобы включить
поддержку SSI
(Server Side Includes – сборка
на стороне
сервера) в Apache
необходимо
в файл httpd.conf добавить
следующие
строки:
AddType text/html .shtml
AddHandler server-parsed .shtml
Это
наиболее стандартный
ход. Впрочем,
вместо расширения
.shtml можно
написать .html
или .phtml.
Главное, чтобы
выбранное
расширение
было идентично
расширению,
которое использует
для обозначения
SSI файлов
провайдер.
И, естественно,
нужно включить
сам "механизм"
вложения, а для
этого добавить
к команде Options
слово Includes.
Тогда строка
с командой
Options может
принять вид:
Options Indexes FollowSymLinks Includes.
В
настройках
Apache
было указано,
что поддержка
SSI
используется
в файлах с
расширениями
.shtm
и .shtml.
Данная технология
позволяет
создавать одну
страницу из
нескольких.
Это удобно,
когда у Вас
имеются повторяющиеся
элементы на
нескольких
страницах.
Технология
SSI
позволяет
отказаться
от использования
фреймов, которые
часто ругают
из-за некорректной
работы.
Измените
файл index.html
следующим
образом:
<html>
<head><title>Тест
сервера</title></head>
<body>
<h2>Проверка
поддержки
SSI</h2>
<!--#include
virtual="test_ssi.shtml" -->
</body>
</html>
Сохраните
данный файл
с расширением
.shtml.
Затем
создайте в
директории
localhost
файл test_ssi.shtml,
имеющий следующее
содержание:
<H3><I>Данный
текст был добавлен
в файл index.shtml
по средствам
технологии
SSI</I></H3>
Запустите
браузер и наберите
http://localhost:
Скопируйте
два файла (полученные
выше), удалив
при этом файл
index.html,
в папку mysite\html
и проверьте
работоспособность
для адреса
http://mysite.ru:
Нет
необходимости
проделывать
одно и тоже для
двух серверов,
т.к. понятно
если тест работает
на одном сервере,
то это будет
работать и на
другом (в нашем
случае). Это
происходит,
потому что
параметры обоих
серверов одинаковые
(мы их описали
в файле httpd.conf),
разное у них
только расположение
файлов в папках.
Здесь работает
принцип: все
параметры не
указанные в
настройках
виртуального
сервера, должны
наследоваться
от главного
сервера.
С
учетом сказанного
дальнейшее
тестирование
проведем для
адреса http://localhost,
если потребуется
произвести
тест на обоих
серверах, то
об этом будет
сказано дополнительно.
3.3.
Тест PHP
Создайте
файл test_php.php в папке
localhost. Содержание
файла test_php.php:
<?php
echo
“<h4>Привет,
$n! Тест PHP
выполнен!</h4>”;
phpinfo();
?>
Откройте
браузер и наберите
следующий
адрес:
http://localhost/test_php.php?n=Виктор
Сергеевич .
Результат
работы скрипта:
Мы
передали скрипту
значение переменной,
при помощи
метода GET.
А затем выполнили
функцию phpinfo(),
которая отображает
состояние PHP.
Можно просмотреть
настройки PHP
и узнать, какие
модули подключены.
Функция
phpinfo() отображает
детальную
информацию
об интерпретаторе:
♦ Версию
РНР.
♦ Версию
операционной
системы.
♦ Параметры,
заданные при
сборке РНР.
♦ Дату
сборки интерпретатора.
♦ Сведения
о дополнительных
модулях.
♦ Переменные
окружения —
основные и
локальные
настройки
интерпретатора.
♦ Заголовки
HTTP.
♦ Лицензию
РНР.
Как правило,
данная функция
используется
один-единственный
раз: при установке
интерпретатора
для проверки
его работоспособности.
К информационным
функциям относятся
три функции:
phpinfo(); phpversion(); getlastmod().
Функция
phpversion() просто
отображает
версию интерпретатора.
Например: PHP
Version 4.3.2
Функция
getlastmod() очень полезна
— отображает
время последнего
изменения
сценария.
Использовать
ее можно примерно
так:
echo date ("d.m.Y",
getlastmodO);
3.4.
Тест MySQL
Для
удобной работы
с MySQL
создан специальный
набор скриптов
под названием
PhpMyAdmin
(имеется русская
версия).
Cоздайте
файл test_mysql.php:
<?
if
(!mysql_connect("localhost","root",""))
{
echo
"Не удалось
соединиться
с сервером\n";
echo mysql_error();
exit;
}
echo "MySQL сервер
работает!"
?>
Откройте
браузер и наберите
следующий
адрес:
http://localhost/test_mysql.php:
Можно
провести более
детальное
тестирование
работы
MySQL.
Создайте PHP-сценарий
с именем mysql.php
в каталоге
D:\home\localhost\:
<?php ## Скрипт
для проверки
работоспособности
MySQL.
echo "<pre>";
//Открываем
соединение
с СУБД MySQL:
//пользователь:
root, пароль: пустой.
@mysql_connect("localhost",
"root", "")
or die(mysql_error() ) ;
//Будем
работать с
базой данных
mysql которая существует
по
// умолчанию
и хранит конфигурацию
сервера MySQL.
@mysql_select_db("mysql")
or die(mysql_error());
// Выбираем
все записи из
таблицы users БД
mysql.
$r = @mysql_query("SELECT
* FROM user")
or
die(mysql_error());
//В цикле
печатаем каждую
найденную
строку,
while ($row =
mysql_fetch_assoc($r))
{
print_r ($row) ;
}
?>
Запустите
серверы (Apache
и MySQL) и
наберите в
браузере адрес:
http://localhost/mysql.php.
Обратите
внимание, что
СУБД MySQL
запущена на
текущей машине,
а значит, для
соединения
с ней нужно
указывать адрес
сервера localhost.
Мы сконфигурировали
СУБД
так, чтобы она
принимала
запросы только
с текущей машины.
Пользователь
root существует
сразу же после
инсталляции
и получает
неограниченный
доступ ко всем
таблицам и
базам данных.
При установке
MySQL пользователю
root не
назначается
пароль, так что
в качестве
последнего
параметра
функции mysql_connect()
передается
пустая строка.
Для
работы с MySQL
в РНР 5
необходимо
подключение
библиотеки
расширения
php_mysql.dll. В
РНР 4
функции для
работы с этой
СУБД
встроены в
ядро.
Если
все сконфигурировано
правильно, вы
получите несколько
десятков строк
вывода в браузере
без сообщений
об ошибках.
Этот скрипт
распечатывает
всю информацию
о пользователях
MySQL, которая
хранится в
таблице user
базы данных
с именем mysql:
В пределах
СУБД
обычно существует
несколько
именованных
баз данных,
каждой из которых
можно назначить
отдельного
пользователя
с соответствующими
правами доступа.
В листинге
config.php
представлен
код файла, содержащий
параметры
соединения
с базой данных,
скрипт установления
соединения
и функцию puterror,
предназначенную
для вывода
сообщений об
ошибках соединения
в браузер. Этот
код рекомендуется
включать в
начало каждого
файла, в котором
происходит
обращение к
базе данных.
С его помощью
осуществляется
соединение
с базой данных
(include "config.php"):
<?
//листингconfig.php
- код файла,
содержащего
параметры
соединения
с базой данных
//предназначен
для вывода
сообщений об
ошибках соединения
в браузер
$dblocation
= "localhost"; //Имя
сервера
$dbname =
"auth"; //Имя
базы
данных
$dbuser = "root";
//Имя пользователя
базы данных
$dbpasswd = "";
//Пароль
//Осуществляем
соединение
с сервером базы
данных
//Подавляем
вывод ошибок
символом @ перед
вызовом функции
$dbcnx=@mysql_connect($dblocation,$dbuser,$dbpasswd);
if (!$dbcnx)
{
echo("<p> В
настоящее время
сервер базы
данных не
доступен,поэтому
корректное
отображение
страницы
невозможною</p>");
exit();
}
//Осуществляем
выбор базы
данных
//Подавляем
вывод ошибок
символом @ перед
вызовом функции
if(!@mysql_select_db($dbname,$dbcnx))
{
echo("<p> В
настоящее время
база данных
не доступена,поэтому
корректное
отображение
страницы
невозможною</p>");
exit();
}
//Небольшая
вспомогательная
функция,которая
выводит сообщение
//об ошибке
в случае ошибки
запроса к базе
данных
function puterror($message)
{
echo("<p>$message</p>");
exit();
}
?>
Этот файл
содержит
конфигурационную
информацию
о соединении
с базой данных.
Первая переменная
— $dblocation —
включает имя
сервера MySQL.
В листинге
config.php
значение этой
переменной
выставлено
для локального
хоста. Если вы
собираетесь
расположить
проект на другом
хостинге, переменной
$dblocation следует
присвоить адрес
сервера базы
данных этого
хостинга.
Переменная
$dbname содержит
имя базы данных,
$dbuser — имя
пользователя,
$dbpasswd — пароль.
Если вы будете
размещать
проект на хостинге,
необходимо
изменить все
эти переменные
в соответствии
с информацией,
предоставляемой
хост-провайдером.
ЗАКЛЮЧЕНИЕ
или С ЧЕГО НАЧАТЬ?
На
этом установка
и предварительная
настройка
сервера закончена.
Теперь можно
создавать и
тестировать
сайты любого
уровня сложности
с поддержкой
современных
Интернет - технологий
на локальном
компьютере.
Для начала
рекомендуется
приступать
к изучению PHP
и MySQL. На официальном
сайте PHP
(http://www.php/net/manual/ru/tutorial.php)
полностью
переведен на
русский язык
раздел документации
«Вступление»
и «Краткое
руководство»:
Следует
обязательно
прочитать его,
чтобы получить
начальные
сведения о
языке и приемах
программирования.
Далее на сайте
http://php5/ru/study
следует познакомиться
с книгой «Самоучитель
PHP». Курс
находится в
процессе написания.
Рекомендуется
изучить материал
Вадима Ткаченко
«Вступление
в PHP и MySQL»,
который находится
по адресу
http://phpclub.ru/detail/article/phpintro:
Он издавался
отдельной
книгой, а сейчас
- исправленный
и дополненный
- размещается
на сайте:
Ресурс
«PHP в деталях»
- неисчерпаемый
источник информации
по PHP, находится
по адресу
http://phpclub.ru/detail/.
Единственное
замечание -
обращайте
внимание на
дату написания
статьи. Не стоит
доверять статьям,
написанным
до 2003 года.
Если вы
еще не прочли
сайт http://phpfaq.ru/- обязательно
сделайте это.
Здесь перечислены
проблемы, с
которыми рано
или поздно
столкнется
каждый, кто
пишет на PHP.
Сайт
php.if.ua посвящен
программированию
на PHP. На нем Вы
найдете документацию
и примеры скриптов:
Много
документации
по PHP на русском
языке можно
найти на сайте
php.spb.ru:
Рекомендуется
статья «Установка
и настройка
Apache+PHР» , расположенная
по адресу
http://php5/ru/study/instal.
И, конечно же
- разделы официальной
документации,
посвященные
установке
соответствующих
программ.
При изучении
любого дела
обязательно
появятся вопросы.
Вопросы удобно
задавать на
форумах. Есть
несколько
форумов, посвященных
PHP. Это самый
посещаемый
и известный
форум:
http://phpclub.ru/talk/forumdisplay.php?s=&forumid=12. К
сожалению,
очень часто
на вопрос новичка
отвечает еще
более зеленый
новичок, давая
совершенно
неправильный
ответ. Однако
профессионалов
там тоже предостаточно,
готовых объяснить
ошибки и первому
и второму. Форум
по PHPhttp://forums.webscript.ru/forumdisplay.php?s=&forumid=16
отличается
очень суровым
цензом к качеству
ответов.
Задавая
вопрос на форуме,
помните: что,
скорее всего,
с ним уже сталкивались
другие, и подробные
ответы на них
есть и их можно
найти в поиске.
Если же, все-таки,
вопрос приходится
задавать - то
описывайте
его как можно
подробнее
(только своими
словами, а не
кодом): что делали,
что хотели
получить, и что
получилось
в результате,
а так же точно
копируйте
сообщения об
ошибках.
Можно
рекомендовать
следующие книги
и журналы:
1. Скляр
Д., Трахтенберг
А. PHP. Сборник
рецептов. –
Пер. с англ. –
СПб: Символ –
Плюс, 2005. – 627 с., ил.
Это самая лучшая
книги по PHP:
собрание конкретных
ответов на
конкретные
вопросы. Книга
разбита на 21
главу, каждая
глава состоит
из разделов
вида: постановка
проблемы - решение
- объяснение.
Немного устарела,
в плане того,
в чем PHP
сильно ушел
вперед - XML, обработка
ошибок. Однако
в базовых основах
языка остается
непревзойдённой.
Может использоваться
как в виде
справочника
для решения
конкретных
проблем, так
и в виде учебника.
Поддерживается
веб-страница
для этой книги
http://www.oreilly.com/catalog/phpckbk,
где приводятся
ошибки, примеры
и другая дополнительная
информация.
Можно сделать
замечание или
задать вопрос,
послав электронное
письмо по адресу:
bookquestions@oreilly.com.
За дополнительной
информацией
по этой книге,
о конференциях,
Resource Centers
и O'Reilly
Network обращайтесь
к веб-сайту
O'Reilly:
http://www.oreilly.com.
2. Котеров
Д., Костарев А.
PHP5 в подлиннике.
– СПб: Символ
– Плюс, 2005. – 1120 с.,
ил. Это второе
издание знаменитой
книги Д. Котерова.
Не имеет ничего
общего с первым.
Это не переработанная,
это совершенно
новая книга.
Она подходит
как начинающему,
так и профессионалу
- в ней изложены
все аспекты
программирования
на PHP. Все исходные
коды приведенных
в книге листингов
доступны для
загрузки с
сайта книги
в виде одного
большого архива.
Для обеспечения
резервирования
сайт имеет
несколько
разных имен
(если какое-то
из них не будет
работать, попробуйте
другое): http://book.PHP5.ru;
http://PHP5.dWab.nl
; http://PHP5.nevod.ru
. На сайте имеется
ссылка на форум,
в котором можно
обсудить тот
или иной аспект
книги, сообщить
о замеченной
неточности
или просто
задать вопрос
по РНР.
3. Можно
почитать очень
старый учебник
Д. Гилмора «PHP
- учебный курс»:
http://phpfaq.ru/txt/gilmor.
4. Очень
полезен русскоязычный
онлайн журнал
по PHP - PHPinside.RU.
5. Сборник
полезных сведений
от автора РНР
можно найти
по адресу:
www.lerdorf.com/tips.pdf (на английском
языке).
6. Официальный
перевод документации
по MySQL:
http://dev.mysql.com/doc/mysql/ru/index.html.
7. Книгу
М. Грабера «Введение
в SQL» можно найти
по адресу:
http://www.mysql.ru/docs/gruber/.
8. Дюбуа
П. MySQL. Сборник
рецептов. –
Пер. с англ. - СПб:
Символ – Плюс,
2004. – 1056 с., ил. Книга
от автора «Библии
MySQL» Поля Дюбуа,
необходима
каждому разработчику,
использующему
MySQL. Это собрание
ответов на
любые практические
вопросы. На
веб-сайте книги
http://www.kitebird.com/mysql-cookbook/
можно найти
исходные тексты
и тестовые
данные рассмотренных
примеров.
9. Дюбуа.
П. MySQL. 2-е издание.
Второе издание
«Библии MySQL»,
на которой
училось не одно
поколение.
Объясняет
секреты MySQL очень
простым и понятным
языком.
ЛИТЕРАТУРА
1. Скляр
Д., Трахтенберг
А. PHP. Сборник
рецептов. –
Пер. с англ. –
СПб: Символ –
Плюс, 2005. – 627 с., ил.
2. Котеров
Д., Костарев А.
PHP5 в подлиннике.
– СПб: Символ
– Плюс, 2005. – 1120 с.,
ил.
3. Дюбуа
П. MySQL. Сборник
рецептов. –
Пер. с англ. - СПб:
Символ – Плюс,
2004. – 1056 с., ил. |