Установка php astra linux

Установка PHP 8.1.5 на Astra Linux Orel

28 ноября 2022 заканчивается поддержка PHP 7.4. Самое время задуматься о переходе на новую версию. В предыдущей статье мы рассматривали установку из исходных кодов PHP версии 7.4. Сегодня мы рассмотрим установку из исходного кода актуальной версии PHP — 8.1.5 Сборка может занять продолжительное время, поэтому лучше производить её на виртуальной машине с несколькими процессорами и минимум 2Гб оперативной памяти!

Обновление системы

sudo apt update && sudo apt upgrade
sudo apt-get install autoconf build-essential curl libtool libssl-dev libcurl4-openssl-dev libxml2-dev libreadline7 libreadline-dev libzip-dev libzip4 nginx openssl pkg-config zlib1g-dev libsqlite3-dev sqlite3 libonig-dev libpq-dev git autoconf bison re2c libpng-dev libldap2-dev libfreetype6-dev libfreetype6 libjpeg-dev

Конфигурирование и сборка

wget https://github.com/php/php-src/archive/refs/tags/php-8.1.5.tar.gz
touch configure.sh chmod +x configure.sh
./configure --with-config-file-path=/etc/php/php8.1 \ --sysconfdir=/etc/php/php8.1 \ --enable-mysqlnd \ --with-pdo-mysql \ --with-pdo-mysql=mysqlnd \ --with-pdo-pgsql=/usr/bin/pg_config \ --enable-bcmath \ --enable-fpm \ --with-fpm-user=www-data \ --with-fpm-group=www-data \ --enable-mbstring \ --enable-phpdbg \ --enable-shmop \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --with-zlib \ --with-curl \ --with-pear \ --with-openssl \ --enable-pcntl \ --enable-gd \ --with-jpeg \ --with-mysqli \ --with-readline \ --with-freetype \ --with-ldap
Build complete. Don't forget to run 'make test'.

Тестирование сборки

Bug #81577: (Exceptions in interrupt handlers: cleanup_live_vars) [ext/pcntl/tests/bug81577_3.phpt] (warn: XFAIL section but test passes) Phar: bug #69958: Segfault in Phar::convertToData on invalid file [ext/phar/tests/bug69958.phpt] (warn: XFAIL section but test passes) FPM: Buffered worker output decorated log with multiple continuous messages (stdout/stderr mixed) [sapi/fpm/tests/log-bwd-multiple-msgs-stdout-stderr.phpt] (warn: XFAIL section but test passes)

Установка

php -v PHP 8.1.5 (cli) (built: May 3 2022 22:16:42) (NTS) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies /usr/local/sbin/php-fpm -v PHP 8.1.5 (fpm-fcgi) (built: May 3 2022 22:17:11) Copyright (c) The PHP Group Zend Engine v4.1.5, Copyright (c) Zend Technologies
php-config Usage: /usr/local/bin/php-config [OPTION] Options: --prefix [/usr/local] --includes [-I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib] --ldflags [ -L/usr/lib/x86_64-linux-gnu] --libs [-lcrypt -lresolv -lcrypt -lreadline -ltermcap -lpq -lrt -lldap -llber -lutil -lrt -lm -ldl -lxml2 -lssl -lcrypto -lsqlite3 -lz -lcurl -lssl -lcrypto -lxml2 -lz -lpng16 -ljpeg -lfreetype -lonig -lsqlite3 -lxml2 -lxml2 -lxml2 -lxml2 -lz -lssl -lcrypto -lcrypt ] --extension-dir [/usr/local/lib/php/extensions/no-debug-non-zts-20210902] --include-dir [/usr/local/include/php] --man-dir [/usr/local/php/man] --php-binary [/usr/local/bin/php] --php-sapis [ cli fpm phpdbg cgi] --ini-path [/etc/php/php8.1] --ini-dir [] --configure-options [--with-config-file-path=/etc/php/php8.1 --sysconfdir=/etc/php/php8.1 --enable-mysqlnd --with-pdo-mysql --with-pdo-mysql=mysqlnd --with-pdo-pgsql=/usr/bin/pg_config --enable-bcmath --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mbstring --enable-phpdbg --enable-shmop --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --with-zlib --with-curl --with-pear --with-openssl --enable-pcntl --enable-gd --with-jpeg --with-mysqli --with-readline --with-freetype --with-ldap] --version [8.1.5] --vernum [80105]
sudo cp php.ini-development /etc/php/php8.1/php.ini sudo cp /etc/php/php8.1/php-fpm.conf.default /etc/php/php8.1/php-fpm.conf sudo cp /etc/php/php8.1/php-fpm.d/www.conf.default /etc/php/php8.1/php-fpm.d/www.conf

Запускаем php-fpm как сервис

sudo mcedit /lib/systemd/system/php-8.1-fpm.service 
[Unit] Description=The PHP 8.1 FastCGI Process Manager After=network.target [Service] Type=simple PIDFile=/var/run/php8.1-fpm.pid ExecStart=/usr/local/sbin/php-fpm --nodaemonize --fpm-config /etc/php/php8.1/php-fpm.conf ExecReload=/bin/kill -USR2 $MAINPID [Install] WantedBy=multi-user.target
sudo systemctl enable php-8.1-fpm.service
sudo systemctl daemon-reload
sudo systemctl start php-8.1-fpm.service
sudo systemctl status php-8.1-fpm.service ● php-8.1-fpm.service - The PHP 8.1 FastCGI Process Manager Loaded: loaded (/lib/systemd/system/php-8.1-fpm.service; enabled; vendor pres Active: active (running) since Tue 2022-05-03 23:29:05 +11; 19s ago Main PID: 5465 (php-fpm) Tasks: 3 (limit: 4915) CGroup: /system.slice/php-8.1-fpm.service ├─5465 php-fpm: master process (/etc/php/php8.1/php-fpm.conf) ├─5466 php-fpm: pool www └─5467 php-fpm: pool www

Проверка работоспособности php-fpm

sudo mcedit /etc/nginx/sites-available/php81_test 
server < listen 9999 default_server; listen [::]:9999 default_server; root /var/www/html; # Add index.php to the list if you are using PHP index index.php index.html index.htm index.nginx-debian.html; server_name _; location / < # First attempt to serve request as file, then # as directory, then fall back to displaying a 404. try_files $uri $uri/ =404; ># pass PHP scripts to FastCGI server # location ~ \.php$ < include snippets/fastcgi-php.conf; fastcgi_pass 127.0.0.1:9000; >>
ln -s /etc/nginx/sites-available/php81_test /etc/nginx/sites-enabled
sudo nginx -t nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful 
sudo service nginx restart
echo "" | sudo tee /var/www/html/test.php
https://192.168.1.42:9999/test.php

2022-05-03_23-34-13.png

Как видите, всё работает.

Читайте также:  Linux mint примонтировать сетевую папку

Заключение

Сегодня мы рассмотрели установку PHP 8.1.5 из исходных текстов на Astra Linux Orel. Установили все необходимые инструменты разработчика для сборки . Сконфигурировали и запустили сборку проекта. Установили PHP и создали файлы конфигурации. Добавили возможность запуска php-fpm в качестве сервиса. Установили nginx и настроили его для работы с php-fpm Проверили работоспособность php с помощью phpinfo()

Источник

Установка и настройка связки NGINX + PHP + СУБД на Astra Linux

Обновлено

Обновлено: 21.03.2023 Опубликовано: 2016 год или раньше

Мы рассмотрим процесс настройки небольшого веб-сервера на базе NGINX с интерпретатором PHP и системами управления базами данных MySQL и PostgreSQL.

Данную инструкцию можно использовать для любой операционной системы Linux на основе Debian.

Подготовка сервера

Заходим в систему под суперпользователем:

Настраиваем сеть. В Astra Linux это делается также как и в Ubuntu:

auto eth0
iface lo inet eth0
address 192.168.0.15
netmask 255.255.255.0
gateway 192.168.0.1
dns-nameservers 192.168.0.1 192.168.0.2

* В данном примере мы настроили сетевой интерфейс eth0 (задали IP-адрес 192.168.0.15 маску 255.255.255.0 и шлюз по умолчанию 192.168.0.1)

Для применения настроек необходимо перезапустить сетевую службу:

service networking restart

В Astra Linux по умолчанию не настроены репозитории для установки пакетов, поэтому необходимо это сделать:

deb ftp://ftp.astra-linux.com/astra/current/orel/repository orel main contrib non-free

* Эта строчка подключает официальный репозиторий Astra Linux.

Теперь нужно обновить список пакетов и обновить систему:

Установим sshd для возможности удаленного управления нашим сервером:

apt install openssh-server

Установка и настройка Nginx, PHP, MySQL

Устанавливаем пакет mysql-server:

* Во время установки будет предложено ввести новый пароль для mysql-записи root

В официальных репозиториях Astra Linux нет Nginx, поэтому подключим официальный от nginx inc.:

deb http://nginx.org/packages/debian/ wheezy nginx

Читайте также:  Смена рут пароля линукс

* wheezy соответствует 7-й версии Debian. У вас может быть другая версия. Будьте внимательны.

Для успешного получения списка пакетов от нового репозитория, добавляем в систему PGP-ключ:

apt-key add nginx_signing.key

Теперь можем обновлять список пакетов и устанавливать веб-сервер nginx:

Демон запускается автоматически. Попробуйте открыть браузер и ввести IP-адрес сервера. Вы должны увидеть приветствие от Nginx.

Устанавливаем php и php-интерпретатор:

В Astra Linux по умолчанию nginx работает от учетной записи nginx, а php-fpm — от www-data. В результате этого при попытке использовать веб-сервер с php-скриптами мы получим ошибку. Для решения этой проблемы необходимо поменять пользователя, от которого будет работать либо nginx, либо php-fpm. В данном примере, nginx:

* самая первая строчка — меняем nginx на www-data.

Настраиваем виртуальный домен для нового сайта:

server listen 80;
server_name site.local;
set $root_path /var/www/site.local;

gzip on;
client_max_body_size 128M;
gzip_min_length 1000;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_types application/x-javascript text/plain application/xml text/css;

location / allow 192.168.0.0/16;
deny all;
root $root_path;
index index.php;
>

location ~ \.php$ fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
>

location ~* ^.+\.(jpg|jpeg|gif|png|css|zip|tgz|gz|rar|bz2|exe|tar|bmp|js)$ root $root_path;
expires modified +1w;
>
>

* site.local необходимо заменить на домен вашего веб-приложения или сайта.
** /var/www/site.local — директория, в которую мы поместим файлы сайта.
*** allow 192.168.0.0/16 — подсеть, для которой мы разрешаем доступ к сайту. Если ограничивать не требуется, удалите строчку и следующую за ней deny all.
**** Остальные параметры я рекомендую изучить самостоятельно.

Создаем директорию для сайта, которую мы указали в конфигурационном файле:

Создаем в нем файл index.php с функцией phpinfo:

Перезапускаем наши демоны:

service php5-fpm restart && service nginx restart

Читайте также:  Узнать имя раздела linux

Проверьте работоспособность сервера, введя в адресной строке браузера IP-адрес сервера (в данном примере, 192.168.0.15). Сервер должен вернуть много параметров в различных таблицах.

Также в данных таблицах вы должны увидеть «MySQL Suppert — Enabled». Это говорит о том, что сервер готов к работе с базой MySQL.

Источник

Как установить php версии >= 7.1?

Натолкнулся на следующую проблему:
Еще месяц назад спокойно устанавливал 1С-Битрикс на Астру CE, используя версию 7.0, однако Битрикс изменил минимальные технические требования к PHP. Теперь требуется версия не меньше 7.1. Пробовал устанавливать из стороннего репозитория версию 7.3, но что-то астра ругается на битые пакеты (действовал по инструкции https://linuxhostsupport.com/blog/how-to-install-php-7-2-on-debian-9/ ). Возможно, что-то делаю не так. Буду рад любой помощи.

Montfer

New member

VirtualBox_alse16_02_12_2019_21_44_28.png

Под рукой только на виртуалке Смоленск 1.6. Сделал как в инструкции по ссылке. Только пришлось php.list руками создавать:
deb https://packages.sury.org/php/ stretch main
Да, после установки php7.2 ругалось на ошибки, но помогло sudo apt-get -f install

exequit

New member

Спасибо большое за ответ, Montfer! В итоге моя проблема с установкой версии php 7.3 решилась следующим образом:

1. Добавляем PPA репозиторий для PHP:
sudo apt install apt-transport-https lsb-release ca-certificates libcurl3
sudo wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
echo «deb https://packages.sury.org/php/ stretch main» |sudo tee /etc/apt/sources.list.d/php.list

2. Выполняем update:
sudo apt update
Пишет «. Все пакеты имеют последние версии.»

3. Открываем файл /etc/apt/sources.list на редактирование для отключения репозитория Астры:
sudo nano /etc/apt/sources.list
и комментируем строку :
#deb https://download.astralinux.ru/astra/stable/orel/repository/ orel main contrib non-free

4. Выполняем update:
sudo apt update
Пишет «. Может быть обновлено 11 пакетов. Запустите «apt list —upgradable» для их показа.»
Обновляем все (или устанавливаем необходимые пакеты):
sudo apt upgrade

5. Устанавливаем PHP и все необходимые пакеты:
sudo apt install -y php7.3-common php7.3-readline php7.3-fpm php7.3-cli php7.3-gd php7.3-mysql php7.3-curl php7.3-mbstring php7.3-opcache php7.3-json php7.3-xml php7.3-zip

6. Открываем файл /etc/apt/sources.list на редактирование и подключаем репозиторий Астры

Источник

Оцените статью
Adblock
detector