Стек Angie + PHP + MariaDB/PostgreSQL на CentOS 7

Краткое руководство по быстрому запуску веб-сервера Angie (форка nginx) в связке с PHP и СУБД MariaDB или PostgreSQL на ОС CentOS 7.9

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

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

Установка MariaDBhttps://mariadb.org/download/?t=repo-config&d=CentOS+7&v=11.2&r_m=truenetwork

Установка PostgreSQLhttps://dondub.com/2023/05/ustanovka-postgresql-15-na-centos-7/

Установка Angie

В первую очередь установим epel-release

# yum install epel-release

Затем создадим файл репозитория /etc/yum.repos.d/angie.repo и в нём пропишем:

[angie]
name=Angie repo
baseurl=https://download.angie.software/angie/centos/$releasever/
gpgcheck=1
enabled=1
gpgkey=https://angie.software/keys/angie-signing.gpg.asc

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

# yum update

и установим Angie

# yum install angie pcre2 -y

Далее откроем порт http в файрволле

# firewall-cmd --add-service=http --zone=public --permanent
# firewall-cmd --reload

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

# yum install angie-module-image-filter angie-module-perl angie-module-xslt angie-module-upload angie-module-zip

После этого запустим службу Angie и включим её в автозагрузку

# systemctl start angie
# systemctl enable angie

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

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

Установим репозитории remi

# rpm -Uvh http://rpms.remirepo.net/enterprise/remi-release-7.rpm

а также yum-utils

# yum install yum-utils

Теперь посмотрим, какие версии PHP нам доступны

# ls /etc/yum.repos.d/remi-*

Выбираем необходимую (например 8.3) и включаем этот репозиторий

# yum-config-manager --enable remi-php83

Теперь можем устанавливать PHP с расширениями

# yum install php83 php83-php-common php83-php-gd php83-php-xml php83-php-pgsql php83-php-mysqlnd php83-php-mbstring php83-php-fpm

Затем открываем /etc/opt/remi/php83/php.ini, в нём находим закомментированный параметр

;cgi.fix_pathinfo=1

и ниже допишем

cgi.fix_pathinfo=0

в файле /etc/opt/remi/php83/php-fpm.d/www.conf необходимо

  • исправить:
user = angie
group = angie
  • раскомментировать и исправить:
listen.owner = angie
listen.group = angie
listen = /run/php-fpm.sock

После этого запускаем службу php83-php-fpm и включаем её в автозагрузку

# systemctl start php83-php-fpm
# systemctl enable php83-php-fpm

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

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

# 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$ {
        root           /usr/share/angie/html;
        fastcgi_pass   unix:/run/php-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

После этого перезапустим angie

# systemctl restart angie

Готово.

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

<?php 
	phpinfo();
?>

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

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

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