Установка и настройка XAMPP
В этом уроке мы рассмотрим настройку окружения, необходимого для разработки на PHP с помощью пакета XAMPP — это приложение, позволяющее быстро развернуть для локальной разработки связку из PHP, Apache, MariaDB (аналог MySQL). Эта программа, в отличие от OpenServer, настройка которого описана в этой статье, является кросс-платформенной, и может использоваться на компьютерах под управлением Windows, Linux и MacOS.
Прежде всего, скачайте и установите XAMPP с официального сайта.
После установки запустите XAMPP и перейдите во вкладку “Manage Servers”. Выберите в списке “Apache Web Server” и нажмите кнопку “Start”. Напротив выбранного значения, в колонке “Status” будет написано “Running” – сервер Apache в связке с PHP был успешно запущен на вашем локальном компьютере.

Чтобы проверить его работу, откройте ваш браузер и введите в адресной строке адрес http://localhost/ и нажмите Enter. Перед вами откроется приветственное окно XAMPP.
- Курс HTML для начинающих
- Курс PHP для начинающих
- Курс MySQL для начинающих
- Курс ООП в PHP

Настройка виртуальных хостов
Теперь нужно настроить виртуальный хост для нашего первого проекта – это такая штука, благодаря которой можно в браузере вбить адрес сайта, например, blabla.com, и локальный веб-сервер обработает запрос для этого адреса. С помощью XAMPP можно сделать неограниченное количество таких виртуальных хостов.
Для нашего учебного проекта мы создадим виртуальный хост для домена myproject.loc. В первую очередь, давайте создадим директорию, в которой будет располагаться наш проект.
Я создал её по пути /Users/artyom/projects/myproject.loc
В случае Windows путь будет начинаться с буквы диска, на котором расположен проект, например: D:\projects\myproject.loc
- Тест на знание основ HTML
- Тест на знание основ PHP
- Тест на знание ООП в PHP
Внутри этой директории нужно создать папку www – это будет корневая директория нашего сайта для веб-сервера. Именно в папке www веб-сервер будет искать запрашиваемые нами файлы.

Теперь нужно открыть папку с установленным XAMPP (у меня она расположена по пути /Applications/XAMPP), в ней найти папку etc, внутри нее будет папка extra, а в ней будет файл httpd-vhosts.conf

Откройте его в любом текстовом редакторе. В нём вы увидите примеры нескольких конфигураций виртуальных хостов. В моём случае это хосты dummy-host.example.com и dummy-host2.example.com

Добавим к ним наш хост myproject.loc
ServerAdmin [email protected] DocumentRoot "/Users/artyom/projects/myproject.loc/www" ServerName myproject.loc ErrorLog "logs/myproject.loc-error_log" CustomLog "logs/myproject.loc-access_log" common AllowOverride All Require all granted
Теперь о самой конфигурации:
VirtualHost – корневая секция виртуального хоста. *:80 означает что этот хост будет доступен по любому IP-адресу и слушать 80 порт. Настройки хоста расположены внутри этой секции.
ServerAdmin – здесь можно указать ваш контактный email.
DocumentRoot – здесь указываем путь до папки www, которую мы создали ранее.
ServerName – здесь указываем доменное имя для нашего хоста, это домен, по которому сайт будет открываться в браузере.
ErrorLog – путь для файла с логами ошибок. В него будут записываться ошибки, которые порой случаются даже на самых надежных сайтах.
CustomLog – путь для файла с логами доступа. Сюда просто будут записываться все запросы пользователей.
Directory – настройки конкретной директории. В нашем случае мы настраиваем нашу корневую директорию виртуального хоста. Require all granted означает что разрешены запросы с любых адресов. AllowOverride All — разрешает использовать .htaccess-файл для конфигурирования сайта. Об этом мы поговорим позже в курсе PHP.

Теперь нужно сделать так, чтобы веб-сервер Apache применял эти настройки, описанные в файле httpd-vhosts.conf
Для этого нужно снова открыть папку с установленной программой XAMPP, найти в ней папку etc, а в ней найти файл httpd.conf

Открываем его в любом текстовом редакторе, и ищем строку:
Include etc/extra/httpd-vhosts.conf

Её нужно раскомментировать (убрать символ # в начале строки).
После внесения изменений файл нужно сохранить.
После внесения изменений нужно чтобы веб-сервер Apache перечитал конфигурацию и работал с новыми настройками. Для этого его нужно перезапустить. Открываем панель управления XAMPP, выбираем в списке “Apache Web Server” и нажимаем кнопку “Restart”.

Настройка /etc/hosts
Теперь нужно внести изменения в ещё один файл — /etc/hosts
В этом файле можно явно указать привязку доменного имени к IP-адресу. В нашем случае требуется привязать домен myproject.loc к локальному IP-адресу 127.0.0.1. После этого когда в операционной системе будет происходить обращение к myproject.loc она будет перенаправлять запросы на локальный адрес, где их будет ждать наш веб-сервер.
Настройка /etc/hosts в MacOS и Linux
В системах MacOS и Linux этот файл располагается именно по этому пути — /etc/hosts
Для его редактирования в MacOS и Linux откройте терминал и выполните команду:
sudo nano /etc/hosts

После ввода пароля пользователя вам откроется консольный текстовый редактор nano.
Переместите курсор в конец файла и добавьте строку:
127.0.0.1 myproject.loc

После внесения изменений нужно нажать сочетание клавиш Ctrl+X, далее нажать Y, и после этого нажать Enter.
Настройка /etc/hosts в Windows
В Windows нужно нажать на кнопку с логотипом Windows, в поиске набрать “Блокнот”, нажать по значку программы правой кнопкой мыши и выбрать “Запустить от имени администратора”. В программе нажать Файл -> Открыть и выбрать файл, расположенный по пути C:\Windows\System32\Drivers\etc\hosts
В конец файла добавить строку:
127.0.0.1 myproject.loc
После чего нажать Файл -> Сохранить.
Проверка работы виртуального хоста.
После внесенных изменений в созданной ранее папке www создайте файл index.php в любом текстовом редакторе. Впишите в него следующий код:

Теперь можете открыть ваш браузер и ввести адрес http://myproject.loc/
Если вы всё сделали правильно, вы увидите результат выполнения PHP-кода:

Поздравляю! Ваша первая (или нет?) программа только что успешно отработала! Мы увидели результат её работы. И если мы сейчас откроем исходник страницы в браузере, то там не будет нашего исходного кода. Он выполнился, а веб-сервер отдал нам готовый результат — именно так, как я рассказывал в уроке как работает PHP.
На этом конфигурация завершена. В следующем уроке мы установим и настроим самую крутую IDE для PHP-разработчика – PHPStorm.
Установка локального веб-сервера — XAMPP
XAMPP полностью бесплатный и простой в установке дистрибутив Apache, содержащий MySQL, PHP и Perl. XAMPP создан с открытым исходным кодом, чтобы быть невероятно простым в установке и в использовании.
- Пройдите на сайт LibreOffice и скачайте последнюю версию “XAMPP для Windows”.

- Запустите скачанный файл xamppwin32x.x.xxxxxxinstaller.exe.
- Нажмите Да в окне Контроль учетных записей пользователей, чтобы разрешить установку программы.

- На время установки рекомендуется временно приостановить антивирус. После приостановки антивируса нажмите Yes. В некоторых случаях антивирус может препятствовать установке программного обеспечения. Если у вас в качестве антивируса запущен Microsoft Security Essentials, его можно не отключать.

- Соглашаемся, что не будем устанавливать программу в C:\Program Files, и нажимаем OK. Контроль учетных записей (UAC) может ограничить некоторые функции XAMPP при установке в C:\Program Files, рекомендуется установка в директорию по умолчанию.

- Нажмите Next, чтобы начать установку XAMPP.

- Убедитесь, что выбраны все компоненты и нажмите Next

- Выберите папку для установки XAMPP и нажмите Next. Не рекомендуется менять этот путь и не рекомендуется ставить C:\Program Files.

- Уберите флажок с Learn more about Bitnami for XAMPP и нажмите Next.

- Чтобы начать установку, нажмите Next.

- Пожалуйста, подождите, установка XAMPP займет у вас всего несколько минут.

12. Убедитесь, что стоит флажок [v] Do you want to start the Control Panel now? и нажмите Finish.

13. Нажмите Config для вызова настроек панели XAMPP в запущенном XAMPP Control Panel.

14. В группе Autostart of modules поставить флажок [v] Apache, [v] MySQL и нажмите Save.

- Нажмите Quit, чтобы применить установленные параметры.

- Нажмите Пуск → Все программы → XAMPP → XAMPP Control Panel → Правая кнопка мыши → Отправить → Рабочий стол (создать ярлык).

- Запустите XAMPP Control Panel на Рабочем столе.

- Нажмите Разрешить доступ, чтобы запустить Apache HTTP Server.

- Нажмите Разрешить доступ, чтобы запустить MySQL.

20. Перейдите на localhost/xampp в браузере. Если вы видите приветственное сообщение Welcome to XAMPP for Windows!, значит вы успешно установили среду PHP-разработки XAMPP.

Содержание
- Администратору
- Установка CS-Cart и Multi-Vendor
- Модули или аддоны
- Каталог
- Настройка способа оплаты
- Методы доставки
- Виджет — ваша витрина на любом сайте
- Русская локализация CS-Cart
- Разработка и модификация
- Часто задаваемые вопросы
- Правила оформления текста
XAMPP — настройка виртуального сервера

Изначально XAMPP имеет один адрес это localhost
При загрузке — должна открыться страница с информацией о сервере, версии PHP ссылками на phpmyadmin и пр.Для создания своего хоста Apache VirtualHosts
1. Открываем конфигурационный файл — /Applications/XAMPP/xamppfiles/etc/httpd.conf
1.1. Изменить User daemon на User username (стр. 173)
171 #running httpd, as with most system services. 172 # 173 User daemon 174 Group daemon 175где username — имя вашего пользователя в системе Mac OS X
171 #running httpd, as with most system services. 172 # 173 User username 174 Group daemon 1751.2. Включаем VirtualHosts — раскомментировав (стр. 488)
- Include etc/extra/httpd-vhosts.conf
487 #Virtual hosts 488 #Include etc/extra/httpd-vhosts.confубрать решетку перед Include
487 #Virtual hosts 488 Include etc/extra/httpd-vhosts.conf2. Добавление своих хостов — открываем файл — /Applications/XAMPP/etc/extra/httpd-vhosts.conf
2.1. Чтобы оставить локальный хост работающим без изменений
#localhostServerName localhost DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs" Options Indexes FollowSymLinks Includes execCGI AllowOverride All Allow From All Order Allow,Deny 2.2. Подключить свой сайт — cоздать папку сайта site.local (пример)
username — ваше имя пользователя в системе Mac OS X
folder — пусть к папке сайта
site.local — папка сайта#My custom hostServerName site.local DocumentRoot "/Users/username/folder/site.local" Options Indexes FollowSymLinks Includes ExecCGI AllowOverride All Require all granted ErrorLog "logs/site.local-error_log"Директиву AllowOverride None обязательно заменяем на AllowOverride All, иначе файл .htaccess не будет прочитан сервером Apache
3. Необходимо указать системе Mac OS X, где находятся виртуальные сайты.
В терминале вводим команду:sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /etc/hosts
Добавляем в конец файла hosts строчку: 127.0.0.1 site.local
#XAMPP VirtualHost 127.0.0.1 site.localПерезапускаем XAMPP и виртуальные хосты добавлены.
по localhost — открывается XAMPP
по site.local — открывается уже наш сайт.Linux Часто задаваемые Вопросы
Выберите ващу операционную систему и 32 или 64 битную версию.
Измените разрешения для установщика
chmod 755 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 в ваш любимый браузер:
You should see the XAMPP start page, as shown below.

Готов ли XAMPP к производственному использованию?
XAMPP не предназначен для производственного использования, а только для сред разработки. XAMPP настроен таким образом чтобы быть как можно более открытым и позволять разработчику всё что он/она захочет. Для сред разработки это прекрасно, но в производственной среде это может быть пагубно.
Вот список отсутствующих мер безопасности в XAMPP:
- MySQL администратор (root) не имеет пароля.
- MySQL сервер доступен через сеть.
- 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 lamppSUSE
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/» AllowOverride AuthConfig Require local
- Затем, замените ‘Require local’ на ‘Require all granted’.
Alias /phpmyadmin «/opt/lampp/phpmyadmin/» AllowOverride AuthConfig Require all granted
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
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: $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.
Предупреждение: Функции резервного копирования и востановления ещё разрабатываются и могут работать неправильно.
Вы можете создать резервное копирование с помощью:
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) функция.
ЧаВО
Поддержка
Посетите наш страницы нашего сообщества для дополнительной помощи.