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

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.
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.
AWS EC2 Management Console
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.
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.
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.
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.