Astra Linux
Инструкция по установке Пассворка на ОС:
- Astra Linux SE 1.7
- Astra Linux SE 1.8
1. Минимальные системные требования
Пассворк не требователен к системным ресурсам, а необходимое количество серверов зависит от числа активных пользователей, объема хранимых данных и требований к отказоустойчивости системы.
Ознакомьтесь с полными системными требованиями.
Если сервер имеет 2-4 ГБ ОЗУ, то для корректной сборки всех библиотек мы рекомендуем включить SWAP-файл
2. Базовые действия перед установкой
Получить права root и обновить локальную базу данных пакетов:
- bash
sudo -i
apt-get update
Установить пакет для контроля версий Git, веб-сервер Apache2 и утилиту передачи данных curl:
- bash
apt-get install -y git apache2 unzip curl
3. Установка PHP
3.1 Загрузка архива
Получить PHP-архив в текущую директорию:
- SE 1.7
- SE 1.8
wget https://repos.passwork.ru/repository/php/builds/82/linux/astra/17/x86_64/php_latest.tar.gz
wget https://repos.passwork.ru/repository/php/builds/82/linux/astra/18/x86_64/php_latest.tar.gz
(Опционально) Проверка подписи архива
- SE 1.7
- SE 1.8
curl -O https://repos.passwork.ru/repository/php/builds/82/linux/astra/17/x86_64/php_latest.tar.gz
curl -O https://repos.passwork.ru/repository/php/builds/82/linux/astra/17/x86_64/php_latest.tar.gz.sig
curl https://passwork.ru/public-key -o pubkey.pem
openssl dgst -sha256 -verify pubkey.pem -signature php_latest.tar.gz.sig php_latest.tar.gz
curl -O https://repos.passwork.ru/repository/php/builds/82/linux/astra/18/x86_64/php_latest.tar.gz
curl -O https://repos.passwork.ru/repository/php/builds/82/linux/astra/18/x86_64/php_latest.tar.gz.sig
curl https://passwork.ru/public-key -o pubkey.pem
openssl dgst -sha256 -verify pubkey.pem -signature php_latest.tar.gz.sig php_latest.tar.gz
Вы также можете скачать архив вручную:
Создать директорию и разархивируйте содержимое:
- shell
mkdir ./php && tar -zxvf ./php_latest.tar.gz -C ./php/
3.2 Установка
Установить все .deb пакеты из архива:
- shell
apt install ./php/*.deb -y
Установить утилиту PEAR с помощью go-pear.phar:
- shell
php ./php/go-pear.phar
Выполнить стандартную (без изменений) установку — Enter
3.3 Установка драйвера PHP MongoDB
Установить драйвер PHP MongoDB:
- shell
pecl install ./php/mongodb-*.tgz
Создать файлы конфигурации для загрузки и включения PHP MongoDB:
echo "extension=mongodb.so" | tee /etc/php/8.2/apache2/conf.d/20-mongodb.ini
echo "extension=mongodb.so" | tee /etc/php/8.2/cli/conf.d/20-mongodb.ini
3.4 Установка расширения PHP Phalcon
Установить PHP Phalcon расширение:
pecl install ./php/phalcon-*.tgz
Создать файлы конфигурации для загрузки и включения PHP Phalcon:
echo "extension=phalcon.so" | tee /etc/php/8.2/apache2/conf.d/30-phalcon.ini
echo "extension=phalcon.so" | tee /etc/php/8.2/cli/conf.d/30-phalcon.ini
4. Установка базы данных MongoDB
Получить архив MongoDB в текущую директорию:
- SE 1.7
- SE 1.8
wget https://repos.passwork.ru/repository/mongodb/6/astra/17/x86_64/mongodb_latest.tar.gz
wget https://repos.passwork.ru/repository/mongodb/7/astra/18/x86_64/mongodb_latest.tar.gz
Создать директорию и разархивируйте содержимое:
mkdir ./mongodb && tar -zxvf ./mongodb_latest.tar.gz -C ./mongodb/
Установить MongoDB с помощью dpkg:
dpkg -i ./mongodb/*.deb
Запустить службу mongod.service:
- shell
systemctl start mongod.service
Включить автозапуск службы:
- shell
systemctl enable mongod.service
5. Управление и загрузка последней версии Пассворк с помощью Git
Перейти в директорию /var/www/:
- bash
cd /var/www/
Добавить глобальную конфигурацию Git, указывающую на безопасную директорию:
- bash
git config --global --add safe.directory /var/www
Инициализировать Git репозиторий в директории /var/www/:
- bash
git init
Добавить удалённый репозиторий Пассворка:
- bash
git remote add origin https://passwork.download/passwork/passwork.git
Получить удалённый репозиторий на локальный сервер:
- bash
git fetch
Система запросит логин и пароль к репозиторию, которые находятся в клиентском портале Пассворка. Если у вас нет доступа к клиентскому порталу, свяжитесь с нами.
Переключиться на ветку v6 с последней актуальной версией Пассворка:
- bash
git checkout v6
Назначить права на директории, файлы и сделать www-data владельцем всех файлов:
- bash
find /var/www/ -type d -exec chmod 755 {} \;
find /var/www/ -type f -exec chmod 644 {} \;
chown -R www-data:www-data /var/www/
6. Настройка Apache2 для доступа по HTTP протоколу
Открыть файл конфигурации виртуального хоста для HTTP-соединения:
- bash
nano /etc/apache2/sites-enabled/000-default.conf
Отредактировать содержимое файла и приведите его к следующему виду:
- bash
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/public
<Directory /var/www/public>
Options +FollowSymLinks -Indexes -MultiViews
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Отключить режим AstraMode в Apache2:
- bash
sed -i 's/# AstraMode on/AstraMode off/' /etc/apache2/apache2.conf
Включить модуль перезаписи URL-адресов и перезапустить службу Apache2:
- bash
a2enmod rewrite
service apache2 restart
Открыть http://passwork.local или http://127.0.0.1 для проверки подключения к Пассворк
7. Прохождение чек-листа
При первом подключении к Пассворку потребуется пройти чек-лист, в ходе которого будут проверены:
- Необходимые параметры
- Подключение к базе данных MongoDB
- Случайно сгенерированный ключ шифрования данных в MongoDB
- Лицензионный ключ
Если вы устанавливаете новую копию Пассворка, оставьте все поля по умолчанию
После прохождения чек-листа будет предложено создать первого пользователя, для чего потребуется указать логин, пароль и адрес электронной почты для отправки уведомлений.
Первый пользователь по умолчанию является локальным и владельцем Пассворка. В случае назначения владельцем LDAP/SSO пользователя, он автоматически станет локальным и вы не сможете авторизоваться.
8. Настройка доступа по HTTPS протоколу
8.1 Генерация самоподписанного SSL-сертификата
Создать новую директорию для хранения закрытого ключа и сертификата:
- bash
mkdir /etc/apache2/ssl/
Сгенерировать самоподписанный сертификат X.509 для Apache2 с помощью OpenSSL:
- bash
openssl req -x509 -nodes -days 365 -newkey rsa:2048 -subj '/CN=your.domain.name' -addext 'subjectAltName=DNS:your.domain.name,IP:192.168.0.100' -keyout /etc/apache2/ssl/apache.key -out /etc/apache2/ssl/apache.crt
Common Name (CN)— указать IP-адрес сервера или имя хоста так, чтобы они совпадали с тем, как пользователи открывают сайт (по доменному имени или по IP);subjectAltName (SAN)— передать-addext 'subjectAltName=DNS:your.domain.name,IP:192.168.0.100', подставив вместоyour.domain.nameи192.168.0.100текущее DNS-имя и IP-адрес сервера;
Браузеры и SAN — браузеры при проверке HTTPS в первую очередь используют расширение Subject Alternative Name (SAN), а не только поле CN (Common Name). Чтобы избежать несоответствия имени хоста, задать в SAN и DNS, и IP в соответствии с адресом, который вводят пользователи.
Установить права доступа root пользователю для защиты закрытого ключа и сертификата:
- bash
chmod 600 /etc/apache2/ssl/*