Astra Linux
В инструкции используются переключаемые блоки кода для разделения команд в зависимости от версии операционной системы.
Базовые действия
- Перед обновлением PHP, если Пассворк установлен в облачной/виртуальной среде, создать снимок виртуального состояния ОС для восстановления работоспособности в случае некорректного обновления;
- Получить права
rootи обновить локальную базу данных пакетов:
- shell
sudo -i
apt-get update
Удаление PHP
Определить версию PHP:
- shell
php -v
В зависимости от используемой версии PHP (8.0 или 8.2) используйте следующие команды для удаления устаревшей версии.
Отключить модуль для веб-сервера Apache2:
- 8.2
- 8.0
a2dismod php8.2
a2dismod php8.0
Удалить основной пакет, драйверы и расширения PHP:
- 8.2
- 8.0
apt-get remove -y php8.2 php8.2-*
apt-get remove -y php8.0 php8.0-*
Удалить директорию с вложенными файлами PHP:
- 8.2
- 8.0
rm -rf /etc/php/8.2
rm -rf /etc/php/8.0
Установка PHP
Загрузить PHP архив в текущую директорию:
- SE 1.7
- SE 1.8
wget https://repos.passwork.ru/repository/php/builds/83/linux/astra/17/x86_64/php_latest.tar.gz
wget https://repos.passwork.ru/repository/php/builds/83/linux/astra/18/x86_64/php_latest.tar.gz
В случае ошибок, получить архив вручную:
Создать директорию и разархивировать содержимое:
- shell
mkdir ./php && tar -zxvf ./php_latest.tar.gz -C ./php/
Установить все DEB пакеты (.deb) из архива:
- shell
apt -y install ./php/*.deb
Установить PEAR (pecl) утилиту с помощью go-pear.phar:
- shell
php ./php/go-pear.phar
Выполнить стандартную (без изменений) установку — Enter
Изменить объём RAM, доступный для выполнения PHP скриптов:
- shell
sed -i 's/^memory_limit\s*=.*/memory_limit = 256M/' /etc/php/8.3/fpm/php.ini
Рекомендуется увеличивать параметр memory_limit с 256M до 512M или выше, если в Пассворке планируется большое количество пользователей.
Установить PHP MongoDB драйвер:
- shell
pecl install -f ./php/mongodb-*.tgz
Создать файлы конфигурации для загрузки и включения PHP MongoDB:
- shell
echo "extension=mongodb.so" | tee /etc/php/8.3/fpm/conf.d/20-mongodb.ini
echo "extension=mongodb.so" | tee /etc/php/8.3/cli/conf.d/20-mongodb.ini
Принудительно включить для Apache2 PHP и переключить альтернативную версию для исполняемых файлов:
- shell
update-alternatives --set php /usr/bin/php8.3
update-alternatives --set phar /usr/bin/phar8.3
update-alternatives --set phar.phar /usr/bin/phar.phar8.3