Эта статья об установке и настройке WAMP – одного из самых распространенных наборов программ для web разработки. В его состав входят: Apache 2.2.4, PHP 5.2.4 + PECL, SQLiteManager, MySQL 5.0.45, PHPMyAdmin и общая панель управления. По идее, все программы набора должны быть готовы к работе сразу после установки. В принципе, так оно и есть, но чтобы получить такие же настройки, как и на сервере хостера, придется «поиграться» с конфигурационными файлами.
Прежде всего, несколько слов о самом WAMP’е. На сегодняшний день, таких дистрибутивов существует множество. Самый известный из них, наверное, Denwer, в основном из-за того, что его рекомендуют новичкам. Использовать его я никому не советую, слишком уж он урезанный.
UPD 17.06.2010. На данный момент ситуация с Denwer'ом изменилась. В состав Денвер-3 входят Apache 2 + SSL, PHP 5.3, MySQL 5.1, phpMyAdmin, работа с Flash-накопителем. Есть возможность выбрать между PHP 5.3 и PHP 5.2. Т.е. дистрибутив стал намного лучше и с ним можно комфортно работать.
В отличие от Denwer’а в состав WAMP входят практически последние версии программ. Поэтому после установки вам не придется ничего обновлять. Безусловно, можно установить каждый компонент отдельно. В этом нет ничего сложного, но придется дольше возиться с настройками, и не будет общей панели управления.
Так что, если у вас нет каких-нибудь специфических требований, то можете спокойно устанавливать WAMP. Никаких ограничений в смысле функциональности не будет.
Установка
Здесь все просто. Нужно указать папку, в которую будет установлен WAMP (например, c:\wamp\
). Ответить на вопрос об автоматическом запуске при старте Windows (я отказался), и указать SMTP сервер (можно оставить localhost
). Кроме того, вряд ли вы захотите размещать ваши сайты прямо в папке с WAMP’ом, поэтому укажите для DocumentRoot
какую-нибудь более подходящую директорию (например, d:\www\
).
Первые впечатления
Раз с установкой закончили, запускаем. В трее появляется иконка, которая отображает текущее состояние серверов Apache и MySQL. Щелчок по иконке открывает панель управления WAMP.
Кстати, эта панель – одна из основных причин, из-за которых я установил WAMP. Она позволяет в два клика остановить/запустить/перезапустить любой из серверов или оба одновременно, зайти в PHPMyAdmin, SQLitemanager, localhost, посмотреть лог-файлы и многое другое. В общем, очень удобно.
Настройка
Сразу после установки у меня возник вопрос: «А какой пароль доступа к базе данных (для root)?». Как оказалось, подключаться к БД нужно вообще без пароля. Естественно, это нужно сразу исправить. Поэтому заходим в папку C:\wamp\mysql\bin
и выполняем команды:
mysql -u root
UPDATE mysql.user SET Password=PASSWORD('new_pass') WHERE user='root';
FLUSH PRIVILEGES;
Примечание: после смены пароля PHPMyAdmin не сможет подключиться к БД. О том, как это исправить, я расскажу чуть ниже.
Следующим этапом идет настройка сервера Apache
Его конфигурационный файл находится здесь:
C:\wamp\Apache2\conf\httpd.conf
Если вы планируете использовать виртуальные хосты, то добавьте в этот файл строку:
Include "d:/www/virtualhosts.conf"
.
В этом файле будут находиться настройки хостов (название и размещение файла роли не играет).
Еще можно сразу подключить модуль перезаписи URL (Apache mod rewrite). Этот модуль используют большинство современных движков и фрэймворков. Для этого удаляем точку с запятой в начале строки
LoadModule rewrite_module modules/mod_rewrite.so
PHP
Вот тут начинается самое интересное. WAMP содержит два (!)файла php.ini
. Один расположен в папке C:\wamp\php
, а второй – в папке C:\wamp\Apache2\bin
. Учтите, что используется именно второй файл, и все настройки нужно вносить именно в него. Почему разработчики сделали именно так, для меня загадка. Наверное, хотели сказать, что программирование не должно быть слишком простым 🙂 .
В этом файле я изменил только количество памяти, выделяемое для скриптов:
memory_limit = 16M
(по умолчанию установлено 8М, но этого не достаточно даже для запуска WordPress).
CLI режим. Если вы попробуете запустить скрипт не через сервер, а из командной строки, то получите сообщение об ошибке (PHP пишет, что не может найти какую-то библиотеку). Проблема в том, что при запуске через Apache используется php.ini
, расположенный в C:\wamp\Apache2\bin
, а при запуске из командной строки – php.ini
из C:\wamp\php
. Поэтому просто копируем php.ini
из C:\wamp\Apache2\bin
в C:\wamp\php
.
Чтобы каждый раз не вводить путь к php.exe
, добавьте C:\wamp\php
в системную переменную PATH
.
MySQL
Пароль для root’а мы уже установили. Теперь, при желании, можно перенести сами базы данных в какую-нибудь отдельную папку (так удобнее будет делать backup’ы).
Для этого:
1) создаем папку, в которой будут находиться базы (например, e:\mysql_data
);
2) останавливаем сервер MySQL;
3) изменяем параметр datadir в файле C:\wamp\mysql\my.ini
:
datadir= e:/mysql_data
4) переносим содержимое папки C:\wamp\mysql\data\
в e:\mysql_data\
;
5) запускаем сервер.
Кроме того, я изменил кодировку БД:
default-character-set=utf8
PHPMyAdmin
Если вы попытаетесь сейчас запустить PHPMyAdmin, то увидите сообщение об ошибке. Помните, мы установили новый пароль для root’а. Естественно, PHPMyAdmin его не знает. Поэтому, открываем C:\wamp\phpmyadmin\config.inc.php
и указываем пароль:
$cfg['Servers'][$i]['password'] = 'new_pass';
Кроме пароля, я изменил еще два параметра:
$cfg['Servers'][$i]['extension'] = 'mysqli';
$cfg['Servers'][$i]['compress'] = TRUE;
Создание виртуальных хостов
При настройке сервера Apache в httpd.conf
мы подключили файл «d:/www/virtualhosts.conf
«.
Для создания хоста выполняем следующие шаги:
1) останавливаем Apache;
2) придумываем название хоста и создаем для него папку (она будет задана в параметре DocumentRoot
). Например, название — www.simplecoding.orgl
; а папка – d:/www/my_site
;
Примечание: я задал название корневого домена orgl
. Вы можете использовать любое название, главное чтобы локальные хосты не путались с интернетовскими.
3) открываем файл C:\WINDOWS\system32\drivers\etc\hosts
и добавляем в него строку с названием нашего локального хоста и его IP адресом:
127.0.0.1 www.simplecoding.orgl
Примечание: адрес 127.0.0.1 всегда указывает на локальный компьютер.
4) В файле virtualhosts.conf
задаем настройки хоста:
<VirtualHost 127.0.0.1>
ServerName www.simplecoding.orgl
DocumentRoot "d:/www/sites/my_site"
</VirtualHost>
5) запускаем сервер.
Все, хост создан. В этом примере показаны только минимальные настройки. Полная информация о создании виртуальных хостов находится в документации к серверу Apache.
В завершение хочу сказать, что, несмотря на некоторые недостатки, я считаю WAMP5 одним из лучших наборов программ для web разработки.
Постовой
На сегодняшний день фриланс может стать реальной альтернативой обычной работе. Заработать в интернете не сложно, главное, приложить усилия 😉