Jak nainstalovat Redmine na Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Část 1.

2/17/2020
10 minutes
Lukáš Beňa.
Redmine je open-source webová aplikace pro správu projektů a sledování problémů. Běží na platformě Ruby on Rails a je navržen tak, aby byl přenositelný mezi různými operačními systémy a databázemi. V této příručce se dozvíte, jak nainstalovat Redmine na Amazon Web Services (AWS).

Existují dvě hlavní možnosti, jak nainstalovat Redmine na Amazon Web Services (AWS):

  • Použití běžné AWS Linuxové instance (EC2 nebo Lightsail) a ruční instalace Redmine, nebo
  • Použití předkonfigurované instance Redmine Lightsail, kterou lze nainstalovat jedním kliknutím.

Pokud zvolíme první možnost, budeme mít plnou kontrolu nad každým aspektem naší Redmine instalace. Na druhé straně druhá možnost nabízí rychlé a snadné řešení, jak mít Redmine spuštěný během několika minut, aniž bychom se museli zabývat všemi detaily instalace a konfigurace.

První část tohoto návodu popisuje, jak nainstalovat Redmine na běžné AWS Linuxové instanci.

Předpoklady

Před zahájením procesu se ujistěte, že jsou splněny následující předpoklady:

  • Máte účet Amazon Web Services s administrátorskými oprávněními.
  • Máte doménové jméno pro vaši aplikaci Redmine, jako například redmine.mydomain.com.
  • Máte přístup k DNS konfiguraci vaší domény.

Instalace Redmine na běžné Linuxové instanci EC2 nebo LightSail

Pro účely tohoto návodu předpokládáme, že jste již spustili instanci AWS EC2 nebo Lightsail s Ubuntu 18.04 LTS.

Nainstalujeme Redmine na této Linuxové instanci pomocí databáze MySQL, webového serveru NGINX a aplikačního serveru Phusion Passenger.

Nakonfigurujte DNS server

Před připojením k vaší instanci musíte nakonfigurovat DNS. Vytvořte DNS záznam pro vaše doménové jméno Redmine (redmine.mydomain.com), který bude směrovat na veřejnou IP adresu vaší AWS Linuxové instance.

Můžete to udělat pomocí služby AWS Route 53.

Instalace a konfigurace databáze MySQL

1. Instalace MySQL serveru:

sudo apt update

sudo apt install mysql-server mysql-client

2. Proveďte počáteční konfiguraci MySQL serveru:

sudo mysql_secure_installation

Budete vyzváni k:

  • aktivaci pluginu VALIDATE PASSWORD (řekněte ano a zvolte silné heslo)
  • vybrání hesla pro uživatele root.
  • odstranění anonymních uživatelů (řekněte ano).
  • zakázání vzdáleného přihlašování roota (řekněte ne, pokud plánujete připojení k databázi zvenčí vaší Ubuntu Linuxové instance, jinak řekněte ano).

3. Zkontrolujte, že MySQL server běží:

sudo systemctl status mysql

(měli byste vidět active (running) jako součást odpovědi na příkaz)

4. Vytvořte novou databázi a nového uživatele databáze pro 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

Instalace Ruby

Nainstalujte výchozí verzi Ruby pro vaši Linuxovou distribuci. Pokud potřebujete jinou verzi, můžete použít RVM (Ruby Version Manager).

1. Instalace Ruby:

Nainstalujte nejnovější verzi Ruby pomocí Rbenv nebo RVM.


RVM

1. nainstalujte rvm, spusťte ho, přidejte do autostartu

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. Vytvořte uživatele "easy" (nebo ho můžete pojmenovat podle svého uvážení, důležité je, aby tento uživatel pracoval s vaší aplikací Redmine, nikoli jako uživatel root. To by mělo být z bezpečnostních důvodů)

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

Také musíte přidat uživatele "easy" do skupiny sudoers (měli bychom tomuto uživateli povolit spouštění některých příkazů z sudo)

usermod -a -G sudo easy

Pokud jste to udělali, můžete přeskočit další krok, protože po této příkazu je váš uživatel již v odpovídající skupině. Přepněte se na tohoto uživatele

su - easy

3. přidejte uživatele do skupiny rvm

usermod -a -G rvm easy

Také musíte přidat uživatele "easy" do skupiny sudoers (měli bychom tomuto uživateli povolit spouštění některých příkazů z sudo)

usermod -a -G sudo easy

Přepněte se na uživatele "easy"

su - easy

4. nainstalujte ruby

rvm install 2.6 --patch railsexpress

5. nainstalujte git

sudo apt-get install git

6. nastavte ruby 2.6 jako výchozí

rvm use 2.6 --default

Část v kursivě je potřebná pouze pokud chcete nainstalovat ruby z uživatele, který není root. Pokud se rozhodnete ji nechat, můžete jméno uživatele "easy" nahradit jménem "redmine".


Rbenv

Postupujte podle instrukcí v tomto článku.


Nainstalujte NGINX a Passenger

NGINX je webový server s otevřeným zdrojovým kódem navržený pro maximální výkon a stabilitu. Passenger je aplikační server s otevřeným zdrojovým kódem, který se integruje s NGINX pro běh Ruby software, jako je Redmine, přes web. V našem případě musíme nainstalovat oba.

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

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


Nainstalujte a nakonfigurujte Redmine

Před pokračováním instalace zkontrolujte nejnovější verzi Redmine, která je k dispozici. Můžete ji najít na stránce Stahování Redmine.

image007

Stránka ke stažení Redmine

Zapište si cílovou verzi a pokračujte.

Poznámka: Je lepší nenainstalovat a neprovozovat Redmine z uživatele root.


1. Nainstalujte závislosti potřebné pro sestavení Redmine:

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


2. Stáhněte Redmine do vašeho adresáře /tmp:

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


3. Rozbalte stažený archiv a zkopírujte aplikace do instalačního adresáře:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

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


3. Nakonfigurujte nastavení databáze Redmine


3.1. Otevřete konfigurační soubor databáze (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. Použijte následující změny v sekci production souboru:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Nainstalujte Ruby závislosti potřebné pro spuštění Redmine:

cd /var/www/html/redmine/

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

sudo bundle install --without development test postgresql sqlite


3.4 Přesuňte databázi a nakonfigurujte běhové prostředí.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Nakonfigurujte NGINX

Toto je poslední krok našeho návodu. Po dokončení konfigurace NGINX byste měli mít plně funkční server Redmine běžící na vaší Ubuntu 18.04 LTS.


1. Vytvořte virtuální host pro vaši aplikaci Redmine:

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


2. Zadejte následující konfiguraci virtuálního hosta a uložte soubor:

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. Povolte váš virtuální host propojením nově vytvořeného konfiguračního souboru do adresáře sites-enabled:

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


4. Ověřte vaši konfiguraci NGINX:

sudo nginx -t

VÝSTUP PŘÍKAZU:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful


5. Restartujte server NGINX:

sudo systemctl restart nginx


Přístup k Redmine

1. Otevřete svůj webový prohlížeč a zadejte název vašeho Redmine domény do adresního řádku. Zobrazí se přihlašovací obrazovka Redmine.

image009

Přihlašovací obrazovka Redmine

2. Přihlaste se ke svému Redmine serveru pomocí výchozích přihlašovacích údajů (uživatelské jméno: admin a heslo: admin) a při vyzvání nastavte nové heslo pro svůj admin účet.

3. Nakonec nastavte své nastavení účtu admina, včetně vaší e-mailové adresy a časového pásma.

image011

Blahopřejeme! Váš Redmine je připraven!

Pokud chcete objevit další způsoby nasazení Redmine na Amazon Web Services (AWS), podívejte se na druhou část tohoto tutoriálu.

Ultimátní upgrade Redmine? Snadné.

Získejte všechny mocné nástroje pro dokonalé plánování, řízení a kontrolu projektů v jednom softwaru.

Vyzkoušejte Easy Redmine na 30 dní zdarma

Kompletní funkce, chráněno protokolem SSL, denní zálohování, ve vaší lokalitě.