Redmine — это мощная система управления проектами с открытым исходным кодом, которая идеально подходит для команд разработчиков. Представь, что это твой центральный хаб для отслеживания задач, багов, времени и документации. В этом руководстве я покажу три основных способа установки: классический на Ubuntu/Debian, на Ubuntu 24.04 и современный подход с Docker Compose.
Подготовка сервера Ubuntu/Debian
Давай начнем с обновления системы и установки базовых зависимостей. Этот этап одинаков для Ubuntu и Debian.
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget gnupg software-properties-common
Установка Ruby и Node.js
Redmine написан на Ruby, а для некоторых функций нужен JavaScript runtime. Установим правильные версии:
# Для 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.
sudo apt install -y postgresql postgresql-contrib libpq-dev
# Перезапускаем PostgreSQL
sudo systemctl restart postgresql
sudo systemctl enable postgresql
Создание пользователя и базы данных для Redmine
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;"
Установка Redmine на Ubuntu 24.04
Теперь перейдем непосредственно к установке Redmine. Этот процесс актуален для последних версий Ubuntu.
Загрузка и распаковка Redmine
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:
# config/database.yml
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: ваш_надежный_пароль
encoding: utf8
pool: 5
timeout: 5000
Установка зависимостей Ruby
bundle config set --local without 'development test'
bundle install
# Если возникнут ошибки с некоторыми гемами, установите дополнительные пакеты:
sudo apt install -y libmagickwand-dev libxslt1-dev libcurl4-openssl-dev
Инициализация базы данных и секретного ключа
# Генерация секретного ключа
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.
# Установка Passenger
sudo apt install -y nginx libnginx-mod-http-passenger
# Проверяем конфигурацию Passenger
sudo nano /etc/nginx/conf.d/mod-http-passenger.conf
Создаем конфигурационный файл для Redmine:
# /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 "";
}
}
# Активируем сайт и перезапускаем Nginx
sudo ln -s /etc/nginx/sites-available/redmine /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl restart nginx
Настройка SSL с Let's Encrypt
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d ваш_домен.com
# Следуй инструкциям мастера
Redmine установка в Docker Compose
Для тех, кто предпочитает контейнеризацию, вот самый простой и быстрый способ развертывания.
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
# Генерация секретного ключа для 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-уведомлений
# 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
# Создаем 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:
# Для классической установки
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
FAQ: Частые вопросы по установке Redmine
Какая версия Ruby нужна для Redmine 5?
Redmine 5.x требует Ruby 3.0 или выше. Для Ubuntu 24.04 это версия по умолчанию. Для более старых систем используйте RVM или rbenv для установки правильной версии.
Как сделать бэкап Redmine?
Используйте эту команду для создания полного бэкапа:
# Бэкап базы данных
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. Не забывайте про регулярные бэкапы, обновления и мониторинг.