Redmine — один из самых популярных программных инструментов для управления проектами и отслеживания проблем с открытым исходным кодом. Это кроссплатформенная и кросс-база данных, построенная на основе Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве описывается, как установить и настроить последнюю версию Redmine на сервере Ubuntu 18.04 с использованием MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.
Содержание
Подготовка
Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:
- У вас есть доменное имя, указывающее на общедоступный IP-адрес вашего сервера. В этом руководстве мы будем использовать
example.com
. - Вы вошли в систему как пользователь с привилегиями sudo .
- У вас установлен Nginx, следуя этим инструкциям .
- У вас установлен сертификат SSL для вашего домена. Вы можете установить бесплатный SSL-сертификат Let's Encrypt, следуя этим инструкциям .
Создание базы данных MySQL
Redmine поддерживает MySQL / MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . В этом руководстве мы будем использовать MySQL в качестве серверной части базы данных.
Если на вашем сервере Ubuntu еще не установлен MySQL, вы можете установить его, следуя этим инструкциям .
Войдите в оболочку MySQL, набрав следующую команду:
sudo mysql
В оболочке MySQL запустите следующий оператор SQL, чтобы создать новую базу данных :
CREATE DATABASE redmine CHARACTER SET utf8mb4;
Затем создайте учетную запись пользователя MySQL и предоставьте доступ к базе данных :
GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
change-with-strong-password
с надежным паролем.После этого выйдите из консоли mysql, набрав:
EXIT;
Установка Ruby
Самый простой способ установить Ruby в вашей системе Ubuntu — использовать менеджер пакетов apt
. На момент написания в репозиториях Ubuntu стоит версия 2.5.1, которая является последней стабильной версией Ruby.
Установите Ruby, набрав:
sudo apt install ruby-full
Если вы хотите установить Ruby через Rbenv или RVM, ознакомьтесь с этим руководством .
Установка Passenger и Nginx
Passenger — это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Nginx.
Убедитесь, что вы выполнили предварительные требования и установили Nginx, прежде чем продолжить следующие шаги.
Начнем с установки необходимых пакетов:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates
Импортируйте ключ GPG репозитория и включите репозиторий Phusionpassenger :
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 561F9B9CAC40B2F7
sudo add-apt-repository 'deb https://oss-binaries.phusionpassenger.com/apt/passenger bionic main'
После включения репозитория apt обновите список пакетов и установите модуль Passenger Nginx с помощью:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Установка Redmine на Ubuntu
Начнем с установки зависимостей, необходимых для сборки Redmine:
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev
На момент написания этой статьи последней стабильной версией Redmine была версия 4.0.0.
Перед тем, как перейти к следующему шагу, вам следует проверить страницу загрузки Redmine, чтобы узнать, доступна ли более новая версия.
1. Скачивание Redmine
Загрузите архив Redmine с помощью следующей команды curl :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.0.tar.gz -o /tmp/redmine.tar.gz
После завершения загрузки извлеките архив и переместите его в каталог /opt
:
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.0 /opt/redmine
2. Настройка базы данных Redmine.
Начните с копирования примера файла конфигурации Redmine:
sudo cp /opt/redmine/config/database.yml.example /opt/redmine/config/database.yml
Откройте файл в текстовом редакторе:
sudo nano /opt/redmine/config/database.yml
Найдите production
раздел и введите базу данных MySQL и информацию о пользователе, которую мы создали ранее:
production:
adapter: mysql2
database: redmine
host: localhost
username: redmine
password: "change-with-strong-password"
encoding: utf8
После этого сохраните файл и выйдите из редактора.
3. Установка зависимостей Ruby
Перейдите в каталог redmine и установите бандлер и другие зависимости Ruby:
cd /opt/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite
4. Сгенерируйте ключи и перенесите базу данных.
Выполните следующую команду, чтобы сгенерировать ключи и перенести базу данных:
cd /opt/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
5. Установите правильные разрешения.
Nginx работает как пользователь и группа www-data
. Установите правильные разрешения, выполнив следующую команду chown :
sudo chown -R www-data: /opt/redmine/
Настроить Nginx
К настоящему времени у вас уже должен быть установлен Nginx с сертификатом SSL в вашей системе, если нет, проверьте предварительные требования для этого руководства.
Откройте текстовый редактор и создайте следующий файл блока сервера Nginx :
sudo nano /etc/nginx/sites-available/example.com
# Redirect HTTP -> HTTPS
server {
listen 80;
server_name www.example.com example.com;
include snippets/letsencrypt.conf;
return 301 https://example.com$request_uri;
}
# Redirect WWW -> NON WWW
server {
listen 443 ssl http2;
server_name www.example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
return 301 https://example.com$request_uri;
}
server {
listen 443 ssl http2;
server_name example.com;
root /opt/redmine/public;
# SSL parameters
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
include snippets/ssl.conf;
include snippets/letsencrypt.conf;
# log files
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
passenger_enabled on;
passenger_min_instances 1;
client_max_body_size 10m;
}
Включите блокировку сервера, создав символическую ссылку на каталог sites-enabled
:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
Перед перезапуском сервиса Nginx проверьте, нет ли синтаксических ошибок:
sudo nginx -t
Если ошибок нет, результат должен выглядеть так:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
Наконец, перезапустите службу Nginx , набрав:
sudo systemctl restart nginx
Доступ к Redmine
Откройте браузер , введите свой домен и, если установка прошла успешно, появится экран, подобный следующему:
Учетные данные для входа в Redmine по умолчанию:
- Имя пользователя: admin
- Пароль: admin
При первом входе в систему вам будет предложено изменить пароль, как показано ниже:
После изменения пароля вы будете перенаправлены на страницу учетной записи пользователя.
Выводы
Вы успешно установили Redmine в своей системе Ubuntu. Теперь вам следует проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.