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

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.
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.
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.
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.