Запуск LLMP-сервера в Debian 10

Краткая инструкция по быстрой установке и настройке веб-сервера в связке Debian GNU/Linux 10.10, lighttpd, PHP и MariaDB (MySQL).

Установка сервера баз данных

Для начала необходимо установить MariaDB (MySQL) сервер. В подавляющем большинстве веб-сайтов это — один из главных шагов, без которого нет смысла запускать проект.

Ниже приведены несколько команд, которые помогут запустить сервер БД на начальном этапе:

# apt install mariadb-client mariadb-server 
# /usr/bin/mysql_secure_installation
# systemctl status mariadb

Состояние должно быть в активном режиме.

Более подробно об установке сервера БД MariaDB (MySQL) можно почитать здесь: https://dondub.com/2021/05/zapusk-subd-mariadb-na-debian-10-9-i-ubuntu-server-21-04/

Установка Lighttpd

Устанавливаем lighttpd и проверяем его статус

# apt install lighttpd
# systemctl status lighttpd

Состояние должно быть в активном режиме.

Проверяем.

На другой машине в сети в адресной строке браузера вводим http://IP-адрес-сервера

Должна появиться страница по умолчанию:

Если страница отображается, значит всё сделано правильно.

Эта страница находится в каталоге /var/www/html/

Установка и настройка PHP, php-cgi и php-fpm

Устанавливаем необходимые пакеты

# apt install php php-common php-gd php-mysql php-xml php-mbstring php-cgi php-fpm

и проверяем состояние службы php7.3-fpm

# systemctl status php7.3-fpm

Затем открываем файл /etc/php/7.3/fpm/php.ini

# nano /etc/php/7.3/fpm/php.ini

находим и раскомментируем там строку:

cgi.fix_pathinfo=1

После этого открываем файл /etc/php/7.3/fpm/pool.d/www.conf

# nano /etc/php/7.3/fpm/pool.d/www.conf

и изменим строчку

listen = /run/php/php7.3-fpm.sock

на

listen = 127.0.0.1:9000

Перезапускаем службу php7.3-fpm

# systemctl restart php7.3-fpm

Настройка модуля fastcgi

Теперь открываем файл /etc/lighttpd/conf-available/15-fastcgi-php.conf

# nano /etc/lighttpd/conf-available/15-fastcgi-php.conf

закомментируем в нём строчки:

"bin-path" => "/usr/bin/php-cgi",
"socket" => "/var/run/lighttpd/php.socket",

и сразу после них добавим такие:

"host" => "127.0.0.1",
"port" => "9000",

Включаем модули fastcgi и fastcgi-php и перезапускаем службу lighttpd

# /usr/sbin/lighty-enable-mod fastcgi
# /usr/sbin/lighty-enable-mod fastcgi-php
# systemctl restart lighttpd

Проверим работу PHP. Для этого создадим файл /var/www/html/info.php

# touch /var/www/html/info.php

откроем его

# nano /var/www/html/info.php

и запишем в нём такие строчки:

<?php
	phpinfo();
?>

На другой машине в сети в адресной строке браузера введём http://IP-адрес-сервера/info.php и должна появиться страница с настройками PHP:

Настройка виртуальных хостов

Перед созданием виртуальных хостов необходимо убедиться в наличии соответствующих A или AAAA записей на DNS-сервере. Эти записи создаются в личном кабинете в панели управления регистратора доменных имён, или на собственном DNS-сервере https://dondub.com/tag/nameserver/

Далее создадим файл конфигурации виртуальных хостов /etc/lighttpd/vhosts.conf

# touch /etc/lighttpd/vhosts.conf

Теперь откроем файл конфигурации /etc/lighttpd/lighttpd.conf

# nano /etc/lighttpd/lighttpd.conf

и в самом конце файла добавим строчку:

include "/etc/lighttpd/vhosts.conf"

Затем откроем файл /etc/lighttpd/vhosts.conf

# nano /etc/lighttpd/vhosts.conf

и пропишем в нём 2 виртуальных хоста — ws30.local и test.ws30.local:

$HTTP["host"] == "ws30.local" {
    server.document-root = "/var/www/ws30.local/"
    server.errorlog      = "/var/log/lighttpd/ws30.local-error.log"
}

$HTTP["host"] == "test.ws30.local" {
    server.document-root = "/var/www/test.ws30.local/"
    server.errorlog      = "/var/log/lighttpd/test.ws30.local-error.log"
}

Для использования SSL в файл конфигурации виртуального хоста необходимо будет добавить:

$SERVER["socket"] == ":443" {
	ssl.engine = "enable"
	ssl.pemfile = "/etc/letsencrypt/live/ws30.local/web.pem" # Combined Certificate
	ssl.ca-file = "/etc/letsencrypt/live/ws30.local/chain.pem" # Root CA
	server.name = "ws30.local" # Domain Name OR Virtual Host Name
	server.document-root = "/var/www/ws30.local/" # Document Root
	server.errorlog = "/var/log/lighttpd/ws30.local_error.log"
	accesslog.filename = "/var/log/lighttpd/ws30.local_access.log"
}

После этого перезапустим службу lighttpd

# systemctl restart lighttpd

создадим директории для хранения файлов сайтов

# mkdir /var/www/{ws30.local,test.ws30.local}/

и в каждой — файл index.html

# touch /var/www/{ws30.local,test.ws30.local}/index.html

Открываем файл /var/www/ws30.local/index.html

# nano /var/www/ws30.local/index.html

и впишем туда следующее:

<html>
<head>
        <title>ws30.local start page</title>
</head>
<body>
        <p align="center">Welcome to ws30.local / lighttpd</p>
</body>
</html>

Также и /var/www/test.ws30.local/index.html

# nano /var/www/test.ws30.local/index.html
<html>
<head>
        <title>test.ws30.local start page</title>
</head>
<body>
        <p align="center">Welcome to test.ws30.local / lighttpd</p>
</body>
</html>

Как видим, виртуальные хосты также настроены корректно.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *