Сегодня: 27.03.2025
Главная Уроки и статьи
Для сайта
Установка и настройка сервера Apache PHP MySQL - Часть 2
Автор: Qoodo
07 Июля 2009
Для удобной разработки веб-сайтов на локальном компьютере под операционной системой Windows, необходимо установить и правильно настроить сервер Apache в связке с интерпретатором PHP и СУБД MySQL.
Установка и настройка сервера Apache PHP MySQL - Часть 1
Основные конфигурационные настройки Apache расположены в файле: httpd.conf, находящемся в каталоге: C:\Program Files\Apache Software Foundation\Apache2.2\conf
Обратите внимание! В конфигурационных файлах указывайте пути через слеш в формате *nix – « / », вместо Windows косой черты « \ ».
С помощью блокнота откройте этот файл httpd.conf и измените следующие значения:
Ищем строчку:
# ServerName localhost:80
Убираем символ # - запрещающий обрабатывать эту строку
Ищем строчку:
И изменяем её на:
DocumentRoot "C:/server"
В данной директории будут расположены все ваши сайты.
Далее находим контейнер:
<Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory>
И изменяем его на:
<Directory /> Options Indexes FollowSymLinks Includes AllowOverride All Allow from all </Directory>
Директива AllowOverride - разрешает использование .htaccess
Директива Options Includes – разрешает SSI (Server Side Include)
Ищем строчку:
И меняем её на:
<Directory " C:/server">
Далее в этом контейнере до </Directoty> изменяем:
Options Indexes FollowSymLinks
На:
Options Indexes FollowSymLinks Includes
И меняем строчку:
AllowOverride None
На:
AllowOverride All
Далее находим:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
И меняем на:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.php
</IfModule>
Этим мы указываем список индексных файлов.
Ищем строчку:
И меняем её на:
Далее находим строчку:
И меняем её на:
<Directory "C:/server/cgi-bin">
Ищем строчку:
<IfModule mime_module>
В этом контейнере добавляем после этих строк:
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
Вот эти строчки:
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
И в этом же контейнере убираем символ # у следующих строк:
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
Далее находим строчку:
#Include conf/extra/httpd-vhosts.conf
И убираем символ #
Далее проверьте наличие этих строчек:
LoadModule php5_module "C:/php/php5apache2_2.dll"
PHPIniDir "C:/php"
Этим мы подключаем PHP как модуль.
Для того что бы на одном веб-сервере Apache установить несколько сайтов, вам нужно создать виртуальные хосты.
Настройки виртуальных хостов находятся в файле httpd-vhosts.conf,
находящемся в папке: C:\Program Files\Apache Software Foundation\Apache2.2\conf\extra
С помощью блокнота откройте этот файл httpd-vhosts.conf и измените следующие значения:
Находим контейнеры:
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.localhost
DocumentRoot "C:/Program Files/Apache Software Foundation
/Apache2.2/docs/dummy-host.localhost"
ServerName dummy-host.localhost
ServerAlias www.dummy-host.localhost
ErrorLog "logs/dummy-host.localhost-error.log"
CustomLog "logs/dummy-host.localhost-access.log" common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin webmaster@dummy-host2.localhost
DocumentRoot "C:/Program Files/Apache Software Foundation
/Apache2.2/docs/dummy-host2.localhost"
ServerName dummy-host2.localhost
ErrorLog "logs/dummy-host2.localhost-error.log"
CustomLog "logs/dummy-host2.localhost-access.log" common
</VirtualHost>
И заменяем на:
<VirtualHost *:80>
ServerAdmin admin@localhost
DocumentRoot "C:/server/localhost/"
ServerName localhost
ErrorLog "C:/server/localhost/error.log"
CustomLog "C:/server/localhost/access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/server/host-1/"
ServerName host-1
ErrorLog "C:/server/host-1/error.log"
CustomLog "C:/server/host-1/access.log" common
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "C:/server/host-2/"
ServerName host-2
ErrorLog "C:/server/host-2/error.log"
CustomLog "C:/server/host-2/access.log" common
</VirtualHost>
Директива DocumentRoot - указывает каталог, где расположены ваши сайты.
Директива ServerName - указывает имя виртуального хоста.
Директивы ErrorLog и CustomLog указывают, где расположены файлы логов для этого виртуального хоста.
Что бы создать дополнительные виртуальные хосты, добавьте еще контейнеры, с нужными директивами:
<VirtualHost *:80>
Директива DocumentRoot
Директива ServerName
Директива ErrorLog
Директива CustomLog
</VirtualHost>
Далее вам нужно прописать имена виртуальных хостов в файле hosts.
В Windows XP он расположен в каталоге: C:\WINDOWS\system32\drivers\etc\
С помощью блокнота откройте файл hosts и добавьте следующие значения:
127.0.0.1 localhost
127.0.0.1 host-1
127.0.0.1 host-2
Теперь создаем папки на диске, указанные в директивах виртуальных хостов:
C:\server\
C:\server\cgi-bin\
C:\server\localhost\
C:\server\host-1\
C:\server\host-2\
Обратите внимание! Для того что бы изменения конфигураций вступили в силу, вам нужно перезапустить сервер Apache или перезагрузить компьютер.
Для этого в области уведомлений нажмите левой кнопкой мыши на значок Apache Monitor и выберете пункт Restart:
За работу интерпретатора php конфигурационный файл: php.ini, расположенный в папке: C:\php\
Обратите внимание! Пути указываем в формате Windows - « \ ».
С помощью блокнота откройте этот файл php.ini, и измените следующие значения:
Найдите строчку:
register_globals =
И проверьте, чтоб эта директива была отключена:
register_globals = Off
Этим мы ограничиваем обращение к переменным.
Далее находим строчку:
Dynamic Extensions
В самом конце из всех extension= оставляем только эти строчки:
extension=php_curl.dll
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_mcrypt.dll
extension=php_mysql.dll
extension=php_mysqli.dll
extension=php_pdo.dll
extension=php_pdo_mysql.dll
extension=php_sqlite.dll
Остальное все закомментируйте, проставив перед каждой строчкой « ; »
Для того что бы изменения вступили в силу, перезагрузите сервер Apache.
Создайте папку с названием вашего сайта в любой из директорий:
C:\server\localhost\
C:\server\host-1\
C:\server\host-2\
К примеру, возьмем директорию: C:\server\host-1\ и создадим в ней папку с названием: my-site.ru, далее в этой папке создаем файл index.php следующего содержания:
<?php
echo phpinfo();
?>
Открываем браузер и вводим: http://host-1/my-site.ru
Если вы все сделали правильно, у вас должно появиться страница с текущеми настройками PHP:
Создаем файл mysql.php в директории: C:\server\host-1\my-site.ru\ следующего содержания:
<?php
$dblocation = "127.0.0.1";
$dbname = "test";
$dbuser = "root";
$dbpasswd = "Пароль"; //ВВЕДИТЕ ПАРОЛЬ root пользователя,
//введенный при установке MySQL
$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:
5.1.36-community
Этот способ настройки удобен тем, что для каждого нового сайта всего лишь нужно создать папку сайта в директории любого виртуального хоста:
C:\server\localhost\
C:\server\host-1\
C:\server\host-2\
А в браузере перед именем сайта ввести название хоста на котором размещен сайт: Открываем браузер и вводим: http://host-2/имя_сайта
Вы можете скачать готовые конфигурационные файлы и заменить, если указывали директории как в этом руководстве.
Скачать: httpd.conf + httpd-vhosts.conf + php.ini
Copyright © 2009 QOODO.RU - Копирование материала ЗАПРЕЩЕНО!...