Hur man installerar Redmine på Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Del 1

2/17/2020
11 minutes
Lukáš Beňa.
Redmine är en öppen källkodsprojektledning och ärendehantering webbapplikation. Den körs ovanpå Ruby on Rails och är utformad för att vara plattformsoberoende och kompatibel med olika databaser. I den här handledningen kommer du att lära dig hur du installerar Redmine på Amazon Web Services (AWS).

Det finns två huvudsakliga alternativ för att installera Redmine på Amazon Web Services (AWS):

  • Använda en vanlig AWS Linux-instans (EC2 eller Lightsail) och manuellt installera Redmine, eller
  • Använda en förkonfigurerad enklicksinstallation av Redmine Lightsail-instans.

Om vi väljer det första alternativet kommer vi att ha full kontroll över varje aspekt av vår Redmine-implementering. Å andra sidan erbjuder det andra alternativet en snabb och enkel lösning för att snabbt få igång Redmine på några minuter, utan att behöva hantera alla installations- och konfigurationsdetaljer.

Den första delen av denna handledning beskriver hur man installerar Redmine på en vanlig AWS Linux-instans.


Förutsättningar

Innan du börjar processen, se till att följande förutsättningar är uppfyllda:

  • Du har ett Amazon Web Services-konto med administratörsprivilegier.
  • Du har ett domännamn för din Redmine-applikation, som redmine.mydomain.com.
  • Du har åtkomst till DNS-konfigurationen för din domän.


Installera Redmine på en vanlig Linux EC2- eller LightSail-instans

För denna handledning förutsätter vi att du redan har startat en AWS EC2- eller Lightsail-instans som kör Ubuntu 18.04 LTS.

Vi kommer att installera Redmine på denna Linux-instans med hjälp av MySQL-databas, NGINX-webbserver och Phusion Passenger-applikationsserver.


Konfigurera DNS-servern

Innan du ansluter till din instans måste du konfigurera din DNS. Skapa en DNS-post för ditt Redmine-domännamn (redmine.mydomain.com) som pekar på den offentliga IP-adressen för din AWS Linux-instans.

Du kan göra detta med hjälp av AWS Route 53-tjänsten.

image001

DNS-konfiguration med hjälp av AWS Route 53

Den offentliga IP-adressen för din Ubuntu 18.04 LTS-instans kan hittas i din EC2 Management Console eller i din Lightsail Console.

image003

AWS EC2 Management Console

image005

AWS Lightsail Console

När din DNS-post är konfigurerad, anslut till din Linux-instans och slutför följande steg.


Installera och konfigurera MySQL-databasen


1. Installera MySQL-servern:

sudo apt update

sudo apt install mysql-server mysql-client


2. Utför den initiala konfigurationen av MySQL-servern:

sudo mysql_secure_installation

Du kommer att bli ombedd att:

  • aktivera VALIDATE PASSWORD PLUGIN (säg ja och välj STRONG lösenord)
  • välja lösenord för root-användaren.
  • ta bort anonyma användare (säg ja).
  • inte tillåta fjärrinloggning för root (säg nej om du planerar att ansluta till databasen från utanför din Ubuntu Linux-instans, säg ja annars).

3. Kontrollera att MySQL-servern körs:

sudo systemctl status mysql

(du bör se active (running) som en del av svaret från kommandot)


4. Skapa en ny databas och en ny databasanvändare för 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


Installera Ruby

Installera standardversionen av Ruby för din Linux-distribution. Om du behöver en annan version kan du använda RVM (Ruby Version Manager).


1. Installera Ruby:

Installera den senaste versionen av Ruby med hjälp av Rbenv eller RVM.


RVM

1. installera rvm, kör det, lägg till 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. Skapa användaren "easy" (eller du kan namnge den som du vill, poängen är att denna användare kommer att arbeta med din redmine-applikation, inte root-användaren. Det bör göras av säkerhetsskäl)

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

Du behöver också lägga till användaren "easy" i sudoers-gruppen (vi bör tillåta att denna användare kör vissa kommandon från sudo)

usermod -a -G sudo easy

Om du gjorde detta kan du hoppa över nästa steg, eftersom din användare redan är i rätt grupp. Byt till denna användare

su - easy

3. lägg till användaren i rvm-gruppen

usermod -a -G rvm easy

Du behöver också lägga till användaren "easy" i sudoers-gruppen (vi bör tillåta att denna användare kör vissa kommandon från sudo)

usermod -a -G sudo easy

Byt till användaren "easy"

su - easy

4. installera ruby

rvm install 2.6 --patch railsexpress

5. installera git

sudo apt-get install git

6. ställ in ruby 2.6 som standard

rvm use 2.6 --default

Del i kursiv behövs bara om du ska installera ruby från en icke-root-användare. Om du bestämmer dig för att lämna den kan du ersätta användarnamnet "easy" med "redmine".


Rbenv

Följ instruktionerna i den här artikeln.


Installera NGINX och Passenger

NGINX är en öppen källkodswebbserver som är utformad för maximal prestanda och stabilitet. Passenger är en öppen källkodsapplikationsserver som integreras med NGINX för att köra Ruby-programvara, som Redmine, över webben. I vårt fall behöver vi installera båda.

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

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


Installera och konfigurera Redmine

Innan du fortsätter installationen, kontrollera den senaste tillgängliga versionen av Redmine. Du kan hitta den på Redmine nedladdningssida.

image007

Redmine nedladdningssida

Skriv ner din målversion och fortsätt.

OBS: Det är bättre att inte installera och köra Redmine från root-användaren.


1. Installera de beroenden som krävs för att bygga Redmine:

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


2. Ladda ner Redmine till din /tmp-katalog:

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


3. Extrahera den nedladdade arkivet och kopiera applikationsfilerna till installationskatalogen:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

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


3. Konfigurera Redmine-databasinställningar


3.1. Öppna databasens konfigurationsfil (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. Tillämpa ändringarna som visas nedan på avsnittet production i filen:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Installera de Ruby-bibliotek som krävs för att köra Redmine:

cd /var/www/html/redmine/

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

sudo bundle install --without development test postgresql sqlite


3.4 Migrera databasen och konfigurera körmiljön.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Konfigurera NGINX

Detta är det sista steget i vår handledning. Efter att du har konfigurerat NGINX kommer du att ha en fullt fungerande Redmine-server som körs på din Ubuntu 18.04 LTS-box.


1. Skapa en virtuell värd för din Redmine-applikation:

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


2. Ange följande konfiguration för den virtuella värden och spara 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. Aktivera din virtuella värd genom att länka den nyss skapade konfigurationsfilen till sites-enabled-katalogen:

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


4. Verifiera 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. Starta om NGINX-servern:

sudo systemctl restart nginx


Access Redmine

1. Open your web browser and type your Redmine domain name at the address bar. The Redmine login screen will show up.

image009

Redmine Initial Login Screen

2. Login in to your Redmine server using the default credentials (username: admin and password: admin) and, when prompted, set a new password for your admin account.

3. Finally, configure your admin account settings, including your email address and timezone.

image011

Congratulations! Your Redmine is ready!

If you want to discover other ways of deploying Redmine on Amazon Web Services (AWS), have a look at the second part of this tutorial.

Den ultimata Redmine-uppgraderingen? Enkel.

Få alla kraftfulla verktyg för perfekt projektplanering, -hantering och -kontroll i en enda programvara.

Prova Easy Redmine i en 30 dagars gratis provperiod

Fullständiga funktioner, SSL-skyddad, dagliga säkerhetskopior, i din geografiska plats