GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren und konfigurieren Sie Redmine unter CentOS 7

Redmine ist eines der beliebtesten Open-Source-Softwaretools für Projektmanagement und Problemverfolgung. Es ist plattform- und datenbankübergreifend und baut auf dem Ruby on Rails-Framework auf.

Redmine umfasst Unterstützung für mehrere Projekte, Wikis, Problemverfolgungssystem, Foren, Kalender, E-Mail-Benachrichtigungen und vieles mehr.

In diesem Tutorial behandeln wir die Schritte, die zum Installieren und Konfigurieren der neuesten Version von Redmine auf einem CentOS 7-Server mit MariaDB als Datenbank-Backend und Passenger + Nginx als Ruby-Anwendungsserver erforderlich sind.

Voraussetzungen #

Stellen Sie sicher, dass Sie die folgenden Voraussetzungen erfüllt haben, bevor Sie mit diesem Lernprogramm fortfahren:

  • Domänenname, der auf die öffentliche IP Ihres Servers verweist. In diesem Tutorial verwenden wir example.com .
  • Als Benutzer mit sudo-Berechtigungen angemeldet.

Installieren Sie die zum Erstellen von Redmine und Ruby erforderlichen Pakete aus der Quelle:

sudo yum install curl gpg gcc gcc-c++ make patch autoconf automake bison libffi-devel libtool  sudo yum install readline-devel sqlite-devel zlib-devel openssl-develh readline  glibc-headers glibc-develsudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel

Mysql-Datenbank wird erstellt #

Redmine unterstützt MySQL/MariaDB, Microsoft SQL Server, SQLite 3 und PostgreSQL. In diesem Tutorial verwenden wir MariaDB als Datenbank-Backend.

Wenn Sie MariaDB oder MySQL nicht auf Ihrem CentOS-Server installiert haben, können Sie es installieren, indem Sie diesen Anweisungen folgen.

Melden Sie sich bei der MySQL-Shell an, indem Sie den folgenden Befehl eingeben:

sudo mysql

Führen Sie in der MySQL-Shell die folgende SQL-Anweisung aus, um eine neue Datenbank zu erstellen:

CREATE DATABASE redmine CHARACTER SET utf8;

Erstellen Sie als Nächstes ein MySQL-Benutzerkonto und gewähren Sie Zugriff auf die Datenbank:

GRANT ALL ON redmine.* TO 'redmine'@'localhost' IDENTIFIED BY 'change-with-strong-password';
Stellen Sie sicher, dass Sie change-with-strong-password ändern mit einem starken Passwort.

Wenn Sie fertig sind, verlassen Sie die MySQL-Shell, indem Sie Folgendes eingeben:

EXIT;

Installieren von Passenger und Nginx #

Passenger ist ein schneller und leichtgewichtiger Webanwendungsserver für Ruby, Node.js und Python, der mit Apache und Nginx integriert werden kann. Wir werden Passenger als Nginx-Modul installieren.

Installieren Sie das EPEL-Repository und die erforderlichen Pakete:

sudo yum install epel-release yum-utils pygpgmesudo yum-config-manager --enable epel

Aktivieren Sie das Phusionpassengerrepository:

sudo yum-config-manager --add-repo https://oss-binaries.phusionpassenger.com/yum/definitions/el-passenger.repo

Sobald das Repository aktiviert ist, aktualisieren Sie die Paketliste und installieren Sie sowohl Nginx als auch Passenger mit:

sudo yum install nginx passenger passenger-devel

Neuen Systembenutzer # erstellen

Erstellen Sie einen neuen Benutzer und eine neue Gruppe, die die Redmine-Instanz ausführen. Der Einfachheit halber nennen wir den Benutzer redmine :

sudo useradd -m -U -r -d /opt/redmine redmine

Fügen Sie nginx hinzu Benutzer in die neue Benutzergruppe und ändern Sie den /opt/redmine Verzeichnisberechtigungen, damit Nginx darauf zugreifen kann:

sudo usermod -a -G redmine nginxsudo chmod 750 /opt/redmine

Installieren von Ruby #

Die Version von Ruby in den CentOS-Repositorys ist ziemlich veraltet und wird von Redmine nicht unterstützt. Wir installieren Ruby mit RVM.

Wechseln Sie zum Benutzerredmine indem Sie Folgendes eingeben:

sudo su - redmine

Importieren Sie die GPG-Schlüssel und installieren Sie RVM:

gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDBcurl -sSL https://get.rvm.io | bash -s stable

Um mit der Verwendung von RVM zu beginnen, geben Sie rvm ein Datei:

source /opt/redmine/.rvm/scripts/rvm

Jetzt können wir Ruby installieren, indem wir Folgendes ausführen:

rvm install 2.5rvm --default use 2.5
Wenn Sie Ruby über Rbenv installieren möchten, lesen Sie diese Anleitung.

Redmine auf CentOS installieren #

Zum Zeitpunkt der Erstellung dieses Artikels ist die neueste stabile Version von Redmine Version 4.0.1.

Bevor Sie mit den nächsten Schritten fortfahren, sollten Sie auf der Redmine-Downloadseite nachsehen, ob eine neuere Version verfügbar ist.

Stellen Sie sicher, dass Sie die folgenden Schritte als redmine ausführen Benutzer.

1. Herunterladen von Redmine #

Laden Sie das Redmine-Archiv mit dem folgenden Curl-Befehl herunter:

curl -L http://www.redmine.org/releases/redmine-4.0.1.tar.gz -o redmine.tar.gz

Sobald der Download abgeschlossen ist, extrahieren Sie das Archiv:

tar -xvf redmine.tar.gz

2. Konfigurieren der Redmine-Datenbank #

Kopieren Sie die Konfigurationsdatei der Redmine-Beispieldatenbank:

cp /opt/redmine/redmine-4.0.1/config/database.yml.example /opt/redmine/redmine-4.0.1/config/database.yml

Öffnen Sie die Datei mit Ihrem Texteditor:

nano /opt/redmine/redmine-4.0.1/config/database.yml

Suchen Sie nach production Abschnitt und geben Sie die MySQL-Datenbank und Benutzerinformationen ein, die wir zuvor erstellt haben:

/opt/redmine/redmine-4.0.1/config/database.yml
production:
  adapter: mysql2
  database: redmine
  host: localhost
  username: redmine
  password: "change-with-strong-password"
  encoding: utf8

Wenn Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.

3. Ruby-Abhängigkeiten installieren #

Navigieren Sie zu redmine-4.0.1 Verzeichnis und installieren Sie Bundler und andere Ruby-Abhängigkeiten:

cd ~/redmine-4.0.1gem install bundler --no-rdoc --no-ribundle install --without development test postgresql sqlite

4. Generieren Sie Schlüssel und migrieren Sie die Datenbank #

Führen Sie den folgenden Befehl aus, um Schlüssel zu generieren und die Datenbank zu migrieren:

bundle exec rake generate_secret_tokenRAILS_ENV=production bundle exec rake db:migrate

Nginx konfigurieren #

Wechseln Sie zurück zu Ihrem sudo-Benutzer:

exit

Öffnen Sie Ihren Texteditor und erstellen Sie die folgende Nginx-Serverblockdatei:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com.conf
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

server {
    listen 80;
    server_name example.com www.example.com;

    root /opt/redmine/redmine-4.0.1/public;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    passenger_enabled on;
    passenger_min_instances 1;

    client_max_body_size 10m;
}
Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen.

Führen Sie vor dem Neustart des Nginx-Dienstes einen Test durch, um sicherzustellen, dass keine Syntaxfehler vorliegen:

sudo nginx -t

Wenn es keine Fehler gibt, sollte die Ausgabe so aussehen:

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

Starten Sie abschließend den Nginx-Dienst neu, indem Sie Folgendes eingeben:

sudo systemctl restart nginx

Nginx mit SSL konfigurieren #

Wenn Sie kein vertrauenswürdiges SSL-Zertifikat für Ihre Domain haben, können Sie ein kostenloses SSL-Zertifikat von Let’s Encrypt generieren, indem Sie diesen Anweisungen folgen.

Sobald das Zertifikat generiert ist, bearbeiten Sie die Domain-Nginx-Konfiguration wie folgt:

sudo nano /etc/nginx/conf.d/example.com.conf
/etc/nginx/conf.d/example.com
passenger_root /usr/share/ruby/vendor_ruby/phusion_passenger/locations.ini;
passenger_ruby /opt/redmine/.rvm/gems/default/wrappers/ruby;
passenger_instance_registry_dir /var/run/passenger-instreg;

# Redirect HTTP -> HTTPS
server {
    listen 80;
    server_name www.example.com example.com;

    include snippets/letsencrypt.conf;
    return 301 https://example.com$request_uri;
}

# Redirect WWW -> NON WWW
server {
    listen 443 ssl http2;
    server_name www.example.com;

    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;

    return 301 https://example.com$request_uri;
}

server {
    listen 443 ssl http2;
    server_name example.com;

    root /opt/redmine/redmine-4.0.1/public;

    # SSL parameters
    ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/example.com/chain.pem;
    include snippets/ssl.conf;
    include snippets/letsencrypt.conf;

    # log files
    access_log /var/log/nginx/example.com.access.log;
    error_log /var/log/nginx/example.com.error.log;

    passenger_enabled on;
    passenger_min_instances 1;
    client_max_body_size 10m;
}
Vergessen Sie nicht, example.com durch Ihre Redmine-Domain zu ersetzen und den richtigen Pfad zu den SSL-Zertifikatsdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet.

Zugriff auf Redmine #

Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und vorausgesetzt, die Installation ist erfolgreich, wird ein Bildschirm ähnlich dem folgenden angezeigt:

Die Standard-Anmeldeinformationen für Redmine sind:

  • Benutzername:admin
  • Passwort:admin

Wenn Sie sich zum ersten Mal anmelden, werden Sie aufgefordert, das Passwort wie folgt zu ändern:

Sobald Sie das Passwort geändert haben, werden Sie zur Seite des Benutzerkontos weitergeleitet.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren und konfigurieren Sie Redis unter CentOS 7

  3. So installieren und konfigurieren Sie GitLab unter CentOS 7

  4. So installieren und konfigurieren Sie Redis unter CentOS 8

  5. So installieren und konfigurieren Sie CyberPanel unter CentOS 8

So installieren und konfigurieren Sie ownCloud auf CentOS 7

So installieren und konfigurieren Sie Samba unter CentOS 8

So installieren und konfigurieren Sie Fail2ban unter CentOS 8

So installieren Sie Redmine auf CentOS 8

So installieren und konfigurieren Sie HAproxy unter CentOS 6

So installieren und konfigurieren Sie GlusterFS unter CentOS 7/CentOS 8