Установка Redmine на Ubuntu 24.04, Debian и Docker Compose | AdminWiki

Установка Redmine на Ubuntu: Полное руководство для разработчиков и DevOps

17 декабря 2025 7 мин. чтения #debian #devops #docker #nginx #postgresql #redmine #ubuntu #установка

Redmine — это мощная система управления проектами с открытым исходным кодом, которая идеально подходит для команд разработчиков. Представь, что это твой центральный хаб для отслеживания задач, багов, времени и документации. В этом руководстве я покажу три основных способа установки: классический на Ubuntu/Debian, на Ubuntu 24.04 и современный подход с Docker Compose.

Важно: Все команды выполняются от имени обычного пользователя с правами sudo. Не работай из-под root без необходимости.

Подготовка сервера Ubuntu/Debian

Давай начнем с обновления системы и установки базовых зависимостей. Этот этап одинаков для Ubuntu и Debian.

bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg software-properties-common

Установка Ruby и Node.js

Redmine написан на Ruby, а для некоторых функций нужен JavaScript runtime. Установим правильные версии:

bash
# Для Ubuntu 24.04 / Debian 12
sudo apt install -y ruby ruby-dev ruby-bundler nodejs npm

# Проверяем версии
ruby --version  # Должно быть 3.x
node --version  # Должно быть 18.x или выше

Установка базы данных PostgreSQL

Redmine поддерживает разные БД, но PostgreSQL — самый надежный выбор для production.

bash
sudo apt install -y postgresql postgresql-contrib libpq-dev

# Перезапускаем PostgreSQL
sudo systemctl restart postgresql
sudo systemctl enable postgresql

Создание пользователя и базы данных для Redmine

bash
sudo -u postgres psql -c "CREATE USER redmine WITH PASSWORD 'ваш_надежный_пароль';"
sudo -u postgres psql -c "CREATE DATABASE redmine OWNER redmine;"
sudo -u postgres psql -c "ALTER USER redmine CREATEDB;"
Внимание: Замени 'ваш_надежный_пароль' на сложный пароль. Не используй пароли из примеров в production!

Установка Redmine на Ubuntu 24.04

Теперь перейдем непосредственно к установке Redmine. Этот процесс актуален для последних версий Ubuntu.

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

bash
cd /opt
sudo wget https://www.redmine.org/releases/redmine-5.1.2.tar.gz
sudo tar xzf redmine-5.1.2.tar.gz
sudo ln -s redmine-5.1.2 redmine
sudo chown -R $USER:$USER redmine-5.1.2
cd redmine

Настройка конфигурации базы данных

Создаем файл конфигурации database.yml:

yaml
# config/database.yml
production:
  adapter: postgresql
  database: redmine
  host: localhost
  username: redmine
  password: ваш_надежный_пароль
  encoding: utf8
  pool: 5
  timeout: 5000

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

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

# Если возникнут ошибки с некоторыми гемами, установите дополнительные пакеты:
sudo apt install -y libmagickwand-dev libxslt1-dev libcurl4-openssl-dev

Инициализация базы данных и секретного ключа

bash
# Генерация секретного ключа
bundle exec rake generate_secret_token

# Создание структуры БД
RAILS_ENV=production bundle exec rake db:migrate

# Загрузка начальных данных
RAILS_ENV=production bundle exec rake redmine:load_default_data
# Выберите язык (например, ru для русского)

Настройка веб-сервера

Установка и настройка Nginx + Passenger

Passenger — это оптимальный способ запуска Ruby приложений в production.

bash
# Установка Passenger
sudo apt install -y nginx libnginx-mod-http-passenger

# Проверяем конфигурацию Passenger
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf

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

nginx
# /etc/nginx/sites-available/redmine
server {
    listen 80;
    server_name ваш_домен.com;
    root /opt/redmine/public;

    passenger_enabled on;
    passenger_ruby /usr/bin/ruby;
    passenger_app_env production;

    client_max_body_size 10m;

    location ~ ^/assets/ {
        expires 1y;
        add_header Cache-Control public;
        add_header ETag "";
    }
}
bash
# Активируем сайт и перезапускаем Nginx
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx

Настройка SSL с Let's Encrypt

bash
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d ваш_домен.com
# Следуй инструкциям мастера

Redmine установка в Docker Compose

Для тех, кто предпочитает контейнеризацию, вот самый простой и быстрый способ развертывания.

docker-compose.yml
version: '3.8'

services:
  postgres:
    image: postgres:15-alpine
    container_name: redmine-postgres
    environment:
      POSTGRES_PASSWORD: ваш_пароль_postgres
      POSTGRES_DB: redmine
      POSTGRES_USER: redmine
    volumes:
      - postgres_data:/var/lib/postgresql/data
    networks:
      - redmine-network

  redmine:
    image: redmine:5-alpine
    container_name: redmine-app
    ports:
      - "3000:3000"
    environment:
      REDMINE_DB_POSTGRES: postgres
      REDMINE_DB_USERNAME: redmine
      REDMINE_DB_PASSWORD: ваш_пароль_postgres
      REDMINE_DB_DATABASE: redmine
      REDMINE_SECRET_KEY_BASE: ваш_секретный_ключ
    volumes:
      - redmine_data:/usr/src/redmine/files
      - ./plugins:/usr/src/redmine/plugins
      - ./themes:/usr/src/redmine/public/themes
    depends_on:
      - postgres
    networks:
      - redmine-network

volumes:
  postgres_data:
  redmine_data:

networks:
  redmine-network:
    driver: bridge
bash
# Генерация секретного ключа для Docker версии
echo "REDMINE_SECRET_KEY_BASE=$(docker run --rm redmine:5-alpine bundle exec rake secret)"

# Запуск Redmine в Docker Compose
docker-compose up -d

# Проверка логов
docker-compose logs -f redmine

Сравнение методов установки

Метод Сложность Гибкость Производительность Лучше для
Классический (Ubuntu/Debian) Высокая Максимальная Отличная Production, кастомные настройки
Docker Compose Низкая Средняя Хорошая Тестирование, быстрый старт

Настройка и оптимизация Redmine

Настройка email-уведомлений

yaml
# config/configuration.yml
production:
  email_delivery:
    delivery_method: :smtp
    smtp_settings:
      address: smtp.gmail.com
      port: 587
      domain: ваш_домен.com
      authentication: :plain
      user_name: ваш_email@gmail.com
      password: ваш_пароль
      enable_starttls_auto: true

Планировщик задач (Cron) для Redmine

bash
# Создаем cron задачу для отправки уведомлений
crontab -e

# Добавляем строку (для классической установки):
*/5 * * * * cd /opt/redmine && bundle exec rake redmine:send_reminders RAILS_ENV=production
*/30 * * * * cd /opt/redmine && bundle exec rake redmine:fetch_changesets RAILS_ENV=production

Установка плагинов и тем

Расширяем функциональность Redmine:

bash
# Для классической установки
cd /opt/redmine/plugins

# Пример установки плагина Agile
sudo git clone https://github.com/redmine/redmine_agile.git
cd /opt/redmine
bundle install
RAILS_ENV=production bundle exec rake redmine:plugins:migrate
Совет: Перед установкой плагинов всегда делай бэкап базы данных и файлов Redmine.

FAQ: Частые вопросы по установке Redmine

Какая версия Ruby нужна для Redmine 5?

Redmine 5.x требует Ruby 3.0 или выше. Для Ubuntu 24.04 это версия по умолчанию. Для более старых систем используйте RVM или rbenv для установки правильной версии.

Как сделать бэкап Redmine?

Используйте эту команду для создания полного бэкапа:

bash
# Бэкап базы данных
pg_dump -U redmine redmine > redmine_backup_$(date +%Y%m%d).sql

# Бэкап файлов
tar czf redmine_files_$(date +%Y%m%d).tar.gz /opt/redmine/files /opt/redmine/plugins /opt/redmine/themes

Как обновить Redmine до новой версии?

1. Сделайте полный бэкап. 2. Остановите веб-сервер. 3. Обновите файлы Redmine. 4. Выполните миграции БД: bundle exec rake db:migrate RAILS_ENV=production. 5. Перезапустите сервер.

Почему не отправляются email-уведомления?

Проверьте: 1) Настройки SMTP в configuration.yml 2) Логи Redmine (tail -f log/production.log) 3) Настройки спам-фильтров почтового сервиса 4) Работу cron для отправки напоминаний.

Docker vs Классическая установка: что выбрать?

Docker Compose идеален для тестирования и быстрого развертывания. Классическая установка на Ubuntu даёт больше контроля и лучше подходит для production-сред с высокой нагрузкой.

Заключение

Мы рассмотрели три основных способа установки Redmine: классический на Ubuntu/Debian, на Ubuntu 24.04 и через Docker Compose. Каждый метод имеет свои преимущества:

  • Классическая установка — максимальный контроль и производительность
  • Установка на Ubuntu 24.04 — актуальные версии всех компонентов
  • Docker Compose — скорость развертывания и изоляция окружения

Для production-окружения рекомендую классическую установку с Nginx + Passenger. Для тестирования и разработки — Docker Compose. Не забывайте про регулярные бэкапы, обновления и мониторинг.

Следующие шаги: После установки настройте проекты, роли пользователей, рабочие процессы и интеграции с Git, CI/CD системами.
Поделиться:
Сохранить гайд? В закладки браузера