So installieren Sie Redmine 3.2 mit Nginx auf Ubuntu 16.04

Redmine ist ein Open-Source-Projektmanagement- und Problemverfolgungssystem auf Basis des Ruby on Rails Frameworks. Es ist webbasiert, so dass Sie es von jeder Client-Plattform aus verwenden können, die einen Webbrowser bereitstellt. Es ist gut geeignet für mehrsprachige Teams, da es Übersetzungen für 42 Sprachen enthält. Sie können mehrere Projekte in einer Installation verfolgen, es hat eine integrierte Unterstützung für Nachrichten, Dokumentenmanagement, Dateiverwaltung, ein Support-Wiki. Sie können es mit anderen Anwendungen über LDAP-Authentifizierung und die REST-API verbinden.

Dieses Tutorial behandelt die Redmine 3.2 Installation mit Nginx Webserver und MySQL Datenbankserver auf dem Betriebssystem Ubuntu 16.04 (64 Bit).

Voraussetzungen

  • Ubuntu 16.04 – 64 bit.
  • Root-Privilegien.

Schritt 1 – Abhängigkeiten installieren

Redmine hat viele Abhängigkeiten, aber wir können sie einfach mit apt installieren. Der erste Schritt besteht darin, der Root-Benutzer zu werden und dann Ihr Ubuntu-Repository zu aktualisieren. Alle weiteren Schritte in diesem Tutorial werden als root-Benutzer ausgeführt, deshalb verwende ich „sudo su“, anstatt jedem Befehl sudo voranzustellen.

sudo su
apt-get update

Installieren Sie die Abhängigkeiten von Redmine mit dem untenstehenden Befehl apt:

apt-get install mysql-server mysql-client libmysqlclient-dev imagemagick libmagickwand-dev libcurl4-openssl-dev git-core subversion

Der Installer wird nach einem neuen MySQl-Root-Passwort fragen, dort ein neues und sicheres MySQL-Passwort eingeben.

Schritt 2 – Installation von Ruby und RVM

In diesem Schritt werden wir die neueste RVM-Version und Ruby 2.2 installieren. Redmine 3.2 stable unterstützt Ruby Version 2.2, so dass wir es hier verwenden können. RMV (Ruby Version Manager) ist ein praktisches Befehlszeilenprogramm, mit dem Sie mehrere Rubinumgebungen installieren, verwalten und mit ihnen arbeiten können.

gpg --keyserver hkp://keys.gnupg.net --recv-keys D39DC0E3
curl -L https://get.rvm.io | bash -s stable --ruby=2.2.5

Jetzt müssen wir RVM neu laden und zu .bashrc hinzufügen, um es automatisch neu zu laden:

source /usr/local/rvm/scripts/rvm
echo '[[ -s "/usr/local/rvm/scripts/rvm" ]] && source "/usr/local/rvm/scripts/rvm"' >> ~/.bashrc

Schritt 3 – Konfigurieren der MySQL-Datenbank für Redmine

Wir werden eine Datenbank und einen Datenbankbenutzer für die Redmine-Installation anlegen. Melden Sie sich in der MySQL-Shell mit dem root-Benutzer und Ihrem Passwort an:

mysql -u root -p
TYPE YOUR PASSWORD

Als nächstes erstellen Sie eine neue Datenbank mit dem Namen „redmine“ und einen neuen Benutzer mit dem Namen „redmine“ mit dem Passwort „redmine“ (verwenden Sie ein besseres Passwort auf Ihrer Installation, dies ist nur ein Beispiel), und vergeben Sie dann die Privilagen für den Benutzer „redmine“ an die Datenbank „redmine“.

create database redmine;
create user redmine@localhost identified by 'redmine';
grant all privileges on redmine.* to redmine@localhost identified by 'redmine';
flush privileges;
q\

Die Datenbank und der Benutzer werden angelegt. Bitte verwenden Sie ein sicheres Passwort auf Ihrem Server!

Schritt 4 – Installation von Phusion Passenger und Nginx

Phusion Passenger ist ein Web- und App-Server, der in Apache und Nginx Webserver integriert werden kann. Es unterstützt mehrere Sprachen wie Ruby, Python und Nodejs. Es ist einfach zu bedienen, schnell und verbessert die Sicherheit des Setups.

In diesem Teil werden wir Phusion Passenger installieren und in Nginx integrieren. Redmine läuft unter dem Nginx-Webserver. Installieren Sie den Passagier mit dem gem-Befehl und installieren Sie dann das passenger-nginx-modul.

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

Der Befehl fragt Sie nach der Sprache, die unterstützt werden soll, wählen Sie hier Ruby und Python.

Sie werden nach der Nginx-Installation gefragt, wählen „Ja: Nginx für mich herunterladen, kompilieren und installieren„. (empfohlen)„.

Schließlich werden Sie nach dem Nginx-Installationsverzeichnis gefragt, verwenden Sie die Standardeinstellung’/opt/nginx/‚ und drücken Sie „Enter“.

Schritt 5 – Nginx konfigurieren

Gehen Sie in das Installationsverzeichnis und bearbeiten Sie die Datei nginx.conf mit einem Editor, ich benutze hier den vim-Editor.

cd /opt/nginx/conf/
vim nginx.conf

Fügen Sie die untenstehende Konfigurationszeile in die Datei ein:

include vhost/*.conf;

Speichern und beenden.

Erstellen Sie anschließend ein neues Verzeichnis „vhost“ für die Konfiguration des virtuellen Hosts.

mkdir -p /opt/nginx/conf/vhost

Gehen Sie in das Verzeichnis vhost und erstellen Sie eine Red Mine Virtual Host Konfigurationsdatei mit vim:

cd /opt/nginx/conf/vhost/
vim redmine.conf

Fügen Sie die Virtualhost-Konfiguration unten ein:

    server {
        listen       80;
        server_name  www.redmine.me;
root /var/www/redmine/public;
passenger_enabled on;
client_max_body_size      10m; # Max attachemnt size

# redirect server error pages to the static page /50x.html
#
error_page   500 502 503 504  /50x.html;
location = /50x.html {
root   html;
}
}

Speichern und beenden.

Als nächstes werden wir Nginx so konfigurieren, dass es mit systemd gestartet wird. Gehen Sie in das Verzeichnis systemd und erstellen Sie eine neue Servicedatei’nginx.service‘.

cd /lib/systemd/system/
vim nginx.service

Fügen Sie das Nginx-Skript für das System unten ein:

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/opt/nginx/logs/nginx.pid
ExecStartPre=/opt/nginx/sbin/nginx -t
ExecStart=/opt/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

Speichern Sie die Datei und beenden Sie sie.

Laden Sie die Systemdienste neu und versuchen Sie, Nginx mit dem Befehl systemctl zu starten:

systemctl daemon-reload
systemctl start nginx

Wenn Sie Nginx überprüfen möchten, überprüfen Sie den offenen Port 80 mit netstat:

netstat -plntu | grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      4871/nginx

Schritt 6 – Redmine installieren

Erstellen Sie ein neues Verzeichnis für die Redmine Installation, ich werde hier das Verzeichnis’/var/www/‘ verwenden.

mkdir -p /var/www/

Gehen Sie in das Verzeichnis’/var/wwww/‘ und laden Sie redmine mit dem Befehl svn herunter:

cd /var/www/
svn co https://svn.redmine.org/redmine/branches/3.2-stable redmine

Geben Sie das Red Mine Verzeichnis ein und kopieren Sie die Konfigurationsdatei und die Datenbank-Konfigurationsdatei:

cd redmine
cp config/configuration.yml.example config/configuration.yml
cp config/database.yml.example config/database.yml

Bearbeiten Sie dann die Datei database.yml mit vim:

vim config/database.yml

Geben Sie an der Produktionslinie die Angaben zu Datenbank, Datenbankbenutzer und Passwort ein. Verwenden Sie die Datenbankdetails, die Sie in Kapitel 3 erstellt haben.

production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "redmine"
  encoding: utf8

Speichern Sie die Datei und verlassen Sie den Editor.

Erstellen Sie im Redmine-Verzeichnis ein neues Verzeichnis und wechseln Sie den Besitzer zu www-data:

mkdir -p tmp tmp/pdf public/plugin_assets
sudo chown -R www-data:www-data files log tmp public/plugin_assets
sudo chmod -R 775 files log tmp public/plugin_assets

Dann installiere den Bundler und die Edelsteinabhängigkeiten für Redmine:

gem install bundler
bundle install --without development test

Erzeugen Sie nun den geheimen Token und dann die Datenbank:

bundle exec rake generate_secret_token
RAILS_ENV=production bundle exec rake db:migrate
RAILS_ENV=production bundle exec rake redmine:load_default_data

Starten Sie Nginx neu und besuchen Sie die Red Mine Domain mit einem Webbrowser:

systemctl restart nginx

Besuchen Sie Red Mine Installation, in meinem Fall: www.redmine.me

Redmine Startseite

Melden Sie sich auf der Admin-Seite an: www.redmine.me/login

Der Standardbenutzer und das Standardpasswort lautet ‚admin‘.

Redmine Login

Neues Beispielprojekt erstellen.

Erstellen Sie ein neues Projekt in Redmine.

Beispiel-Projektseite.

Redmine Beispielprojekt

Die Installation von Redmine mit Nginx und MySQL wurde erfolgreich abgeschlossen.

Fazit

Redmine ist eine webbasierte Anwendung für Projektmanagement und Problemverfolgung. Redmine ist eine plattformübergreifende Anwendung, so dass wir sie unter Windows, Linux und Mac OS ausführen können. Es unterstützt verschiedene Datenbanken wie MySQL, PostgreSQL, Microsoft SQL Server und SQLite. Redmine ist einfach zu installieren und zu konfigurieren, wir können Apache oder Nginx als Webserver verwenden. Redmine ist sehr leistungsfähig und verfügt über viele Funktionen wie Mehrsprachenunterstützung, Dateiverwaltung, Wiki und eine REST-API. Redmine ist eine der besten OpenSource-Lösungen, um Ihr eigenes Projektmanagement mit Problemverfolgung aufzubauen.

Das könnte Dich auch interessieren …