Cum să instalați Redmine pe Amazon Web Services (AWS) - Ubuntu 18.04 LTS - Partea 1.

2/17/2020
11 minutes
Lukáš Beňa -> Lukáš Beňa
Redmine este o aplicație web open-source de management de proiecte și urmărire a problemelor. Rulează pe platforma Ruby on Rails și este concepută să fie cross-platform și cross-database. În acest tutorial, veți învăța cum să instalați Redmine pe Amazon Web Services (AWS).

Există două opțiuni principale pentru instalarea Redmine pe Amazon Web Services (AWS):

  • Utilizarea unei instanțe AWS Linux simple (EC2 sau Lightsail) și instalarea manuală a Redmine, sau
  • Utilizarea unei instanțe preconfigurate Redmine Lightsail cu un singur clic pentru instalare.

Dacă alegem prima opțiune, vom avea control total asupra fiecărui aspect al implementării noastre Redmine. Pe de altă parte, a doua opțiune oferă o soluție rapidă și ușoară pentru a avea Redmine funcționând în câteva minute, fără a fi implicat în toate detaliile de instalare și configurare.

Prima parte a acestui tutorial descrie cum să instalați Redmine pe o instanță AWS Linux simplă.


Cerințe preliminare

Înainte de a începe procesul, asigurați-vă că sunt îndeplinite următoarele cerințe preliminare:

  • Aveți un cont Amazon Web Services cu privilegii de administrator.
  • Aveți un nume de domeniu pentru aplicația dvs. Redmine, cum ar fi redmine.mydomain.com.
  • Aveți acces la configurarea DNS pentru domeniul dvs.


Instalarea Redmine pe o instanță Linux simplă EC2 sau LightSail

Pentru scopul acestui tutorial, presupunem că ați lansat deja o instanță AWS EC2 sau Lightsail care rulează Ubuntu 18.04 LTS.

Vom instala Redmine pe această instanță Linux folosind baza de date MySQL, serverul web NGINX și serverul de aplicații Phusion Passenger.


Configurarea serverului DNS

Înainte de a vă conecta la instanța dvs., trebuie să configurați DNS-ul. Creați o intrare DNS pentru numele de domeniu Redmine (redmine.mydomain.com) care să indice către adresa IP publică a instanței dvs. Linux AWS.

Puteți face acest lucru folosind serviciul AWS Route 53.

image001

Configurarea DNS folosind AWS Route 53

Adresa IP publică a instanței dvs. Ubuntu 18.04 LTS poate fi găsită în Consola de management EC2 sau în Consola Lightsail.

image003

Consola de management EC2 AWS

image005

Consola Lightsail AWS

După ce ați configurat intrarea DNS, conectați-vă la instanța dvs. Linux și finalizați următorii pași.


Instalarea și configurarea bazei de date MySQL


1. Instalați serverul MySQL:

sudo apt update

sudo apt install mysql-server mysql-client


2. Efectuați configurarea inițială a serverului MySQL:

sudo mysql_secure_installation

Vi se va solicita să:

  • activați PLUGINUL VALIDATE PASSWORD (spuneți da și alegeți parole puternice)
  • selectați parola utilizatorului root.
  • eliminați utilizatorii anonimi (spuneți da).
  • interziceți conectarea la distanță a utilizatorului root (spuneți nu dacă intenționați să vă conectați la baza de date din afara instanței dvs. Ubuntu Linux, spuneți da în caz contrar).

3. Verificați că serverul MySQL rulează:

sudo systemctl status mysql

(ar trebui să vedeți activ (rulează) ca parte a răspunsului comenzii)


4. Creați o nouă bază de date și un nou utilizator de bază de date pentru 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


Instalarea Ruby

Instalați versiunea implicită Ruby pentru distribuția dvs. Linux. Dacă aveți nevoie de o altă versiune, puteți utiliza RVM (Ruby Version Manager).


1. Instalați Ruby:

Instalați cea mai recentă versiune a Ruby prin intermediul Rbenv sau RVM.


RVM

1. instalați rvm, rulați-l, adăugați-l la 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. Creați utilizatorul "easy" (sau îl puteți numi cum doriți, ideea este că acest utilizator va lucra cu aplicația dvs. Redmine, nu utilizatorul root. Trebuie făcut din motive de securitate)

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

De asemenea, trebuie să adăugați utilizatorul "easy" la grupul sudoers (ar trebui să permitem acestui utilizator să ruleze unele comenzi din sudo)

usermod -a -G sudo easy

Dacă ați făcut acest lucru, puteți sări peste următorul pas, deoarece după această comandă utilizatorul dvs. este deja în grupul potrivit. Treceți la acest utilizator

su - easy

3. adăugați utilizatorul la grupul rvm

usermod -a -G rvm easy

De asemenea, trebuie să adăugați utilizatorul "easy" la grupul sudoers (ar trebui să permitem acestui utilizator să ruleze unele comenzi din sudo)

usermod -a -G sudo easy

Treceți la utilizatorul "easy"

su - easy

4. instalați ruby

rvm install 2.6 --patch railsexpress

5. instalați git

sudo apt-get install git

6. setați ruby 2.6 ca implicit

rvm use 2.6 --default

Partea în cursiv este necesară doar dacă intenționați să instalați ruby dintr-un utilizator non-root. Dacă decideți să o lăsați, puteți înlocui numele utilizatorului "easy" cu "redmine".


Rbenv

Urmăriți instrucțiunile din acest articol.


Instalați NGINX și Passenger

NGINX este un server web open-source conceput pentru performanță și stabilitate maxime. Passenger este un server de aplicații open-source care se integrează cu NGINX pentru a rula software-ul Ruby, cum ar fi Redmine, pe web. În cazul nostru, trebuie să instalăm ambele.

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

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


Instalați și configurați Redmine

Înainte de a continua instalarea, verificați cea mai recentă versiune Redmine disponibilă. O puteți găsi pe pagina de descărcare a descărcări Redmine.

image007

Pagina de descărcare Redmine

Notează-vă versiunea țintă și continuați.

Notă: Este mai bine să nu instalați și să rulați Redmine din utilizatorul root.


1. Instalați dependențele necesare pentru a construi Redmine:

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


2. Descărcați Redmine în directorul dvs. /tmp:

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


3. Extrageți arhiva descărcată și copiați fișierele aplicației în directorul de instalare:

cd /tmp

sudo tar zxf /tmp/redmine.tar.gz

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


3. Configurați setările bazei de date Redmine


3.1. Deschideți fișierul de configurare a bazei de date (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. Aplicați modificările prezentate mai jos la secțiunea production a fișierului:

production:

adapter: mysql2

database: redminedb

host: localhost

username: redminedbusr

password: "password"

encoding: utf8mb4


3.3 Instalați dependințele Ruby necesare pentru a rula Redmine:

cd /var/www/html/redmine/

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

sudo bundle install --without development test postgresql sqlite


3.4 Migrați baza de date și configurați mediul de rulare.

cd /var/www/html/redmine/

sudo bundle exec rake generate_secret_token

sudo RAILS_ENV=production bundle exec rake db:migrate


Configurați NGINX

Aceasta este ultima etapă a tutorialului nostru. După finalizarea configurării NGINX, veți avea un server Redmine complet funcțional care rulează pe cutia dvs. Ubuntu 18.04 LTS.


1. Creați un virtual host pentru aplicația dvs. Redmine:

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


2. Introduceți următoarea configurație de gazdă virtuală și salvați fișierul:

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. Activați gazda virtuală prin link-ul fișierului de configurare nou creat în directorul sites-enabled:

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


4. Verificați configurația NGINX:

sudo nginx -t

OUTPUT COMANDĂ:

nginx: fișierul de configurare /etc/nginx/nginx.conf sintaxa este ok

nginx: fișierul de configurare /etc/nginx/nginx.conf testul este reușit


5. Reporniți serverul NGINX:

sudo systemctl restart nginx


Accesați Redmine

1. Deschideți browser-ul web și tastați numele de domeniu Redmine în bara de adrese. Ecranul de autentificare Redmine va apărea.

image009

Ecranul inițial de autentificare Redmine

2. Autentificați-vă pe serverul Redmine folosind credențialele implicite (nume de utilizator: admin și parolă: admin) și, când vi se solicită, setați o nouă parolă pentru contul dvs. de administrator.

3. În cele din urmă, configurați setările contului de administrator, inclusiv adresa dvs. de e-mail și fusul orar.

image011

Felicitări! Redmine-ul dvs. este pregătit!

Dacă doriți să descoperiți alte modalități de implementare a Redmine pe Amazon Web Services (AWS), aruncați o privire la partea a doua a acestui tutorial.

Actualizarea finală Redmine? Ușoară.

Obțineți toate instrumentele puternice pentru planificarea, gestionarea și controlul perfect al proiectelor într-un singur software.

Încercați Easy Redmine în 30 de zile de încercare gratuită

Funcții complete, protejat SSL, backup-uri zilnice, în geolocalizarea dvs.