Установка Redmine
Описание
Redmine - открытое серверное веб-приложение для управления проектами и задачами (в том числе для отслеживания ошибок). Redmine написан на Ruby и представляет собой приложение на основе широко известного веб-фреймворка Ruby on Rails. Распространяется согласно GNU General Public License.
Данное решение не является лучшем на сегодняшний момент, но оно стабильное и подходит для некой библиотеки истории событий. Внешний вид конечно староват, но есть темы позволяющие немного украсить, позволит глазам не так сильно болеть.
Установка
Установка Apache
На первом этапе настройки Redmine необходимо установить и запустить веб-сервер.
Перед началом установки нового софта на ваш сервер запустите обновление индекса пакетов в операционной систем:
sudo apt update
Далее проинсталлируйте веб-сервер Apache при помощи команды:
sudo apt install apache2
После того, как установка завершится, активируйте и запустите Apache:
sudo systemctl enable apache2
sudo systemctl start apache2
Также добавьте разрешающее правило в брандмауэр для Apache:
sudo ufw allow 'Apache Full'
Помимо этого, в брандмауэр необходимо добавить разрешающее правило для порта 3000, через который будет осуществляться доступ к пользовательскому интерфейсу устанавливаемого экземпляра Redmine:
sudo ufw allow 3000
Установка MySQL
Установка СУБД запускается при помощи следующей инструкции:
sudo apt install mysql-server
По завершении инсталляции MySQL активируйте установленную СУБД:
sudo systemctl enable mysql
Затем запустите MySQL:
sudo systemctl start mysql
На следующем шаге необходимо изменить некоторые наиболее уязвимые опции СУБД, использующиеся по умолчанию с помощью встроенного в MySQL специального скрипта:
sudo mysql_secure_installation
Если в ходе работы скрипта система не предложила вам установить пароль для учётной записи root
, используемой для администрирования СУБД, подключитесь к MySQL при помощи команды:
sudo mysql
После чего следующей командой измените метод аутентификации пользователя root
и установите для данной учётной записи новый пароль:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw0rd';
Здесь вместо Passw0rd
наберите пароль, с помощью которого пользователь root
будет в дальнейшем подключаться к MySQL.
Далее выйдите из оболочки MySQL:
mysql> exit
После чего подключитесь уже под именем пользователя root
:
mysql -u root -p
Подключившись к СУБД необходимо создать новую базу данных, которая будет необходима для установки Redmine, а также соответствующего пользователя с полными привилегиями. В нашем примере и создаваемая учётная запись, и база данных будут называться redmine
. Естественно, на своём VPS вы можете использовать свои имена для пользователя и БД.
mysql> CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'Passw0rd';
mysql> CREATE DATABASE redmine CHARACTER SET utf8mb4;
mysql> GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
mysql> ALTER USER 'redmine'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Passw0rd';
mysql> exit
В данных командах вместо Passw0rd
придумайте и введите пароль, который будет использоваться для учётной записи, которая в примере носит имя redmine
.
Установка Ruby
Поскольку Redmine написан на Ruby on Rails, необходимо произвести установку Ruby. В нашем случае мы будем использовать инсталляцию Ruby при помощи RVM.
Для начала установите необходимые утилиты и зависимости:
sudo apt install curl gpg libgdbm-dev libncurses5-dev automake libtool bison libffi-dev build-essential ruby-dev libmysqlclient-dev
Затем импортируйте ключ, необходимый для инсталляции RVM:
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
После чего запустите установку RVM:
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
И, наконец, проинсталлируйте Ruby. Следующая команда произведёт установку Ruby версии 3.1.4:
rvm install 3.1.4
Установка Redmine
Теперь, когда мы установили необходимые зависимости, можно приступить к установке непосредственно Redmine. Для этого, прежде всего, загрузите последнюю версию, которая доступна на странице загрузок официального сайта Redmine. В нашем примере мы загрузим дистрибутив в директорию /tmp
:
cd /tmp
wget https://www.redmine.org/releases/redmine-5.0.5.tar.gz --no-check-certificate
Затем распакуйте загруженный архив и переместите его содержимое в директорию /var/www/redmine
:
tar xfz redmine-5.0.5.tar.gz
sudo mv redmine-5.0.5 /var/www/redmine
После чего перейдите в данную директорию:
cd /var/www/redmine
Далее создайте конфигурационные файлы Redmine. Для этого используйте прилагаемые файлы примеров, они имеют расширение example
:
cp config/database.yml.example config/database.yml
cp config/configuration.yml.example config/configuration.yml
cp public/dispatch.fcgi.example public/dispatch.fcgi
Затем откройте для редактирования файл database.
yml. В нашем примере мы будем использовать текстовый редактор nano
:
sudo nano config/database.yml
В тексте файла найдите раздел production
и приведите его содержимое к следующему виду:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "Passw0rd"
encoding: utf8mb4
В данном случае замените Passw0rd
на пароль пользователя redmine
. После чего закройте файл database.yml
сохранив внесённые изменения.
Далее запустите установку менеджера Bundler, который используется для управления зависимостями gem в Ruby-приложениях:
gem install bundler
bundle config set --local without 'development test'
bundle install
gem pristine --all
bundle add webrick
Затем сгенерируйте рандомный секретный ключ, чтобы предотвратить несанкционированное использование файлов cookie:
bundle exec rake generate_secret_token
После чего создайте структуру базы данных и вставьте данные в БД MySQL:
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
Далее создайте необходимые директории и установите соответствующие разрешения:
mkdir -p tmp/pdf
mkdir -p public/plugin_assets
chown -R $USER:$USER files log tmp public/plugin_assets
chmod -R 755 /var/www/redmine/
И наконец, при помощи следующей команды запустите экземпляр сервера Rails:
bundle exec rails server -u webrick -e production
nohup bundle exec rails server -u webrick -e production &
Теперь мы можем зайти на наш redmine http://IP:3000
Для того, чтобы начать использовать только что установленный и запущенный Redmine, необходимо авторизоваться в системе. Как не сложно догадаться, для этого предназначена ссылка Войти
в правом верхнем углу стартовой страницы. Первый вход осуществляется с помощью пользователя admin
, имеющего пароль admin
. При этом система сразу же попросит вас установить новый пароль для последующей авторизации.
После смены пароля вы уже сможете в полной мере использовать свой собственный экземпляр Redmine, установленный на вашем виртуальном сервере.