Ubuntu
Инструкция по установке Пассворка на ОС:
- Ubuntu 20.04
- Ubuntu 22.04
- Ubuntu 24.04
В инструкции используются переключаемые блоки кода для разделения команд согласно версиям операционной системы
1. Минимальные системные требования
Пассворк не требователен к системным ресурсам, а необходимое количество серверов зависит от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.
Ознакомьтесь с полными системными требованиями.
Если сервер имеет 2-4 ГБ оперативной памяти, мы рекомендуем включить SWAP файл.
2. Базовые действия перед установкой
Получить права root и обновить локальную базу данных пакетов:
- shell
sudo -i
apt-get update
Установить веб-сервер Apache2 и утилиту передачи данных curl:
- shell
apt-get install -y apache2 unzip curl zip jq
3. Установка PHP
Установить пакет software-properties-common и добавить репозиторий ppa:ondrej/php:
- shell
apt-get install -y software-properties-common
add-apt-repository -y ppa:ondrej/php
Обновить локальный список пакетов и репозиториев:
- shell
apt-get update
Установить PHP и модули расширений:
- shell
apt install -y php8.3 php8.3-cli php8.3-bcmath php8.3-fpm php8.3-curl php8.3-gd php8.3-intl php8.3-ldap php8.3-mbstring php8.3-mysql php8.3-opcache php8.3-pgsql php8.3-soap php8.3-zip php8.3-sqlite3 php8.3-xml php8.3-dev php-pear
Убедиться, что служба php8.3-fpm запущена:
- shell
systemctl status php8.3-fpm
Запустить и активировать автозапуск службы, если она остановлена:
- shell
systemctl start php8.3-fpm
systemctl enable php8.3-fpm
3.1 Установка драйвера PHP MongoDB
Установить драйвер PHP MongoDB:
- shell
pecl install mongodb
Создать файлы конфигурации для загрузки и включения 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
4. Установка базы данных MongoDB
Eсли вы планируете использовать PostgreSQL, пропустите 4-й шаг установки.
Подробнее о поддержке PostgreSQL
Загрузить и преобразовать GPG-ключ MongoDB в файл:
- Ubuntu 24.04
- Ubuntu 22.04 20.04
curl -fsSL https://www.mongodb.org/static/pgp/server-8.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-8.0.gpg \
--dearmor
curl -fsSL https://www.mongodb.org/static/pgp/server-6.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-6.0.gpg \
--dearmor
Добавить строку репозитория в файл:
- Ubuntu 24.04
- Ubuntu 22.04
- Ubuntu 20.04
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-8.0.gpg ] https://repo.mongodb.org/apt/ubuntu noble/mongodb-org/8.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-8.0.list
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
Обновить список доступных пакетов:
- shell
apt-get update
Установить MongoDB c помощью менеджера пакетов apt:
- shell
apt-get install -y mongodb-org
Запустить службу mongod.service:
- shell
systemctl start mongod.service
Включить автозапуск службы:
- shell
systemctl enable mongod.service
5. Получение и настройка Пассворка
Онлайн
Получить скрипт:
- wget
- curl
wget https://repos.passwork.ru/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.ru/repository/linux/scripts/passwork.sh
Скрипт установки Пассворка не должен располагаться в каталоге вместе с файлами сервера приложений.
Назначить скрипту права на исполнение:
chmod +x passwork.sh
По умолчанию, скрипт passwork.sh
выполнит:
- Создание скрытого
.script_env
файла в текущем каталоге; - Создание директории
passwork_archive
для резервного копирования Пассворка; - Получение последней доступной верси Пассворка, подпись и открытый ключ;
- Установку ранее полученного архива в
/var/www/
Чтобы использовать нестандартный путь установки, отключить проверку сертификата или изменить поведение вы можете использовать параметрами запуска скрипта.
Запустить скрипт:
sudo ./passwork.sh
При первом запуске скрипт запросит API ключ и выполнит базовые проверки окружения:

Пример успешного выполнения скрипта:

Офлайн
Получить скрипт на другой машине с доступом в Интернет:
- wget
- curl
- PowerShell
wget https://repos.passwork.ru/repository/linux/scripts/passwork.sh
curl -O https://repos.passwork.ru/repository/linux/scripts/passwork.sh
(New-Object System.Net.WebClient).DownloadFile("https://repos.passwork.ru/repository/linux/scripts/passwork.sh", "$PWD\passwork.sh")
Или получить passwork.sh
скрипт вручную используя ссылку
Скрипт установки Пассворка не должен располагаться в каталоге вместе с файлами сервера приложений.
Назначить скрипту права на исполнение:
chmod +x passwork.sh
Перед запуском passwork.sh
необходимо:
- Получить 7 версию Пассворка из клиентского портала (Обязательно);
- Поместить в директорию запуска или использовать
--input
аргумент для указания расположение (Обязательно); - Получить подпись архива и публичный ключ Пассворка (необязательно если используется
--skip
аргумент).
По умолчанию, скрипт passwork.sh
выполнит:
- Создание директории
passwork_archive
для резервного копирования Пассворка; - Разархивирование архива с Пассворком;
- Установку ранее полученного архива в
/var/www/
Чтобы использовать нестандартный путь установки, отключить проверку сертификата или изменить поведение вы можете использовать параметрами запуска скрипта.
После подготовки запустить passwork.sh
скрипт:
sudo ./passwork.sh -offline
Пример успешного выполнения скрипта:

6. Настройка веб-сервера для HTTPS-протокола
Для обеспечения корректной работы необходимо использовать HTTPS протокол. Использование HTTP приведёт к ошибкам.
6.1 Генерация самоподписанного SSL-сертификата
Создать новую директорию для хранения закрытого ключа и сертификата:
- shell
mkdir /etc/apache2/ssl/
Сгенерировать самоподписанный сертификат X.509 для Apache2 с помощью OpenSSL:
- shell
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj '/CN=your.domain.name' -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Common Name (CN)
— Здесь важно указать IP-адрес вашего сервера или имя хоста, так как ваш сертификат должен соответствовать домену (или IP-адресу) для веб-сайта;
Установить права доступа root пользователю для защиты закрытого ключа и сертификата:
- shell
chmod 600 /etc/apache2/ssl/*