Джентльменский набор – XAMPP

poloploЭта статья будет посвящена тем, кто в силу каких либо обстоятельств не имеет возможности изучать все тонкости и премудрости настройки, и установки Веб-сервера, и сопутствующих компонентов, таких как Apache, MySQL, PHP & phpMyAdmin и т.п. Речь пойдет о так называемом “джентльменском наборе” разработчика. Думаю те, кто только начинали верстать сайты или пробовать Веб-сервера на вкус под Windows знакомы с пожалуй самым популярным “джентльменским набором” разработчика – Denver.

Проблема в том, что Denver не является кроссплатформенным ПО, а соответственно пользоваться им могут только пользователи операционных систем Windows. К тому же, набор устанавливаемых компонентов Denver более скудный, чем у XAMPP. XAMPP же одинаково хорошо подойдет пользователям: Linux, Windows, Mac OS, Solaris и BSD систем.

Философия XAMPP. Компоненты XAMPP

Итак, что же вы получите после установки XAMPP? А получите вы целый букет компонентов, это такие базовые как: Apache, PHP, MySQL & Perl. Полный список пакетов, может впечатлить любого: Apache, MySQL, PHP & PEAR, Perl, ProFTPD, phpMyAdmin, OpenSSL, GD, Freetype2, libjpeg, libpng, gdbm, zlib, expat, Sablotron, libxml, Ming, Webalizer, pdf class, ncurses, mod_perl, FreeTDS, gettext, mcrypt, mhash, eAccelerator, SQLite and IMAP C-Client.

XAMPP прост в установке, безопасен, содержит всегда только последние стабильные версии предлагаемого ПО (разработчики ревностно следят за этим) и содержит инструмент управления всем этим добром – Веб-морду. Философия XAMPP гласит, что разработчику должно быть просто установить необходимый набор инструментов, просто управляться с ними и не заморачиваться с тонкостями настроек Apache и PHP.

XAMPP – распространяется по лицензии GPL.
xampp

Установка и настройка XAMPP

Первое что необходимо, это скачать пакет (64Mb):

wget http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz
wget http://www.apachefriends.org/download.php?xampp-linux-1.7.3a.tar.gz

Далее станем рутом:

su root
su root

Распакуем архив в папку /opt:

tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt
tar xvfz xampp-linux-1.7.3a.tar.gz -C /opt

Разработчик рекомендует именно эту директорию.
Теперь всё что вам осталось, это запустить скрипт, который сам установит в систему все вышеперечисленные компоненты:

/opt/lampp/lampp start
 
Starting XAMPP 1.7.3a...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.
/opt/lampp/lampp start

Starting XAMPP 1.7.3a...
LAMPP: Starting Apache...
LAMPP: Starting MySQL...
LAMPP started.

В принципе это всё. Система готова.
Далее в браузере перейдите по адресу: http://localhost

Где вы увидите стартовую страницу XAMPP которая будет содержать ссылки для проверки статуса запущенных демонов и пример веб странички.

xampp5

Безопасность

Прежде чем начать полноценно пользоваться XAMPP необходимо всё же позаботиться немного о безопасности системы, особенно это актуально если вы используете ваш компьютер как тестовую платформу и ваш IP смотрит в интернет.

Теперь по пунктам, что нужно настроить:

1) пользователь root в MySQL не имеет пароля (значит надо сделать)
2) MySQL демон доступен\виден из сети.
3) ProFTPD использует пароль lampp и юзера nobody
4) PhpMyAdmin доступен\виден из сети.
5) Примеры доступны из сети
6) MySQL и Apache запущены от имени юзера nobody.

xampp4

Хитрые разрабы предлагают вам исправить всё это одним махом (оставленною это специально для тех кто желает поправить настройки под себя руками) запустив скрипт:

/opt/lampp/lampp security
 
XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes (1)
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the passworde somewhere down to make sure you won't forget it!!!
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Reload ProFTPD...
XAMPP: Done.
/opt/lampp/lampp security

XAMPP: Quick security check...
XAMPP: Your XAMPP pages are NOT secured by a password.
XAMPP: Do you want to set a password? [yes] yes (1)
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Password protection active. Please use 'lampp' as user name!
XAMPP: MySQL is accessable via network.
XAMPP: Normaly that's not recommended. Do you want me to turn it off? [yes] yes
XAMPP: Turned off.
XAMPP: Stopping MySQL...
XAMPP: Starting MySQL...
XAMPP: The MySQL/phpMyAdmin user pma has no password set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL pma password.
XAMPP: Setting phpMyAdmin's pma password to the new one.
XAMPP: MySQL has no root passwort set!!!
XAMPP: Do you want to set a password? [yes] yes
XAMPP: Write the passworde somewhere down to make sure you won't forget it!!!
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Setting new MySQL root password.
XAMPP: Setting phpMyAdmin's root password to the new one.
XAMPP: The FTP password for user 'nobody' is still set to 'lampp'.
XAMPP: Do you want to change the password? [yes] yes
XAMPP: Password: ******
XAMPP: Password (again): ******
XAMPP: Reload ProFTPD...
XAMPP: Done.

Еще одной интересной функцией, является возможность делать простой бэкап и так же просто его восстанавливать. Функция пока находиться на уровне тестирования, так что использование на свой страх и риск.

/opt/lampp/lampp backup
/opt/lampp/lampp backup

или

/opt/lampp/lampp backup secret
/opt/lampp/lampp backup secret

где secret ваш root пароль для MySQL

Вывод работы команды:

Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-22-01-04.sh
Backing up databases...
Backing up configuration, log and htdocs files...
Calculating checksums...
Building final backup file...
Backup finished.
Take care of /opt/lampp/backup/xampp-backup-22-01-04.sh

В примере файл который будет хранить ваши данные, это файл /opt/lampp/backup/xampp-backup-22-01-04.sh

Восстановить бэкап просто, запустите имеющий скрипт:

sh xampp-backup-22-01-04.sh
sh xampp-backup-22-01-04.sh

Вывод работы команды:

Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.2
Backup from: XAMPP 1.4.2
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore.
Checking integrity of files...
Restoring configuration, log and htdocs files...
Checking versions...
Installed: XAMPP 1.4.2
Backup from: XAMPP 1.4.2
Restoring MySQL databases...
Restoring MySQL user databases...
Backup complete. Have fun!
You may need to restart XAMPP to complete the restore.

Использование XAMPP. Директории XAMPP

Здесь список основных параметров запуска системы XAMPP которые могут понадобиться вам в работе. Всё очень просто.

# /opt/lampp/lampp start – запуск системы
# /opt/lampp/lampp stop – остановка система
# /opt/lampp/lampp restart – перезапуск системы
# /opt/lampp/lampp startapache – запуск только Apache
# /opt/lampp/lampp startssl – запустить Apache с поддержкой SSL
# /opt/lampp/lampp startmysql – запуск только MySQL
# /opt/lampp/lampp startftp – запустить ProFTPD сервер (далее после рестарта, ФТП сервер будет запускать автоматически)
# /opt/lampp/lampp stopapache – остановить Apache
# /opt/lampp/lampp stopssl – отключить поддержку SSL для Apache
# /opt/lampp/lampp stopmysql – остановить MySQL
# /opt/lampp/lampp stopftp – остановить ProFTPD

Думаю некоторым будет интересно где расположился XAMPP в вашей системе. Давайте посмотрим.

/opt/lampp/bin/ – здесь собраны основные команды запуска XAMPP
/opt/lampp/htdocs/ – головная директория для сайта
/opt/lampp/etc/httpd.conf – конфигурационный файл Apache
/opt/lampp/etc/my.cnf – конфигурационный файл MySQL
/opt/lampp/etc/php.ini – конфигурационный файл PHP php.ini
/opt/lampp/etc/proftpd.conf – конфигурационный файл для ProFTPD
/opt/lampp/phpmyadmin/config.inc.php – конфигурационный файл для phpMyAdmin

Остановить систему XAMPP вы можете так:

/opt/lampp/lampp stop
 
Stopping LAMPP 1.7.3a...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.
/opt/lampp/lampp stop

Stopping LAMPP 1.7.3a...
LAMPP: Stopping Apache...
LAMPP: Stopping MySQL...
LAMPP stopped.

Удалить XAMPP:

rm -rf /opt/lampp
rm -rf /opt/lampp

xampp2