Используемые термины: MariaDB , NGINX , PHP .
sysPass является веб-приложением, разработанным на PHP. Для его работы мы развернем инфраструктуру, состоящую из следующих компонентов:
Работать будем в Linux Deb — инструкция подойдет для Ubuntu / Debian / Astra Linux.
Предварительная настройка
Установка СУБД
PHP нужной версии и его компоненты
Настройка веб-сервера
Установка и запуск sysPass
Прежде чем мы перейдем к развертыванию инфраструктуры для веб-сервера, подготовим нашу систему.
Изучаем системные требования для sysPass. На момент обновления инструкции, последняя версия была 3.1 и для нее необходимо было установить MariaDB >= 10.1 и PHP >= 7.0. Также обратите внимание на список расширений последнего, которые нужны для работы веб-приложения.
Несмотря на то, что версия PHP указана от 7, с версией 8 приложение не работает. Правильное ограничение для sysPass версии 3.1 PHP >= 7.3 и <= 7.4.
Для корректной установки пакетов в системах на базе DEB, нам нужно обновить кэш репозиториев. Выполняем команду:
apt update
Если наша система новая и на ней не запущено критически важных приложений, выполним также обновление всех установленных пакетов:
apt upgrade
Устанавливаем git — он нужен для загрузки проекта:
apt install git
По умолчанию, в DEB брандмауэр не запрещает открытые порты. Но если в вашей системе он настроен на запрет, нам нужно открыть порт 80:
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
Для продуктивного использования лучше всего опубликовать приложение на защищенном https. Тогда также мы открываем порт 443:
iptables -I INPUT -p tcp —dport 443 -j ACCEPT
Для сохранения правила используем iptables-persistent:
apt install iptables-persistent
netfilter-persistent save
Мы готовы к развертыванию инфраструктуры для sysPass.
Начнем с установки сервера баз данных. Для начала посмотрим, какую версию предложит установить система из встроенного репозитория:
apt search —names-only ‘^mariadb-server-[0-9]+’
Если данная версия соответствует рекомендованным требованиям, то выполняем установку:
apt install mariadb-server
* если версия пакета mariadb-server не соответствует требованию, то нужно подключить репозиторий разработчика и выполнить установку из него. Подробнее про это читайте в инструкции Установка MariaDB-server на Rocky Linux или Ubuntu .
После установки СУБД, заходим в ее оболочку:
mysql
Задаем пароль пользователя root:
> SET PASSWORD FOR ‘root’@’localhost’ = PASSWORD(‘root123!@#’);
* где root123!@# — мой пароль, который я хочу использовать в своем примере.
Выходим из оболочки SQL:
> quit
На момент обновления инструкции, список необходимых расширений был такой:
Также, как было сказано выше, необходимо установить PHP версию 7.4. Смотрим, какую версию предлагает установленные репозитории:
apt search —names-only ‘^php[.0-9]{3}$’
Скорее всего, она будет другой. Для установки альтернативной версии подготовим репозиторий. Это подробно описано в инструкциях:
1. Установка разных версий PHP на Linux Ubuntu .
2. Установка разных версий PHP на Linux Debian .
После выполним установку нужной версии как PHP, так и его компонентов. Для этого зададим переменную:
export PHP_VER=7.4
И выполним команду:
apt install php${PHP_VER} php${PHP_VER}-fpm php${PHP_VER}-mysql php${PHP_VER}-curl php${PHP_VER}-json php${PHP_VER}-gd php${PHP_VER}-xml php${PHP_VER}-mbstring php${PHP_VER}-intl php${PHP_VER}-readline
Если в вашей системе встроенный репозиторий предлагает нужную нам версию PHP, то просто вводим:
apt install php php-fpm php-mysql php-curl php-json php-gd php-xml php-mbstring php-intl php-readline
Установка PHP завершена.
Выполняем установку nginx. Но сначала нам нужно убедиться, что другой популярный веб-сервер отключен:
systemctl disable apache2 —now
Если ваш сервер уже используется для работы другого сервиса, возможно, что apache нужен и его выключение не является хорошей идеей. В данном случае, необходимо уточнить, можно ли его отключить или поднимать sysPass не с использованием NGINX, продолжив использовать Apache.
Устанавливаем веб-сервер:
apt install nginx
Открываем конфигурацию по умолчанию:
vi /etc/nginx/sites-enabled/default
Вносим следующие правки:
server {
…
root /var/www/html ;
index index.php index.html … ;
…
location ~ .php$ {
set $root_path /var/www/html;
fastcgi_pass unix:/run/php/php7.4-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $root_path$fastcgi_script_name;
include fastcgi_params;
fastcgi_param DOCUMENT_ROOT $root_path;
}
…
}
* желтым отмечено, что нужно добавить (изменить) в Ваш конфигурационный файл:
Проверяем конфигурацию и перечитываем ее:
nginx -t && nginx -s reload
Создаем домашнюю директорию:
mkdir -p /var/www/html
И в ней индексный файл index.php:
vi /var/www/html/index.php
<?php
phpinfo();
?>
Открываем браузер и переходим по пути http://<IP-адрес сервера> — должна открыться страница с информацией о PHP:
Веб-сервер работает. Мы готовы к установке sysPass.
Наши действия мы разделим на 3 части.
Создаем каталог syspass в домашней директории веб-сервера. В нашем примере это:
mkdir /var/www/html/syspass
Клонируем git-проект sysPass в созданный каталог:
git clone https://github.com/nuxsmin/sysPass.git /var/www/html/syspass
Задаем права:
chown www-data:www-data -R /var/www/html/syspass
chmod 750 /var/www/html/syspass/app/config /var/www/html/syspass/app/backup
* служба, которая обрабатывает PHP работает от пользователя www-data , поэтому владелец должен быть соответственный.
Устанавливаем зависимости с помощью php composer.
Переходим в каталог портала на сервере:
cd /var/www/html/syspass
Скачиваем установщик composer:
php -r «copy(‘https://getcomposer.org/installer’, ‘composer-setup.php’);»
Выполняем установку композера:
php composer-setup.php
С его помощью теперь устанавливаем зависимости для sysPass:
php composer.phar install —no-dev
Открываем браузер и переходим по пути http://<IP-адрес сервера>/syspass — откроется окно начальной конфигурации.
Задаем имя пользователя и пароль администратора системы, а также мастер пароль:
Задаем настройки подключения к базе данных:
* мы должны указать логин и пароль от учетной записи с полными правами. В нашем случае это пользователь root и пароль, который мы создали ранее ( root123!@# ).
В качестве основных настроек выбираем удобный язык (русского нет):
Установка завершена. Нас выкинет в окно аутентификации — вводим логин admin и заданный пароль:
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…