...

Установка Redmine

Тема в разделе "ELMA365 On-Premises", создана пользователем bessolitsyn, 20 май 2022.

  1. bessolitsyn

    bessolitsyn New Member

    Redmine -является открытым серверным веб-приложением для управления проектами и задачами.
    Предварительно обновим систему
    sudo apt update
    sudo apt upgrade
    1. Подготовка к установке Redmine
    sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ `lsb_release -cs`-pgdg main" >> /etc/apt/sources.list.d/pgdg.list'

    wget -q https://www.postgresql.org/media/keys/ACCC4CF8.asc -O - | sudo apt-key add -
    Ставим необходимые пакеты
    sudo apt update
    sudo apt install postgresql postgresql-contrib \
    postgresql-server-dev-11 imagemagick ruby build-essential \
    patch ruby-dev zlib1g-dev liblzma-dev libmagick++-dev \
    passenger libcurl4-openssl-dev libssl-dev \
    python3-pip python3-dev subversion -y
    2. Установка Redmine
    Переходим в домашнюю директорию и скачиваем redmine
    cd ~
    svn co https://svn.redmine.org/redmine/branches/4.0-stable redmine-4.0 --non-interactive --trust-server-cert-failures=unknown-ca
    ln -s redmine-* redmine
    3. Настройка PostgreSQL
    Заходим под пользователя postgres и запускаем утилиту управления базами данных
    sudo su - postgres
    psql
    Создаем пользователя\роль и базу данных
    CREATE ROLE redmine LOGIN ENCRYPTED PASSWORD 'my_password' NOINHERIT VALID UNTIL 'infinity';
    CREATE DATABASE redmine WITH ENCODING='UTF8' OWNER=redmine;
    Выходим
    \q
    exit
    4. Настраиваем подключение Redmine к БД
    Копируем конфигурационный фаил из шаблона и редактируем его
    sudo cp redmine-4.0/config/database.yml.example redmine-4.0/config/database.yml
    sudo nano redmine-4.0/config/database.yml
    Комментируем все секции и раскоментируем секцию PostgreSQL. В итоге должно получится:
    production:
    adapter: postgresql
    database: redmine
    host: localhost
    username: redmine
    password: "my_password"
    Сохраняем выходим(Ctrl+x — Y — Enter).
    5. Установка Bundler
    Далее устанавливаем Bundler менеджер управления зависимостями gems пакетов.
    sudo gem install bundler
    Затем переходим в ранее загруженную папку и устанавливаем все зависимости требующиеся Redmine.
    cd redmine-4.0/
    sudo bundle install --without development test
    6. Генерируем ключ для безопасного хранения сессий
    rake generate_secret_token
    7. Создаем структуру базы данных
    RAILS_ENV=production rake db:migrate
    8. Загрузка данных и установка языка по умолчанию
    RAILS_ENV=production REDMINE_LANG=ru rake redmine:load_default_data
    9. Установка веб сервера nginx для Redmine
    Теперь давайте настроим всеми известный веб сервер Nginx. Для взаимодействия Redmine с Nginx необходимо установить passenger сервер приложений для Ruby.
    sudo gem install passenger
    Затем скачиваем и ставим Nginx в дирректорию /opt/nginx/ , а также включаем язык ruby
    sudo passenger-install-nginx-module --auto --prefix=/opt/nginx/ --auto-download --languages ruby
    Редактируем конфиг nginx
    sudo nano /opt/nginx/conf/nginx.conf
    В секцию http вставляем строку include vhost/*.conf;
    ...
    http {
    passenger_root /var/lib/gems/2.5.0/gems/passenger-6.0.2;
    passenger_ruby /usr/bin/ruby2.5;
    include mime.types;
    default_type application/octet-stream;
    #ngu
    include vhost/*.conf;
    ...
    Сохраняем фаил и закрываем.
    Создаем папку для хранения файлов конфигурации виртуальных хостов
    sudo mkdir /opt/nginx/conf/vhost
    Затем создадим фаил конфигурации для Redmine
    sudo nano /opt/nginx/conf/vhost/redmine.conf
    Правим конфиг
    server {
    listen 443 ssl;
    ssl_certificate /home/admin/cert/server.crt;
    ssl_certificate_key /home/admin/cert/server.key;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers "HIGH:!RC4:!aNULL:!MD5:!kEDH";
    passenger_enabled on;
    client_max_body_size 100m; # Max attachment size
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
    root html;
    }
    location ~ ^/redmine(/.*|$) {
    alias /home/admin/redmine/public$1;
    passenger_base_uri /redmine;
    passenger_document_root /home/admin/redmine/public;
    }
    }
    Где admin имя вашего пользователя (а если точнее то ваша домашняя папка куда ранее распаковали Redmine)
    Создаем сертификаты в месте указанном в конфиге
    mkdir ~/cert
    cd ~/cert
    openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -nodes -days 3650 -subj '/CN=localhost'
    Прописываем в фаил sudo nano /lib/systemd/system/nginx.service Nginx как сервис
    [Unit]
    Description=The NGINX HTTP and reverse proxy server
    After=syslog.target network.target remote-fs.target nss-lookup.target
    [Service]
    Type=forking
    PIDFile=/opt/nginx/logs/nginx.pid
    ExecStartPre=/opt/nginx/sbin/nginx -t
    ExecStart=/opt/nginx/sbin/nginx
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target
    Производим «мягкую» перезагрузку. Стартуем nginx и включаем автозапуск.
    sudo systemctl daemon-reload
    sudo systemctl start nginx
    sudo systemctl enable nginx.service
    Также для удобства создаем ссылку
    sudo ln -s /opt/nginx/sbin/nginx /usr/sbin/nginx
     
  2. kurbatov-la

    kurbatov-la New Member

    Вы смогли связать редмайн с элмой?
     
  3. v.makarov

    v.makarov New Member

    На момент написания статьи установить получилось, всё работает