Як встановити Redmine на Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Частина 1

2/17/2020
10 minutes
Лукаш Беньа
Redmine - це веб-додаток з відкритим кодом для управління проектами та відстеження проблем. Він працює на базі Ruby on Rails і призначений для роботи на різних платформах та з різними базами даних. У цьому посібнику ви дізнаєтеся, як встановити Redmine на Amazon Web Services (AWS).

Є дві основні опції для встановлення Redmine на Amazon Web Services (AWS):

  • Використання звичайного екземпляру AWS Linux (EC2 або Lightsail) та вручну встановити Redmine, або
  • Використання попередньо налаштованого екземпляру Redmine Lightsail з одним кліком для встановлення.

Якщо ми оберемо першу опцію, ми будемо повністю контролювати кожний аспект нашого розгортання Redmine. З іншого боку, друга опція пропонує швидке та просте рішення, щоб мати Redmine в робочому стані за кілька хвилин, не займаючись всіма деталями встановлення та налаштування.

Перша частина цього підручника описує, як встановити Redmine на звичайному екземплярі AWS Linux.

Вимоги

Перш ніж розпочати процес, переконайтеся, що виконуються наступні вимоги:

  • У вас є обліковий запис Amazon Web Services з правами адміністратора.
  • У вас є доменне ім'я для вашої програми Redmine, таке як redmine.mydomain.com.
  • У вас є доступ до конфігурації DNS для вашого домену.

Встановлення Redmine на звичайному екземплярі Linux EC2 або LightSail

З метою цього підручника ми розуміємо, що ви вже запустили екземпляр AWS EC2 або Lightsail, що працює на Ubuntu 18.04 LTS.

Ми встановимо Redmine на цьому екземплярі Linux, використовуючи базу даних MySQL, веб-сервер NGINX та сервер додатків Phusion Passenger.

Налаштування DNS-сервера

Перед підключенням до вашого екземпляру вам потрібно налаштувати DNS. Створіть запис DNS для вашого домену Redmine (redmine.mydomain.com), спрямований на публічну IP-адресу вашого екземпляру AWS Linux.

Ви можете зробити це, використовуючи сервіс AWS Route 53.

Встановлення та налаштування бази даних MySQL

1. Встановіть сервер MySQL:

sudo apt update

sudo apt install mysql-server mysql-client

2. Виконайте початкову настройку сервера MySQL:

sudo mysql_secure_installation

Вам буде запропоновано:

  • активацію плагіну VALIDATE PASSWORD (відповідь - yes та вибір паролів STRONG)
  • вибір пароля користувача root.
  • видалення анонімних користувачів (відповідь - yes).
  • заборона входу root з віддаленого доступу (відповідь - no, якщо ви плануєте підключатися до бази даних ззовні вашого екземпляру Ubuntu Linux, відповідь - yes в іншому випадку).

3. Перевірте, що сервер MySQL працює:

sudo systemctl status mysql

(ви повинні побачити active (running) як частину відповіді команди)

4. Створіть нову базу даних та нового користувача бази даних для Redmine:

sudo mysql

mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4;

mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'password';

mysql > flush priviledges;

mysql > EXIT

Встановлення Ruby

Встановіть версію Ruby за замовчуванням для вашого дистрибутиву Linux. Якщо вам потрібна інша версія, ви можете використовувати RVM (Ruby Version Manager).

1. Встановіть Ruby:

Встановіть останню версію Ruby за допомогою Rbenv або RVM.


RVM

1. встановіть rvm, запустіть його, додайте до автозапуску

curl -sSL https://get.rvm.io | sudo bash -s master
source /etc/profile.d/rvm.sh
echo '[[ -s "/etc/profile.d/rvm.sh" ]] && source "/etc/profile.d/rvm.sh"' >> ~/.bashrc

2. Створіть користувача "easy" (або можете назвати його як завгодно, головне, щоб цей користувач працював з вашою програмою Redmine, а не користувач root. Це потрібно з міркувань безпеки)

useradd -m -G rvm -s /bin/bash easy

Також вам потрібно додати користувача "easy" до групи sudoers (ми повинні дозволити цьому користувачу запускати деякі команди з sudo)

usermod -a -G sudo easy

Якщо ви це зробили, ви можете пропустити наступний крок, оскільки після цієї команди ваш користувач вже відноситься до відповідної групи. Перейдіть до цього користувача

su - easy

3. додайте користувача до групи rvm

usermod -a -G rvm easy

Також вам потрібно додати користувача "easy" до групи sudoers (ми повинні дозволити цьому користувачу запускати деякі команди з sudo)

usermod -a -G sudo easy

Перейдіть до користувача "easy"

su - easy

4. встановіть Ruby

rvm install 2.6 --patch railsexpress

5. встановіть git

sudo apt-get install git

6. встановіть Ruby 2.6 як типовий

rvm use 2.6 --default

Частина в курсиві потрібна лише тоді, коли ви збираєтеся встановлювати Ruby з користувача, який не є root. Якщо ви вирішили залишити це, ви можете замінити ім'я користувача "easy" на "redmine".


Rbenv

Будь ласка, дотримуйтесь інструкцій у цій статті.


Встановіть NGINX та Passenger

NGINX є веб-сервером з відкритим кодом, призначеним для досягнення максимальної продуктивності та стабільності. Passenger є сервером застосунків з відкритим кодом, який інтегрується з NGINX для запуску програмного забезпечення Ruby, такого як Redmine, через веб. У нашому випадку нам потрібно встановити обидва.

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

sudo gem install bundler --no-rdoc --no-ri


Встановіть та налаштуйте Redmine

Перед продовженням встановлення перевірте останню доступну версію Redmine. Ви можете знайти її на сторінці завантажень Redmine.

image007

Сторінка завантажень Redmine

Запишіть вашу цільову версію та продовжуйте.

Примітка: Краще не встановлювати та не запускати Redmine від користувача root.


1. Встановіть залежності, необхідні для збірки Redmine:

sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev


2. Завантажте Redmine до вашого каталогу /tmp:

sudo curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o /tmp/redmine.tar.gz


3. Розпакуйте завантажений архів та скопіюйте файли програми до каталогу встановлення:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/


3. Налаштування бази даних Redmine


3.1. Відкрийте файл конфігурації бази даних (database.yml)

cd /var/www/html/redmine/config/

cp database.yml.example database.yml

sudo nano /var/www/html/redmine/config/database.yml


3.2. Застосуйте зміни, показані нижче, до розділу production файлу:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Встановіть залежності Ruby, необхідні для запуску Redmine:

cd /var/www/html/redmine/

sudo gem install bundler --no-rdoc --no-ri

sudo bundle install --without development test postgresql sqlite


3.4 Мігруйте базу даних та налаштуйте середовище виконання.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Налаштування NGINX

Це останній крок нашого підручника. Після завершення конфігурації NGINX у вас повинен бути повністю функціональний сервер Redmine, що працює на вашому Ubuntu 18.04 LTS.


1. Створіть віртуальний хост для вашого додатку Redmine:

sudo nano /etc/nginx/sites-available/redmine.mydomain.com


2. Введіть наступну конфігурацію віртуального хоста та збережіть файл:

server {

listen 80;

server_name redmine.mydomain.com;

root /var/www/html/redmine/public;

passenger_enabled on;

passenger_min_instances 1;

client_max_body_size 10m;

# redirect server error pages to the static page /50x.html

#

error_page 500 502 503 504 /50x.html;

location = /50x.html {

root html;

}

}


3. Увімкніть свій віртуальний хост, посиливши новостворений файл конфігурації у каталог sites-enabled:

sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com


4. Перевірте конфігурацію 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


5. Перезапустіть сервер NGINX:

sudo systemctl restart nginx


Доступ до Redmine

1. Відкрийте свій веб-браузер та введіть доменне ім'я Redmine в адресному рядку. З'явиться екран входу до Redmine.

image009

Початковий екран входу до Redmine

2. Увійдіть до свого серверу Redmine за допомогою типових облікових даних (ім'я користувача: admin та пароль: admin) та, якщо вас про це попросять, встановіть новий пароль для свого облікового запису адміністратора.

3. Нарешті, налаштуйте налаштування свого облікового запису адміністратора, включаючи вашу адресу електронної пошти та часовий пояс.

image011

Вітаємо! Ваш Redmine готовий!

Якщо ви хочете дізнатися про інші способи розгортання Redmine на Amazon Web Services (AWS), перегляньте другу частину цього навчального посібника.

Оновлення Redmine на вищий рівень? Легко.

Отримайте всі потужні інструменти для ідеального планування, управління та контролю проектів в одному програмному забезпеченні.

Спробуйте Easy Redmine у 30-денній безкоштовній пробній версії

Повнофункціональний, захищений SSL, щоденне резервне копіювання, у вашій геолокації