Инструкция по скачиванию и установке платформы управления проектами и портфелями ProProject










г. Москва





Содержание
1. Требования к аппаратному и системному программному обеспечению 3
2. Скачивание и распаковка дистрибутива 4
3. Установка API (backend) 4
3.1. Подключение репозитория с sumo 4
3.2. Обновите информацию и новых пакетах  4
3.3. Установка зависимостей 5
3.4. Установка NoneJS 5
3.5. Создание базы данных 5
3.6. Копирование и настройка datasource.json и config.yaml 5
3.7. Изменения конфигурационных файлов datasource.json 6
3.8. Сборка фреймворка loopback 6
4. Установка frontend 7



1.  Требования к аппаратному и системному программному обеспечению
1.Требования к аппаратному обеспечению:
●       Объем оперативной памяти не менее 8 Гб.
2. Требования к системному программному обеспечению:
●       Ubuntu Linux не ниже 18.04 LTS.



2.   Скачивание и распаковка дистрибутива
Дистрибутив системы состоит из API (backend) и веб-приложения (frontend).
Ссылки для скачивания дистрибутивов:
API: https://dw.proproject.tech/proproject-server-master.zip
Веб-приложение: ttps://dw.proproject.tech/proproject-client-master.zip


Архив proproject-server-master.zip распакуйте в директорию /opt/proproject-server
Архив proproject-client-master.zip распакуйте в директорию /opt/proproject-client

Предоставьте права на чтение, запись и изменение файлов в этих директориях, пользователю, от имени которого будут запускаться скрипты node package manager.



3.   Установка API (backend)
3.1. Перейти в директорию /opt/proproject-server
3.2. Устанавливаем зависимости:
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install software-properties-common
$ sudo add-apt-repository ppa:deadsnakes/ppa
$ sudo apt install python3.11 python3.11-venv python3.11-dev
$ sudo apt install postgresql-14 postgresql-client-14 gcc libpq-dev nginx redis
3.3. Создаем виртуальное окружение, устанавливаем пакеты:
$ python3.11 -m venv venv
$ source venv/bin/activate
(venv) $ pip install --upgrade pip
(venv) $ pip install -r requirements.txt
(venv) $ pip install gunicorn
3.4. Создаем и настраиваем базу данных:
$ sudo -u postgres psql
CREATE USER <username> WITH ENCRYPTED PASSWORD <user_password>;
ALTER ROLE <username> SET client_encoding TO 'utf8';
ALTER ROLE <username> SET default_transaction_isolation TO 'read committed';
ALTER ROLE <username> SET timezone TO 'UTC';

create database <db_name> with owner <username> encoding 'UTF8' LC_COLLATE = 'en_US.UTF-8' LC_CTYPE = 'en_US.UTF-8' template template0;

GRANT ALL PRIVILEGES ON DATABASE <db_name> TO <username>;

Где:
<db_name> - имя создаваемой базы данных
<username> - имя пользователя
<user_password> - пароль пользователя

3.5. Создаем настройки:
(venv) $ cp core/settings/example_dev_settings.py core/settings/settings.py

Редактируем файл core/settings/settings.py, вписываем в него параметры подключения к базе данных (см. п. 3.4), при необходимости изменяем другие параметры (подробнее см. https://django.fun/docs/django/5.0/topics/settings/ )
3.6. Создаем структуру базы данных
(venv) $ ./manage.py migrate
(venv) $ ./manage.py checkdata
(venv) $ ./manage.py updatedata

3.7. Финальные настройки:
(venv) $ mkdir -p static
(venv) $ python manage.py collectstatic

3.8. Создаем конфигурационные файлы сервисов
$ cp core/configs/example.wsgi.py core/wsgi.py
$ cp core/configs/example.tigr-server.service tigr-server.service
$ cp core/configs/example.tigr-celery.service tigr-celery.service
$ cp core/configs/example.tigr-ws.service tigr-ws.service

При необходимости отредактировать сервис-файлы и указать в них корректные пути или пользователей

3.9. Запуск и проверка сервисов
$ sudo systemctl enable /opt/proproject-server/tigr-server.service
$ sudo systemctl enable /opt/proproject-server/tigr-celery.service
$ sudo systemctl enable /opt/proproject-server/tigr-ws.service
$ sudo systemctl start tigr-server
$ sudo systemctl start tigr-celery
$ sudo systemctl start tigr-ws

$ sudo systemctl status tigr-server
$ sudo systemctl status tigr-celery
$ sudo systemctl status tigr-ws



4.   Установка веб-приложения
4.1.                Настройка nginx
Перейдите в директорию /opt/proproject-client и выполните команду:
$ cp deployment/proproject-client.conf proproject-client.conf
Отредактируйте файл proproject-client.conf:
●    Укажите выделенное вам имя сервера (параметр server_name)
●    Пропишите пути до ssl-сертификатов
●    Проверьте пути в параметрах root и всех параметрах location
Активируем конфигурацию nginx:
$ ln -s /opt/proproject-client/proproject-client.conf /etc/nginx/sites-enabled/
$ nginx -t
$ systemctl restart nginx
4.2.                Установка зависимостей и подготовка к сборке:
$ cp apps/core-project/environments/example_environment.ts apps/core-project/environments
$ cp apps/core-project/environments/example_environment.prod.ts apps/core-project/environments
В обоих файлах изменяем параметры API_BASE_PATH и websocketURL, подставляя имя или ip-адрес сервера.
4.3.                Сборка
$ ./update.sh
После окончания скрипта сборка завершена.
4.4.                Проверка
Для проверки перейти на страницу https://<имя или ip-адрес сервера/ В случае успешной установки откроется приглашение ввести пользователя и пароль.