Redmine — это мощный инструмент с открытым исходным кодом для управления проектами и отслеживания проблем, который становится все более популярным среди разработчиков, менеджеров проектов и организаций всех размеров. Его гибкость, обширный набор функций и возможности настройки делают его отличным выбором для команд, стремящихся оптимизировать рабочие процессы своих проектов. В этом подробном руководстве мы познакомим вас с процессом установки Redmine в Ubuntu 24.04, последней версии популярного дистрибутива Linux с долгосрочной поддержкой.
Ubuntu 24.04, известная своей стабильностью и надежной системой управления пакетами, обеспечивает идеальную платформу для размещения Redmine. Следуя этому пошаговому руководству, вы сможете настроить полнофункциональный экземпляр Redmine, готовый улучшить возможности совместной работы и управления проектами вашей команды.
Предварительные условия
Прежде чем мы углубимся в процесс установки, давайте убедимся, что у вас есть все необходимое для успешной настройки Redmine в вашей системе Ubuntu 24.04:
- Чистая установка Ubuntu 24.04 LTS (серверная или настольная версия).
- Root-доступ или sudo-доступ к системе
- Стабильное подключение к Интернету для загрузки пакетов
- Не менее 2 ГБ ОЗУ (для оптимальной производительности рекомендуется 4 ГБ или более)
- Минимум 10 ГБ свободного места на диске
Кроме того, вы должны иметь базовое представление об интерфейсе командной строки Linux, поскольку в этом руководстве мы будем использовать команды терминала.
Обновление системы
Откройте терминал и выполните следующие команды:
sudo apt update
sudo apt upgrade -y
Это обновит списки пакетов и обновит все установленные пакеты до последних версий.
Установка основных зависимостей
Далее мы установим несколько необходимых пакетов, от которых зависит Redmine:
sudo apt install -y build-essential libssl-dev libreadline-dev zlib1g-dev libcurl4-openssl-dev libmysqlclient-dev libpq-dev
Настройка брандмауэра
Если вы используете брандмауэр Ubuntu по умолчанию (UFW), вам необходимо разрешить трафик HTTP и HTTPS:
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
Установка Ruby
Redmine построен на Ruby, поэтому нам необходимо установить правильную версию. Хотя Ubuntu 24.04 поставляется с предустановленным Ruby, зачастую это более старая версия. Мы будем использовать RVM (менеджер версий Ruby) для установки версий Ruby и управления ими.
Установка RVM
Сначала установите необходимые зависимости для RVM:
sudo apt install -y gnupg2 curl
Теперь установите RVM:
curl -sSL https://get.rvm.io | bash -s stable
source ~/.rvm/scripts/rvm
Установка Ruby
Установите последнюю стабильную версию Ruby:
rvm install ruby --latest
rvm use ruby --latest --default
Проверка установки
Убедитесь, что Ruby установлен правильно:
ruby --version
Вы должны увидеть выходные данные, указывающие установленную версию Ruby.
Настройка базы данных
Redmine поддерживает несколько систем баз данных, но наиболее часто используются PostgreSQL и MySQL. Мы рассмотрим оба варианта, чтобы вы могли выбрать тот, который лучше всего соответствует вашим потребностям.
Вариант 1. Установка и настройка PostgreSQL
Чтобы установить PostgreSQL:
sudo apt install -y postgresql postgresql-contrib
Создайте базу данных и пользователя для Redmine:
sudo -u postgres psql
CREATE DATABASE redmine;
CREATE USER redmine WITH PASSWORD 'your_password';
GRANT ALL PRIVILEGES ON DATABASE redmine TO redmine;
\q
Вариант 2. Установка и настройка MySQL
Чтобы установить MySQL:
sudo apt install -y mysql-server mysql-client
Защитите установку MySQL:
sudo mysql_secure_installation
Создайте базу данных и пользователя для Redmine:
sudo mysql -u root -p
CREATE DATABASE redmine CHARACTER SET utf8mb4;
CREATE USER 'redmine'@'localhost' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON redmine.* TO 'redmine'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Установка Redmine
Теперь, когда наша среда настроена, давайте установим сам Redmine.
Скачиваем Redmine
Загрузите последнюю стабильную версию Redmine:
cd /opt
sudo wget https://www.redmine.org/releases/redmine-5.1.3.tar.gz
sudo tar xzf redmine-5.1.3.tar.gz
sudo mv redmine-5.1.3 redmine
sudo chown -R $USER:$USER redmine
Настройка Redmine
Скопируйте пример файла конфигурации базы данных:
cd /opt/redmine
cp config/database.yml.example config/database.yml
Отредактируйте файл конфигурации в соответствии с настройками вашей базы данных:
nano config/database.yml
Для PostgreSQL используйте:
production:
adapter: postgresql
database: redmine
host: localhost
username: redmine
password: "your_password"
encoding: utf8
Для MySQL используйте:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "your_password"
encoding: utf8mb4
Установка необходимых драгоценных камней
Установите необходимые драгоценные камни Ruby:
gem install bundler
bundle install --without development test
Настройка Redmine
После установки Redmine нам необходимо выполнить некоторые дополнительные шаги по настройке.
Генерация секретного токена
Создайте секретный токен для безопасной обработки сеанса:
bundle exec rake generate_secret_token
Настройка схемы базы данных
Создайте схему базы данных и загрузите данные по умолчанию:
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production REDMINE_LANG=en bundle exec rake redmine:load_default_data
Настройка параметров электронной почты
Скопируйте пример файла конфигурации:
cp config/configuration.yml.example config/configuration.yml
nano config/configuration.yml
Отредактируйте настройки электронной почты в соответствии с конфигурацией вашего SMTP-сервера.
Настройка веб-сервера
Для обслуживания Redmine мы будем использовать Nginx в качестве веб-сервера и Passenger в качестве сервера приложений.
Установка Nginx и Passenger
sudo apt install -y nginx
gem install passenger
passenger-install-nginx-module
Следуйте инструкциям на экране, чтобы завершить установку Passenger.
Настройка Nginx
Отредактируйте файл конфигурации Nginx:
sudo nano /etc/nginx/nginx.conf
Добавьте следующий блок сервера в блок http:
server {
listen 80;
server_name your_domain.com;
root /opt/redmine/public;
passenger_enabled on;
client_max_body_size 10m;
}
Перезапустите Nginx, чтобы применить изменения:
sudo systemctl restart nginx
Безопасность Redmine
Безопасность имеет решающее значение для любого веб-приложения. Давайте реализуем некоторые базовые меры безопасности для нашей установки Redmine.
Реализация SSL/TLS
Чтобы включить HTTPS, вам понадобится сертификат SSL. Вы можете получить бесплатный сертификат от Let’s Encrypt:
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d your_domain.com
Следуйте инструкциям, чтобы завершить установку сертификата и настройку Nginx.
Настройка аутентификации пользователя
Redmine обеспечивает встроенную аутентификацию пользователя. Для повышения безопасности рассмотрите возможность внедрения двухфакторной аутентификации или интеграции с LDAP, если это необходимо для вашей организации.
Настройка регулярного резервного копирования
Создайте сценарий резервного копирования, чтобы регулярно сохранять данные Redmine:
#!/bin/bash
BACKUP_DIR="/path/to/backup/directory"
REDMINE_DIR="/opt/redmine"
DB_NAME="redmine"
DB_USER="redmine"
DB_PASS="your_password"
# Backup files
tar -czf $BACKUP_DIR/redmine_files_$(date +%Y%m%d).tar.gz $REDMINE_DIR
# Backup database
pg_dump -U $DB_USER $DB_NAME > $BACKUP_DIR/redmine_db_$(date +%Y%m%d).sql
# Or for MySQL:
# mysqldump -u $DB_USER -p$DB_PASS $DB_NAME > $BACKUP_DIR/redmine_db_$(date +%Y%m%d).sql
Запланируйте регулярный запуск этого сценария с помощью cron.
Устранение распространенных проблем
Даже при тщательной установке вы можете столкнуться с некоторыми проблемами. Вот решения распространенных проблем:
Проблемы с подключением к базе данных
Если Redmine не может подключиться к базе данных, дважды проверьте файл data.yml на наличие правильных учетных данных. Убедитесь, что сервер базы данных работает и доступен.
Конфликты версий Ruby
Если вы столкнулись с конфликтом версий Ruby, убедитесь, что вы используете правильную версию, указанную в требованиях Redmine. При необходимости используйте RVM для переключения между версиями Ruby.
Ошибки конфигурации веб-сервера
Проверьте журналы ошибок Nginx (/var/log/nginx/error.log
) для решения любых проблем с конфигурацией. Убедитесь, что пассажирский модуль правильно установлен и серверный блок правильно настроен.