Установка Apache, PHP5, PHP4, MySQL под Windows 2000 Pro
Главная » Статьи » Web технологии » Установка Apache, PHP5, PHP4, MySQL под Windows 2000 Pro
Обзор компонентов
- Web сервер Apache 1.3.27 (www.apache.org)
- PHP 4.4.0, PHP 5.0.4 (www.php.net)
- MySQL 4.0.25 (www.mysql.com)
Если доступны дистрибутивы для win32, без инсталятора, предпочительней скачать их.
Конфигурация компьютера
- Intel Celeron 1.7 Mhz, Ram 758 MB
- OS: Windows 2000 Professional SP4 со всеми доступными обновлениями
Предварительная подготовка. Первые шаги
Для удобства (хотя это и не обязательно), я буду использовать виртуальный диск, целиком отведенный под web-разработку.
Создадим, предположим на диске E:, папку pDisk
Затем выполним следующую команду:
c:\winnt\system32\subst p: e:\pDisk
В системе появится дополнительный диск, его содержимое будет находится в папкеe:\pDisk.
Удобно саму папку e:\pDisk сделать скрытной, а в автозагрузке Windows вставить запуск bat файла со следующим содержанием:
@echo Эмулируем необходимые диски: c:\winnt\system32\subst p: e:\pDisk
Предварительная подготовка. Создания структуры каталогов
Достаточно логично хранить все связанно c web-разработкой на вновь созданом диске.
Мы будем рассматривать следующую структуру каталогов:
- p:\cgi-bin\ - каталог со скриптами для корневого хоста Apache
- p:\docs\ - документация, заметки по проектам и т.д.
- p:\examples\ - каталог с примерами настроек конфигурационных файлов
- p:\home\ - каталог для виртуальных хостов Apache
- p:\shell\ - каталог для скриптов, исполняемых в shell
- p:\tmp\ - каталог для временных файлов (например, файлов сессий)
- p:\usr\bin\ - каталог для перла (путь для совместимости)
- p:\usr\lib\ - каталог для библиотек перла
- p:\usr\local\ - каталог для софта (Apache, PHP, MySQL)
- p:\usr\www\ - каталог для корневого хоста Apache
Корневой хост Apache удобно использовать для всякогорода тестов.
Установка Apache
Запускаем инсталятор web-сервера Apache, в качестве server's informationя использую следующие параметры (в случае если web-сервер будет обслуживать реальный хост, необходимо занести корректную информацию).
- Network Domain — localnet.net
- Server Name — www.localnet.net
- Administrator's Email Address — mail@localnet.net
Устанавливаем Apache в папку p:\usr\local\
Проверяем работоспособность web-сервера, набрав в адресной строке браузера http://127.0.0.1 либо http://localhost.
Если тестовая страница отображается нормальна, приступим к предварительной настройке основного файла конфигурации web-сервера Apache(p:\usr\local\Apache\conf\httpd.conf).
Первичная настройка основного файла конфигурации
Сначала найдем все вхождения строки p:/usr/ и заменим ее на /usr/. (я предпочитаю использовать относительные пути когда это возможно)
Параметр DocumentRoot
Отвечает за расположение корневой папки для документов.В нашем случае имеет значение
"/usr/local/Apache/htdocs"
Мы договорились использовать для корневого хоста папку p:/www/.
Меняем значение напараметра на "/www". Необходимо чуть ниже найти директиву
<Directory "/usr/local/Apache/htdocs">
и отредактировать путь:
<Directory "/www">
На этом, собственно, первичная настройка и завершена.
Установка PHP4 как модуля web-сервера Apache
- Распаковываем скаченный дистрибутив в папку p:\usr\local\php4.4.0
- Копируем в папку с Apache (p:\usr\local\Apache) файл php4ts.dll
- Копируем в папку с Apache (p:\usr\local\Apache) файл php.ini-dist под именем php.ini
- Добавляем в файл конфигурации Apache следующие строки
LoadModule php4_module "/usr/local/php4.4.0/sapi/php4apache.dll" AddType application/x-httpd-php .php
- Размещаем в каталоге p:\www\ файл index.php, с следующим содержанием:
<?php
phpinfo();
?>
- Перезапускаем web-сервер Apache
- Если по адресу http://localhost/index.php отображается таблица с информацией о PHP, все сделано верно.
Установка PHP5 как модуля web-сервера Apache при установленном как модуль PHP4
- Распаковываем скаченный дистрибутив в папку p:\usr\local\php5.0.4
- Копируем в папку с Apache (p:\usr\local\Apache) файл php.ini-dist под именем ph5.ini
-
Любым бинарным редактором (я воспользовался HexEditPlus) редактируем файл p:\usr\local\php.5.0.4\php5apache.dll
Заменяем все вхождения строки application/x-httpd-php на application/x-httpd-ph5
-
Для независимой конфигурации различных версии php таким же образом редактируем файл p:\usr\local\php5.0.4\php5ts.dll
Заменяем все вхождения строк php.ini на ph5.ini и php-%s.ini на ph5-%s.ini.
Теперь php5 будет использовать для конфигурации файл p:\usr\local\Apache\ph5.ini
- Добавляем в файл конфигурации Apache следующие строки
LoadModule php5_module "/usr/local/php5.0.4/php5apache.dll" AddType application/x-httpd-ph5 .php5
- Размещаем в каталоге p:\www\ файл index.php5, с следующим содержанием
<?php
phpinfo();
?>
- Перезапускаем web-сервер Apache
- Если по адресу http://localhost/index.php5 отображается таблица с информацией о PHP версии 5.0.4, все сделано верно.
Для удобства можно завести отдельную директорию p:\www\php5, либо виртуальный хост, в котором файлы с расширением php будут обрабатываться PHP версии 5.
Добавляем в файл конфигурации web-сервера (p:\usr\local\Apache\conf\httpd.conf) следующие строки:
<Directory /www/php5> <Files "*.php"> <ForceType application/x-httpd-ph5> </Files> </Directory>
Необходимо чтобы был загружен модуль web-сервера Apache mod_mime.
Последний шрих — перезапускаем web-сервер Apache
Установка сервера баз данных MySQL
Скачиваем, запускаем инсталлятор, указывая директорию для установки, как p:\usr\local\mysql4.0.25
Запускаем сервер следующей командой
p:\usr\local\mysql4.1.18\bin\mysqld.exe --basedir=p:\usr\local\mysql4.1.18 --default-character-set=cp1251 --character-sets-dir=p:\usr\local\mysql4.1.18\share\charsets\
Удобно запускать и остановливать сервер MySQL, посредством двух bat-файлов, распложенных в корне, нашего виртуального диска p:
содержимое файла mySQL Start.bat:
start \usr\local\mysql4.1.18\bin\mysqld.exe --basedir=\usr\local\mysql4.1.18 --default-character-set=cp1251 --character-sets-dir=\usr\local\mysql4.1.18\share\charsets\
содержимое файла mySQL Shutdown.bat:
start usr\local\mysql4.0.25\bin\mysqladmin.exe -u root shutdown
Поддержка работы с базой данных MySQL в PHP5
Редактируем файл p:\usr\local\php.5.4.0\ph5.ini, следующим образом:
extension_dir = /usr/local/php5.0.4/ext/ … … extension=php_mysql.dll
То есть пишем новый путь для поиска расширений и добавляем расширение php_mysql.dll
Раcширение php_mysql.dll (функции MySQL в PHP >= 5.0.0), требует для работы библиотеку libmysql.dll (самое удобное — скопировать ее в директорию веб-сервера Apache (p:\usr\local\Apache\).
Проверка работы сервера MySQL
Сохраним следующий скрипт под именами p:\www\db_list.php и p:\www\db_list.php5:
<?php
print "Current PHP version: <b> ". phpversion() ."</b>";
$link = mysql_connect("localhost", "root") or die("Could not connect");
if( !$link )
die( mysql_error() );
$db_list = mysql_list_dbs($link);
while ($row = mysql_fetch_object($db_list))
{
echo "<h3>Database \"".$row->Database."\"</h3>\n";
$result = mysql_list_tables($row->Database);
if(!$result)
die( "DB Error, could not list tables\n MySQL Error: ".mysql_error() );
else
{
while ($row = mysql_fetch_row($result))
print "Table: $row[0]<br />";
mysql_free_result($result);
}
}
?>
При успешной установке MySQL скрипты при запуске выведут листинг всех доступных баз и таблиц.