So installieren Sie Restyaboard auf CentOS 7

Restyaboard ist eine kostenlose und Open-Source Kanban Board. Es ist die beste selbst gehostete Alternative zu Trello. Es ist in PHP geschrieben und verwendet PostgreSQL, um seine Datenbank zu speichern.

In diesem Tutorial werden wir Restyaboard auf dem CentOS 7-Server installieren.

Voraussetzung

  • Minimaler CentOS 7 Server
  • Root-Rechte

Schritt 1 – Nginx installieren

Vor der Installation eines Pakets wird empfohlen, die Pakete und das Repository mit dem folgenden Befehl zu aktualisieren.

yum -y update

Nginx ist im Standard-CentOS-YUM-Repository nicht verfügbar, daher müssen wir auch das EPEL-Repository installieren. Sie können EPEL durch Eingabe installieren:

yum -y install epel-release

Jetzt können Sie nginx durch Eingabe installieren:

yum -y install nginx

Nach Abschluss der Installation können Sie die folgenden Befehle ausführen, um nginx zu starten und es automatisch beim Booten mit folgenden Befehlen zu starten.

systemctl start nginx systemctl enable nginx

Nginx sollte jetzt auf Ihrem Server laufen.

Schritt 2 – Installation und Konfiguration von PHP-FPM mit Mbstring

Restyaboard unterstützt PHP 7.0, daher werden wir PHP 7.0 für maximale Sicherheit und Leistung installieren. PHP 7.0 ist im YUM- oder EPEL-Repository nicht verfügbar, daher müssen wir das Webtatic-Repository dafür installieren. Führen Sie den folgenden Befehl aus, um das Webtatic-Repository zu installieren.

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

Installieren Sie nun PHP 7.0 mit PHP-FPM zusammen mit anderen erforderlichen Modulen.

yum -y install php70w php70w-fpm php70w-devel php70w-cli php70w-curl php70w-pgsql php70w-mbstring php70w-ldap php70w-pear php70w-imap php70w-xml php70w-pecl-imagick ImageMagick

Sobald die Installation abgeschlossen ist, müssen wir einige Dinge konfigurieren. Standardmäßig ist PHP-FPM für die Verwendung mit Apache konfiguriert, Sie müssen die Benutzer so ändern, dass es auch mit nginx funktioniert. Bearbeiten Sie die Datei /etc/php-fpm.d/www.conf mit Ihrem bevorzugten Texteditor. In diesem Tutorial werden wir den Nano-Editor verwenden. Wenn Sie nano nicht installiert haben, können Sie yum -y install nano ausführen.

nano /etc/php-fpm.d/www.conf

Suchen Sie nun die folgenden Zeilen und ändern Sie den Apache in nginx.

; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx

Anstatt einen Serverport zu verwenden, verwenden wir eine Socket-Datei für PHP-FPM. Suchen Sie die folgende Zeile.

listen = 127.0.0.1:9000

und ändern Sie es in die folgende Zeile.

listen = /run/php-fpm/php7.0-fpm.sock

Als nächstes finden Sie die folgenden Zeilen.

;listen.owner = nobody
;listen.group = nobody
;listen.mode = 0660

Ändern Sie die Werte wie folgt:

listen.owner = nginx
listen.group = nginx
listen.mode = 0660

Außerdem müssen Sie die Zeitzone in der PHP-Konfigurationsdatei festlegen. Bearbeiten Sie die PHP-Konfigurationsdatei mit dem Befehl:

nano /etc/php.ini

Suchen Sie die folgende Zeile und entkommentieren Sie die Zeile und stellen Sie die Zeitzone entsprechend Ihrer Region ein. Zum Beispiel:

[Date]
; Defines the default timezone used by the date functions
; http://php.net/date.timezone
date.timezone = Asia/Kolkata

Entkommentiere die Zeile cgi.fix_pathinfo und ändere den Wert auf 0.

cgi.fix_pathinfo=0

Weiterhin müssen Sie auch GeoIP installieren. Führen Sie den folgenden Befehl aus, um GeoIP zu installieren.

yum -y install GeoIP-devel

Aktivieren Sie nun die GeoIP-Erweiterung, indem Sie die folgende Zeile am Ende der /etc/php.ini hinzufügen

extension=geoip.so

Starten Sie PHP-FPM und aktivieren Sie es so, dass es beim Booten mit den folgenden Befehlen startet.

systemctl start php-fpm systemctl enable php-fpm

Starten Sie dann nginx mit dem folgenden Befehl neu.

systemctl restart nginx

Schritt 3 – Installation und Konfiguration von PostgreSQL-Daten

PostgreSQL ist ein Open-Source-Objekt – relationales Datenbankmanagementsystem. Restyaboard verwendet PostgreSQL, um seine Datenbank zu speichern.

PostgreSQL ist im YUM- oder EPEL-Repository nicht verfügbar, Sie müssen das PostgreSQL-Repository installieren.

rpm -Uvh https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Um PostgreSQL zu installieren, führen Sie den folgenden Befehl aus.

yum -y install postgresql96-server postgresql96-contrib

Der obige Befehl installiert PostgreSQL zusammen mit allen erforderlichen Abhängigkeiten in Ihrem System, bevor Sie die Software verwenden, müssen wir den folgenden Befehl ausführen, um die Datenbank zu initialisieren.

/usr/pgsql-9.6/bin/postgresql96-setup initdb

Sobald PostgreSQL installiert ist, ist es an der Zeit, es zu konfigurieren. Bearbeiten Sie die Datei /var/lib/pgsql/9.6/data/pg_hba.conf, um MD5-basierte Authentifizierung zu aktivieren.

nano /var/lib/pgsql/9.6/data/pg_hba.conf

Suchen Sie die folgenden Zeilen und ändern Sie den Peer auf Trust und idnet auf md5.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     peer
# IPv4 local connections:
host    all             all             127.0.0.1/32            ident
# IPv6 local connections:
host    all             all             ::1/128                 ident

Nach dem Update sollte die Konfiguration wie unten gezeigt aussehen.

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            md5
# IPv6 local connections:
host    all             all             ::1/128                 md5

Starten Sie nun den PostgreSQL-Server und aktivieren Sie ihn so, dass er beim Booten mit den folgenden Befehlen automatisch startet:

systemctl start postgresql-9.6 systemctl enable postgresql-9.6

Ändern Sie nun das Passwort für den Standard-PostgreSQL-Benutzer, der bei der Installation von PostgreSQL erstellt wurde.

passwd postgres

Melden Sie sich nun mit dem PostgreSQL-Benutzer mit dem folgenden Befehl an.

su - postgres

Der obige Befehl loggt sich in die Shell von postgres ein.

Erstellen Sie nun einen neuen Benutzer durch Eingabe:

createuser rb_user

Wechseln Sie nun mit dem folgenden Befehl in die PostgreSQL-Shell.

psql

Sie werden sehen, dass die Eingabeaufforderung auf der Shell in postgres – # geändert wurde. Führen Sie nun die folgende Abfrage aus, um ein Passwort für den neu angelegten Benutzer für die Restyaboard-Datenbank festzulegen.

ALTER USER rb_user WITH ENCRYPTED password 'StrongPassword';

Achten Sie darauf, dass Sie am Ende der Abfrage ein Semikolon verwenden. Die obige Abfrage fragt Sie zweimal nach dem Passwort des rb_user. Erstellen Sie nun eine neue Datenbank für die PostgreSQL-Datenbank mit der folgenden Abfrage.

CREATE DATABASE rb_data OWNER rb_user ENCODING 'UTF8' TEMPLATE template0;

Die obige Abfrage erstellt eine Datenbank namens rb_data mit UTf8-Kodierung unter Verwendung von template0 und das Eigentum wird rb_user zur Verfügung gestellt.

Beenden Sie die psql-Shell mit dem folgenden Befehl auf die normale Shell-Benutzeroberfläche von postgres user.

\q

und wechseln Sie mit dem Exit-Befehl wieder zum Root-Benutzer.

Schritt 4 – Restyaboard herunterladen

Da wir alle Abhängigkeiten bereit haben, können wir nun Restyaboard herunterladen. Führen Sie den folgenden Befehl aus, um die fertige einsatzbereite Version herunterzuladen.

cd /usr/share/nginx/html wget https://github.com/RestyaPlatform/board/releases/download/v0.4.2/board-v0.4.2.zip

Den Link zur neuesten Version findest du immer auf der Restyaboard Github-Seite.

Entpacken Sie nun das Archiv mit folgenden Befehlen. Wenn Sie nicht unzip installiert haben, können Sie yum -y install unzip ausführen.

unzip board-v0.4.2.zip -d board

Nachdem das Archiv extrahiert wurde, importieren Sie die SQL-Datei mit dem folgenden Befehl.

psql -d rb_data -f "/usr/share/nginx/html/board/sql/restyaboard_with_empty_data.sql" -U rb_user

Bearbeiten Sie nun die Restyaboard-Konfigurationsdatei, um die Datenbank-Anmeldeinformationen zu aktualisieren.

nano /usr/share/nginx/html/board/server/php/config.inc.php

Suchen Sie die folgenden Zeilen.

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'restya');
define('R_DB_PASSWORD', 'hjVl2!rGd');
define('R_DB_NAME', 'restyaboard');
define('R_DB_PORT', 5432);

Ändern Sie es entsprechend dem Datenbanknamen, Benutzernamen und Passwort der Datenbank, die wir kürzlich erstellt haben, um Restyaboard-Daten zu speichern. Nach der Fertigstellung sollte es wie unten gezeigt aussehen.

define('R_DB_HOST', 'localhost');
define('R_DB_USER', 'rb_user');
define('R_DB_PASSWORD', 'StrongPassword');
define('R_DB_NAME', 'rb_data');
define('R_DB_PORT', 5432);

Schritt 5 – Nginx-Serverblock konfigurieren

Die Restyboard nginx Server Block Konfiguration wird zusammen mit dem Zip-Archiv geliefert. Sie können die Konfigurationsdatei mit dem folgenden Befehl an den Speicherort der nginx-Konfigurationsdatei kopieren.

cp /usr/share/nginx/html/board/restyaboard.conf /etc/nginx/conf.d

Nun müssen Sie einige Änderungen an der Datei vornehmen. Öffnen Sie die Konfigurationsdatei mit Ihrem bevorzugten Texteditor.

nano /etc/nginx/conf.d/restyaboard.conf

Zu Beginn der Konfiguration finden Sie die folgende Zeile.

server {
        listen 80 default_server;
        server_name _;

Entfernen Sie den Text default_server und geben Sie Ihren Domainnamen hinter dem Servernamen an. Es sollte so aussehen, wie unten gezeigt.

server {
        listen 80;
        server_name board.yourdomain.com;

Suchen Sie auch die folgende Zeile:

 root /usr/share/nginx/html;

und

 location / {
                root /usr/share/nginx/html/client;
        }

und

root /usr/share/nginx/html/client;

Ändern Sie die obige Zeile entsprechend dem Installationsordner von Restyaboard. Es sollte wie unten gezeigt aussehen.

root /usr/share/nginx/html/board;

und

 location / {
                root /usr/share/nginx/html/board/client;
        }

und

root /usr/share/nginx/html/board/client

Finde auch die Zeile:

fastcgi_pass    unix:/run/php/php7.0-fpm.sock;

Ändere es wie folgt:

fastcgi_pass    unix:/run/php-fpm/php7.0-fpm.sock;

Du kannst die Datei jetzt schließen. Stellen Sie nun mit den folgenden Befehlen die entsprechenden Eigentümer und Berechtigungen bereit.

chown -R nginx:nginx /usr/share/nginx/html/board/
chmod -R go+w "/usr/share/nginx/html/board/media"
chmod -R go+w "/usr/share/nginx/html/board/client/img"
chmod -R go+w "/usr/share/nginx/html/board/tmp/cache"
chmod -R 0755 /usr/share/nginx/html/board/server/php/shell/*.sh

Fügen Sie schließlich die Cron-Einträge hinzu, damit geplante Tasks mit folgenden Befehlen ausgeführt werden können.

echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/instant_email_notification.sh" >> /var/spool/cron/root
echo "0 * * * * /usr/share/nginx/html/board/server/php/shell/periodic_email_notification.sh" >> /var/spool/cron/root
echo "*/30 * * * * /usr/share/nginx/html/board/server/php/shell/imap.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/webhook.sh" >> /var/spool/cron/root
echo "*/5 * * * * /usr/share/nginx/html/board/server/php/shell/card_due_notification.sh" >> /var/spool/cron/root

Jetzt müssen Sie Ihren SELinux deaktivieren, da die Proxy-Konfiguration nicht mit SELinux-Richtlinien funktioniert. Um SELinux vorübergehend zu deaktivieren, ohne den Server neu zu starten, führen Sie den folgenden Befehl aus.

setenforce 0

Um die SELinux vollständig zu deaktivieren, müssen Sie die Datei /etc/selinux/config bearbeiten.

nano /etc/selinux/config

Suchen Sie die folgende Zeile:

SELINUX=enforcing

Ändere es in:

SELINUX=disabled

Starten Sie dann Nginx mit dem folgenden Befehl neu.

systemctl restart nginx

Sie können nun auf den Server zugreifen, indem Sie auf die folgende URL klicken.

http://board.yourdomain.com

Sie werden folgenden Login-Bildschirm sehen.

Restyaboard Login-Bildschirm

Melden Sie sich nun mit dem Benutzernamen admin und dem Passwort restya an. Sobald Sie eingeloggt sind, sehen Sie den folgenden Bildschirm.

Restyaboard Dashbard

Um ein neues Board zu erstellen, klicken Sie auf den Pfeil in der linken Ecke der Seite und dann auf Board oder Organisation hinzufügen.

Neues Board erstellen

Geben Sie einen Namen an und wählen Sie eine Vorlage, um ein neues Board zu erstellen.

Vorlage für das Board auswählen

Sobald Sie das Board erstellt haben, sieht es wie unten gezeigt aus.

Neues Board in Restyaboard

Um auf das Admin-Panel zuzugreifen, können Sie auf die Schaltfläche Admin unten rechts und dann auf Einstellungen in der oberen Leiste klicken.

Zugriff auf das Admin-Panel

Restyaboard ist nun auf Ihrem Server installiert, Sie können nun die Kanbantafel verwenden, um den Workflow Ihres Projekts zu verbessern.

Das könnte Dich auch interessieren …