Slik installerer du Redmine på Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Del 1

2/17/2020
10 minutes
Lukáš Beňa
Redmine er ein open-source prosjektstyring og problemregistrering nettapplikasjon. Den køyrer på toppen av Ruby on Rails og er designa for å vere plattformuavhengig og databaseuavhengig. I denne rettleiinga vil du lære korleis du installerer Redmine på Amazon Web Services (AWS).
Det er to hovedalternativer for å installere Redmine på Amazon Web Services (AWS): 1. Bruke en vanlig AWS Linux-instans (EC2 eller Lightsail) og manuelt installere Redmine, eller 2. Bruke en forhåndskonfigurert Redmine Lightsail-instans som kan installeres med ett klikk. Hvis vi velger det første alternativet, vil vi ha full kontroll over alle aspekter ved Redmine-implementeringen vår. På den annen side tilbyr det andre alternativet en rask og enkel løsning for å få Redmine opp og kjøre på få minutter, uten å måtte involvere seg i alle installasjons- og konfigurasjonsdetaljer. Den første delen av denne opplæringen beskriver hvordan du installerer Redmine på en vanlig AWS Linux-instans. Forutsetninger: - Du har en Amazon Web Services-konto med administratorrettigheter. - Du har et domenenavn for Redmine-applikasjonen din, for eksempel redmine.mydomain.com. - Du har tilgang til DNS-konfigurasjonen for domenet ditt. Installasjon av Redmine på en vanlig Linux EC2- eller Lightsail-instans: For denne opplæringen forutsetter vi at du allerede har startet en AWS EC2- eller Lightsail-instans som kjører Ubuntu 18.04 LTS. Vi vil installere Redmine på denne Linux-instansen ved hjelp av MySQL-database, NGINX-webserver og Phusion Passenger-applikasjonsserver. Konfigurer DNS-serveren: Før du kobler til instansen din, må du konfigurere DNS. Opprett en DNS-oppføring for Redmine-domene (redmine.mydomain.com) som peker til den offentlige IP-adressen til AWS Linux-instansen din. Dette kan du gjøre ved hjelp av AWS Route 53-tjenesten. Når DNS-oppføringen din er konfigurert, kan du koble til Linux-instansen og fullføre følgende trinn. Installer og konfigurer MySQL-databasen: 1. Installer MySQL-server: sudo apt update sudo apt install mysql-server mysql-client 2. Utfør den initielle konfigurasjonen av MySQL-serveren: sudo mysql_secure_installation Du blir bedt om å: - Aktivere VALIDATE PASSWORD PLUGIN (si ja og velg sterke passord) - Velge passord for root-brukeren - Fjerne anonyme brukere (si ja) - Deaktivere ekstern pålogging for root-brukeren (si nei hvis du ikke har planer om å koble til databasen utenfra Ubuntu Linux-instansen, si ja ellers) 3. Sjekk om MySQL-serveren kjører: sudo systemctl status mysql (Du bør se "active (running)" som en del av svaret fra kommandoen) 4. Opprett en ny database og en ny databasebruker for Redmine: sudo mysql mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4; mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'password'; mysql > flush privileges; mysql > EXIT

Installer Ruby

Installer standardversjonen av Ruby for Linux-distribusjonen din. Hvis du trenger en annen versjon, kan du bruke RVM (Ruby Version Manager).


1. Installer Ruby:

Installer den nyeste versjonen av Ruby ved hjelp av Rbenv eller RVM.


RVM

1. Installer rvm, kjør det, legg 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. Opprett brukeren "easy" (eller du kan gi den et annet navn, poenget er at denne brukeren vil jobbe med Redmine-applikasjonen din, ikke som rotbruker. Dette bør gjøres av sikkerhetsmessige årsaker)

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

Du må også legge til brukeren "easy" i sudoers-gruppen (vi må tillate at denne brukeren kjører noen kommandoer fra sudo)

usermod -a -G sudo easy

Hvis du har gjort dette, kan du hoppe over neste trinn, fordi etter denne kommandoen er brukeren din allerede i riktig gruppe. Bytt til denne brukeren

su - easy

3. Legg brukeren til rvm-gruppen

usermod -a -G rvm easy

Du må også legge til brukeren "easy" i sudoers-gruppen (vi må tillate at denne brukeren kjører noen kommandoer fra sudo)

usermod -a -G sudo easy

Bytt til brukeren "easy"

su - easy

4. Installer Ruby

rvm install 2.6 --patch railsexpress

5. Installer git

sudo apt-get install git

6. Sett Ruby 2.6 som standard

rvm use 2.6 --default

Delen i kursiv er bare nødvendig hvis du skal installere Ruby fra en ikke-rotbruker. Hvis du bestemmer deg for å hoppe over dette, kan du erstatte brukernavnet "easy" med "redmine".


Rbenv

Følg instruksjonene i denne artikkelen.


Installer NGINX og Passenger

NGINX er en åpen kildekode webserver designet for maksimal ytelse og stabilitet. Passenger er en åpen kildekode-applikasjonsserver som integrerer med NGINX for å kjøre Ruby-programvare, som Redmine, over nettet. I vårt tilfelle må vi installere begge deler.

$ 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 fortsetter installasjonen, sjekk den nyeste tilgjengelige versjonen av Redmine. Du finner den på Redmine nedlastingsside.

image007

Redmine nedlastingsside

Merk deg målversjonen og fortsett.

Merk: Det er bedre å ikke installere og kjøre Redmine fra rotbrukeren.


1. Installer avhengighetene som kreves for å bygge Redmine:

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


2. Last ned Redmine til /tmp-mappen:

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


3. Trekk ut den nedlastede arkivet og kopier applikasjonsfilene til installasjonsmappen:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

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


3. Konfigurer Redmine databaseinnstillinger


3.1. Åpne konfigurasjonsfilen 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. Bruk endringene som vises nedenfor i produksjon-delen av filen:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Installer Ruby-avhengighetene som kreves for å kjø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 konfigurer kjøremiljøet.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Konfigurer NGINX

Dette er det siste trinnet i opplæringen vår. Etter at du har fullført NGINX-konfigurasjonen din, vil du ha en fullt fungerende Redmine-server som kjører på Ubuntu 18.04 LTS-boksen din.


1. Opprett en virtuell vert for Redmine-applikasjonen din:

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


2. Skriv inn følgende konfigurasjon for den virtuelle verten og lagre filen:

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. Aktiver den virtuelle verten ved å linke den nyopprettede konfigurasjonsfilen til sites-enabled-mappen:

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


4. Verifiser NGINX-konfigurasjonen din:

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. Start NGINX-serveren på nytt:

sudo systemctl restart nginx


Tilgang til Redmine

1. Åpne nettleseren din og skriv inn Redmine-domeneadressen i adressefeltet. Redmine påloggingsvinduet vil vises.

image009

Redmine påloggingsvindu

2. Logg inn på Redmine-serveren din ved å bruke standardpåloggingsinformasjonen (brukernavn: admin og passord: admin) og sett deretter et nytt passord for admin-kontoen når du blir bedt om det.

3. Til slutt, konfigurer innstillingene for admin-kontoen din, inkludert e-postadressen din og tidssonen.

image011

Gratulerer! Redmine er klar!

Hvis du vil oppdage andre måter å distribuere Redmine på Amazon Web Services (AWS), kan du se på den andre delen av denne opplæringen.

Den ultimate Redmine-oppgraderingen? Enkel.

Få alle kraftige verktøy for perfekt prosjektplanlegging, -styring og -kontroll i én programvare.

Prøv Easy Redmine i en 30-dagers gratis prøveperiode

Full funksjonalitet, SSL-beskyttet, daglige sikkerhetskopier, i din geografiske plassering