SCROLL

Посты с тэгом: redmine

Разберем как установить систему управления проектами Redmine 4.0.1 на Debian 9 Stretch.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade -y

 

Устанавливаем необходимые зависимости:

sudo apt-get install apache2 apache2-dev libapr1-dev libaprutil1-dev libapache2-mpm-itk mysql-server curl libapache2-mod-passenger default-libmysqlclient-dev libcurl4-openssl-dev ruby-rmagick libmagickwand-dev gnupg2 dirmngr -y

 

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

sudo mysql_secure_installation

[stextbox id=’warning’]В ходе выполнения команды, будет заданы вопросы (смены пароля root, удаления анонимных учетных записей, отключения удаленного доступа для root, удаления тестовой базы данных, сброса привилегий)[/stextbox]

Однажды столкнувшись с случайным удалением задачи в Redmine, и не возможностью ее восстановления какими либо штатными средствами, пришлось проработать шаги восстановления удаленной задачи из резервной копии базы данных MySQL (Надеюсь все делают резервные копии !?).

 

[stextbox id=’info’]Восстановить задачу представляется возможным только при наличии резервной копии базы данных. На примере будет выполнена процедура восстановления удаленной задачи c ID 81.[/stextbox]

 

Создаем временную базу данных (redmine_old) и восстанавливаем в нее данные из резервной копии.

mysqladmin -u root -p create redmine_old
mysql -u root -p redmine_old < redmine_backup.sql

Инструкция как развернуть Redmine 3.4.3, Subversion (с поддержкой WebDAV) на Debian 8 Jessie. На основе этих инструкций будет рассмотрена интеграция Redmine с SVN.

 

Redmine может отображать содержимое SVN хранилища, вести логирование изменений в хранилище, управление правами доступа к хранилищу на основе своих учетных записей и их подписок к проектам, автоматически создавать SVN хранилища для новых проектов, считывать с текстов информацию с коммитов в SVN проектах.

 

[stextbox id=’info’]Приведенная ниже инструкция основывается на том что используется система Debian 8 Jessie и установлены Redmine 3.4.3 и Subversion 1.8.10 + WebDAV. [/stextbox]

 

Устанавливаем необходимые зависимости:

sudo apt-get install libapache-dbi-perl libapache2-mod-perl2 libdbd-mysql-perl libdigest-sha-perl -y

 

Для авторизации в SVN по учётными записям Redmine, создаем символическую ссылку на скрипт Redmine.pm:

sudo ln -s /opt/redmine/extra/svn/Redmine.pm /usr/lib/x86_64-linux-gnu/perl5/5.20/Apache/Redmine.pm

Разберем как делать резервные копии базы данных Redmine, а так же прикрепленных файлов. Реализовывать резервное копирование будем с помощью bash-скрипта.

 

Скрипт полностью с комментариями, разобраться и подстроить его под себя, не составит труда:

#!/bin/bash
# 06/01/2018 Jakonda (http://jakondo.ru)

# Резервное копирование (Redmine)

# Путь размещения резервных копий
LOCAL_DIR="/srv/backups/redmine"

EXPIRATION_DAYS=14
DATE=$(date +"%y_%m_%d")

# Создаем каталог для размещения резервных копий, если он не создан
if ! [ -d $LOCAL_DIR ]; then
mkdir $LOCAL_DIR
fi

# Создаем каталог с текущей датой
mkdir -p $LOCAL_DIR/$DATE

# Создание дампа базы данных (mysql)
mysqldump -u root -p512356 redmine | gzip > $LOCAL_DIR/$DATE/redmine_db.sql.gz

# Резервная копия прикрепленных файлов (redmine)
cd /opt/redmine/files/
tar -czvf $LOCAL_DIR/$DATE/redmine_files.tar.gz *
cd

# Удаление старых резервных копий
find $LOCAL_DIR* -mtime +${EXPIRATION_DAYS} -exec rm {} \;
# Удаление пустых каталогов
find $LOCAL_DIR* -type d -empty -exec rmdir {} \;

Если был утерян/забыт пароль учетной записи администратора (по-умолчанию — admin) от системы управления проектами Redmine. То есть несколько вариантов его сбросить, через консоль управления базой данных, через консоль RAILS.

 

Посредством базы данных MySQL

Все пользователи хранятся в базе данных Redmine, в таблице (users). Пользовательские пароли сформированы методом SHA1 + Salt. Хешированный пароль хранится в поле (hashed_password), соль в поле (salt).

 

Для сброса пароля, необходимо обновить значение (hashed_password) и сбросить (salt). Генерируем SHA1 из слова (прим. admin), полученный результат еще раз хешируем. Получаем шифрованный пароль:

echo -n admin | sha1sum | awk '{print $1}'
d033e22ae348aeb5660fc2140aec35850c4da997

echo -n d033e22ae348aeb5660fc2140aec35850c4da997 | sha1sum | awk '{print $1}'
7b2e9f54cdff413fcde01f330af6896c3cd7e6cd

Разберем как установить систему управления проектами Redmine 3.4.3 на Debian 8 Jessie.

 

Подготовка системы

Перед началом установки обновляем систему до актуального состояния:

sudo apt-get update && sudo apt-get upgrade -y

Устанавливаем необходимые зависимости (в ходе установки зависимостей, необходимо будет задать пароль для mysql):

sudo apt-get install apache2 apache2-mpm-prefork mysql-server curl libapache2-mod-passenger libmysqlclient-dev libcurl4-openssl-dev apache2-threaded-dev ruby-rmagick libmagickwand-dev -y

 

Система управления проектами Redmine написана на Ruby, поэтому для ее работы, необходимо установить Ruby подходящей версии и настроить подключение Ruby к Apache2.