Redmine — это бесплатное приложение с открытым исходным кодом для управления проектами и отслеживания проблем. Это кроссплатформенная и кросс-база данных, построенная на основе Ruby on Rails.
Redmine включает поддержку нескольких проектов, вики, систему отслеживания проблем, форумы, календари, уведомления по электронной почте и многое другое.
В этом руководстве мы покажем вам, как установить и настроить последнюю версию Redmine на сервере Debian 9, используя MySQL в качестве серверной части базы данных и Passenger + Nginx в качестве сервера приложений Ruby.
Содержание
Подготовка
Прежде чем продолжить работу с этим руководством, убедитесь, что вы выполнили следующие предварительные требования:
- Имейте доменное имя, указывающее на общедоступный IP-адрес вашего сервера. Мы будем использовать
example.com
. - Вы вошли в систему как пользователь с привилегиями sudo .
- Установите Nginx .
- Установите сертификат SSL для вашего домена.
Создание базы данных MySQL
Redmine поддерживает MySQL / MariaDB, Microsoft SQL Server, SQLite 3 и PostgreSQL . Мы будем использовать MariaDB в качестве серверной части базы данных. Убедитесь, что на вашем компьютере установлена как минимум MySQL 5.7 или MariaDB 10.3.
Если MariaDB или MySQL не установлены на вашем сервере Debian, вы можете установить их, следуя этим инструкциям .
Начните с входа в консоль MySQL, набрав:
sudo 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
на надежный.После этого выйдите из консоли MariaDB, набрав:
EXIT;
Установка Ruby
Самый простой способ установить Ruby в Debian — использовать менеджер пакетов apt
:
Установите Ruby, набрав:
sudo apt install ruby-full
На момент написания в репозиториях Debian стоит 2.3.3p222
которая поддерживается последней версией Redmine.
Если вы хотите установить Ruby через Rbenv или RVM, посетите это руководство .
Установка Passenger и Nginx
Passenger — это быстрый и легкий сервер веб-приложений для Ruby, Node.js и Python, который можно интегрировать с Apache и Nginx. Мы установим Passenger как модуль Nginx.
Убедитесь, что Nginx установлен, прежде чем продолжить следующие шаги.
Установка необходимых пакетов для включения репозитория https:
sudo apt install dirmngr gnupg apt-transport-https ca-certificates software-properties-common
Импортируйте ключ 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 stretch main'
Обновите список пакетов и установите модуль Passenger Nginx с помощью:
sudo apt update
sudo apt install libnginx-mod-http-passenger
Установка Redmine на Debian
Начните с установки зависимостей, необходимых для сборки Redmine:
sudo apt install build-essential libmariadbclient-dev imagemagick libmagickwand-dev curl ruby-dev libxslt-dev libxml2-dev zlib1g-dev
На момент написания этой статьи последней стабильной версией Redmine была версия 4.0.4.
Перед тем, как перейти к следующему шагу, вам следует проверить страницу загрузки Redmine, чтобы найти более новую версию.
1. Скачивание Redmine
Загрузите архив Redmine с помощью следующей команды curl :
sudo curl -L http://www.redmine.org/releases/redmine-4.0.4.tar.gz -o /tmp/redmine.tar.gz
После завершения загрузки извлеките архив и переместите его в каталог /opt
:
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.0.4 /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 в своей системе Debian. Теперь вам следует проверить документацию Redmine и узнать больше о том, как настроить и использовать Redmine.
Если вы столкнулись с проблемой или хотите оставить отзыв, оставьте комментарий ниже.