Установка і настройка веб-сервера apache
Довідковий матеріал з основних мов програмування і верстки сайтів.
Готова методика створення простих і складних динамічних сайтів, з використанням PHP і MySQL.
Розробка веб-сайтів під "ключ".
Розробка окремих фрагментів сайтів, консультації з питань верстки веб-сторінок і веб-програмування.
Веб-інструмент
Веб-майстерня
Веб-послуги
Веб-графіка
Веб-ресурси
Хочете бути в курсі подій, що відбуваються на сайті? Підпишіться на отримання останніх новин та статей.
Подивіться в Google
Установка і настройка веб-сервера Apache. Установка РНР під Windows. Підключення PHP до Apache
Як відомо програмування на РНР відрізняється від програмування на інших мовах складною системою настройки середовища. Щоб створити таке середовище, недостатньо встановити програмне забезпечення, буде потрібно ще самим тчательной чином привести ці програми в працездатний стан. Домогтися цього можна налаштуванням і редагуванням конфігураційних файлів встановлених програм.
Хоча в інтернеті багато матеріалів з даної тематики, я хочу поділитися своїм досвідом установки і настройки веб-сервера Apache, РНР і MySQL- сервера. Це пов'язано з тим, що далеко не завжди дотримуючись цих рекомендацій можна отримати бажаний результат.
І так, перш ніж приступити до установки вищевказаної "трійки", щоб я рекомендував починаючим веб-розробникам?
Якщо після установки, Apache не запуститься:
- Порада перша - "почистити" операційну систему Windows і якщо буде потрібно відновити працездатність використовуючи функцію відновлення системи (Пуск> Всі програми> Стандартні> Службові> Відновлення системи);
- друга порада - почистити інші диски комп'ютера від зайвого "сміття".
Будемо вважати, що комп'ютер перевірений, наведено в робочий стан і готовий до подальшого використання.
Установка веб-сервера Apache
Знайдемо на сторінці 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 (Далі).
Прочитайте текст Read this first і натисніть Next для продовження установки.
Введіть інформацію про сервер і тисніть Next (Для локального сервера використовуйте localhost. Як показано на малюнку).
Виберіть вибіркову установку (Custom) і натисніть Next.
Виберіть каталог, в який буде проводитися установка сервера. Для зміни Католог натисніть кнопку Change.
Йде процес інсталяції.
Після виконання вище перелічених кроків, установка завершується і сервер починає працювати автоматично. При цьому в системному треї повинна з'явитися іконка утиліти Apache Monitor. призначення якої - управління (запуск, зупинка і т.п.) серверами 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. Вона визначає фізичне розташування віртуального хоста на жорсткому диску. Змінимо її на
Далі знайдіть наступний текст
# This should be changed to whatever you set DocumentRoot to.
Замінимо наступну після неї директиву на
.
Тепер знайдіть наступний текст:
DirectoryIndex index.html
І замініть його на наступний:
DirectoryIndex index.html index.php index.html.var
Далі знайдіть текст:
# 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
# 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
Тепер знайдіть налаштування внизу 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 і змінимо її на
Потім додайте нову секцію VirtualHost для вашого першого сайту.
ServerAdmin [email protected]
DocumentRoot "D: / site"
ServerName dummy-host.localhost
ServerAlias localhost
ErrorLog "logs / localhost-error.log"
CustomLog "logs / localhost-access.log" common
Для перевірки працездатності віртуального хоста необхідно створити в каталозі D: / site файл index.html. що містить фразу "Hello, world".
Налаштування кодування
#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 - дві тисячі двадцять дві - JP .iso2022 - jp .jis
#AddCharset ISO - дві тисячі двадцять дві - KR .iso2022 - kr .kis
#AddCharset ISO - дві тисячі двадцять дві - 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
На даній сторінці РНР доступний в двох форматах: вихідних кодах (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 і встановіть для неї таке значення:
Це значення налаштувати PHP таким чином, що при роботі PHP-скриптів будуть відображатися всі помилки, а "зауваження" будуть ігноруватися. Так само обходимо простежити, щоб директива display_errors. була включена:
Якщо дана директива відключена (Off), то повідомлення про помилки не будуть виводитися в вікно браузера, і в разі виникнення в коді помилки ви будете гадати перед невинно білим вікном - що б це означало.
Так само необхідно простежити, щоб директива variables_order мала таке значення:
Букви тут означають наступне:
E - змінними середовища
G - змінними переданими за методом GET (G)
P - змінними переданими за методом POST (P)
Відсутність будь-якої з букв не дозволить вам працювати з відповідними змінними.
Наступна директива, яка може зажадати настройки - це register_globals. Якщо дана директива включена
то змінні передаються методом GET, POST. через cookies та сесії можна використовувати в PHP-скрипт, звертаючись до них просто як звичайним змінним $ someone. Якщо дана директива відключена, то до таких змінних можна буде звертатися тільки за допомогою суперглобальних масивів ($ _POST, $ _GET і т.п.).
Директива register_long_arrays дозволяє використовувати суперглобальні масиви в старому форматі ( "довгому" - $ HTTP_GET_VARS, $ HTTP_POST_VARS і т.д.) register_long_arrays = On
Відкрийте http.conf для настройки таким чином, щоб Web-сервер Apache так само реагував на файли index.php. Для цього знайдіть в http.conf директиву DirectoryIndex і виправте її наступним чином: DirectoryIndex index.html index.htm index.shtml index.php Після цього необхідно перевантажити сервер Apache. У кореневій директорії віртуального хоста ( "D: / site") створити тестовий файл PHP (index.php) з вмістом:
Установка графічної бібліотеки GD
Крім цього, необхідно налаштувати директиву, вказавши шлях до бібліотек розширення:
Після внесення змін до php.ini перезапустіть сервер Apache. Для перевірки роботи бібліотеки GD, скористайтеся функцією phpinfo (). має з'явитися розділ "gd".