XAMPP — настройка виртуального сервера
XAMPP ver. 1.8.3-3 for Mac OS X ver. 10.9.2
Первоначальная настройка
Изначально XAMPP имеет один адрес это localhost
При загрузке — должна открыться страница с информацией о сервере, версии PHP ссылками на phpmyadmin и пр.
Для создания своего хоста Apache VirtualHosts
1. Открываем конфигурационный файл — /Applications/XAMPP/xamppfiles/etc/httpd.conf
1.1. Изменить User daemon на User username (стр. 173)
где username — имя вашего пользователя в системе Mac OS X
1.2. Включаем VirtualHosts — раскомментировав (стр. 488)
убрать решетку перед Include
2. Добавление своих хостов — открываем файл — /Applications/XAMPP/etc/extra/httpd-vhosts.conf
2.1. Чтобы оставить локальный хост работающим без изменений
2.2. Подключить свой сайт — cоздать папку сайта site.local (пример)
username — ваше имя пользователя в системе Mac OS X
folder — пусть к папке сайта
site.local — папка сайта
Директиву 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 и виртуальные хосты добавлены.
Источник
Установка и настройка 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.
Настройка виртуальных хостов
Теперь нужно настроить виртуальный хост для нашего первого проекта – это такая штука, благодаря которой можно в браузере вбить адрес сайта, например, blabla.com, и локальный веб-сервер обработает запрос для этого адреса. С помощью XAMPP можно сделать неограниченное количество таких виртуальных хостов.
Для нашего учебного проекта мы создадим виртуальный хост для домена myproject.loc. В первую очередь, давайте создадим директорию, в которой будет располагаться наш проект.
Я создал её по пути /Users/artyom/projects/myproject.loc
В случае Windows путь будет начинаться с буквы диска, на котором расположен проект, например: D:\projects\myproject.loc
Внутри этой директории нужно создать папку www – это будет корневая директория нашего сайта для веб-сервера. Именно в папке www веб-сервер будет искать запрашиваемые нами файлы.
Теперь нужно открыть папку с установленным XAMPP (у меня она расположена по пути /Applications/XAMPP), в ней найти папку etc, внутри нее будет папка extra, а в ней будет файл httpd-vhosts.conf
Откройте его в любом текстовом редакторе. В нём вы увидите примеры нескольких конфигураций виртуальных хостов. В моём случае это хосты dummy-host.example.com и dummy-host2.example.com
Добавим к ним наш хост myproject.loc
Теперь о самой конфигурации:
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 откройте терминал и выполните команду:
После ввода пароля пользователя вам откроется консольный текстовый редактор nano.
Переместите курсор в конец файла и добавьте строку:
После внесения изменений нужно нажать сочетание клавиш Ctrl+X, далее нажать Y, и после этого нажать Enter.
Настройка /etc/hosts в Windows
В Windows нужно нажать на кнопку с логотипом Windows, в поиске набрать “Блокнот”, нажать по значку программы правой кнопкой мыши и выбрать “Запустить от имени администратора”. В программе нажать Файл -> Открыть и выбрать файл, расположенный по пути C:\Windows\System32\Drivers\etc\hosts
В конец файла добавить строку:
После чего нажать Файл -> Сохранить.
Проверка работы виртуального хоста.
После внесенных изменений в созданной ранее папке www создайте файл index.php в любом текстовом редакторе. Впишите в него следующий код:
Теперь можете открыть ваш браузер и ввести адрес http://myproject.loc/
Если вы всё сделали правильно, вы увидите результат выполнения PHP-кода:
Поздравляю! Ваша первая (или нет?) программа только что успешно отработала! Мы увидели результат её работы. И если мы сейчас откроем исходник страницы в браузере, то там не будет нашего исходного кода. Он выполнился, а веб-сервер отдал нам готовый результат — именно так, как я рассказывал в уроке как работает PHP.
На этом конфигурация завершена. В следующем уроке мы установим и настроим самую крутую IDE для PHP-разработчика – PHPStorm.
Источник
OS X Часто задаваемые Вопросы
- XAMPP for OS X is a native installer for OS X. It installs Apache, PHP and other XAMPP components directly on your OS X system, in the /Applications/XAMPP folder.
- XAMPP-VM is a virtual machine for OS X. It includes Apache, PHP and other XAMPP components and runs them in a Linux-based virtual machine on your OS X system.
. Как мне установить XAMPP на Mac OS X?
Чтобы установить XAMPP просто сделайте следующее:
- Откройте DMG-образ.
- Дважды кликните по картинке чтобы запустить процесс установки.
Вот и всё. Теперь XAMPP установлен под каталогом /Applications/XAMPP.
Does XAMPP include MySQL or MariaDB?
Since XAMPP 5.5.30 and 5.6.14, XAMPP ships MariaDB instead of MySQL. The commands and tools are the same for both.
Как я мне запустить XAMPP?
Чтобы запустить XAMPP просто откройте XAMPP Control и запустите Apache, MySQL и ProFTPD. Имя для XAMPP Control «manager-osx».
Как я мне остановить XAMPP?
Чтобы остановить XAMPP просто откройте XAMPP Control и остановите сервера. Имя для XAMPP Control «manager-osx».
Как я мне проверить что всё сработало?
Введите следующую 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 /Applications/XAMPP/xamppfiles/xampp security
Это запустит небольшую проверку безопасности чтобы сделать установку XAMPP безопасной.
Что означают сообщения об ошибках которые я вижу когда запускаю 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 нащёл процесс уже запущенный на вашей системе. Чтобы запустить LAMPP правильно, сначала вам нужно остановить этот процесс.
Apache doesn’t seem to start. What can I do?
Эта ошибка может иметь место по нескольким причинам. Apache показывает эту ощибку при разных условиях. Чтобы найти конкретную причину нам нужно будет немного поисследовать:
tail -2 /Applications/XAMPP/logs/error_log
Если вы получили сообщение об ошибке посетите страницы нашего сообщества для помощи.
Как мне сделать более безопасной мою установку XAMPP?
В установке по умолчанию, в XAMPP не установлено паролей и запускать XAMPP с такой конфигурацией доступной другим, не рекомендуется.
Просто введите следующую команду (как root) чтобы начать простую проверку безопасности:
sudo /Applications/XAMPP/xamppfiles/xampp 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 должна быть более безопасной.
Как мне активировать OCI8/Oracle расширение для PHP?
Чтобы активировать OCI8/Oracle расширение для PHP пожалуйста выполните следующую команду:
sudo /Applications/XAMPP/xamppfiles/lampp oci8
Появится следующий диалог:
Please enter the path to your Oracle or Instant Client installation: [/Applications/XAMPP/xamppfiles/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.
Теперь расширение должо быть активировано.
How do I enable access to phpMyAdmin from the outside?
In the basic configuration of XAMPP, phpMyAdmin is accessible only from the same host that XAMPP is running on, at http://127.0.0.1 or http://localhost.
IMPORTANT: Enabling external access for phpMyAdmin in production environments is a significant security risk. You are strongly advised to only allow access from localhost. A remote attacker could take advantage of any existing vulnerability for executing code or for modifying your data.
To enable remote access to phpMyAdmin, follow these steps:
- Edit the xamppfiles/etc/extra/httpd-xampp.conf file in your XAMPP installation directory.
- Within this file, find the lines below.
Alias /phpmyadmin «/Applications/XAMPP/xamppfiles/phpmyadmin» AllowOverride AuthConfig Require local
Then replace ‘Require local’ with ‘Require all granted’.
Alias /phpmyadmin «/Applications/XAMPP/xamppfiles/phpmyadmin» AllowOverride AuthConfig Require all granted
Where are the main XAMPP configuration files?
The main XAMPP configuration files are located as follows:
- Apache configuration file: /Applications/XAMPP/xamppfiles/etc/httpd.conf, /Applications/XAMPP/xamppfiles/etc/extra/httpd-xampp.conf
- PHP configuration file: /Applications/XAMPP/xamppfiles/etc/php.ini
- MySQL configuration file: /Applications/XAMPP/xamppfiles/etc/my.cnf
- ProFTPD configuration file: /Applications/XAMPP/xamppfiles/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: $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.
Как мне сделать резервное копирование или востановить мою XAMPP систему?
Предупреждение: Функции резервного копирования и востановления ещё разрабатываются и могут работать неправильно.
Вы можете создать резервное копирование с помощью:
sudo /Applications/XAMPP/xamppfiles/xampp backup
sudo /Applications/XAMPP/xamppfiles/xampp 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 /Applications/XAMPP/xamppfiles/backup/xampp-backup-22-01-14.sh
Файл /Applications/XAMPP/xamppfiles/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) функция.
Поддержка
Посетите наш страницы нашего сообщества для дополнительной помощи.
Источник