Веб-сервер XAMPP. Запуск сайта на локальном компьютере
Когда сайт создается только на HTML, CSS и клиентском JavaScript, в программном веб-сервере нет необходимости. Код этих языков интерпретируется браузером. Однако когда добавляются скрипты на PHP и других языках, код которых выполняется на стороне сервера, то требуются соответствующие языкам интерпретаторы и компиляторы. Также необходима программа-сервер (например, Apache), которая будет получать запросы от клиента-браузера, запускать выполнение кода на стороне сервера, посылать ответ клиенту.
Нередко на компьютеры-сервера ставят не по отдельности веб-сервер, интерпретаторы и СУБД, а готовую сборку ПО, включающую все это вместе и начальные настройки, позволяющие почти сразу приступить к работе. Одной из таких веб-серверных сборок, предназначенной для разработки (то есть для установки на локальном компьютере) является XAMPP.
В данной статье описывается алгоритм установки XAMPP и развертывание сайта без базы данных на локальном компьютере в Ubuntu. Во многих других дистрибутивах Linux могут выполняться такие же действия. Для Windows прочитайте раздел "Windows FAQs" при скачивании XAMPP с его официального сайта (ссылка ниже).
Чтобы установить XAMPP, необходимо скачать установочный файл с официального сайта – https://www.apachefriends.org. Установить XAMPP можно только с правами администратора (в Linux используется утилита sudo
).
$ chmod 755 xampp-linux-*-installer.run $ sudo ./xampp-linux-*-installer.run
Установщик на своем последнем экране предлагает сразу запустить XAMPP. Снимем этот флажок, чтобы знать, как запускать сервер самостоятельно. Это пригодится впоследствии.
Инсталлятор устанавливает XAMPP в каталог /opt/lampp. Среди прочего в этой папке находится файл manager-linux-x64.run. При его выполнении открывается оконный интерфейс для запуска и остановки служб. Выполнить этот файл можно только под root'ом.
$ sudo /opt/lampp/manager-linux-x64.run
Откроется окно, в котором на вкладке Manage Servers можно запускать и останавливать необходимые сервисы. Закрытие окна не означает, что сервисы останавливаются.

Можно не пользоваться оконным менеджером, а запускать и останавливать веб-сервер через командную строку:
$ sudo /opt/lampp/lampp start $ sudo /opt/lampp/lampp stop $ sudo /opt/lampp/lampp restart
Минусом этого способа является то, что запускается все. В то время как через оконный менеджер можно включить, например, только Apache.
Стартуем Apache Web Server и откроем в браузере страницу по адресу localhost. Должна появиться приветственная страница XAMPP'а. На вкладке "HOW-TO Guides" в статьях "Configure Virtual Hosts" и "Configure Wildcard-Based Subdomians" описаны несколько разные варианты настройки поддоменов. Ниже описан вариант конфигурации файлов под локальный домен.
Каталоги сайтов должны находиться в папке /opt/lampp/htdocs (речь идет о Linux, в Windows htdocs может находиться в другом месте). Если вы хотите размещать сайты в другом каталоге, то в файле /opt/lampp/etc/httpd.conf следует внести исправления там, где директиве DocumentRoot
присваивается соответствующий каталог и выполняется его настройка. После этого веб-сервер надо перезапустить.
DocumentRoot "/opt/lampp/htdocs" <Directory "/opt/lampp/htdocs">
Также можно попробовать добавить ссылку на рабочий каталог сайта в папку htdocs, а не менять конфигурацию сервера (не работает в Ubuntu).
В Linux (в Windows возможно такой проблемы нет) вносить правки в каталог /opt/... можно только под рутом. Чтобы иметь возможность редактировать сайт в каталоге /opt/lampp/htdocs можно изменить его собственника (или делать это с вложенными в него папками). В команде ниже pl - это имя пользователя и его группы.
$ sudo chown -R pl:pl /opt/lampp/htdocs/
Итак, пусть у нас в папке htdocs для сайта создан рабочий каталог mysite. Если у вас нет файлов сайта, а надо протестировать работу сервера и PHP, то в этом каталоге разместите файл index.php с примерно таким содержимым:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <h1>Hello</h1> <?php echo "PHP"; phpinfo(); ?> </body> </html>
Под рутом необходимо внести правки в три файла.
В файле /opt/lampp/etc/httpd.conf надо найти и раскомментировать строку Include etc/extra/httpd-vhosts.conf
.
В файл /opt/lampp/etc/extra/httpd-vhosts.conf надо добавить следующие два блока (можно в начало файла):
<VirtualHost *:80> DocumentRoot "/opt/lampp/htdocs/" ServerName localhost </VirtualHost> <VirtualHost *:80> DocumentRoot "/opt/lampp/htdocs/mysite/" ServerName mysite.test </VirtualHost>
Вместо доменного имени mysite.test можно придумать любой другой домен.
Третий файл – это системный /etc/hosts (в Windows есть аналогичный в одном из системных каталогов). В него следует добавить такую запись:
127.0.0.1 mysite.test
Теперь надо запустить или перезапустить Apache. После этого в браузере, набрав адрес mysite.test, вы должны увидеть начальную страницу вашего сайта.
Если у вас несколько сайтов, для каждого добавляется своя запись виртуального хоста в httpd-vhosts.conf и адресация на домен в /etc/hosts.
Скрывать расширение файла index.php необходимости нет. По-умолчанию сервера сконфигурированы так, чтобы у индексного файла было расширение. Если сайт включает другие страницы, то, как убрать расширения из адресов страниц, см. в предыдущем уроке.