ООО «ТМ Софт», г. Москва


Платформа управления проектами и портфелями ProProject


Инструкция по установке



Аннотация


В данном документе приведены требования к аппаратному и программному обеспечению, а также описания процессов, необходимых для установки ПО «Платформа управления проектами и портфелями ProProject» (далее по тексту — «Система» или «ProProject»), в том числе для загрузки и распаковки дистрибутивов ПО с дальнейшей пошаговой инструкцией по настройке всех компонентов Системы.



Содержание


1. Общие требования
1.1 Требования к аппаратному обеспечению
1.2 Требования к системному программному обеспечению

2. Загрузка и распаковка дистрибутива

3. Установка API (backend)
3.1 Перейти в директорию /opt/proproject-server
3.2 Устанавливаем зависимости
3.3 Создаем виртуальное окружение, устанавливаем пакеты
3.4 Создаем и настраиваем базу данных
3.5 Создаем настройки
3.6 Создаем структуру базы данных
3.7 Финальные настройки
3.8 Создаем конфигурационные файлы сервисов
3.9 Запуск и проверка сервисов

4. Установка frontend
4.1 Настройка Nginx
4.2 Установка зависимостей и подготовка к сборке
4.3 Сборка
4.4 Проверка
4.5 Регистрация в системе



1. Общие требования


1.1 Требования к аппаратному обеспечению:
● Объем оперативной памяти не менее 8 Гб.

1.2 Требования к системному программному обеспечению:
● Ubuntu Linux не ниже 18.04 LTS.


2. Загрузка и распаковка дистрибутива


Дистрибутив системы состоит из API (backend) и веб-приложения (frontend).

Ссылки для загрузки дистрибутивов:
API: http://пропроджект.рф/dw/proproject-server-master.zip
Веб-приложение: http://пропроджект.рф/dw/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-адрес сервера/ »

В случае успешной установки откроется приглашение ввести пользователя и пароль.

4.5 Регистрация в системе
Для регистрации и входа в систему нужно пройти на страницу « https://<имя или ip-адрес сервера/registration », ввести email.

После этого на email придет ссылка для установки пароля, после установки пароля откроется главный экран системы.