Немногие в силах установить и настроить Apache, MySQL и PHP. А разрабатывать на PHP уже хочется сразу и именно сейчас. И чтобы не тратить время на изучение тонкой настройки Apache, MySQL и PHP, придумали именно готовые сборки Web-серверов, которые упрощают весь процесс установки и настройки. Но я думаю что для профессиональной разработки нужно все таки научиться устанавливать и настраивать Web-сервер самому. Конечно если у Вас уже есть хостинг платный или бесплатный, можно пользоваться им для проверки своих проектов, но это создать кучу ненужных на первых этапах разработки проблем, здесь нужен будет постоянный и высокоскоростной доступ в интернет, и хороший хостинг. А для того что бы не мучатся с хостингами, можно пока что что разрабатывать все на локальном компьютере, для чего собственно и нужен установленный Web-сервер. XAMPP – это один из немногих комплектов для разработчика который является кроссплатформенным, иными словами будет хорошо работать как на Windows так и на Linux, Mac OS X, Solaris.
XAMPP – отличное решение для начинающего web-программиста, так как опять же повторюсь не придется мучатся с настройками, и при прочтении какой то книги по PHP (например той о которой писал раньше – PHP – это просто. Программируем для Web-сайта. – А. Шкрыль) Вы сразу сможете испробовать все примеры из книги на практике, при этом не вдаваясь в подробности и тонкости настройки Web-сервера.
Сегодня я попытаюсь рассказать о XAMPP, как его установить и вкратце о том как с ним работать.
XAMPP больше распространен у англоязычного населения, в то время как у русскоговорящих пользователей очень распространен Джентльменский набор Denwer. Почему я выбрал именно XAMPP – просто мне XAMPP кажется более удобным в использовании, и еще привлекает хорошая поддержка, то есть разработчики XAMPP всегда следят за тем что бы при появлении новой версии той или иной библиотеки, комплект Web-сервера обновлялся. XAMPP не создает никаких дополнительных дисков, и содержит очень широкий выбор библиотек, которые можно добавить.
Кстати аббревиатура XAMPP означает – X(любая из ОС: Linux, Windows, Mac OS, Solaris), Apache, MySQL, PHP, Perl. Мы будем рассматривать для ОС Windows, для которой существует две версии XAMPP Windows и XAMPP Lite. Они отличаются лишь содержанием пакетов, в версии Lite меньше разных библиотек.
XAMPP Windows 1.7.3 [Basic package]
Данная версия содержи следующие библиотеки:
- Apache 2.2.14 (IPV6 enabled)
- MySQL 5.1.41 (Community Server) with PBXT engine 1.0.09-rc
- PHP 5.3.1 (PEAR, Mail_Mime, MDB2, Zend)
- Perl 5.10.1 (Bundle::Apache2, Apache2::Request, Bundle::Apache::ASP, Bundle::Email, Bundle::DBD::mysql, DBD::SQlite, Randy Kobes PPM)
- XAMPP Control Version 2.5.8 (ApacheFriends Edition)
- XAMPP CLI Bundle 1.6
- XAMPP Port Check 1.5
- XAMPP Security 1.1
- SQLite 2.8.17
- SQLite 3.6.20
- OpenSSL 0.9.8l
- phpMyAdmin 3.2.4
- ADOdb v5.10
- FPDF v1.6
- Zend Framework 1.9.6 Minimal Package (via PEAR)
- Mercury Mail Transport System v4.72
- msmtp 1.4.19 (a sendmail compatible SMTP client)
- FileZilla FTP Server 0.9.33
- Webalizer 2.21-02 (with GeoIP lite)
- apc 3.1.3p1 for PHP
- eAccelerator 0.9.6-rc1 for PHP
- Ming 0.4.3 for PHP
- PDF with pdflib lite v7.0.4p4 for PHP
- rar 2.0.0-dev for PHP
- Xdebug 2.0.6-dev for PHP
- libapreq2 v2.12 (mod_apreq2) for Apache
Системные требования:
- 128 MB RAM
- 320 MB свободного места на жестком диске
- Windows 2000, XP (Server 2003), Vista (Server 2008), 7
- все 32 bit ОС (64 должны работать)
Как я уже говорил версия Lite отличается отсутствием некоторых библиотек, и соответственно занимает меньше места на диске, и сам установочный файл меньше весит. По завяливанием разработчиков версия Lite не так часто обновляется как полная версия.
XAMPP Lite 1.7.3 [Basic package]
- Apache 2.2.14 (IPV6 enabled)
- MySQL 5.1.41 (Community Server) with PBXT engine 1.0.09-rc
- PHP 5.3.1 (PEAR)
- Miniperl 5.10.1
- XAMPP Control Version 2.5.8 (ApacheFriends Edition)
- XAMPP CLI Bundle 1.6
- XAMPP Port Check 1.5
- XAMPP Security 1.1
- SQLite 2.8.17
- SQLite 3.6.20
- OpenSSL 0.9.8l
- phpMyAdmin 3.2.4
- msmtp 1.4.19 (a sendmail compatible SMTP client)
- Webalizer 2.21-02 (with GeoIP lite)
- Ming 0.4.3 for PHP
- PDF with pdflib lite v7.0.4p4 for PHP
Системные требования:
- 28 MB RAM
- 192 MB свободного места на жестком диске
- Windows 2000, XP (Server 2003), Vista (Server 2008), 7
- все 32 bit ОС (64 должны работать)
Напомню если говорил, и скажу если еще не сказал что XAMPP является полностью бесплатным, и распространяется под лицензией GNU GPL. Как видно из списка библиотек обоих версий Вам для начала работы с PHP подошла бы и Lite версия, но нужно думать о будущем и том что в дальнейшем Вам может понадобиться больше библиотек, поэтому будем рассматривать версию XAMPP Windows 1.7.3 [Basic package].
Установка
Для того чтобы начать процесс установки нужно скачать установочный файл или архив, в данном случае будем использовать установочный файл который находится по следующему адресу – http://www.apachefriends.org/download.php?xampp-win32-1.7.3.exe.
Я надеюсь Вы уже загрузили установочный файл, потому что в самом процессе установки нет ничего сложного все довольно просто, Вам нужно нажать только на кнопку Install. Перед установкой можно изменить путь установки, я оставил по умолчанию C:\, при этом сам XAMPP у Вас установится в директорию – C:\xampp.
Фактически это само распаковывающийся архив, поэтому просто ждем пока будет идти процесс распаковки(установки).
После этого файл setup_xampp.bat запустится автоматически, и у Вас должна открыться командная строка, где продолжается установка XAMPP. Здесь у Вас спрашивают про то создать ли ярлык на рабочем столе, выберите “y” если согласны и “n” если несогласны и потом нажимаем Enter.
Теперь у нас спрашивают правильно ли указан путь к XAMPP, нажимаем “y” если согласны с тем что бы XAMPP находился в директории C:\xampp, если не согласны то жмем “x” и начинаем все с начала. Нажимаем “y” а затем клавишу Enter.
В следующем окне можно выбрать как тип установки – портативную версию XAMPP (чтобы можно было переносить на флеш-накопителе), для этого нужно выбрать “y”, в данном случаем нажимаем “n” и за тем Enter, так как мы устанавливаем на жесткий диск.
В следующем окне будет выведен список того что установилось, в том числе и то что нам нужно, а именно PHP, MySQL, Apache. Здесь просят нажать Enter для продолжения, что собственно и делаем.
На следующем шаге нам выведется сообщение о том что автоматически был определен часовой пояс и поставлен в файлы “php.ini” и “my.ini”, в моем случае – Europe/Helsinki. Здесь нажимаем Enter.
Наш комплект Web-сервера XAMPP установлен. На этом этапе в командной строке отображается несколько действий на выбор, а именно:
- запустить XAMPP Control Panel
- переместить XAMPP (текущий путь: C:\xampp)
- отключить HTTPS (SSL)
- отключить Server Side Includes (SSI)
- включить только IPv4 (текущий: IPv4/6(автоматически))
- отключить mod_perl
- отключить Apache:ASP
Здесь Вы конечно можете выбрать какой то пункт меню на свое усмотрение. Для того что бы запустить XAMPP Control Panel нужно выбрать пункт №1 и нажать на Enter, или выбрать x (как сделал я) для выхода и потом запустить ярлык на рабочем столе – XAMPP Control Panel. В том случае если вы установили без создания ярлыков, то нужно зайти в директорию C:\xampp и запустить xampp-control.exe. В этой же директории располагаются ярлыки для запуска отдельных модулей.
После запуска XAMPP Control Panel тем или иным способом Вы должны увидеть следующее:
Использование
XAMPP очень прост в использовании, и хорошо интегрируется NetBeans (об этой IDE я писал раньше – NetBeans как IDE для PHP). В XAMPP очень удобная Control Panel,она проста в использовании и содержит все необходимое для комфортной работы и создании шедевров в программировании.
На скриншоте выше видно Список модулей (Modules)а именно: Apache, MySQL, FileZilla, Mercury, Tomcat. Для того чтобы запустить тот или иной модуль нужно на кнопку, которая находится рядом с модулем, а именно Start. В нашем случае запустим Apache и MySQL. Если Вы хотите запускать модули как службы Windows и что бы они автоматически выполнялись после загрузки ОС, нужно поставить рядом с названием модуля флажок Svc. Модули устанавливаются в качестве служб Windows при установке флажка и удаляются при снятии флажка Svc.
С права вынесены все кнопки полезных функций, а именно:
Shell – запускает командную строку, в которой можно работать с сервером
Setup – здесь находятся некоторые настройки XAMPP, которые собраны в небольшое меню, о них я писал выше
Port-Check – при нажатии на эту кнопку можно проверить нужные для Web-сервера порты
Explore – после нажатия на данную кнопку будет открыта директория в которую установлен XAMPP (C:\xampp)
SCM – здесь будет открыто окно для управления службами Windows
Refresh – при нажатии на эту кнопку состояние всех модулей будет обновлено, обратите внимание что они будут обновлены а не перезагружены
Help – здесь находится небольшая справка по работе с XAMPP Control Panel
Exit – выход из XAMPP Control Panel, обратите внимание что при этом закроется просто Control Panel все модули которые были включены останутся в рабочем состоянии
Если просто закрыть окно XAMPP Control Panel то остается иконка в трее, при наведении на которую отображается информация о работающих модулях. При нажатии на иконку в трее правой кнопкой мыши, произойдет Refresh XAMPP.
При запуске нужных Вам модулей, станут активными кнопки с надписью Admin. При нажатии на любую из них запускается установленный по умолчанию браузер и в нем административная панель того или иного модуля. Вот к примеру так выглядит приветственная страница XAMPP, после нажатия на кнопку Admin возле Apache. Здесь нужно выбрать тот язык который Вам больше нравится, в более старых версия доступен также русский, в данном случае выбираем English.
После выбора языка появится веб-интерфейс XAMPP. В котором на первой странице нас приветствуют, и поздравляют с установкой комплекта Web-сервера.
В веб-интерфейсе очень много всего полезного, там есть достаточно большое меню в котором:
Welcome – приветственная страница
Status – здесь можно проверить статус всех компонентов, какие из компонентов работают а какие не работают
Security – здесь находятся всевозможные настройки безопасности, зеленым цветом отмечены надежные настройки, красным цветом полностью незащищенные, а желтый цвет означает что нет возможности определить статус, здесь можно найти список портов XAMPP, и рекомендации по устранению незащищенных компонент, здесь также указан адрес (http://localhost/security/xamppsecurity.php), по которому можно изменить пароль для root (MySQL), поставить пароль на директорию XAMPP, и установить способ доступа к phpMyAdmin
Documentation – здесь находится On-line документация по разным компонентам XAMPP
Components – здесь находится список всех компонентов, которые содержит XAMPP, и ссылки на авторов этих компонентов
phpinfo() – выводит информацию о PHP, а именно о настройках, расширениях, о версии PHP и т.д.
pearinfo() – выводит информацию о PEAR
perlinfo() – выводит информацию о PERL
aspinfo() – выводит информацию о ASP
Demos – в этом разделе есть несколько скриптов, которые демонстрируют работу тех или иных компонентов XAMPP, а именно:
CD Collection – простая программа с использованием PHP, MySQL, FPDF, в которой можно добавлять, удалять и генерировать список ваших CD в PDF
Biorhythm – программа показывающая биоритм графически, с использованием PHP, GD
Instant Art – программа демонстрирующая работу PHP, GD, FreeType
Flash Art – демонстрация применения PHP+MING
Phone Book – телефонная книга с использованием PHP и SQLite
ADOdb – использование ADOdb
Guest Book – простая гостевая книга на Perl
Tools – в этом разделе находятся дополнительные утилиты, которые существенно могут помочь в разработке того или иного программного продукта
phpMyAdmin – приложение на PHP, которое предоставляет веб-интерфейс для работы с MySQL, это приложение можно вызвать из XAMPP Control Panel путем нажатия кнопки Admin рядом с модулем MySQL, что собственно очень удобно и ускоряет запуск phpMyAdmin
Webalizer – статистика о работе сайта с графиками
Mercury Mail – программа, которая позволяет отправлять и получать почту как на одном компьютере, так и в локальной сети.
FileZilla FTP – FTP сервер
В общем в XAMPP есть все что нужно для разработки приложений, если нужно чего то большего, то можно обратится к дополнениям.
Перевод документации XAMPP
Пароли:
- MySQL:
User: root
Password: (по умолчанию пароля нет) - FileZilla FTP:
User: newuser
Password: wampp
User: anonymous
Password: some@mail.net - Mercury:
Postmaster: postmaster (postmaster@localhost)
Administrator: Admin (admin@localhost)
TestUser: newuser
Password: wampp - WEBDAV:
User: wampp
Password: xampp
Про безопасность (обязательно к прочтению!)
XAMPP сделан так что он полностью открыт, это было сделано для того чтобы разработчики могли делать все что им нужно, и по этому не рекомендуется использовать XAMPP, такой какой он сразу после установки, в производстве, так как он практически не защищен.
Список наиболее уязвимых мест XAMPP:
Логин администратора MySQL (root) по умолчанию не имеет пароля.
Демон MySQL, доступен через локальную сеть.
PhpMyAdmin, доступен через локальную сеть.
Примеры доступны через локальную сеть.
Эти и другие недостатки безопасности можно исправить на следующей странице:
http://localhost/security/
Пароли для MySQL и PhpMyAdmin, и пароли к директории XAMPP тоже можно настроить по вышеуказанному адресу.
Примечания MySQL:
Как и говорилось выше по умолчанию в MySQL для пользователя с логином “root” пароля не существует. Чтобы можно было получить доступ из PHP к базам данных MySQL нужно написать следующее:
mysql_connect("localhost", "root", ""); |
Чтобы установить пароль для доступа к MySQL, нужно использовать MySQL Admin.
Для того что бы установить пароль “secret” для пользователя “root” в командной строке нужно написать следующее:
\xampp\mysql\bin\mysqladmin.exe -u root -psecret
Если Вы измените пароль то придется перенастраивать PhpMyAdmin что бы использовать новый пароль, если же вы не перенастроите то доступ к базам данных будет закрыт. Чтобы изменить настройки PhpMyAdmin нужно открыть файл config.inc.php, который располагается в директории \xampp\phpmyadmin\ и изменить следующие строки:
$cfg['Servers'][$i]['user'] = 'root'; // Пользователь MySQL $cfg['Servers'][$i]['auth_type'] = 'cookie'; // Аутентификация HTTP |
После этого чтобы получить доступ к PhpMyAdmin, сначала у вас будет запрашиваться пароль к пользователю ‘root’.
CPAN / PEAR:
Предварительно установленные в ОС CPAN и PEAR , являются базовыми. Если Вам нужны дополнительные пакеты, нужно воспользоваться утилитой XAMPP Shell (xampp_shell.bat), для чего в командной строке нужно прописать следующее и установите их с помощью утилит командной строки:
- cpanp i Foo
- pear install Foo
Если у Вас нет компилятора VC6, Вы можете использовать “ppm” вместо “cpanp”, чтобы установить бинарные пакеты.
Общие директории
\xampp\anonymous | Для анонимного доступа к FTP нужно загрузить в эту директорию. |
\xampp\cgi-bin | Для CGI скриптов. |
\xampp\htdocs | Это и есть та основная директория, где нужно создавать свои проекты. Я к примеру делаю так: создаю в \xampp\htdocs директорию к примеру blog (C:\xampp\htdocs\blog) и сюда записываю основные файлы проекта, после чего мой блог будет доступен по адресу http://localhost/blog/ и так для каждого проекта создаю отдельную директорию. |
\xampp\MercuryMail\MAIL | Почтовые ящики. |
\xampp\mysql\data | Базы данных MySQL. |
\xampp\webdav | Директория для доступа WebDAV (если это включено). |
Конфигурационные файлы
\xampp\apache\conf\httpd.conf | Основной конфигурационный файл для Apache.Если Вам нужны другие, файлы конфигурации Apache, то они хранятся в директории \xampp\apache\conf\extra\. |
\xampp\FileZillaFTP\FileZilla Server.xml | Конфигурационный файл для FTP сервера FileZilla. Он связан с “FileZilla Server Interface.exe” (который можно запустить путем нажатия кнопки “Admin” в XAMPP Control Panel). |
\xampp\MercuryMail\mercury.ini | Конфигурационный файл для сервера SMTP Mercury. Он связан с “mercury.exe” (который можно запустить путем нажатия кнопки “Admin” в XAMPP Control Panel). |
\mysql\bin\my.ini | Конфигурационный файл для сервера MySQL. |
\xampp\php\php.ini | Конфигурационный файл для PHP. |
\xampp\phpMyAdmin\config.inc.php | Конфигурационный файл для phpMyAdmin. |
\xampp\sendmail\sendmail.ini | Конфигурационный файл для msmtp (совместимый интерфейс sendmail). |
\xampp\webalizer\webalizer.conf | Конфигурационный файл для Webalizer. |
Лог-файлы (.log)
\xampp\apache\logs\error.log | Файл журнала ошибок Apache. Дополнительные файлы могут быть в этой же директории (если это включено). |
\xampp\FileZillaFTP\Logs | Файл журнала ошибок FileZilla FTP-сервера (если это включено). |
\xampp\MercuryMail\LOGS\ | В поддиректориях этой директории находятся лог-файлы из нескольких модулей Mercury SMTP-сервера. |
\xampp\mysql\data\mysql.err | Файл журнала ошибок MySQL. Дополнительные файлы могут быть в этой же директории (если это включено). |
\xampp\sendmail\sendmail.log | Лог-файлы msmtp (совместимый интерфейс sendmail). |
После установки XAMPP, можно спокойно установить WordPress или же установить и русифицировать Drupal, для того что бы начать сразу создавать сайты.
Существует также достаточно неплохой движок для форума, который можно установить и протестировать, и о том как установить Vanilla forums на XAMPP, подробно написано по указанной ссылке.
Ссылки:
- http://www.apachefriends.org/en/xampp.html – страница XAMPP
- http://www.apachefriends.org/en/xampp-windows.html – страница XAMPP для Windows
- FileZilla – бесплатный FTP-менеджер – для проверки FTP-сервера можно воспользоваться FTP-менеджером FileZilla
- NetBeans как IDE для PHP – про NetBeans
- Установка + русификация NetBeans – как установить NetBeans
- FPDF – библиотека для создания PDF-файлов на PHP – про библиотеку FPDF
- Foxit Reader – как альтернатива Adobe Reader – для проверки созданных файлов библиотекой FPDF можно воспользоваться программой Foxit Reader
Удачного Вам использования XAMPP.