Установка XAMPP в Linux

05. 11. 2013

Установка XAMPP и его настройка. XAMPP — кроссплатформенная сборка web-сервера, содержащая в себе Apache, MySQL, PHP, Perl и дополнительные библиотеки, позволяющие запустить полноценный веб-сервер. Установит XAMPP можно на такие операционные системы как: GNU/Linnux, Windows, Mac OS X, Solaris.

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

установка xampp

У меня иногда спрашивают: «как быстро, поднять веб-сервер, под linux для собственных нужд (ведь, многими любимый денвер, не подходит)?». Решил описать, на мой взгляд, самый простой способ, а именно установка xampp (не путать с lamp).

XAMPP — аббревиатура:
X (одна из четырех ос)
Apache
MySQL
PHP
Perl

Люблю Linux за то, что он дает минимум пару способов, что-либо сделать. Например в ArchLinux можно установить XAMPP из AUR (Пользовательский репозиторий Arch).

[user@anonymous ~]# yaourt xampp

(установка xampp) Если вы используете ArchLinux 64-bit, вам необходимо установить дополнительные пакеты lib32-glibc и lib32-gcc-libs (возможно и на других 64-bit ОС нужны эти пакеты).

[user@anonymous ~]# sudo pacman -S lib32-glibc lib32-gcc-libs

Другой способ установить xampp

Cкачать с офф сайта xampp. Предлагаю скачать XAMPP for Linux 1.8.2 PHP 5.4, он более стабильный чем PHP 5.5

Открываем в терминале папку, в которую мы, только что скачали файл.

[user@anonymous ~]# cd /download

Убедимся, что он там.

[user@anonymous download]# ls
xampp-linux-1.8.2-2-installer.run

Переходим под супер пользователя root

[user@anonymous download]# su
[root@anonymous download]#

Меняем права доступа к установщику.

[root@anonymous download]# chmod 755 xampp-linux-1.8.2-2-installer.run

Запускаем инсталлятор.

[root@anonymous download]# ./xampp-linux-1.8.2-2-installer.run

Вот и все, установка xampp закончена, xampp установлен в каталог /opt/lampp.

Теперь запустим наш вновь установленный сервер.

[root@anonymous /]# /opt/lampp/lampp start

Для перезагрузки сервера.

[root@anonymous /]# /opt/lampp/lampp restart

Чтобы остановить.

[root@anonymous /]# /opt/lampp/lampp stop

Для того, чтобы удалить xampp, достаточно выполнить две команды:

[root@anonymous /]# /opt/lampp/lampp stop
[root@anonymous /]# rm -rf /opt/lampp

Настройка XAMPP

Пути к конфигурационным файлам отдельных частей XAMPP:

/opt/lampp/etc/httpd.conf - конфигурация Apache.
/opt/lampp/etc/php.ini - конфигурация PHP.
/opt/lampp/phpmyadmin/config.inc.php - конфигурация PhpMyAdmin.
/opt/lampp/etc/proftpd.conf - конфигурация proFTP.
/opt/lampp/etc/my.cnf - конфигурация MySQL.

Хостинг файлов вне каталога htdocs

(установка xampp) По умолчанию, все файлы проектов размещаются в каталоге /opt/lampp/htdocs/ и будут обработаны web-сервером.

Для того, чтобы изменить каталог, на более удобный для вас, нужно сделать следующие:

Отредактируем файл httpd.conf.

[root@anonymous /]# nano /opt/lampp/etc/httpd.conf

Найдем строку с «DocumentRoot»:

DocumentRoot "/opt/lampp/htdocs"
<Directory "/opt/lampp/htdocs">
...
...
</Directory>

После «</Directory>» допишем следующие, где «/yourDirectory/» путь к вашей директории:

<Directory "/yourDirectory/">
Options Indexes FollowSymLinks ExecCGI Includes
AllowOverride All
Require all granted
</Directory>

Далее, найдем «<IfModule alias_module>»:

<IfModule alias_module>
#
# Redirect: Allows you to tell clients about documents that used to
# exist in your server's namespace, but do not anymore. The client
# will make a new request for the document at its new location.
# Example:
# Redirect permanent /foo http://www.example.com/bar
...
</IfModule>

И перед «</IfModule>» вставить следующее, где «/yourDirectory/» путь к вашей директории:

Alias /yourAlias /yourDirectory/

(установка xampp) После чего, осталось перезагрузить Apache:

[root@anonymous /]# /opt/lampp/lampp restart

Безопасность сервера XAMPP

Рекомендую выполнить настройку параметров безопасности сервера XAMPP, введя следующею команду:

[root@anonymous /]# /opt/lampp/lampp security

Вам будет предложено ввести пароли для доступа к phpMyAdmin, MySQL, proFTP.

Далее, для тех кто будет использовать сервер XAMP, для собственных нужд (разработка web-приложений и.т.п) на локальной машине, нужно запретить серверу Apache и MySQL слушать мир.  Разрешим слушать только локальную машину.

Начнем с Apache. Для этого нам нужно отредактировать два файла, первый /opt/lampp/etc/httpd.conf. Найдем в нем следующею строчку:

Listen 80

и заменим на:

Listen 127.0.0.1:80

Во втором, и /opt/lampp/etc/extra/httpd-ssl.conf. Найдем:

Listen 443

заменим:

Listen 127.0.0.1:443

Для MySQL откроем следующий файл /opt/lampp/etc/my.cnf и в разделе     "[mysqld]" допишем следующее:

bind-address=localhost

Ошибки и их устранение в XAMPP

Если во время запуска XAMPP вы увидите следующие:

Starting XAMPP for Linux 1.7.7...
/opt/lampp/lampp: line 21: netstat: command not found
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting Apache with SSL (and PHP5)...
/opt/lampp/lampp: line 241: /bin/hostname: No such file or directory
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting MySQL...
/opt/lampp/bin/mysql.server: line 263: hostname: command not found
/opt/lampp/lampp: line 21: netstat: command not found
XAMPP: Starting ProFTPD...
XAMPP for Linux started.

Тогда, просто установите, два этих пакета net-tools и inetutils.

[user@anonymous ~]# sudo pacman -S net-tools inetutils

При открытии phpMyAdmin:

По адресу http://localhost/phpmyadmin может возникнуть следующая ошибка «403 Access Forbidden», тогда нужно подредактировать файл - /opt/lampp/etc/extra/httpd-xampp.conf:

[user@anonymous ~]# nano /opt/lampp/etc/extra/httpd-xampp.conf

Найти строчку  <Directory «/opt/lampp/phpmyadmin»> и внести следующее изменения:

<Directory "/opt/lampp/phpmyadmin">
AllowOverride AuthConfig Limit
#Order allow,deny
#Allow from all
Require all granted
</Directory>

На этом все, установка XAMPP и его последующая настройка завершена. Возможно, вам будут интересны статьи: установка yii framework в xampp и заглушка для sendmail.

  • Deep

    Хорошая статья, все понятно, установил и настроил.

  • xGuthrie_

    Гуд статья, благодарю.

  • Alexander Kryachko

    Не пойму, как использовать Alias. Если у меня проект лежит по адресу /media/Work/Project/test/

    Прописываю Alias /webapp /media/Work/Project

    По какому url я получу к нему доступ?