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

2/17/2020
11 minutes
Lukáš Beňa
Redmine er en open-source projektstyrings- og fejlsporing webapplikation. Den kører oven på Ruby on Rails og er designet til at være tværplatform og tværdatabase. I denne vejledning vil du lære, hvordan du installerer Redmine på Amazon Web Services (AWS).

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.

image001

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.

image003

AWS EC2 Management Console

image005

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.

image007

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.

image009

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.

image011

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.

Prøv Easy Redmine i en 30 dages gratis prøveperiode

Fuld funktionalitet, SSL-beskyttet, daglige backups, i din geolocation