Sådan installeres Redmine på Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Del 1

Der er to hovedmuligheder for at installere Redmine på Amazon Web Services (AWS):
- Brug af en almindelig AWS Linux-instans (EC2 eller Lightsail) og manuelt installere Redmine, eller
- Brug af en forudkonfigureret enklik-for-at-installere Redmine Lightsail-instans.
Hvis vi vælger den første mulighed, vil vi have fuld kontrol over alle aspekter af vores Redmine-implementering. På den anden side tilbyder den anden mulighed en hurtig og nem løsning for at få Redmine op at køre på få minutter uden at skulle involvere sig i alle installations- og konfigurationsdetaljer.
Første del af denne vejledning beskriver, hvordan man installerer Redmine på en almindelig AWS Linux-instans.
Forudsætninger
Før du starter processen, skal du sikre dig, at følgende forudsætninger er opfyldt:
- Du har en Amazon Web Services-konto med administratorrettigheder.
- Du har et domænenavn til din Redmine-applikation, f.eks. redmine.mydomain.com.
- Du har adgang til DNS-konfigurationen for dit domæne.
Installation af Redmine på en almindelig Linux EC2- eller LightSail-instans
Til formålet med denne vejledning antager vi, at du allerede har startet en AWS EC2- eller Lightsail-instans, der kører Ubuntu 18.04 LTS.
Vi vil installere Redmine på denne Linux-instans ved hjælp af MySQL-database, NGINX-webserver og Phusion Passenger-applikationsserver.
Konfigurer DNS-serveren
Før du opretter forbindelse til din instans, skal du konfigurere din DNS. Opret en DNS-post for dit Redmine-domænenavn (redmine.mydomain.com), der peger på den offentlige IP-adresse for din AWS Linux-instans.
Du kan gøre dette ved hjælp af AWS Route 53-tjenesten.
DNS-konfiguration ved hjælp af AWS Route 53
Den offentlige IP-adresse for din Ubuntu 18.04 LTS-instans kan findes i din EC2 Management Console eller i din Lightsail Console.
AWS EC2 Management Console
AWS Lightsail Console
Når din DNS-post er konfigureret, skal du oprette forbindelse til din Linux-instans og fuldføre følgende trin.
Installer og konfigurer MySQL-databasen
1. Installer MySQL-serveren:
sudo apt update
sudo apt install mysql-server mysql-client
2. Udfør den indledende konfiguration af MySQL-serveren:
sudo mysql_secure_installation
Du bliver bedt om:
- aktivering af VALIDATE PASSWORD PLUGIN (sig ja og vælg STÆRKE adgangskoder)
- valg af rodbrugeradgangskoden.
- fjernelse af anonyme brugere (sig ja).
- forbyde rod-fjernadgang (sig nej, hvis du planlægger at oprette forbindelse til databasen udefra din Ubuntu Linux-instans, sig ja ellers).
3. Kontroller, at MySQL-serveren kører:
sudo systemctl status mysql
(du skal se aktiv (kører) som en del af kommandoens svar)
4. Opret en ny database og en ny databasebruger til 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
Installer Ruby
Installer den standard Ruby-version til din Linux-distribution. Hvis du har brug for en anden version, kan du bruge RVM (Ruby Version Manager).
1. Installer Ruby:
Installer den nyeste version af Ruby ved hjælp af Rbenv eller RVM.
RVM
1. Installer rvm, kør det, tilføj til autostart
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. Opret bruger "easy" (eller du kan navngive det som du ønsker, pointen er, at denne bruger vil arbejde med din redmine-applikation, ikke root-brugeren. Det skal gøres af sikkerhedsmæssige årsager)
useradd -m -G rvm -s /bin/bash easy
Du skal også tilføje brugeren "easy" til sudoers-gruppen (vi skal tillade denne bruger at køre nogle kommandoer fra sudo)
usermod -a -G sudo easy
Hvis du har gjort dette, kan du springe næste trin over, fordi efter denne kommando er din bruger allerede i den rigtige gruppe. Skift til denne bruger
su - easy
3. Tilføj brugeren til rvm-gruppen
usermod -a -G rvm easy
Du skal også tilføje brugeren "easy" til sudoers-gruppen (vi skal tillade denne bruger at køre nogle kommandoer fra sudo)
usermod -a -G sudo easy
Skift til brugeren "easy"
su - easy
4. Installer Ruby
rvm install 2.6 --patch railsexpress
5. Installer git
sudo apt-get install git
6. Indstil Ruby 2.6 som standard
rvm use 2.6 --default
Det kursive er kun nødvendigt, hvis du vil installere Ruby fra en ikke-root-bruger. Hvis du beslutter at lade det være, kan du erstatte brugernavnet "easy" med "redmine".
Rbenv
Følg instruktionerne i denne artikel.
Installer NGINX og Passenger
NGINX er en open-source webserver designet til maksimal ydeevne og stabilitet. Passenger er en open-source applikationsserver, der integrerer med NGINX for at køre Ruby-software, som f.eks. Redmine, over internettet. I vores tilfælde skal vi installere begge dele.
$ gem install passenger --no-ri --no-rdoc
$ passenger-install-nginx-module
sudo gem install bundler --no-rdoc --no-ri
Installer og konfigurer Redmine
Før du fortsætter installationen, skal du kontrollere den nyeste tilgængelige version af Redmine. Du kan finde den på Redmine downloadsiden.
Redmine Downloadsiden
Note down din målversion og fortsæt.
Bemærk: Det er bedre ikke at installere og køre Redmine fra root-brugeren.
1. Installer de afhængigheder, der kræves for at bygge Redmine:
sudo apt install build-essential libmysqlclient-dev imagemagick libmagickwand-dev
2. Download Redmine til din /tmp-mappe:
sudo curl -L http://www.redmine.org/releases/redmine-4.1.0.tar.gz -o /tmp/redmine.tar.gz
3. Udpak arkivet, og kopier applikationsfilerne til installationsmappen:
cd /tmp
sudo tar zxf /tmp/redmine.tar.gz
sudo mv /tmp/redmine-4.1.0 /var/www/html/redmine/
3. Konfigurér Redmine-databaseindstillinger
3.1. Åbn konfigurationsfilen for databasen (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. Anvend ændringerne vist nedenfor til afsnittet production i filen:
production:
adapter: mysql2
database: redminedb
host: localhost
username: redminedbusr
password: "password"
encoding: utf8mb4
3.3 Installer de Ruby-afhængigheder, der kræves for at køre Redmine:
cd /var/www/html/redmine/
sudo gem install bundler --no-rdoc --no-ri
sudo bundle install --without development test postgresql sqlite
3.4 Migrer databasen og konfigurér køremiljøet.
cd /var/www/html/redmine/
sudo bundle exec rake generate_secret_token
sudo RAILS_ENV=production bundle exec rake db:migrate
Konfigurér NGINX
Dette er det sidste trin i vores tutorial. Når du har fuldført din NGINX-konfiguration, vil du have en fuldt funktionsdygtig Redmine-server, der kører på din Ubuntu 18.04 LTS-maskine.
1. Opret en virtuel vært til din Redmine-applikation:
sudo nano /etc/nginx/sites-available/redmine.mydomain.com
2. Indtast følgende konfiguration for den virtuelle vært og gem din fil:
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. Aktivér din virtuelle vært ved at linke den nyoprettede konfigurationsfil til mappen sites-enabled:
sudo ln -s /etc/nginx/sites-available/redmine.mydomain.com /etc/nginx/sites-enabled/redmine.mydomain.com
4. Verificér din NGINX-konfiguration:
sudo nginx -t
KOMMANDOOUTPUT:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
5. Genstart NGINX-serveren:
sudo systemctl restart nginx
Tilgå Redmine
1. Åbn din webbrowser og indtast dit Redmine domænenavn i adresselinjen. Redmine login skærmen vil dukke op.
Redmine Indledende Login Skærm
2. Log ind på din Redmine server ved hjælp af standard legitimationsoplysninger (brugernavn: admin og adgangskode: admin) og indstil derefter en ny adgangskode til din admin-konto, når du bliver bedt om det.
3. Til sidst, konfigurer dine admin-kontoindstillinger, herunder din e-mail-adresse og tidszone.
Tillykke! Din Redmine er klar!
Hvis du vil opdage andre måder at implementere Redmine på Amazon Web Services (AWS), så tag et kig på den anden del af denne vejledning.

Den ultimative Redmine-opgradering? Nemt.
Få alle kraftfulde værktøjer til perfekt projektplanlægning, -styring og -kontrol i én software.