Hoe Redmine te installeren op Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Deel 1

2/17/2020
11 minutes
Lukáš Beňa.
Redmine is een open-source project management en issue-tracking web applicatie. Het draait op Ruby on Rails en is ontworpen om cross-platform en cross-database te zijn. In deze tutorial leer je hoe je Redmine installeert op Amazon Web Services (AWS).

Er zijn twee hoofdopties om Redmine te installeren op Amazon Web Services (AWS):

  • Gebruik een AWS Linux-instantie (EC2 of Lightsail) en installeer Redmine handmatig, of
  • Gebruik een voorgeconfigureerde Redmine Lightsail-instantie die met één klik te installeren is.

Als we voor de eerste optie gaan, hebben we volledige controle over elk aspect van onze Redmine-implementatie. Aan de andere kant biedt de tweede optie een snelle en gemakkelijke oplossing om Redmine binnen enkele minuten te laten werken, zonder betrokken te zijn bij alle installatie- en configuratiedetails.

Het eerste deel van deze handleiding beschrijft hoe u Redmine installeert op een gewone AWS Linux-instantie.


Vereisten

Zorg ervoor dat aan de volgende vereisten is voldaan voordat u het proces start:

  • U heeft een Amazon Web Services-account met beheerdersrechten.
  • U heeft een domeinnaam voor uw Redmine-toepassing, zoals redmine.mydomain.com.
  • U heeft toegang tot de DNS-configuratie voor uw domein.


Redmine installeren op een gewone Linux EC2- of LightSail-instantie

Voor deze handleiding gaan we ervan uit dat u al een AWS EC2- of Lightsail-instantie heeft gelanceerd die Ubuntu 18.04 LTS draait.

We zullen Redmine op deze Linux-instantie installeren met behulp van een MySQL-database, een NGINX-webserver en een Phusion Passenger-toepassingsserver.


Configureer de DNS-server

Voordat u verbinding maakt met uw instantie, moet u uw DNS configureren. Maak een DNS-vermelding voor uw Redmine-domeinnaam (redmine.mydomain.com) die wijst naar het openbare IP-adres van uw AWS Linux-instantie.

Dit kunt u doen met behulp van de AWS Route 53-service.

image001

DNS-configuratie met behulp van AWS Route 53

Het openbare IP-adres van uw Ubuntu 18.04 LTS-instantie vindt u in uw EC2-beheerconsole of in uw Lightsail-console.

image003

AWS EC2-beheerconsole

image005

AWS Lightsail-console

Zodra uw DNS-vermelding is geconfigureerd, maakt u verbinding met uw Linux-instantie en voltooit u de volgende stappen.


MySQL-database installeren en configureren


1. Installeer MySQL-server:

sudo apt update

sudo apt install mysql-server mysql-client


2. Voer de initiële configuratie van de MySQL-server uit:

sudo mysql_secure_installation

U wordt gevraagd om:

  • het activeren van de VALIDATE PASSWORD PLUGIN (zeg ja en kies STERKE wachtwoorden)
  • het selecteren van het wachtwoord van de rootgebruiker.
  • het verwijderen van anonieme gebruikers (zeg ja).
  • het niet toestaan van externe rootaanmelding (zeg nee als u van plan bent om verbinding te maken met de database van buiten uw Ubuntu Linux-instantie, zeg anders ja).

3. Controleer of de MySQL-server actief is:

sudo systemctl status mysql

(u zou actief (running) als onderdeel van het antwoord op de opdracht moeten zien)


4. Maak een nieuwe database en een nieuwe databasegebruiker voor Redmine:

sudo mysql

mysql > CREATE DATABASE redminedb CHARACTER SET utf8mb4;

mysql > GRANT ALL ON redminedb.* TO 'redminedbusr'@'localhost' IDENTIFIED BY 'wachtwoord';

mysql > flush privileges;

mysql > EXIT


Installeer Ruby

Installeer de standaard Ruby-versie voor uw Linux-distributie. Als u een andere versie nodig heeft, kunt u gebruik maken van RVM (Ruby Version Manager).


1. Installeer Ruby:

Installeer de nieuwste versie van Ruby middels Rbenv of RVM.


RVM

1. installeer rvm, voer het uit, voeg toe aan 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. Maak gebruiker "easy" aan (of u kunt het noemen zoals u wilt, het punt is dat deze gebruiker zal werken met uw Redmine-applicatie, niet de root-gebruiker. Dit moet om veiligheidsredenen worden gedaan)

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

U moet ook gebruiker "easy" toevoegen aan de sudoers-groep (we moeten deze gebruiker toestaan om enkele opdrachten van sudo uit te voeren)

usermod -a -G sudo easy

Als u dit heeft gedaan, kunt u de volgende stap overslaan, omdat uw gebruiker al in de juiste groep zit. Schakel over naar deze gebruiker

su - easy

3. voeg gebruiker toe aan rvm-groep

usermod -a -G rvm easy

U moet ook gebruiker "easy" toevoegen aan de sudoers-groep (we moeten deze gebruiker toestaan om enkele opdrachten van sudo uit te voeren)

usermod -a -G sudo easy

Schakel over naar gebruiker "easy"

su - easy

4. installeer ruby

rvm install 2.6 --patch railsexpress

5. installeer git

sudo apt-get install git

6. stel ruby 2.6 in als standaard

rvm use 2.6 --default

Het gedeelte in cursief is alleen nodig als u Ruby wilt installeren vanuit een niet-rootgebruiker. Als u besluit om het te laten staan, kunt u de gebruikersnaam "easy" vervangen door "redmine".


Rbenv

Volg de instructies in dit artikel.


Installeer NGINX en Passenger

NGINX is een open-source webserver ontworpen voor maximale prestaties en stabiliteit. Passenger is een open-source applicatieserver die integreert met NGINX om Ruby-software, zoals Redmine, over het web te laten draaien. In ons geval moeten we beide installeren.

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

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


Installeer en configureer Redmine

Voordat u doorgaat met de installatie, controleert u de nieuwste beschikbare Redmine-versie. U kunt deze vinden op de Redmine downloads pagina.

image007

Redmine Downloads Pagina

Noteer uw doelversie en ga verder.

Opmerking: Het is beter om Redmine niet te installeren en uit te voeren vanuit de root-gebruiker.


1. Installeer de vereiste afhankelijkheden om Redmine te bouwen:

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


2. Download Redmine naar uw /tmp directory:

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


3. Pak het gedownloade archief uit en kopieer de applicatiebestanden naar de installatiemap:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

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


3. Configureer de Redmine database-instellingen


3.1. Open het database configuratiebestand (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. Pas de onderstaande wijzigingen toe op de production sectie van het bestand:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Installeer de Ruby-afhankelijkheden die nodig zijn om Redmine uit te voeren:

cd /var/www/html/redmine/

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

sudo bundle install --without development test postgresql sqlite


3.4 Migreer de database en configureer de uitvoeringsomgeving.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Configureer NGINX

Dit is de laatste stap van onze tutorial. Na het voltooien van uw NGINX-configuratie heeft u een volledig operationele Redmine-server draaien op uw Ubuntu 18.04 LTS-box.


1. Maak een virtuele host aan voor uw Redmine-applicatie:

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


2. Voer de volgende configuratie voor de virtuele host in en sla uw bestand op:

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. Schakel uw virtuele host in door het nieuw aangemaakte configuratiebestand te linken naar de sites-enabled-directory:

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


4. Verifieer uw NGINX-configuratie:

sudo nginx -t

COMMAND OUTPUT:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok

nginx: configuration file /etc/nginx/nginx.conf test is successful


5. Herstart de NGINX-server:

sudo systemctl restart nginx


Toegang tot Redmine

1. Open uw webbrowser en typ uw Redmine-domeinnaam in de adresbalk. Het Redmine-aanmeldscherm wordt weergegeven.

image009

Redmine Initieel Aanmeldscherm

2. Meld u aan bij uw Redmine-server met de standaard referenties (gebruikersnaam: admin en wachtwoord: admin) en stel, indien gevraagd, een nieuw wachtwoord in voor uw beheerdersaccount.

3. Configureer ten slotte uw beheerdersaccountinstellingen, inclusief uw e-mailadres en tijdzone.

image011

Gefeliciteerd! Uw Redmine is klaar!

Als u andere manieren wilt ontdekken om Redmine op Amazon Web Services (AWS) te implementeren, bekijk dan het tweede deel van deze tutorial.

De ultieme Redmine-upgrade? Makkelijk.

Krijg alle krachtige tools voor perfect projectplanning, -beheer en -controle in één software.

Probeer Easy Redmine 30 dagen gratis uit

Volledige functies, SSL-beveiligd, dagelijkse back-ups, in uw geografische locatie