Configure HTTPS on Synology NAS Using Let's Encrypt | Synology
Inhaltsverzeichnis:
- Voraussetzungen
- MySQL-Datenbank erstellen
- Passenger und Nginx installieren
- Neuen Systembenutzer anlegen
- Ruby installieren
- Redmine unter CentOS installieren
- 1. Redmine herunterladen
- 2. Konfigurieren der Redmine-Datenbank
- 3. Installieren von Ruby-Abhängigkeiten
- 4. Generieren Sie Schlüssel und migrieren Sie die Datenbank
- Nginx konfigurieren
- Konfigurieren Sie Nginx mit SSL
- Zugriff auf Redmine
- Fazit
Redmine ist eines der beliebtesten Tools für Open Source-Projektmanagement und Issue-Tracking. Es ist plattform- und datenbankübergreifend und basiert auf dem Ruby on Rails-Framework.
Redmine bietet Unterstützung für mehrere Projekte, Wikis, Problemverfolgungssysteme, Foren, Kalender, E-Mail-Benachrichtigungen und vieles mehr.
In diesem Tutorial werden die Schritte beschrieben, 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:
- Domainname, der auf die öffentliche IP Ihres Servers verweist. In diesem Tutorial verwenden wir
example.com
Eingeloggt als Benutzer mit Sudo-Rechten.
Installieren Sie die Pakete, die zum Erstellen von Redmine und Ruby aus dem Quellcode erforderlich sind:
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-devel
sudo yum install mariadb-devel zlib libyaml-devel bzip2 iconv-devel ImageMagick ImageMagick-devel
MySQL-Datenbank erstellen
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 diese Anweisungen befolgen.
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
change-with-strong-password
durch ein sicheres
change-with-strong-password
.
Wenn Sie fertig sind, verlassen Sie die mysql-Shell, indem Sie Folgendes eingeben:
Passenger und Nginx installieren
Passenger ist ein schneller und leichter Webanwendungsserver für Ruby, Node.js und Python, der in 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 pygpgme
sudo yum-config-manager --enable epel
Aktivieren Sie das Phusionpassenger-Repository:
sudo yum-config-manager --add-repo
Sobald das Repository aktiviert ist, aktualisieren Sie die Paketliste und installieren Sie Nginx und Passenger mit:
sudo yum install nginx passenger passenger-devel
Neuen Systembenutzer anlegen
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 den
nginx
Benutzer der neuen Benutzergruppe hinzu und ändern Sie die Verzeichnisberechtigungen für
/opt/redmine
damit der Nginx darauf zugreifen kann:
sudo usermod -a -G redmine nginx
sudo chmod 750 /opt/redmine
Ruby installieren
Die Version von Ruby in den CentOS-Repositories ist ziemlich veraltet und wird von Redmine nicht unterstützt. Wir installieren Ruby mit RVM.
redmine
zum Benutzer
redmine
indem Sie
redmine
eingeben:
sudo su - redmine
Importieren Sie die GPG-Schlüssel und installieren Sie RVM:
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
gpg --keyserver hkp://pool.sks-keyservers.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
curl -sSL https://get.rvm.io | bash -s stable
So verwenden Sie RVM als Quelle für die
rvm
Datei:
source /opt/redmine/.rvm/scripts/rvm
Jetzt können wir Ruby installieren, indem wir Folgendes ausführen:
rvm install 2.5
rvm --default use 2.5
Wenn Sie Ruby über Rbenv installieren möchten, lesen Sie diese Anleitung.
Redmine unter CentOS installieren
Zum Zeitpunkt des Schreibens 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.
redmine
Sie sicher, dass Sie die folgenden Schritte als
redmine
Benutzer
redmine
.
1. Redmine herunterladen
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:
2. Konfigurieren der Redmine-Datenbank
Kopieren Sie die Redmine-Beispieldatenbank-Konfigurationsdatei:
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 dem
production
und geben Sie die zuvor erstellten MySQL-Datenbank- und Benutzerinformationen ein:
production: adapter: mysql2 database: redmine host: localhost username: redmine password: "change-with-strong-password" encoding: utf8
Sobald Sie fertig sind, speichern Sie die Datei und beenden Sie den Editor.
3. Installieren von Ruby-Abhängigkeiten
Navigieren Sie zum
redmine-4.0.1
und installieren Sie den
redmine-4.0.1
und andere Ruby-Abhängigkeiten:
cd ~/redmine-4.0.1
gem install bundler --no-rdoc --no-ri
bundle 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_token
RAILS_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-Server-Blockdatei:
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 keine Fehler vorliegen, sollte die Ausgabe folgendermaßen aussehen:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
Starten Sie schließlich den Nginx-Dienst neu, indem Sie Folgendes eingeben:
Konfigurieren Sie Nginx mit SSL
Nachdem das Zertifikat generiert wurde, 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-Zertifikatdateien festzulegen. Alle HTTP-Anforderungen werden an HTTPS umgeleitet.
Zugriff auf Redmine
Öffnen Sie Ihren Browser, geben Sie Ihre Domain ein und bei erfolgreicher Installation wird ein Bildschirm ähnlich dem folgenden angezeigt:
Sobald Sie das Passwort geändert haben, werden Sie zur Benutzerkontoseite weitergeleitet.
Fazit
Sie haben Redmine erfolgreich auf Ihrem CentOS-System installiert. Sie sollten jetzt die Redmine-Dokumentation lesen und mehr über die Konfiguration und Verwendung von Redmine erfahren.
Centos Redmine Ruby MySQL Mariadb NginxSo installieren und konfigurieren Sie vnc auf centos 7
In diesem Tutorial werden wir Sie durch die Schritte zur Installation und Konfiguration eines VNC-Servers auf einem CentOS 7-System führen. Wir zeigen Ihnen auch, wie Sie eine sichere Verbindung zum VNC-Server über einen SSH-Tunnel herstellen.
So installieren und konfigurieren Sie gitlab auf centos 7
GitLab ist ein webbasierter Open-Source-Git-Repository-Manager, der in Ruby geschrieben wurde und Wiki, Problemverwaltung, Codeüberprüfung, Überwachung sowie kontinuierliche Integration und Bereitstellung umfasst. Dieses Tutorial beschreibt die Schritte, die zur Installation und Konfiguration von GitLab (CE) auf einem CentOS 7-System mit den Omnibus-Paketen erforderlich sind.
So installieren und konfigurieren Sie Samba auf Centos 7
In diesem Tutorial wird gezeigt, wie Samba unter CentOS 7 installiert und als eigenständiger Server konfiguriert wird, um die gemeinsame Nutzung von Dateien auf verschiedenen Betriebssystemen über ein Netzwerk zu ermöglichen.