Как известно программирование на РНР отличается от программирования на других языках сложной системой настройки среды. Чтобы создать такую среду, недостаточно установить программное обеспечение, потребуется еще самым тчательным образом привести эти программы в работоспособное состояние. Добиться этого можно настройкой и редактированием конфигурационных файлов установленных программ.
Хотя в интернете много материалов по данной тематике, я хочу поделиться своим опытом установки и настройки веб-сервера Apache, РНР и MySQL- сервера. Это связано с тем, что далеко не всегда следуя этим рекомендациям можно получить желаемый результат.
И так, прежде чем приступить к установке вышеуказанной "тройки", чтобы я рекомендовал начинающим веб-разработчикам?
Если после установки, Apache не запустился:
- совет первый — "почистить" операционную систему Windows и если потребуется восстановить работоспособность используя функцию
Восстановление системы
(Пуск > Все программы > Стандартные > Служебные > Восстановление системы)
; - второй совет — почистить другие диски компьютера от лишнего "мусора".
Будем считать, что компьютер проверен, приведен в рабочее состояние и готов к дальнейшему использованию.
Установка веб-сервера Apache
Веб-сервер Apache необходим для того, чтобы тестировать и просматривать сайты на локальной машине. Дистрибутив программы находится на официальной странице http://httpd.apache.org/. Заходим на эту страницу.
Найдем на странице Apache 2.2.11 Released и выберем ссылку Download.На открывшейся странице представлен список HTTP и FTP-серверов, откуда можно загрузить веб-сервер Apache. Я бы рекомендовал выбрать
apache_2.2.11-win32-x86-no_ssl.msi [PGP] [MD5] или apache_2.2.11-win32-x86-openssl-0.9.8i.msi [PGP] [MD5]
Один из них и следует загрузить.
Двойной клик по скаченному файлу запустит процесс установки. Вам откроется следующее окно приветствия:
Для продолжения нажмите кнопкуNext(Далее)
.
Соглашайтесь с лицензионным соглашением и нажимайте Next.
Прочтите текст Read this first и нажмите Next
для продолжения установки.
Введите информацию о сервере и давите Next
(Для локального сервера используйте localhost
, как показано на рисунке).
Выберите выборочную установку (Custom
) и нажмите Next
.
Выберите каталог, в который будет производиться установка сервера. Для изменения католога нажмите кнопку Change
.
В этой инструкции (и в инструкциях по PHP\MySQL) каталог по умолчанию C:\Apache Group\
изменен на C:\Apache2.2\
. Нажимайте Next
. Всегда пытайтесь менять настройки по умолчанию, особенно, если это касается веб-сервера.
Нажимайте Next
.
Нажимайте Install
.
Идет процесс инсталяции.
После установки нажимайте Finish
для завершения.
После выполнения вышеизложенных шагов, установка завершается и сервер начинает работать автоматически. При этом в системном трее должна появиться иконка утилиты Apache Monitor
, предназначение которой - управление (запуск, остановка и т.п.) серверами Apache. Выглядит она так:
Теперь остается только протестировать работу. Для этого открываем браузер и вводим в адресной строке http://localhost
и нажимаем перейти. После этого Apache должен выдать страницу приветствия - в этой версии сервера страница приветствия заменена пустой страницей с надписью в верхнем левом углу - It Works!
Если вы ее увидели, значит Apache работает. Если же надписи нет, тогда, перед тем как переходить к следующему этапу попытайтесь найти причины неправильной работы (поменять файл установки или провести мероприятия по восстановлению операционной системы).
Настройка веб-сервера Apache
После того как установка веб-сервера Apache успешно завершена, необходимо создать виртуальный хост. Виртуальный хост позволяет указать каталог, где будут располагаться HTML- и PHP-файлы. Кроме того, виртуальные хосты позволяют перенести HTML- и PHP-файлы в другой раздел диска, что может быть удобным при резервном копировании данных.
Создадим виртуальный хост localhost
, файлы которого будут храниться в каталоге D:\site\
.
Для настройки нам потребуется найти и отредактировать файл httpd.conf
. У нас он находится в каталоге C:\Apache 2.2\conf\
. Откроем его в Блокноте.
Директивы ServerRoot, ServerName, ServerAdmin
уже будут заданы в соответствии с данными, которые вы указали во время установки. Проверьте их и, если нужно, измените.
ServerRoot "C:/Apache2.2"
ServerAdmin [email protected]
ServerName localhost:80
Найдите директиву DocumentRoot
. Она определяет физическое расположение виртуального хоста на жестком диске. Изменим ее на
DocumentRoot "D:/site"
Далее найдите следующий текст
# This should be changed to whatever you set DocumentRoot to.
Заменим следующую после нее директиву на
<Directory "D:/site">
. . .
</Directory
>
Теперь найдите следующий текст:
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
И замените его на следующий:
<IfModule dir_module>
DirectoryIndex index.html index.php index.html.var
</IfModule>
Далее найдите текст:
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
#AddType text/html .shtml
#AddOutputFilter INCLUDES .shtml
</IfModule
>
и уберите комментарии с двух последних строчек:
# Filters allow you to process content before it is sent to the client.
#
# To parse .shtml files for server-side includes (SSI):
# (You will also need to add "Includes" to the "Options" directive.)
#
АddType text/html .shtml
AddOutputFilter INCLUDES .shtml
</IfModule
>
Теперь найдите настройки внизу httpd.conf
, которые позволяют вам включать дополнительные файлы конфигурации и расскоментируйте некоторые из них.
# Language settings
Include conf/extra/httpd-languages.conf
# User home directories
#Include conf/extra/httpd-userdir.conf
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf
# Virtual hosts
Include conf/extra/httpd-vhosts.conf
# Local access to the Apache HTTP Server Manual
Include conf/extra/httpd-manual.conf
# Distributed authoring and versioning (WebDAV)
#Include conf/extra/httpd-dav.conf
# Various default settings
Include conf/extra/httpd-default.conf
# Secure (SSL/TLS) connections
#Include conf/extra/httpd-ssl.conf
Для настройки виртуальных хостов существует отдельный файл - httpd-vhosts.conf
. В нем мы и произведем все настройки
Откроем файл. Найдем директиву NameVirtualHost *:80
и изменим ее на
NameVirtualHost 127.0.0.1:80
Затем добавьте новую секцию VirtualHost для вашего первого сайта.
<VirtualHost 127.0.0.1:80>
ServerAdmin [email protected]
DocumentRoot "D:/site"
ServerName dummy-host.localhost
ServerAlias localhost
ErrorLog "logs/localhost-error.log"
CustomLog "logs/localhost-access.log" common
</VirtualHost
>
Теперь файлы можно размещать в каталоге D:/site
, и они будут доступны при обращении к адресу http://localhost/
.
Для проверки работоспособности виртуального хоста необходимо создать в каталоге D:/site
файл index.html
, содержащий фразу "Hello, world"
.
Для того чтобы изменения конфигурационного файла вступили в действие следует перезапустить веб-сервер Apache(данные из конфигурационного файла читаются один раз при загрузке сервера). Если конфигурационный файл не содержит ошибок, после перезагрузки сервера и обращения по адресу http://localhost/
веб браузер должен выглядеть ТАК.
Настройка кодировки
Для настройки кодировки существует отдельный файл - httpd-languages.conf
. В нем мы и произведем все настройки. Закомментируем все строки, кроме:
#AddLanguage ca .ca
#AddLanguage cs .cz .cs
#AddLanguage da .dk
#AddLanguage de .de
#AddLanguage el .el
AddLanguage en .en
#AddLanguage eo .eo
#AddLanguage es .es
#AddLanguage et .et
#AddLanguage fr .fr
#AddLanguage he .he
#AddLanguage hr .hr
#AddLanguage it .it
#AddLanguage ja .ja
#AddLanguage ko .ko
#AddLanguage ltz .ltz
#AddLanguage nl .nl
#AddLanguage nn .nn
#AddLanguage no .no
#AddLanguage pl .po
#AddLanguage pt .pt
#AddLanguage pt-BR .pt-br
AddLanguage ru .ru
#AddLanguage sv .sv
#AddLanguage tr .tr
#AddLanguage zh-CN .zh-cn
#AddLanguage zh-TW .zh-tw
Найдем строку
#LanguagePriority en ca cs da de el eo es et fr he hr it
После нее добавим новую
LanguagePriority en ru
Далее найдем и закомментируем все строки кроме
#AddCharset us-ascii.ascii .us-ascii
#AddCharset ISO-8859-1 .iso8859-1 .latin1
#AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
#AddCharset ISO-8859-3 .iso8859-3 .latin3
#AddCharset ISO-8859-4 .iso8859-4 .latin4
#AddCharset ISO-8859-5 .iso8859-5 .cyr .iso-ru
#AddCharset ISO-8859-6 .iso8859-6 .arb .arabic
#AddCharset ISO-8859-7 .iso8859-7 .grk .greek
#AddCharset ISO-8859-8 .iso8859-8 .heb .hebrew
#AddCharset ISO-8859-9 .iso8859-9 .latin5 .trk
#AddCharset ISO-8859-10 .iso8859-10 .latin6
#AddCharset ISO-8859-13 .iso8859-13
#AddCharset ISO-8859-14 .iso8859-14 .latin8
#AddCharset ISO-8859-15 .iso8859-15 .latin9
#AddCharset ISO-8859-16 .iso8859-16 .latin10
#AddCharset ISO-2022-JP .iso2022-jp .jis
#AddCharset ISO-2022-KR .iso2022-kr .kis
#AddCharset ISO-2022-CN .iso2022-cn .cis
#AddCharset Big5.Big5 .big5 .b5
#AddCharset cn-Big5 .cn-big5
# For russian, more than one charset is used (depends on client, mostly):
AddCharset WINDOWS-1251 .cp-1251 .win-1251
#AddCharset CP866 .cp866
#AddCharset KOI8 .koi8
#AddCharset KOI8-E .koi8-e
#AddCharset KOI8-r .koi8-r .koi8-ru
#AddCharset KOI8-U .koi8-u
Перезагрузим сервер. На этом основные настройки веб-сервера Apache завершены.
Управление веб-сервером Apache
Если при установке сервера в качестве порта, по которому Apache принимает запросы, был выбран 80-й порт, допускается запуск Apache в качестве сервиса. Для запуска консоли управления выполните команду Пуск> Панель управления>Администрирование >Службы
. В появившемся окне консоли, следует выбрать сервис Apache 2.2
.
Контекстное меню позволяет осуществить запуск, остановку и перезапуск сервиса. Упралять сервисом можно, используя иконку утилиты Apache Monitor
.
Установка РНР под Windows
Прежде чем приступить к делу, обзаведемся дистрибутивом интерпретатора РНР. Для этого загрузим страницу http://www.php.net/.
Далее переходим на страницу downloads
, с адресом http://www.php.net/downloads.php.
На данной странице РНР доступен в двух форматах: исходных кодах (Complete Source Code
) и предкомпелированном варианте (Windows Binaeies
). Нас будет интересовать предкомпилированная версия, которая также распространяется в двух вариантах: в виде автоматического установщика (PHP 5.2.8 installer
) и в виде zip-архива(например, PHP 5.2.8 zip package
).
Выберем в разделе Windows Binaeies ссылку PHP 5.2.8 zip package
, которая приведет на страницу со списком зеркал, откуда можно загрузить текущую версию РНР.
Для загрузки архива выбираем сервер, который расположен в Российской Федерации (Russian Federation).
Для установки РНР следует создать каталог С:\php
и разместить в нем файлы из скаченного zip-архива дистрибутива. После этого, посредством Блокнота, открыть папку РНР и переименовать конфигурационный файл php.ini-dist
в php.ini
.
Далее необходимо сообщить веб-серверу о наличии установленного РНР. Установка РНР возможна двумя способами: как модуль Apache и как внешнее CGI-приложение.
Подключение PHP к Apache
Для подключения PHP к Apache в качестве модуля откройте конфигурационный файл httpd.conf
и вставьте три данные строчки в сeредину, к примеру, после директив LoadModule.LoadModule php5_module
c:/php/php5apache2_2.dll
AddType application/x-httpd-php phtml php
PHPIniDir "c:/php/"
Перезапустите Apache. Если Apache запустился, то приступаем к настройке РНР. Если нет, то должно появиться диалоговое окно, предупреждение об ошибке. В этом случае, поверьте моему опыту, начните с восстановления операционной системы. У меня был случай, когда после восстановительной процедуры, была выдана та же ошибка. Я полностью переустановил Windows. После установки Apache и всех настроек— опять та же ошибка. И только после чиски диска D все пошло нормально. Когда будeте переустанавливать Apache, не забывайте удалять папку в каталоге, где до этого был установлен веб-сервер.
Настройка PHP
Откройте конфигурационный файл php.ini
. Найдите директиву error_reporting
и установите для неё следующее значение:
error_reporting = E_ALL & ~E_NOTICE
Это значение настроить PHP таким образом, что при работе PHP-скриптов будут отображаться все ошибки, а "замечания" будут игнорироваться. Так же обходимо проследить, чтобы директива display_errors
, была включена:
display_errors = On
Если данная директива отключена (Off
), то сообщения об ошибках не будут выводиться в окно браузера, и в случае возникновения в коде ошибки вы будете гадать перед девственно белым окном — что бы это означало.
Так же необходимо проследить, чтобы директива variables_order
имела следующее значение:
variables_order = "EGPCS"
Буквы здесь означают следующее:
E
- переменными среды
G
- переменными передаваемыми по методу GET (G)
P
- переменными передаваемыми по методу POST (P)
C - Cookies
S
- сессии
Отсутствие какой-либо из букв не позволит вам работать с соответствующими переменными.
Следующая директива, которая может потребовать настройки – это register_globals
. Если данная директива включена
register_globals = On
то переменные передаваемые методом GET, POST
, через cookies
и сессии можно использовать в PHP-скрипте, обращаясь к ним просто как обычным переменным $someone. Если данная директива отключена, то к таким переменным можно будет обращаться только при помощи суперглобальных массивов ($_POST, $_GET
и т.п.).
register_long_arrays
позволяет использовать суперглобальные массивы в старом формате ("длинном" - $HTTP_GET_VARS, $HTTP_POST_VARS
и т.д.) register_long_arrays = On
Сохраните изменения в конфигурационном файле php.ini
. Теперь необходимо настроить индексный файл. Если в окне браузера набрать строку http://localhost/
, а не http://localhost/index.html
. Сервер всё равно предоставит браузеру index.html
, так как этот файл является индексным и ищется в директории первую очередь, если не указан конкретный файл.
http.conf
для настройки таким образом, чтобы Web-сервер Apache так же реагировал на файлы index.php
. Для этого найдите в http.conf
директиву DirectoryIndex
и исправьте её следующим образом: DirectoryIndex index.html index.htm index.shtml index.php
После этого необходимо перегрузить сервер Apache. В корневой директории виртуального хоста ("D:/site"
) создать тестовый файл PHP (index.php
) с содержимым:
<?php
phpinfo();
?>
В случае успешной настройки, обращение по адресу http://localhost/
отобразит фиолетовую таблицу с текущими настройками PHP, которая выдаётся функцией phpinfo()
.
Установка графической библиотеки GD
Так для того, чтобы подключить графическую библиотеку GD, в php.ini
необходимо раскомментировать строку, убрав знак ";" перед ней:
extension=php_gd2.dll
Помимо этого, необходимо настроить директиву, указав путь к библиотекам расширения:
extension_dir = "C:/php/ext/"
После внесения изменений в php.ini
перезапустите сервер Apache. Для проверки работы библиотеки GD, воспользуйтесь функцией phpinfo()
, должен появиться раздел "gd".
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться