Установка Web-сервера Apache
Запустите установщик Web-сервера Apache. Результатом будет окно с лицензионным соглашением, после принятия которого, следует перейти к следующему окну с краткой информацией о нововведениях во второй версии Apache. Следующее окно, показанное на рисунке, позволяет ввести информацию о сервере: доменное имя сервера, имя сервера и адрес электронной почты администратора. Если установка происходит на локальную машину, то в поля для доменного имени и имени сервера следует ввести localhost (см. рисунок.). В нижней части окна предлагается выбрать номер порта по которому сервер будет принимать запросы (80 или 8080).
localhost - это имя для использования сервера на локальной машине, которое связано с IP-адресом 127.0.0.1, который зарезервирован для локального использования.
После этого будет предложен способ установки: стандартный (Typical ) или выборочный (Custom), позволяющий выбрать компоненты сервера вручную. Следующее окно позволяет выбрать каталог установки сервера, по умолчанию это C
rogram FilesApache Group, но мы рекомендуем выбрать другой каталог, например, С:www. После этого мастер установки сообщит о готовности к процессу установки и после нажатия кнопки Install, будет произведено копирование файлов сервера. Если установка прошла успешно, Windows автоматически запустит Apache.
После успешной инсталляции при наборе в окне браузера
Ссылка скрыта от гостей
или
Ссылка скрыта от гостей
- должна загрузится страница сервера.
Теперь необходимо научиться управлять Apache, а именно научится запускать, останавливать и перезапускать сервер. Существует много способов осуществить эти операции: при помощи утилиты ApacheMonitor, используя консоль управления сервисов Windows, используя пункты меню Пуск, из командной строки… Мы рассмотрим консоль управления сервисов Windows, позволяющего настроить Apache для автоматического старта при запуске системы. Для запуска консоли управления выполните команду
Пуск->Настройка->Панель управления->Администрирование->Службы.
В появившемся окне консоли, на приведённом ниже рисунке, следует выбрать сервис Apache2. Контекстное меню, открывающееся по нажатию на правой кнопке, позволяет осуществлять запуск, остановку и перезапуск сервиса.
Службы Windows позволяют осуществлять запуск фоновых приложений при старте системы. Для этого необходимо перейти в окно Свойства, выбрав в контекстном меню сервиса пункт Свойства и в появившемся окне в выпадающем списке "Тип запуска" выбрать пункт "Авто".
Конфигурирование Apache
Web-сервер — сложный программный продукт работающий на разных платформах и в разных операционных системах по всему миру. Поэтому для корректной работы на установленной системе его необходимо настроить (сконфигурировать).
По умолчанию настройки Apache расположены в файле httpd.conf в директории conf. Далее будут описаны основные директивы файла httpd.conf и их общеупотребительные значения.
Пути к файлам
В конфигурационных файлах Apache и PHP Вам часто придется указывать пути к различным директориям и папкам. В операционных системах UNIX и Windows при-меняются различные разделители каталогов. В UNIX используется прямая косая черта "/", например /usr/bin/perl, в в Windows обратная, например, c:Apachein. Вообще, в некоторых директивах Apache и PHP работают оба вида разделителей каталогов: прямой(/) и обратный(), но так как и Apache и PHP изначально разрабаты-вались под UNIX, то применяя их "родной" формат, Вы сможете избежать ряда проблем. Поэтому пути в настроечных файлах (httpd.conf и php.ini) рекомендуется писать через слеш в формате UNIX — "/". Например:
Код:
ScriptAlias "/php_dir/" "c:/php/"
Директивы файла httpd.conf
Порт
Устанавливает порт TCP, который используется Apache для установки соединения. По умолчанию используется 80 порт.
Примечание: Единственная причина использования нестандартного порта — это отсутствие прав на использование стандартного порта. При использовании нестандартного порта, например, 8080 номер порта следует указывать в адресе, например:
Ссылка скрыта от гостей
.
ServerAdmin
Код:
ServerAdmin mymail@yandex.ru
Содержит e-mail-адрес администратора web-сервера, который будет отображаться при ошибках работы сервера.
ServerName
Содержит имя компьютера для сервера.
ServerRoot
Указывает на каталог, содержащий файлы WEB-сервера Apache.
Примечание: Не путайте директиву ServerRoot с директивой DocumentRoot, которая указывает каталог для файлов WEB-сайта.
DocumentRoot
Код:
DocumentRoot "C:/Apache2/htdocs"
Определяет каталог, в котором расположены файлы WEB-сайта.
Контейнер <Directory />
Сфера действия директив внутри этого контейнера распространяется на все файлы и подкаталоги внутри DocumentRoot.
Код:
<Directory />
Options FollowSymLinks Includes Indexes
AllowOverride All
</Directory>
- Директива AllowOverride установленная в значение All разрешает переопределять значения главного конфигурационного файла httpd.conf в файлах .htaccess.
- Директива Options FollowSymLinks разрешает Apache следовать символическим ссылкам.
- Директива Options Includes разрешает выполнение директив SSI (Server Side Includes) в коде страниц web-сайта.
- Директива Options Indexes указывает, что нужно возвращать содержимое каталога, если отсутствует индексный файл.
DirectoryIndex
Код:
DirectoryIndex index.html index.phtml index.php
Содержит список индексных файлов, которые следует отображать при обращении к директории без указания имени файла (например,
Ссылка скрыта от гостей
.
AddDefaultCharset
Код:
AddDefaultCharset windows-1251
Устанавливает кодировку по умолчанию, если кодировка не установлена в заголовке HTML-документа. Также Вам может потребоваться указывать значение кодировки KOI8-R.
Создание виртуальных хостов
На одном WEB-сервере Apache можно установить несколько WEB-сайтов. Эта функция сервера называется виртуальным хостингом. Ниже рассмотрим создание виртуальных узлов на основе имен. Виртуальные узлы обычно расположены в конце файла httpd.conf.
Сначала требуется указать какой IP-адрес используется для виртуальных хостов.
Код:
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста
</VirtualHost>
Далее нужно прописать директивы для контейнера <VirtualHost>, которые будут определять конфигурацию виртуального хоста.
Файл httpd.conf. Контейнер <VirtualHost>
Код:
<VirtualHost 127.0.0.1:80>
ServerAdmin webmaster@may_domain.ru
DocumentRoot c:/www/mysite
ServerName www.mysite.ru
ServerAlias www.site.ru www.host2.ru
ErrorLog logs/mysite-error.log
CustomLog logs/mysite-access.log common
</VirtualHost>
Рассмотрим директивы виртуального узла:
- DocumentRoot указывает каталог, где расположены файлы (странички) данного виртуального узла (WEB-сайта)
- ServerName указывает имя виртуального узла, по которому к нему можно обратиться. В данном случае, по адресу
Ссылка скрыта от гостей
.
- ServerAlias содержит псевдонимы имен виртуального узла. В данном случае к виртуальному узлу можно также обратиться, используя имена:
Ссылка скрыта от гостей
и
Ссылка скрыта от гостей
.
- ErrorLog и CustomLog указывает имена логов сервера для этого виртуального хоста.
Контейнеры обычно располагают один за другим в конце файла httpd.conf.
Файл httpd.conf. Настройка виртуальных хостов
Код:
NameVirtualHost 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 1
</VirtualHost>
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 2
</VirtualHost>
<VirtualHost 127.0.0.1:80>
# Директивы виртуального хоста 3
</VirtualHost>
Примечание: Для применения изменений, вносимых в файл httpd.conf, Apache следует перезагрузить.
Для того, чтобы обращаться к виртуальным узлам по именам их следует прописать в базы данных DNS-сервера. Если Вы используете Apache для тестирования файлов на локальной машине, то имена ваших виртуальных узлов следует прописать в файле hosts. Для Windows 2000 и XP он расположен в каталоге C:WindowSystem32Driversets. Файл hosts содержит записи вида:
Формат записей файла hosts
Код:
127.0.0.1 www.mysite.ru
127.0.0.1 www.site.ru
127.0.0.1 www.host2.ru
Установка и настройка PHP
Для установки PHP следует создать каталог c:/php и разместить в нём файлы из zip-архива дистрибутива. После этого следует переименовать конфигурационный файл php.ini-dist в php.ini и скопировать его в директорию Windows.
Далее, необходимо сообщить Web-серверу о наличии установленного PHP. Установка PHP возможна двумя вариантами: как модуль Apache и как внешнее CGI-приложение. Ниже будут рассмотрены оба варианта установки.
Установка PHP в качестве модуля
Установка PHP в качестве модуля немного повышает быстродействие, так как модуль PHP загружается один раз при запуске Web-сервера
Замечание: При установке PHP в качестве модуля настройки из php.ini читаются один раз при запуске Web-сервера. Поэтому при внесении изменений в php.ini необходимо перегрузить Apache для того, чтобы внесенные изменения вступили в силу.
Для установки PHP откройте файл главный настроечный файл Apache httpd.conf на редактирование и удалите символы комментариев со следующих строк, при необходимости изменив их:
Файл httpd.conf. Подключение PHP как модуль Apache
Код:
AddType application/x-httpd-php phtml php
LoadModule php5_module c:/php/php5apache2.dll
Примечание:Вместо директории c:/php подставьте Вашу директорию с установленным PHP.
Конфигурирование PHP (файл php.ini)
Так как на локальной машине вы, скорее всего, будете заняты тестированием Ваших Web-приложений, то необходимо должным образом настроить конфигурационный файл php.ini. Найдите директиву error_reporting и установите для неё следующее значение:
Код:
error_reporting = E_ALL & ~E_NOTICE
Это значение настроит PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors, была включена:
Если данная директива отключена (Off), то сообщения об ошибках не будут выводится в окно браузера и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном — что бы это означало.
Так же необходимо проследить, чтобы директива variables_order имела следующее значение:
Код:
variables_order = "EGPCS"
Буквы здесь означают следующее:
E - переменными среды
G - переменными передаваемыми по методу GET (G)
P - переменными передаваемыми по методу POST (P)
C - Cookies
S - сессии
Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.
Следующая директива, которая может потребовать настройки – это register_globals. Если данная директива включена
то переменные передаваемые метором GET, POST, через cookies и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone.
Если данная директива отключена
то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET и т.п.).
Директива register_long_arrays позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS и т.д.)
Код:
register_long_arrays = On
Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку
Ссылка скрыта от гостей
, а не
Ссылка скрыта от гостей
. Сервер всё равно предоставит браузеру index.html, так как этот файл является индексным и ищется в директории первую очередь, если не указан конкретный файл. Теперь необходимо настроить http.conf, таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php. Для этого найдте в http.conf директиву DirectoryIndex и исправьте её следующим образом:
Код:
DirectoryIndex index.html index.html.var index.php
После этого необходимо перегрузить сервер Apache, а в корневой директории виртуального хоста ("C:/www/scripts") создать пробный файл PHP (index.php):
В случае успешной настройки, обращение по адресу
Ссылка скрыта от гостей
отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo().
Таким образом, у нас настроена связка Apache и PHP и можно переходить к настройке MySQL. Распакуйте дистрибутив MySQL во временную директорию и запустите установщик. Контролировать работу сервера MySQL можно точно так же как и Apache, используя консоль управления сервисов Windows.
Подключение MySQL
Откройте на редактирование файл php.ini из каталога Windows. Для подключения библиотеки расширения MySQL Вам нужно убрать символ комментария ;(точка с запятой) из строки:
Также проверьте значение директивы extension_dir
Код:
extension_dir ="c:/php-5.0/ext"
Она должна указывать на каталог, где хранятся расширения PHP. Разделители каталогов рекомендуется писать в формате UNIX (/) — обратный слеш. Однако, если ничего не получается, просто откатите назад значение директивы extension_dir, а библиотеку php_mysql.dll скопируйте в корень C:/php-5.0/ - в большинстве случаев это должно помочь.
Если PHP Вас подключен как модуль, то Вам также необходимо скопировать библиотеку libmysql.dll из каталога с установленным PHP в системный каталог C:/Windows/System32. Чтобы внесенные изменения вступили в силу — перезагрузите Apache.
Для проверки работы MySQL перезапустите сервер Apache и создайте проверочный скрипт со следующим кодом:
Код:
<?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, обращение к проверочному скрипту выведет в окно браузера версию сервера MySQL.
В новых версиях MySQL (начиная с 4.1.0) изменился порядок работы с национальными кодировками, поэтому старый код может вызывать появление в таблице базы данных знаков вопроса '????????' вместо русского текста. Для того, чтобы этого не возникало в начало PHP-скрипта, после установки соединения с базой данных, следует поместить следующие строки:
Код:
<?php
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
?>
Установка расширений PHP
На последок вам возможно понадобится настроить некоторые расширения PHP, они настраиваются точно так же как и MySQL.
Так для того, чтобы подключить графическую библиотеку GDLib в php.ini необходимо раскомментировать строку:
Проверьте после этого наличие данной библиотеки в папке c
hpext. После внесения изменений в php.ini перезапустите сервер. Что бы быстро проверить: подключилась ли библиотека — выполните функцию phpinfo(). Если все в порядке, то в таблице, которая отображается функций phpinfo(), должен появится раздел "gd". Скачать GDLib2
Некоторые расширения требуют дополнительных библиотек. Так для того чтобы воспользоваться расширением PHP "Mcrypt Encryption", позволяющем осуществлять симметричное шифрование необходимо, во первых, расскомментирования строку в php.ini
А во вторых скопировать в папку С:/WINDOWS/ дополнительную библиотеку libmcrypt.dll
[color="#000000background#000000"]Архив с Apache2, PHP, MySQL и утилитой NivaCat 2005+Лекарство можно скачать <span class='inv'><![CDATA[<noindex>]]>[/color]
Ссылка скрыта от гостей
</span>
Нород я не помню откуда взял эту статью, так что если это чьято сори, но она мне реально помогла...