Гид по технологиям

Установка Redmine 3 на Ubuntu 15.10 с Nginx и MySQL

• 6 min read • Инструкции • Обновлено 26 Nov 2025
Установка Redmine 3 на Ubuntu с Nginx и MySQL
Установка Redmine 3 на Ubuntu с Nginx и MySQL

О чём эта инструкция

Redmine — это веб‑приложение для управления проектами и трекинга задач на базе Ruby on Rails. Руководство показывает установку Redmine 3.2‑stable на Ubuntu 15.10 (64‑бит) с использованием MySQL и Nginx+Passenger. Оно подходит для администраторов Linux и инженеров DevOps, которые хотят запустить самостоятельный сервер Redmine.

Важно: в примерах используются демонстрационные пароли (например, “redmine”). Замените их на надёжные пароли в реальной среде.

Ключевые требования

  • Ubuntu 15.10 — 64‑бит. Если у вас другая версия Ubuntu, обратите внимание на обновлённые пакеты и пути.
  • Root‑привилегии.

Шаг 1 — Установка зависимостей

Redmine требует ряда системных библиотек. Выполните под root:

sudo su  
apt-get update

Установите нужные пакеты:

apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion

Во время установки MySQL вам будет предложено задать пароль root. Выберите надёжный пароль и запомните его.

Шаг 2 — Установка RVM и Ruby

В этом руководстве используется RVM (Ruby Version Manager) и Ruby 2.0, совместимая с Redmine 3.2.

gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3  
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0

Перезагрузите окружение RVM и добавьте автозагрузку в .bashrc:

source /usr/local/rvm/scripts/rvm  
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

Примечание: при использовании других версий Redmine проверьте поддерживаемые версии Ruby в документации проекта.

Шаг 3 — Настройка базы данных MySQL для Redmine

Войдите в MySQL под root:

mysql -u root -p  
TYPE YOUR PASSWORD

Создайте базу и пользователя (замените пароль на сложный в проде):

create database redmine;  
create user redmine@localhost identified by 'redmine';  
grant all privileges on redmine.* to redmine@localhost identified by 'redmine';  
flush privileges;  
q\

Проверьте, что база и пользователь созданы.

Шаг 4 — Установка Phusion Passenger и Nginx

Phusion Passenger интегрируется с Nginx и позволяет запускать Ruby‑приложения. Установим passenger как gem и соберём модуль nginx с поддержкой Passenger:

gem install passenger --no-ri --no-rdoc  
passenger-install-nginx-module

Во время инсталлятора выберите поддержку Ruby (и Python, если нужно). Для установки Nginx выберите вариант “Yes: download, compile and install Nginx for me. (recommended)” и используйте директорию по умолчанию /opt/nginx/.

Важно: компиляция nginx займёт время. Убедитесь, что на сервере есть доступ к интернету и достаточное место на диске.

Шаг 5 — Конфигурация Nginx

Отредактируйте конфигурацию Nginx:

cd /opt/nginx/conf/  
vim nginx.conf

В блоке server задайте имя хоста и корень сайта:

server {  
  .......  
  listen  80;  
  server_name www.redmine.me;  
  root /var/www/redmine/public;  
  passenger_enabled on;  
  client_max_body_size      10m; # Max attachment size  
  ........  
}

Закомментируйте стандартный блок location, если он конфликтует:

#location / {  
#    root   html;  
#    index  index.html index.htm;  
#}

Создайте systemd‑сервис для Nginx:

cd /lib/systemd/system/  
vim nginx.service

Вставьте скрипт сервиса:

[Unit]  
Description=The NGINX HTTP and reverse proxy server  
After=syslog.target network.target remote-fs.target nss-lookup.target  
  
[Service]  
Type=forking  
PIDFile=/opt/nginx/logs/nginx.pid  
ExecStartPre=/opt/nginx/sbin/nginx -t  
ExecStart=/opt/nginx/sbin/nginx  
ExecReload=/bin/kill -s HUP $MAINPID  
ExecStop=/bin/kill -s QUIT $MAINPID  
PrivateTmp=true  
  
[Install]  
WantedBy=multi-user.target

Перезагрузите systemd и запустите Nginx:

systemctl daemon-reload  
systemctl start nginx

Проверка порта 80:

netstat -plntu | grep nginx  
  
tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4871/nginx

Если Nginx не стартует — проверьте журналы /opt/nginx/logs/error.log и вывод проверок конфигурации.

Шаг 6 — Установка Redmine

Создайте директорию для сайта и скачайте исходники Redmine (через SVN):

mkdir -p /var/www/  
cd /var/www/  
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine

Скопируйте пример конфигураций:

cd redmine  
cp config/configuration.yml.example config/configuration.yml  
cp config/database.yml.example config/database.yml

Отредактируйте config/database.yml и заполните секцию production данными вашей MySQL:

production:  
  adapter: mysql2  
  database: redmine  
  host: localhost  
  username: redmine  
  password: "redmine"  
  encoding: utf8

Создайте временные каталоги и выставьте владельца www-data:

mkdir -p tmp tmp/pdf public/plugin_assets  
sudo chown -R www-data:www-data files log tmp public/plugin_assets  
sudo chmod -R 775 files log tmp public/plugin_assets

Установите bundler и зависимости гемов:

gem install bundler  
bundle install --without development test

Сгенерируйте секретный токен и выполните миграции:

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

Перезапустите Nginx и проверьте доступность сайта:

systemctl restart nginx

Откройте в браузере адрес, соответствующий server_name, например: http://www.redmine.me

Домашняя страница Redmine.

Войдите в админку: http://www.redmine.me/login
Учётные данные по умолчанию: admin / admin (обязательно смените пароль).

Страница входа Redmine.

Создайте тестовый проект для проверки.

Создание нового проекта в Redmine.

Пример страницы проекта в Redmine.

Страница тестового проекта Redmine.

Проверки после установки

  • Войдите в систему и проверьте создание задач и загрузку файлов.
  • Проверьте, что вложения не превышают client_max_body_size в nginx.conf.
  • Убедитесь, что cron‑задачи для отправки почты и удаления сессий настроены при необходимости.

Безопасность и рекомендации

  • Смените все учетные записи по умолчанию, включая пароль MySQL и admin Redmine.
  • Закройте доступ к MySQL из сети, оставьте доступ только с localhost.
  • Настройте бэкапы базы и каталога files (регулярно).
  • Рассмотрите использование HTTPS (Let’s Encrypt) для защиты передачи паролей и данных.

Важно: Redmine хранит пользовательские данные и файлы. Если обрабатываются персональные данные, проверьте требования законодательства о защите данных и настройте соответствующие политики хранения и удаления.

Альтернативные подходы

  • Apache + Passenger: альтернатива Nginx, если вам привычнее конфигурирование Apache.
  • Docker: контейнеризация упрощает переносимость и изоляцию — идеальна для тестовых сред.
  • Использовать PostgreSQL: Redmine полно поддерживает PostgreSQL; она часто предпочтительнее для продакшен‑инсталляций.

Когда этот подход не подходит

  • У вас ограничена оперативная память или отсутствует компилятор — сборка Nginx с модулем займёт ресурсы.
  • Требуется кластеризация и высокая доступность на уровне нескольких приложений — рассмотрите балансировщик и отдельные приложения/базы данных.

Быстрые шаблоны и чеклисты

Роль: Системный администратор — что сделать после установки:

  • Сменить пароли (MySQL root, redmine, admin).
  • Настроить HTTPS и HSTS.
  • Запланировать бэкапы БД и файлов.
  • Ограничить доступ к MySQL через bind‑address.
  • Проверить логи Nginx и Rails на ошибки.

Роль: Менеджер проекта — быстрый чек:

  • Зарегистрироваться и создать проект.
  • Создать первую задачу и прикрепить файл.
  • Настроить роли и права доступа.

Модель принятия решения (короткая)

Если вам нужна простая автономная инсталляция — использовать Ubuntu + Nginx + MySQL + Passenger.
Если приоритет — контейнеризация и масштабируемость — рассмотреть Docker/Kubernetes и отдельный сервис БД.

Факты и полезные числа

  • Поддерживаемые языки: переводы для 42 языков.
  • Основные базы: MySQL, PostgreSQL, MS SQL Server, SQLite.
  • Рекомендуемая учётная запись веб‑сервера: www-data для доступа к файлам приложения.

Критерии приёмки

  • Сайт загружается по HTTP(S) и страница входа отображается.
  • Можно войти под admin и создать проект.
  • Прикрепление файла работает и сохраняется в каталог files.
  • Миграции БД выполнены без ошибок.

Короткая инструкция для анонса (100–200 слов)

Развёртывание Redmine 3 на Ubuntu 15.10 с Nginx и MySQL — подробная пошаговая инструкция для администраторов. Документ покрывает установку системных зависимостей, настройку RVM и Ruby 2.0, создание базы данных MySQL, сборку Nginx с Phusion Passenger, установку Redmine из SVN и финальную конфигурацию приложения. Включены рекомендации по безопасности, чек‑листы для ролей и альтернативные подходы (Apache, Docker, PostgreSQL). Инструкция поможет быстро запустить локальный или корпоративный инстанс Redmine с минимальными усилиями.

Короткий анонс для соцсетей

Запустили Redmine 3 на Ubuntu + Nginx + MySQL: подробный гайд с проверенными шагами, проверками и советами по безопасности. Идеально для быстрой инсталляции и тестирования рабочей среды.

Глоссарий — одно предложение на термин

  • RVM: менеджер версий Ruby для установки и переключения между окружениями.
  • Passenger: модуль для запуска Ruby‑приложений в Nginx/Apache.
  • bundle: инструмент для управления зависимостями Ruby (gems).

Заключение

Эта инструкция покрывает все основные шаги для развёртывания Redmine 3 на Ubuntu 15.10 с использованием Nginx и MySQL. После установки убедитесь в безопасности инстанса: смените пароли, настроьте HTTPS и организуйте резервное копирование. Для продакшен‑среды рассмотрите миграцию на более новые версии ОС и компонентов, а также контейнеризацию для упрощения развертывания и масштабирования.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Несколько аккаунтов Skype: Multi Skype Launcher
Программное обеспечение

Несколько аккаунтов Skype: Multi Skype Launcher

Журнал для работы: повысить продуктивность
Productivity

Журнал для работы: повысить продуктивность

Персональные звуки уведомлений на Android
Android.

Персональные звуки уведомлений на Android

Скачивание шоу Hulu для офлайн‑просмотра
Стриминг

Скачивание шоу Hulu для офлайн‑просмотра

Microsoft Start: персонализированная новостная лента
Новости

Microsoft Start: персонализированная новостная лента

Как изменить имя в Epic Games быстро
Гайды

Как изменить имя в Epic Games быстро