Стек Angie + PHP + MariaDB/PostgreSQL на Debian 12

Краткая инструкция по быстрому запуску веб-сервера Angie (форка nginx) в связке с PHP и СУБД MariaDB или PostgreSQL на ОС Debian GNU/Linux 12.4

Установка Angie

В первую очередь установим ca-certificates, curl и lsb-release

# sudo apt install -y ca-certificates curl lsb-release

Затем добавим цифровую подпись angie-signing

# sudo curl -o /etc/apt/trusted.gpg.d/angie-signing.gpg https://angie.software/keys/angie-signing.gpg

Создадим файл с репозторием

# echo "deb https://download.angie.software/angie/debian/ `lsb_release -cs` main" | sudo tee /etc/apt/sources.list.d/angie.list > /dev/null

и обновим репозитории

# sudo apt update

Теперь установим Angie

# sudo apt install angie

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

# sudo apt install angie-module-image-filter angie-module-perl angie-module-xslt angie-module-upload angie-module-zip

Далее включим службу angie в автозагрузку

# sudo systemctl enable angie

Теперь на другой машине в сети открываем браузер и в адресной строке пропишем http://IP-адрес-сервера/ и увидим экран приветствия Angie. Он будет выглядеть примерно также, как у nginx.

Установка СУБД

Для установки требуемой СУБД можно воспользоваться инструкциями:

Установка MariaDB — https://dondub.com/2021/05/zapusk-subd-mariadb-na-debian-10-9-i-ubuntu-server-21-04/

Установка PostgreSQL — https://dondub.com/2021/05/zapusk-subd-postgresql-v-debian-10-9/

Установка PHP и расширений

Установим PHP версии 8.2 и необходимые расширения

# sudo apt install php php-common php-gd php-mysql php-pgsql php-xml php-mbstring php-fpm

и сразу же отключим службу apache2

# sudo systemctl stop apache2
# sudo systemctl disable apache2

Далее проверим статус службы php8.2-fpm

# systemctl status php8.2-fpm

она должна быть активна

После этого в файле /etc/php/8.2/fpm/php.ini находим закомментированную строку

;cgi.fix_pathinfo=1

и ниже вставим

cgi.fix_pathinfo=0

Теперь перезапустим службу php8.2-fpm

# sudo systemctl restart php8.2-fpm

Конфигурирование Angie для PHP

В файле /etc/angie/angie.conf необходимо закомментировать строку

# user angie;

и вставить ниже

user www-data;

это важно, иначе php покажет ошибку.

Делаем бэкап файла /etc/angie/http.d/default.conf на всякий случай

# sudo cp /etc/angie/http.d/default.conf /etc/angie/http.d/default.conf.old

Теперь открываем файл конфигурации angie /etc/angie/http.d/default.conf, находим секцию location ~ .php$ { … } и приведём её к такому виду:

    location ~ \.php$ {
        try_files      $uri =404;
        root           /usr/share/angie/html;
        fastcgi_pass   unix:/run/php/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

и перезапускаем службу angie

# sudo systemctl restart angie

Готово.

Теперь проверяем. Создадим файл /usr/share/angie/html/info.php, откроем его и пропишем такие строки:

<?php
	phpinfo();
?>

После этого на другой машине в сети открываем браузер и в адресной строке пропишем http://IP-адрес-сервера/info.php и увидим информацию об установленной PHP и его расширениях.

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

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