Веб-сервер XAMPP. Создаем сайт на локальном компьютере

Когда сайт создается только на HTML, CSS и клиентском JavaScript, в программным веб-сервере нет необходимости. Код этих языков интерпретируется браузером. Однако когда добавляются скрипты на PHP и других языках, код которых выполняется на стороне сервера, то требуются соответствующие языкам интерпретаторы и компиляторы, а также программа-сервер (например, Apache), которая будет получать запросы от клиента-браузера, запускать выполнение кода на стороне сервера, посылать ответ клиенту.

Нередко на компьютеры-сервера ставят не по отдельности веб-сервер, интерпретаторы и СУБД, а готовую сборку ПО, включающую все это вместе и начальные настройки, позволяющие почти сразу приступить к работе. Одной из таких веб-серверных сборок является XAMPP.

В данной статье описывается алгоритм установки XAMPP и развертывание сайта без базы данных на локальном компьютере в Linux Mint 19. Очевидно в Ubuntu и многих других дистрибутивах Linux могут выполняться аналогичные действия.

Заранее подготовим наш сайт. Это должен быть каталог, содержащий как минимум один файл – index.html или index.php. Файл *.php позволит сразу проверить работоспособность интерпретатора PHP. Содержимое файла может быть таким:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Hello</h1>
<?php
echo "PHP"
?>
</body>
</html>

В случае *.html блок <?php … ?> выполняться не будет.

Каталог сайта можно расположить в любом месте файловой структуры диска.

Теперь приступим к основному действу и скачаем установочный файл с официального сайта XAMPP – https://www.apachefriends.org . Установить его можно только под root'ом либо запустив из терминала, либо открыв каталог как root в графическом режиме. Установщик на своем последнем экране предлагает сразу запустить XAMPP. Снимем этот флажок, чтобы знать, как запускать сервер самостоятельно. Это пригодится впоследствии.

Инсталятор устанавливает XAMPP в каталог /opt/lampp. Среди прочего в этой папке находится файл manager-linux-x64.run. При его выполнении открывается оконный интерфейс для запуска и остановки служб. Выполнить этот файл можно только под root'ом. В случае использования терминала команда выглядит так:

sudo /opt/lampp/manager-linux-x64.run

Откроется окно, в котором на вкладке Manage Servers можно запускать и останавливать необходимые сервисы.

Менеджер XAMPP'а

Понятно, что запуск оконного менеджера не означает запуск веб-сервера. Все службы находятся в состоянии останова.

Можно не пользоваться оконным менеджером, а запускать и останавливать веб-сервер через командную строку:

user@comp:~$ sudo /opt/lampp/lampp start
Starting XAMPP for Linux 7.2.10-0...
XAMPP: Starting Apache...ok.
XAMPP: Starting MySQL...ok.
XAMPP: Starting ProFTPD...ok.
user@comp:~$ sudo /opt/lampp/lampp stop
Stopping XAMPP for Linux 7.2.10-0...
XAMPP: Stopping Apache...ok.
XAMPP: Stopping MySQL...ok.
XAMPP: Stopping ProFTPD...ok.

Минусом этого способа является то, что запускается все. В то время как через графический менеджер можно включить, например, только Apache.

Стартуем Apache Web Server и откроем в браузере страницу по адресу localhost. Должна появиться приветственная страница XAMPP'а. На вкладке "HOW-TO Guides" в статьях "Configure Virtual Hosts" и "Configure Wildcard-Based Subdomians" описаны несколько разные варианты настройки поддоменов. Ниже описан вариант конфигурации файлов под локальный домен.

Каталоги сайтов должны находиться в папке /opt/lampp/htdocs. Однако в Linux вносить правки здесь можно только под рутом, что будет неудобно при редактировании сайта. Поэтому лучше поместить сюда ссылку на каталог с сайтом. Пусть ссылка на каталог носит имя site.

Теперь под рутом нужно внести правки в три файла. В файле /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/site/"
       ServerName mysite.sv
</VirtualHost>

Вместо имени mysite.sv можно придумать любой другой домен.

Третий файл – это /etc/hosts. В него следует добавить такую запись:

127.0.0.1 mysite.sv

Теперь надо запустить или перезапустить Apache. После этого в браузере, набрав адрес mysite.sv, вы должны увидеть начальную страницу вашего сайта.

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

<Files *>
    ForceType application/x-httpd-php
</Files>
<Files *\.*>
    ForceType None
</Files>

Здесь сначала для всех (*) файлов устанавливается тип приложений php, после чего эта установка снимается для файлов, у которых есть расширение. Их тип будет определяться расширением.

У файла index.php расширение убирать не надо, так как по-умолчанию сервера сконфигурированы так, чтобы у индексного файла было расширение.

Создано

Обновлено