Web-розробка - швидкий старт

Зображення користувача romand.

5 хвилин — встановлюємо Apache, PHP та MySQL (XAMPP з vhosts та mod_rewrite)

Коли процес встановлення Apache, php та MySQL на свій ПК переростає із звичайної цікавості "як воно працює?" до тривіальної процедури налаштування робочого середовища для web-розробки, а сама web-розробка із хобі — до додаткового або основного джерела прибутку, проходить переоцінка вартості власного часу та загострюється бажання мінімізувати його витрати на рутинні речі на користь творчій роботі, самовдосконаленню та відпочинку.

Мабуть, саме з цією метою ентузіастами створено багато готових збірок для web-розробників "N-в-одному", що включають у себе заздалегідь налаштовану зв’язку:

плюс низку додаткових утиліт та модулів, та найбільшою популярністю користуються збірки:

Денвер, від російських розробників, ~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:

тощо.

P.S. Якщо для доступу в інтернет Ви використовуєте проксі — у настройках підключення/мережі оглядача встановіть "Не використовувати проксі для адрес:"
*.local (для IE) чи .local (для Firefox).

Відгуки

Зображення користувача virua.

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

Зображення користувача romand.

аналогічно було і в мене, кількахвилинний колапс :)

тому для локальних версій сайтів краще обирати неіснуючу доменну зону: .loc, .local тощо.

Додати відгук

Опубліковано не буде.
  • Адреси web-сторінок та e-mail адреси перетворюються на лінки автоматично.
  • Дозволені HTML теги: <a> <img> <h3> <h4> <em> <strong> <cite> <code> <blockquote> <ul> <ol> <li> <dl> <dt> <dd>
  • Стрічки та абзаци розбиваються автоматично.
  • Для вставки коду використовуйте <code>...</code> чи <?php ... ?> (підсвітка PHP).
  • Для вставки відео використовуйте [video:SOURCE]
13 + 0 =
Розв'яжіть математичне рівняння та введіть результат. Наприклад, для 1+3, введіть 4.
Syndicate content

Реклама