Как установить Redmine с Apache и Lets Encrypt SSL на Debian 12

Redmine – это бесплатный инструмент управления проектами и отслеживания проблем с открытым исходным кодом. Он основан на веб-технологиях и написан в основном на Ruby on Rails. Redmine является кроссплатформенным и поддерживает множество баз данных и языков. Redmine гибко настраивается и может использоваться для различных типов организаций и проектов – малых, средних и крупных. Он позволяет создавать и управлять несколькими проектами, причем каждый проект имеет свою собственную Wiki, форумы, систему отслеживания проблем и т.д. Redmine выпускается под лицензией GNU GPL v2 и может быть установлен на любую операционную систему, например Linux, Windows или macOS Он поддерживает различные типы баз данных, включая PostgreSQL MySQL и SQLite (по умолчанию).Следуйте этому пошаговому руководству для установки инструмента управления проектами и отслеживания проблем Redmine на Debian 12 Server. Следуя этому руководству, вы установите Redmine с MariaDB в качестве сервера баз данных и Apache2 в качестве веб-сервера.

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

Redmine – это веб-управление проектами, написанное на Ruby on Rails. Для установки Redmine необходимо сначала установить следующие пакеты:

  • Apache web server: он будет использоваться в качестве web-сервера для Redmine.
  • MariaDB server: Redmine может работать с такими базами данных, как MySQL/MariaDB и PostgreSQL. В данном руководстве будет использоваться сервер MariaDB.
  • Ruby: на момент написания статьи стабильная версия Redmine 5.0.6 может быть установлена с Ruby 3.1.
  • Дополнительные пакеты: Certbot для генерации SSL/TLS сертификатов, build-essential для компиляции Ruby кода, и Subversion как система контроля версий.

Перед установкой зависимостей обновите и обновить ваш репозиторий Debian с помощью следующей команды.

sudo apt update

Запустите команду apt install, чтобы установить зависимости для Redmine, включающие_Apache2, MariaDB, Ruby, ImageMagick, Certbot, и Subversion.

sudo apt install apache2 libapache2-mod-passenger mariadb-server certbot python3-certbot-apache ruby ruby-dev build-essential default-mysql-server default-libmysqlclient-dev libxml2-dev libxslt1-dev zlib1g-dev imagemagick libmagickwand-dev subversion

Введите y, чтобы продолжить установку.

После установки зависимостей проверьте каждую зависимость, выполнив следующую команду.

Проверить_apache2_service, чтобы убедиться, что служба запущена и включена.

sudo systemctl is-enabled apache2sudo systemctl status apache2

Показанный ниже вывод подтверждает, что apache2 запущен и работает.

Теперь проверьте службу mariadb, выполнив следующую команду.

sudo systemctl is-enabled mariadbsudo systemctl status mariadb

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

Далее проверьте версию Ruby в вашей системе, выполнив следующую команду. Вы должны увидеть, что Ruby 3.1.2 установлен на вашей машине Debian.

ruby --version

И наконец, проверьте Subversion с помощью следующей команды. Это позволит убедиться в том, что Subversion установлена.

svn --version

Вывод должен быть примерно таким:

Настройка сервера MariaDB

После установки зависимостей необходимо настроить установку сервера MariaDB с помощью утилиты mariadb-secure-installation и создать новую базу данных и пользователя, которые будет использовать Redmine. Выполните следующую команду для защиты установки сервера MariaDB.

sudo mariadb-secure-installation

Во время этого процесса введите Y для подтверждения и применения изменений или n для отказа. Ниже приведены некоторые конфигурации сервера MariaDB, которые вам будет предложено выполнить:

  • Переключиться на аутентификацию unix_socket? Введите n и нажмите ENTER. По умолчанию корневой пользователь MariaDB уже защищен. По желанию можно включить эту функцию, введя y.
  • Изменить пароль корневого пользователя? Введите y для подтверждения и установите новый пароль корневого пользователя MariaDB.
  • Удалить анонимного пользователя? Введите y для подтверждения.
  • Запретить удаленный вход в систему root? Введите y для подтверждения. При использовании пользователя MariaDB root будет разрешено только локальное подключение.
  • Удалить тестовую базу данных и доступ к ней? Введите y для подтверждения и удаления базы данных по умолчанию „test“.
  • И наконец, введите y еще раз, чтобы перезагрузить все привилегии таблиц на сервере MariaDB и применить новые изменения.

После настройки сервера mariaDB войдите на сервер MariaDB. При появлении запроса введите пароль MariaDB root.

sudo mariadb -u root -p

Теперь выполните запросы для создания новой базы данных redmine, нового пользователя redmine, с паролем secretPassword. Следующие данные базы данных будут использоваться в Redmine, и не забудьте изменить пароль.

CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'secretPassword';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;

Следующим запросом проверьте привилегии пользователя redmine.

SHOW GRANTS FOR redmine@localhost;

Следующий вывод подтверждает, что пользователь redmine может получить доступ к базе данных redmine.

Наберите quit для выхода из сервера MariaDB.

Загрузка и установка Redmine

В следующем разделе вы загрузите и установите Redmine на машину Debian. Вы загрузите исходный код Redmine через subversion, настроите Redmine с сервером баз данных MariaDB, а затем установите зависимости Ruby через bundler.Перед началом работы установите bundler в вашу систему, выполнив следующую команду.

gem install bundler

Перейдите в каталог /var/www_directory и загрузите исходный код Redmine с помощью команды _svn, приведенной ниже. В данном примере вы загрузите Redmine стабильной версии 5.0 в каталог redmine-5.0, поэтому каталог установки Redmine должен быть /var/www/redmine-5.0.

cd /var/www
svn co https://svn.redmine.org/redmine/branches/5.0-stable redmine-5.0

Перейдите в /var/www/redmine-5.0 и скопируйте конфигурацию базы данных по умолчанию в config/database.yml.

cd /var/www/redmine-5.0cp config/database.yml.example config/database.yml

Откройте конфигурацию базы данных Redmine config/database.yml с помощью следующей команды редактора nano.

nano config/database.yml

В разделе production проверьте конфигурацию базы данных с помощью следующего. Обязательно измените имя базы данных, пользователя и пароль.

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "secretPassword" 
  # Use "utf8" instead of "utfmb4" for MySQL prior to 5.7.7
  encoding: utf8mb4

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

bundle config set --local without 'development test' 
bundle install

Во время этого процесса вывод должен быть примерно таким:

Теперь сгенерируйте секретный токен и выполните миграцию базы данных, выполнив следующую команду.

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate

Во время миграции базы данных будет отображено следующее сообщение.

И наконец, выполните следующую команду для загрузки данных по умолчанию в вашу установку Redmine.

RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data

В случае успеха вы должны получить сообщение «Данные конфигурации по умолчанию загружены».

Настройка виртуального хоста Apache2

После загрузки и установки Redmine необходимо создать новый виртуальный хост Apache2, который будет использоваться для работы Redmine и генерации SSL/TLS-сертификатов через Certbot и Letsencrypt. Поэтому прежде чем продолжить, убедитесь, что на IP-адрес сервера указывает доменное имя.Создайте конфигурацию нового виртуального хоста /etc/apache2/sites-available/redmine.conf с помощью следующей команды редактора nano.

sudo nano /etc/apache2/sites-available/redmine.conf

Вставьте следующую конфигурацию и не забудьте изменить доменное имя в строке ServerName.

<VirtualHost *:80>
    ServerName redmine.hwdomain.io
    RailsEnv production
    DocumentRoot /var/www/redmine-5.0/public
    ErrorLog ${APACHE_LOG_DIR}/redmine.hwdomain.io.error.log
    CustomLog ${APACHE_LOG_DIR}/redmine.hwdomain.io.access.log combined
    <Directory "/var/www/redmine-5.0/public">
        Allow from all
        Require all granted
    </Directory>
</VirtualHost>

После этого сохраните и закройте файл.Далее выполните следующую команду для активации модуля*rewrite* на веб-сервере Apache2, затем включите файл виртуального хоста redmine.conf.

sudo a2enmod rewrite
sudo a2ensite redmine.conf

После этого проверьте синтаксис вашего Apache2, выполнив следующую команду. Если синтаксис правильный, то на экране появится сообщение «Syntax OK».

sudo apachectl configtest

Следующая команда systemctl перезапустит службу apache2 и применит изменения.

sudo systemctl restart apache2

В заключение сгенерируйте новые SSL/TLS-сертификаты для вашей установки Redmine с помощью следующей команды certbot. Не забудьте изменить имя домена и адрес электронной почты на свои данные.

sudo certbot --apache --agree-tos --no-eff-email  --redirect --hsts --staple-ocsp --email mail admin@hwdomain.io -d redmine.hwdomain.io

После завершения процесса сертификаты SSL/TLS будут сгенерированы в каталоге /etc/letsencrypt/live/redmine.hwdomain.io/. Кроме того, файл виртуального хоста redmine.conf будет автоматически настроен на HTTPS с помощью плагина Certbot Apache.

Доступ к установке Redmine

Запустите веб-браузер и перейдите на доменное имя Redmine, например
https://redmine.hwdomain.io. Если установка прошла успешно, откроется следующая домашняя страница Redmine.

Теперь щелкните на ссылке Sign In в правом верхнем углу, чтобы перейти на страницу входа в Redmine. Затем введите стандартный пользователь admin и пароль admin, после чего нажмите кнопку Login.

Сначала вам будет предложено изменить стандартный пароль администратора. Введите старый пароль admin, затем введите новый пароль и повторите его, после чего нажмите кнопку Apply для подтверждения изменений.

Теперь вы будете перенаправлены в свой профиль администратора и должны получить сообщение «Пароль был успешно обновлен». Здесь вы также можете изменить данные пользователя-администратора, после чего нажмите кнопку Save для подтверждения.

Наконец, нажмите кнопку Administration >Informations для получения подробной информации о вашей установке Redmine. Откроется следующая страница, на которой подтвердите, что Redmine 5.0.6 установлен с Ruby 3.1.2, Rails 6.1, Mysql и Subversion 1.14.

Заключение

Итак, вы успешно установили инструмент управления проектами и отслеживания проблем Redmine на сервер Debian 12. Вы установили Redmine с веб-сервером Apache2 и сервером баз данных MariaDB и обеспечили безопасность установки Redmine с помощью сертификатов SSL/TLS от Letsencrypt. Теперь вы можете добавить SMTP-сервер в Redmine и установить дополнительные расширения и темы для веб-приложения управления проектами Redmine.

Зарубин Иван Эксперт по Linux и Windows

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

Вдохновлен www.howtoforge.com

Похожие статьи

Комментарии (0)