Комп’ютерна Академія “ШАГ”
Львівська Філія
вул. Замарстинівська 83А
тел.: 240-38-51, 067-480-77-24, 095-518-93-21
lviv@itstep.org
Встановлення Apache 2.2.17, php 5.3.5, MySQL 5.5.9 під Windows
Юрій Максименко
Етапи інсталяції
1. Отримання дистрибутивів
Дистрибутиви Apache, php і MySQL можна скачати з сайтів www.apache.org, www.php.net, www.mysql.com.
php
10 квітня 2011 року останньою надійною (stable) версією для Windows була версія 5.3.6. Но версий V6 для работы с Apache все нет и нет. Поэтому придётся ставить предыдущую версию - 5.3.5. Рекомендую обрати дистрибутив php не в вигляді інсталятора, а в вигляді архіва (12М). 10 березня 2011 року лінки на цей архів можна було знайти за адресою:
http://windows.php.net/downloads/releases/archives/php-5.3.5-Win32-VC6-x86.zip.
Далі вважаємо, що Ви скористались моєю порадою і обрали дистрибутив у вигляді ZIP-архіва.
Apache
10 квітня 2011 року дистрибутив рекомендованої (і останней!) версії (2.2.17) був доступним за адресою
http://apache.cp.if.ua//httpd/binaries/win32/httpd-2.2.17-win32-x86-openssl-0.9.8o.msi
MySQL
10 березня 2011 року список дистрибутивів останньої стабільної версії (5.5.9) знаходився за адресою
http://www.mysql.com/downloads/mysql/
2. Встановлення Apache
Запускаємо дистрибутив. Треба буде вказати, що Ви згідні з умовами ліцензії,і ввести синтаксично коректні домен, url та email -- вони будуть вертатись користувачу при помилці.
Критерій успішного встановлення: При виклику броузером адреси http://localhost/ Ви побачите напис «It works!»
Якщо Ви не бачите напис «It works!»
- Перевірте — чи не заблоковано Apache Вашим брандмауером
- Перевірте — чи встановилась служба Apache2.2. З'ясувати це можна, якщо зайти в Панель Управління Windows — в розділ Адміністрування/Служби (Administrative Tools/Services). Якщо служби Apache2.2 там немає, спробуйте инсталювати її з командного рядка. Встановіть активною директорію Apache2.2\bin і виконайте дві команди:
httpd -k install
httpd -k start - Якщо запущено MS IIS — він «вчепиться зубами» в порт 80 і нікому його не віддасть. Апачу доведеться йти на порт, наприклад, 8080. І тоді доведеться правити директиву Listen файла httpd.conf, і після перезавантаження Апача звертатись до лінку http://localhost:8080/
- В Windows Vista часто Apache запускається й зупиняється тільки через консоль Служби
- Якщо при спробі запустити Apache видається повідомлення:
httpd.exe: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerNameспробуйте поставити директиву Win32DisableAcceptEx в файл httpd.conf (дякую за цю інформацію сторінці
(OS 10048)+сvўэю ЁрчЁх°рхЄё юфэю шёяюы№чютрэшх рфЁхёр ёюъхЄр (яЁюЄюъюы/ёхЄхтющрфЁхё/яюЁЄ). :
make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down
Unable to open logs
Note the errors or messages above, and press the <ESC>> key to exit. 30...
http://www.php.com.ua/forum/viewtopic.php?f=3&t=9403&p=62365)
Розпакування архіва php в c:\php
Саме на це розташування орієнтовані рядки в конфігураційних файлах php. Якщо Ви вперше встановлюєте Apache/php/MySQL, Вам краще обрати саме це розташування, так як в іншому випадку Вам доведеться міняти частину параметрів в конфігураційних файлах.
4. Внесення виправлень в файл httpd.conf
Їх сенс: ми повідомляємо Апачу, що в нього є модуль, який повинен спрацювати на розширення php
В розпакованому архіві c:\php есть файл install.txt. В ньому написано англійською мовою, які зміни потрібно внести в файл httpd.conf. А саме:
В рядку 808 файла install.txt є рядок:
LoadModule php5_module "c:/php/php5apache2.dll"
Його потрібно відредагувати, виправивши версію Апача:
LoadModule php5_module "c:/php/php5apache2_2.dll"
і вставити в закінчення блока інструкцій LoadModule файла httpd.conf (127-й рядок файла httpd.conf)
Таким чином, ми вказали, що при завантаженні apache запускає інтерпретатор php як свій модуль. Теперь укажем Апачу, где он должен искать файл php.ini (параметры php)
В рядку 812 файла install.txt є рядок PHPIniDir "C:/php". Його треба поставити в файл httpd.conf (в рядок 128).
Тепер потрібно вказати, що цей модуль повинен обробляти файли з розширенням php
В рядку 809 файла install.txt є рядок:
AddType application/x-httpd-php .php
Його вставляємо в закінчення блока AddType файла httpd.conf (приблизно 383 рядок файла httpd.conf)
5. Створюєм та описуєм в httpd.conf папку для зберігання WEB-папок.
Один WEB-сервер може управляти роботою кількох сайтів (чи веб-додатків). Розрізняти їх Apache буде за доменним ім'ям, і кожному з цих імен призначить відповідну WEB-папку (в якій будуть зберігатись файли сайта).
Як ми будем завдавати ці відповідності, я розповім у наступному параграфі. А поки що створимо папку, в якій будуть зберігатись WEB-папки.
Отже, створимо папку c:\www (звичайно, могли й інакше назвати). Тепер у файл httpd.conf додаєм опис цієї папки: ми дозволимо доступ до цієї папки по протоколу http (за змовчанням цього доступу немає). Після опису загальних змовчань (починаючи десь із рядка 194) додамо наступний блок:
<Directory "C:/www">
AllowOverride All
Order deny,allow
Allow from all
</Directory>
Зверніть увагу: слеш прямий: c:/www
6. Включаємо механізм віртуальних хостів
Як я вже сказав, ми можемо завдати декілька WEB-папок для різних доменних імен на одному комп'ютері за допомогою т.зв. віртуальних хостів. В першу чергу потрібно налаштувати Windows на «впізнавання» цих доменних імен. Тобто завдати відповідності
ім'я ? IP-адреса
Для цього звернемось до файла %System32%\drivers\etc\nosts
(%System32% — це звичайно C:\Windows\System32 або C:\Winnt\System32)
В ньому після пояснення ми знайдемо список відповідностей імен та IP-адрес. Додамо поки що одне нове ім'я — tm. Відредагований файл буде мати вигляд:
# Copyright (c) 1993-1999 Microsoft Corp.
#
# This is a sample HOSTS file used by Microsoft TCP/IP for Windows.
#
# This file contains the mappings of IP addresses to host names. Each
# entry should be kept on an individual line. The IP address should
# be placed in the first column followed by the corresponding host name.
# The IP address and the host name should be separated by at least one
# space.
#
# Additionally, comments (such as these) may be inserted on individual
# lines or following the machine name denoted by a '#' symbol.
#
# For example:
#
# 102.54.94.97 rhino.acme.com # source server
# 38.25.63.10 x.acme.com # x client host
127.0.0.1 localhost
127.0.0.1 tm
Тепер звернімося до папки extra, яка знаходиться в тій самій папці, що й файл httpd.conf. В ній ми знайдемо файл httpd-vhosts.conf
Відкриємо його й внесемо наш новий віртуальний хост:
# Virtual Hosts # # If you want to maintain multiple domains/hostnames on your # machine you can setup Virtual Host containers for them. #... (для скорочення пропускаємо подальші комментарі) # Use name-based virtual hosting. # NameVirtualHost *:80 # VirtualHost example: # Almost any Apache directive may go into a VirtualHost container. # The first VirtualHost section is used for all requests that do not # match a ServerName or ServerAlias in any <VirtualHost> block. # <VirtualHost *:80> DocumentRoot "c:/www/tm" ServerName tm </VirtualHost>
Зверніть увагу: слеш прямий: c:/www/tm
Тепер шукаємо в httpd.conf рядок
#Include conf/extra/httpd-vhosts.conf
(номер цього рядка приблизно 467-й)
і забираємо знак комментаря (#) з початку рядка.
Ну і тепер, щоб не «дурити» Apache, створюєм папку c:\www\tm
7. Правимо директиву DirectoryIndex
(приблизно 245-й рядок файла httpd.conf) щоб включити в список пошуку файла за змовчанням в WEB-папці файла index.php
DirectoryIndex index.html index.htm index.php
8. Створення конфігураційного файла
Перейменовуємо c:\php\php.ini-production в php.ini
9. Перезапускаємо apache
У випадку вдалої установки Апача в правій нижній частині екрана є піктограма виклику монітора Apache. 
Подвійним кліком запускаємо його й натискаємо Restart. Після чего закриваємо вікно монітора Апача
В деяких останніх версіях Windows так перезапустити Apache не вдасться. До того ж можна навіть і не помітити, що Apache не перезапустився: зовні все буде виглядати як при успішному запуску. В цьому випадку доведеться перезапускати службу Apache через панель управління Windows.
10. Перевірка
Створюємо файл C:\www\tm\index.php наступного змісту:
<?php phpinfo(); ?>
і запускаємо в броузері адресу http://localhost/
В випадку успіху Ви побачите таблицю параметрів php
11. Налаштування php
11.1. Редагування файла php.ini. Мета: підключити потрібні нам бібліотеки функцій.
В рядку 813 ми повинні поправити директиву extension_dir: вона повинна мати виглядextension_dir = "c:/php/ext"</strong> (без крапки з комою на початку!)</p> <p>Розділ розширень (<strong>Dynamic Extensions</strong>) починається приблизно на 655-му рядку</p> <p>В ньому ми побачимо список розширень. Знак <strong>;</strong> на початку — це комментар. Тобто, якщо ми стираємо <strong>;</strong> на початку рядка — ми тим самим включаємо відповідне розширення. А якщо ставимо <strong>;</strong> на початку рядка — відключаємо відповідне розширення.</p> <p>Список розширень з коментарями Ви можете знайти за адресою: <br /><a href="http://www.php.net/manual/en/install.windows.extensions.php">http://www.php.net/manual/en/install.windows.extensions.php</strong></p> <p><strong> <p>Ми поки включимо три розширення, які будуть потрібні нам у роботі:</p> <ul> <li><strong>php_gd2.dll</strong> — функції для роботи з графікою (953-й рядок файла php.ini)</li> <li><strong>php_mysql.dll</strong> — функції для роботи с MySQL (963-й рядок файла php.ini) </li> <li><strong>php_mysqli.dll</strong> — функції для роботи с MySQL (964-й рядок файла php.ini)) </li> </ul> <p style="margin-left: 15mm; padding-left: 1mm; border-left: 2px solid red; text-indent: 0px;">Зверніть увагу: є дві бібліотеки функцій для роботи с MySQL — стара й нова. Документація php наполегливо рекомендує використовувати нову — <strong>php_mysqli.dll</strong>. В той самий час більшість сайтів і додатків «за звичкою» використовують стару. Тому ввімкнемо обидві, тим більше, що вони не конфліктують.</strong></p> <p><strong> <h4>11.2. Перезапускаємо apache</h4> <p>.</p> <h3>12. Встановлення й налаштування MySQL</h3> <p>Встановлення MySQL вкрай просте — навіть до простого копіювання.</p> <p>Труднощів може завдати тільки налаштування кирилиці. Цьому питанню я присвятив <a href="../kirillitska-v-MySQL/">окрему статтю</strong></p> <p><strong> </strong></p> <p> </p> <p> </p>"










