Web-розробка - швидкий старт
5 хвилин — встановлюємо Apache, PHP та MySQL (XAMPP з vhosts та mod_rewrite)
Коли процес встановлення Apache, php та MySQL на свій ПК переростає із звичайної цікавості "як воно працює?" до тривіальної процедури налаштування робочого середовища для web-розробки, а сама web-розробка із хобі — до додаткового або основного джерела прибутку, проходить переоцінка вартості власного часу та загострюється бажання мінімізувати його витрати на рутинні речі на користь творчій роботі, самовдосконаленню та відпочинку.
Мабуть, саме з цією метою ентузіастами створено багато готових збірок для web-розробників "N-в-одному", що включають у себе заздалегідь налаштовану зв’язку:
- web-сервер - http://httpd.apache.org/
- командний інтерпретатор - http://php.net/
- сервер баз даних - http://mysql.com/
плюс низку додаткових утиліт та модулів, та найбільшою популярністю користуються збірки:
Денвер, від російських розробників, ~5 Мб.
http://www.denwer.ru/

та XAMPP Lite, ~20 Мб.
http://www.apachefriends.org/en/xampp-windows.html

Хоча вони майже ідентичні та обидві позиціонуються як "Take-Run-Delete-Forget-it" (зберігають свої налаштування у власних каталогах, що спрощує процес деінсталяції до натискання клавіші "Delete"), далі мова піде про останній.
Завантажуємо останню версію XAMPP Lite за адресою http://www.apachefriends.org/en/xampp-windows.html (.zip або .exe архів) та розпаковуємо у C:\xampplite.
Запускаємо скрипт автоналаштування
C:\xampplite\setup_xampp.bat
У каталозі C:\xampplite\htdocs\ створюємо підкаталог «mysite.local». Така назва, з розширенням .local, полегшить у подальшому використання віртуальних хостів (vhosts) та mod_rewrite для чистих посилань(clean url). Далі, у цьому каталозі створюємо файл
C:\xampplite\htdocs\mysite.local\index.php
з таким тестовим php-скриптом:
<?php echo '<h1>Hello world!</h1>'; ?>Запустивши Apache та MySQL:
C:\xampplite\apache_start.bat
C:\xampplite\mysql_start.bat
тестовий сайт буде доступний за адресами http://localhost/mysite.local/ та http://127.0.0.1/mysite.local/.
Але, таке розташування скриптів у підкаталозі може викликати ряд незручностей при синхронізації із скриптами на сервері хостинг-провадера (відносні шляхи до файлів, конфігурація mod_rewrite, тощо) тому зробимо сайт доступним за адресою http://mysite.local/, для чого
Налаштовуємо віртуальні хости (сайти)
Текстовим редактором (я рекомендую notepad++) відкриваємо файл
c:\windows\system32\drivers\etc\hosts
(шлях наведено для Windows XP) та в кінці дописуємо одну стрічку, щоб у кінцевому результаті виглядало так:
…
127.0.0.1 localhost
127.0.0.1 mysite.localПідключаємо модуль mod_rewrite, для чого відкриваємо текстовим редактором файл C:\xampplite\apache\conf\httpd.conf
та знімаємо екран (видаляємо #) зі стрічки:
#LoadModule rewrite_module modules/mod_rewrite.soУ цьому ж файлі, ближче до кінця, перевіряємо наявність наступних стрічок:
# Virtual hosts
Include conf/extra/httpd-vhosts.confВідкриваємо у редакторі файл С:\xampplite\apache\conf\extra\httpd-vhosts.conf та знімаємо екран (видаляємо ##) зі стрічки:
##NameVirtualHost *:80і у кінець файла вставляємо наступний код:
<VirtualHost *:80>
DocumentRoot /xampplite/htdocs
ServerName localhost
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName mysite.local
DocumentRoot /xampplite/htdocs/mysite.local
<Directory />
Options FollowSymLinks
AllowOverride All
</Directory>
<Directory /xampplite/htdocs/mysite.local>
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>Зберігаємо зміни.
Для створення інших локальних сайтів необхідно повторити описану процедуру, змінивши ім'я mysite на будь-яке інше.
Також є сенс дещо підкоректувати налаштування php у C:\xampplite\apache\bin\php.ini:
output_buffering = 4096 /* від header already sent */
memory_limit = 32M /* особливо для Typo3 :) */
error_reporting = E_ALL /* виводити всі повідомлення та помилки */
post_max_size = 32M /* для дампів баз даних */
upload_max_filesize = 32MГотово. Запускаємо Apache та MySQL:
C:\xampplite\apache_start.bat
C:\xampplite\mysql_start.bat
У випадку, якщо в консолі з'являться повідомлення про помилки — уважно перевіряємо шляхи та відредаговані файли на наявність друкарських помилок. Якщо помилок немає — набираємо у адресній стрічці інтернет-оглядача mysite.local та тиснем Enter. Натішившись з напису "Hello world!", видаляємо з каталога mysite.local файл index.php та, на його місце, копіюємо скрипти однієї з Ваших улюблених CMS:
- Drupal http://drupal.org/
- Joomla http://joomla.org/
- Typo3 http://typo3.org/
- WordPress http://wordpress.org/
тощо.
P.S. Якщо для доступу в інтернет Ви використовуєте проксі — у настройках підключення/мережі оглядача встановіть "Не використовувати проксі для адрес:"
*.local (для IE) чи .local (для Firefox).

Відгуки
Пам'ятаю, мав свого часу клопоти з проксі, а точніше з роботою локального сервера. Вдома локальний сервер (Денвер) працює (бо там не стоїть проксі), а прийшов на роботу (там стоїть проксі) і сервер не "паше". Я ж не знав у чому справа. Тому в цьому пості "P.S." є якніколи корисний для початківців.
аналогічно було і в мене, кількахвилинний колапс :)
тому для локальних версій сайтів краще обирати неіснуючу доменну зону: .loc, .local тощо.
Додати відгук