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.
Melden Sie sich nun mit dem Benutzernamen admin und dem Passwort restya an. Sobald Sie eingeloggt sind, sehen Sie den folgenden Bildschirm.
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.
Geben Sie einen Namen an und wählen Sie eine Vorlage, um ein neues Board zu erstellen.
Sobald Sie das Board erstellt haben, sieht es wie unten gezeigt aus.
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.
Restyaboard ist nun auf Ihrem Server installiert, Sie können nun die Kanbantafel verwenden, um den Workflow Ihres Projekts zu verbessern.