Как установить и настроить Redmine на CentOS 8

Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Это кроссплатформенная и кросс-база данных, построенная на основе Ruby on Rails.

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

В этом руководстве объясняется, как установить и настроить последнюю версию Redmine на CentOS 8. Мы будем использовать MariaDB в качестве серверной части базы данных и Passenger + Apache в качестве сервера приложений Ruby.

Подготовка

Убедитесь, что вы выполнили следующие предварительные требования:

Создание базы данных MySQL

Redmine поддерживает MySQL / MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . Мы будем использовать MariaDB в качестве серверной части базы данных.

Если на вашем сервере CentOS не установлены MariaDB или MySQL, вы можете установить их, следуя этим инструкциям .

Войдите в оболочку MySQL, используя следующую команду:

sudo mysql

Из оболочки MySQL запустите следующие операторы SQL, чтобы создать новую базу данных , нового пользователя и предоставить пользователю доступ к базе данных :

CREATE DATABASE redmine CHARACTER SET utf8;GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Убедитесь, что вы сменили change-with-strong-password с надежным паролем.

После этого выйдите из оболочки MySQL:

EXIT;

Установка Passenger, Apache и Ruby

Passenger — это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Apache.

Включите репозиторий EPEL :

sudo dnf install epel-releasesudo dnf config-manager --enable epel

После включения репозитория обновите список пакетов и установите Ruby, Apache и Passenger:

sudo dnf install httpd mod_passenger passenger passenger-devel ruby

Запустите службу Apache и включите ее запуск при загрузке:

sudo systemctl enable httpd --now

Создание нового системного пользователя

Создайте нового пользователя и группу с домашним каталогом /opt/redmine который будет запускать экземпляр Redmine:

sudo useradd -m -U -r -d /opt/redmine redmine

Добавьте пользователя apache в группу redmine и измените /opt/redmine доступа к redmine /opt/redmine чтобы Apache мог получить к нему доступ:

sudo usermod -a -G redmine apachesudo chmod 750 /opt/redmine

Установка Redmine

На момент написания последней стабильной версии Redmine была версия 4.1.0.

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

Установите компилятор GCC и библиотеки, необходимые для сборки Redmine:

sudo dnf group install "Development Tools"sudo dnf install zlib-devel curl-devel openssl-devel mariadb-devel ruby-devel

Убедитесь, что вы выполняете следующие шаги как пользователь redmine :

sudo su - redmine

1. Скачивание Redmine

Скачайте архив Redmine с помощью curl :

curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o redmine.tar.gz

После завершения загрузки распакуйте архив:

tar -xvf redmine.tar.gz

2. Настройка базы данных Redmine.

Скопируйте пример файла конфигурации базы данных Redmine:

cp /opt/redmine/redmine-4.1.0/config/database.yml.example /opt/redmine/redmine-4.1.0/config/database.yml

Откройте файл в текстовом редакторе:

nano /opt/redmine/redmine-4.1.0/config/database.yml

Найдите production раздел и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:

/opt/redmine/redmine-4.1.0/config/database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8mb4

После этого сохраните файл и выйдите из редактора.

3. Установка зависимостей Ruby

Перейдите в redmine-4.1.0 и установите зависимости Ruby:

cd ~/redmine-4.1.0gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite --path vendor/bundle

4. Сгенерируйте ключи и перенесите базу данных.

Выполните следующую команду, чтобы сгенерировать ключи и перенести базу данных:

bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

Настройка Apache

Вернитесь к своему пользователю sudo и создайте следующий файл Apache vhost :

exitsudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
    ServerName example.com
    ServerAlias www.example.com
    DocumentRoot /opt/redmine/redmine-4.1.0/public

    <Directory /opt/redmine/redmine-4.1.0/public>
        Options Indexes ExecCGI FollowSymLinks
        Require all granted
        AllowOverride all
    </Directory>

    ErrorLog /var/log/httpd/example.com-error.log
    CustomLog /var/log/httpd/example.com-access.log combined
</VirtualHost>
Не забудьте заменить example.com своим доменом Redmine.

Перезапустите службу Apache , набрав:

sudo systemctl restart httpd

Настроить Apache с SSL

Если у вас нет доверенного сертификата SSL для вашего домена, вы можете сгенерировать бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .

После создания сертификата отредактируйте конфигурацию Apache следующим образом:

sudo nano /etc/httpd/conf.d/example.com.conf
/etc/httpd/conf.d/example.com.conf
<VirtualHost *:80>
  ServerName example.com
  ServerAlias www.example.com

  Redirect permanent / https://example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName example.com
  ServerAlias www.example.com

  Protocols h2 http/1.1

  <If "%{HTTP_HOST} == 'www.example.com'">
    Redirect permanent / https://example.com/
  </If>

  DocumentRoot /opt/redmine/redmine-4.1.0/public
  ErrorLog /var/log/httpd/example.com-error.log
  CustomLog /var/log/httpd/example.com-access.log combined

  SSLEngine On
  SSLCertificateFile /etc/letsencrypt/live/example.com/fullchain.pem
  SSLCertificateKeyFile /etc/letsencrypt/live/example.com/privkey.pem

  <Directory /opt/redmine/redmine-4.1.0/public>
    Options Indexes ExecCGI FollowSymLinks
    Require all granted
    AllowOverride all
  </Directory>

</VirtualHost>
Не забудьте заменить example.com своим доменом Redmine и указать правильный путь к файлам сертификатов SSL. Все HTTP-запросы будут перенаправлены на HTTPS .

Доступ к Redmine

Откройте браузер , введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:

Учетные данные для входа в Redmine по умолчанию:

  • Имя пользователя: admin
  • Пароль: admin

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

После изменения пароля вы будете перенаправлены на страницу учетной записи пользователя.

Если вы не можете получить доступ к странице, возможно, ваш брандмауэр блокирует порты Apache.

Используйте следующие команды, чтобы открыть нужный порт:

sudo firewall-cmd --permanent --zone=public --add-port=443/tcpsudo firewall-cmd --permanent --zone=public --add-port=80/tcpsudo firewall-cmd --reload

Выводы

Вы успешно установили Redmine в своей системе CentOS. Теперь вам следует проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.

Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.

Оставьте комментарий