Краткая инструкция по быстрому запуску веб-сервера 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.
Источник: https://angie.software/install/#install-deb
Установка СУБД
Для установки требуемой СУБД можно воспользоваться инструкциями:
Установка 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 и его расширениях.