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

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.
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.
AWS EC2-beheerconsole
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.
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.
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.
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.