XAMPP FAQs for Linux
Description: Instructions on how to install XAMPP for Linux distributions.

# Linux Часто задаваемые Вопросы

Как мне установить XAMPP?

  Выберите ващу операционную систему и 32 или 64 битную версию.

  Измените разрешения для установщика

  `chmod 755 xampp-linux-*-installer.run`

  Запустите установщик

  `sudo ./xampp-linux-*-installer.run`

  Вот и всё. XAMPP теперь установлен под каталогом /opt/lampp.

XAMPP включает в себя MySQL или MariaDB?

  С момента выхода XAMPP 5.5.30 и 5.6.14, XAMPP предоставляет MariaDB вместо MySQL. Команды и инструменты для обоих одни и те же.

Как я мне запустить XAMPP?

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

  `sudo /opt/lampp/lampp start`

  Теперь вы должны видить чтото вроде этого на вашем экране:

  `Starting XAMPP 1.8.2...
  LAMPP: Starting Apache...
  LAMPP: Starting MySQL...
  LAMPP started.
  Ready. Apache and MySQL are running.`

  Если вы получили сообщение об ошибке посетите страницы нашего сообщества для помощи.

  Кстати, заметьте что есть графический инструмент который вы можете использовать чтобы легко управлятся с вашими серверами. Вы можете запустить этот инструмент с помощью следующих команд:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

Как я мне остановить XAMPP?

  Для остановки XAMPP просто вызовите команду:

  `sudo /opt/lampp/lampp stop`

  Теперь вы должны видить чтото вроде этого на вашем экране:

  `Stopping XAMPP 1.8.2...
  LAMPP: Stopping Apache...
  LAMPP: Stopping MySQL...
  LAMPP stopped.
  `

  Если вы получили сообщение об ошибке посетите страницы нашего сообщества для помощи.

  Кстати, заметьте что есть графический инструмент который вы можете использовать чтобы легко запустить или остановить ваши сервера. Вы можете запустить этот инструмент с помощью следующих команд:

  `cd /opt/lampp
  sudo ./manager-linux.run (or manager-linux-x64.run)`

Как мне проверить, что всё сработало?

  Введите следующую URL в ваш любимый браузер:

  `http://localhost`

  You should see the XAMPP start page, as shown below.

Готов ли XAMPP к производственному использованию?

  XAMPP не предназначен для производственного использования, а только для сред разработки. XAMPP настроен таким образом чтобы быть как можно более открытым и позволять разработчику всё что он/она захочет. Для сред разработки это прекрасно, но в производственной среде это может быть пагубно.

  Вот список отсутствующих мер безопасности в XAMPP:

  1. MySQL администратор (root) не имеет пароля.
  2. MySQL сервер доступен через сеть.
  3. ProFTPD uses the password "lampp" for user "daemon".

  Чтобы исправить большинство пробелов в безопасности просто вызовите следующую команду:

  `sudo /opt/lampp/lampp security`

  Это начнёт небольшую проверку безопасности и обезопасит вашу установку XAMPP. К примеру это зашитит демонстративные страницы XAMPP комбинацией из пользовательского имени ('lampp') и пароля.

Что означают сообщения об ошибках которые я вижу когда запускаю XAMPP?

  Вы можете получить несколько сообщений об ощибках когда запускаете XAMPP:

  `LAMPP-Apache is already running.
  An Apache daemon is already running.`

  Скрипт запуска LAMPP не смог запустить XAMPP-Apache потому что экземпляр Apache уже запущен. Чтобы запустить XAMPP правильно, сначала вам нужно остановить этот процесс.

  `LAMPP-MySQL is already running.
  A MySQL daemon is already running.`

  В основном по тем же причинам что и в выше упомянутой ошибке, скрипт запуска LAMPP нащёл уже запущеный MySQL сервер на этой системе. Чтобы запустить LAMPP правильно, вам надо сначала остановить этот сервер.

Apache doesn't seem to start. What can I do?

  Эта ошибка может иметь место по нескольким причинам. Apache показывает эту ощибку при разных условиях. Чтобы найти конкретную причину нам нужно будет немного поисследовать:

  `tail -2 /opt/lampp/logs/error_log`

  Если вы получили сообщение об ошибке посетите страницы нашего сообщества для помощи.

Что делать, если я получаю сообщение об ошибке "Cannot restore segment prot after reloc: Permission denied?"

  На некоторх дистртбутивах Linux, SELinux активировано по умолчанию и это предотвращает успешный запуск XAMPP. Вам следует отключить это чтобы запустить сервера XAMPP:

  `sudo /usr/sbin/setenforce 0`

  Теперь XAMPP должен снова нормально работать.

После того как я перезагрузил мою Linux машину XAMPP перестал работать! Как мне это исправить?

  Верно. Это нормальное поведение для Linux (также относится к любой другой Unix-подобной системе). Это задача администратора убедится что определённая программа запущена при загрузке системы.

  Не существует стандартного способа настройки загрузки Linux системы, но большинство из них должны позволить вам запустить XAMPP при загрузке используя следующие шаги.

  Debian, Ubuntu.

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo update-rc.d lampp start 80 2 3 4 5 . stop 30 0 1 6 .`

  RedHat, Fedora, CentOS. Если ваш Linux дистрибутив использует инструмент "chkconfig" чтобы устанавливать сервисы вы можете использовать следующие команды:

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp
  sudo chkconfig --add lampp`

  SUSE

  `sudo ln -s /opt/lampp/lampp /etc/init.d/lampp sudo chkconfig lampp 2345`

Как мне сделать более безопасной мою установку XAMPP?

  В установке по умолчанию, в XAMPP не установлено паролей и запускать XAMPP с такой конфигурацией доступной другим, не рекомендуется.

  Просто введите следующую команду (как root) чтобы начать простую проверку безопасности:

  `sudo /opt/lampp/lampp security`

  Теперь вы должны видить следующий диалог на вашем экране:

  `XAMPP: Quick security check... 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.`

  (1) Установка пароля защитит демонстративные страницы XAMPP (http://localhost/xampp/) использующие этот пароль. Имя пользователя 'lampp'!

  После вызова этой команды ваша установка XAMPP должна быть более безопасной.

Как мне активировать eAccelerator?

  Чтобы активтровать eAccelerator просто найдите следующие строки в вашем /opt/lampp/etc/php.ini:

  `;extension="eaccelerator.so" ;eaccelerator.shm_size="16" ;eaccelerator.cache_dir="/opt/lampp/tmp/eaccelerator" ;eaccelerator.enable="1" ;eaccelerator.optimizer="1" ;eaccelerator.check_mtime="1" ;eaccelerator.debug="0" ;eaccelerator.filter="" ;eaccelerator.shm_max="0" ;eaccelerator.shm_ttl="0" ;eaccelerator.shm_prune_period="0" ;eaccelerator.shm_only="0" ;eaccelerator.compress="1" ;eaccelerator.compress_level="9"`

  Уберите точку с запятой в начале каждой строки и перезапустите XAMPP. eAccelerator теперь активирован. Для более подробной информации об eAccelerator, навестите домашнюю страницу eAccelerator: http://eaccelerator.net.

Как мне активировать OCI8/Oracle расширение для PHP?

  Чтобы активировать OCI8/Oracle расширение для PHP пожалуйста выполните следующую команду:

  `sudo /opt/lampp/lampp oci8`

  Появится следующий диалог:

  `Please enter the path to your Oracle or Instant Client installation: [/opt/lampp/lib/instantclient-11.2.0.3.0] installing symlinks... patching php.ini... OCI8 add-on activation likely successful. LAMPP: Stopping Apache with SSL... LAMPP: Starting Apache with SSL...`

  Теперь расширение должо быть активировано.

XAMPP работает, но почему картинки не отображаются?

  Эта проблема специфична для некоторых Linux систем. Пожалуйста откройте ваш /opt/lampp/etc/httpd.conf и найдите следующие две строки:

  `#EnableMMAP off #EnableSendfile off`

  Уберите # на обоих строках и перезапустите Apache. Теперь ваши картинки должны отображатся.

Как мне включить доступ к phpMyAdmin извне?

  В базовой конфигурации XAMPP phpMyAdmin доступен только с того же хоста, на котором запущен XAMPP, по адресу http://127.0.0.1 или http://localhost.

  ВАЖНО: Включение внешнего доступа для phpMyAdmin в производственных средах представляет собой значительный риск для безопасности. Вам настоятельно рекомендуется разрешать доступ только с localhost. Удаленный злоумышленник может воспользоваться любой существующей уязвимостью для выполнения кода или изменения ваших данных.

  Чтобы включить удалённый доступ к phpMyAdmin, следуйте шагам ниже:

  - Edit the etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
  - В этом файле, найдите строки, указанные снизу.

    `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpmyadmin"> AllowOverride AuthConfig Require local`

  - Затем, замените 'Require local' на 'Require all granted'.

  `Alias /phpmyadmin "/opt/lampp/phpmyadmin/" <Directory "/opt/lampp/phpMyAdmin"> AllowOverride AuthConfig Require all granted`

  - Перезапустите сервер Apache, используя панель управления XAMPP.
Where are the main XAMPP configuration files?

  The main XAMPP configuration files are located as follows:

  - Файлы конфигурации Apache: /opt/lampp/etc/httpd.conf, /opt/lampp/etc/extra/httpd-xampp.conf
  - PHP configuration file: /opt/lampp/etc/php.ini
  - MySQL configuration file: /opt/lampp/etc/my.cnf
  - ProFTPD configuration file: /opt/lampp/etc/proftpd.conf
How do I send email with XAMPP?

  To send email with XAMPP, use the PEAR Mail and Net_SMTP packages, which allow you to send email using an external SMTP account (such as a Gmail account). Follow these steps:

  - Install the Mail and Net_SMTP PEAR modules: `pear install Net_SMTP Mail` Note that if these packages are already installed in your system you see the messages below when executing that command: `Ignoring installed package pear/Net_SMTP Ignoring installed package pear/Mail Nothing to install`
  - Create the following example script in your "htdocs" directory to send an email: `<?php require_once "Mail.php"; $from = "your-gmail-username@gmail.com"; $to = 'recipients@example.com'; $host = "ssl://smtp.gmail.com"; $port = "465"; $username = 'your-gmail-username@gmail.com'; $password = 'your-gmail-password'; $subject = "test"; $body = "test"; $headers = array ('From' => $from, 'To' => $to,'Subject' => $subject); $smtp = Mail::factory('smtp', array ('host' => $host, 'port' => $port, 'auth' => true, 'username' => $username, 'password' => $password)); $mail = $smtp->send($to, $headers, $body); if (PEAR::isError($mail)) { echo($mail->getMessage()); } else { echo("Message successfully sent!\n"); } ?>`

    Remember to replace the dummy values shown with your actual Gmail address and account password. If you don't plan to use Gmail's SMTP server, replace the SMTP host details with appropriate values for your organization or ISP's SMTP server.

  - Execute the script by browsing to it using your Web browser. You should see a notification that the message was successfully sent, and the message should be delivered to the recipient email address.
Как мне сделать резервное копирование или востановить мою XAMPP систему?

  Предупреждение: Функции резервного копирования и востановления ещё разрабатываются и могут работать неправильно.

  Вы можете создать резервное копирование с помощью:

  `sudo /opt/lampp/lampp backup`

  или

  `sudo /opt/lampp/lampp backup secret`

  Где "secret" это ваш MySQL root пароль. Эта команда выведет следующее:

  `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-14.sh`

  Файл /opt/lampp/backup/xampp-backup-22-01-14.sh (в примере выше) содержит ваши данные резервного копирования. Сохраните этот файл в надёжном месте.

  На новой машине вам нужна такая же версия XAMPP, как на вашей изначальной/исходной машине.

  `sudo sh xampp-backup-22-01-14.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.`

  Вот и всё. Помните это ещё не зрелая (beta) функция.