Installation · 8 min read · Dec 08, 2025

Wie man die BookStack Dokumentation Wiki auf CentOS 7 installiert

BookStack ist eine Open-Source-Plattform zur Erstellung von Dokumentations-/Wiki-Inhalten für Ihr Projekt. Es wurde in der Programmiersprache PHP geschrieben und verwendet das Laravel-Webframework. Grundsätzlich wird Ihre Projektdokumentation/Wiki in BookStack als ‘Buch’, gefolgt von ‘Kapitel’ und ‘Seiten’, gespeichert. Es erleichtert Ihnen das Erstellen und Lesen der Dokumentation als Buch, basierend auf Kapiteln und Seiten.

In diesem Tutorial zeige ich Ihnen Schritt für Schritt, wie Sie BookStack auf CentOS 7 unter dem LEMP (Linux, Nginx, PHP-FPM, MySQL/MariaDB) Stack installieren und konfigurieren. Dieses Tutorial behandelt Themen wie die Installation von PHP Composer und die Erstellung der MySQL-Datenbank über die Befehlszeile.

Voraussetzungen

  • CentOS 7
  • Root-Rechte

Was wir tun werden

  1. EPEL-Repository installieren
  2. Nginx installieren
  3. PHP-FPM installieren und konfigurieren
  4. MySQL/MariaDB installieren und konfigurieren
  5. PHP Composer installieren
  6. BookStack installieren
  7. Nginx-Virtual Host für BookStack konfigurieren
  8. Testen

Schritt 1 - EPEL-Repository installieren

Fügen Sie das neue Drittanbieter-Repository zum System hinzu. Wir müssen das EPEL (Extra Packages for Enterprise Linux) Repository zu unserem CentOS 7-System hinzufügen, damit wir Nginx und andere Pakete installieren können.

Installieren Sie das EPEL-Repository mit dem folgenden yum-Befehl.

sudo yum -y install epel-release

Schritt 2 - Nginx auf CentOS 7 installieren

In diesem Tutorial werden wir die ‘BookStack’-Plattform unter dem LEMP-Stack ausführen und den Nginx-Webserver aus dem EPEL-Repository installieren.

Installieren Sie den Nginx-Webserver mit dem folgenden yum-Befehl.

sudo yum -y install nginx

Nachdem die Installation abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn, damit er bei jedem Systemstart gestartet wird.

systemctl start nginx  
systemctl enable nginx

Überprüfen Sie dies nun mit dem netstat-Befehl.

netstat -plntu

Stellen Sie sicher, dass Sie den Port 80 in der Liste haben und dass er vom Nginx-Dienst verwendet wird.

Installiere Nginx

Der Nginx-Webserver ist jetzt auf dem CentOS 7-System installiert.

Zusätzlich: Wenn Sie firewalld auf Ihrem System ausführen, fügen Sie den neuen HTTP-Dienst zur Konfiguration hinzu, indem Sie die folgenden Befehle ausführen.

firewall-cmd --add-service=http --permanent  
firewall-cmd --reload

Schritt 3 - PHP und PHP-FPM installieren

In diesem Schritt werden wir PHP-FPM 7.0 installieren und konfigurieren. Wir werden PHP und PHP-FPM aus dem ‘webtatic’-Repository installieren - installieren Sie PHP mit einigen Erweiterungen, die von der ‘BookStack’-Plattform benötigt werden, einschließlich PDO, Tokenizer, GD, Tidy, MBString und OpenSSL.

Bevor Sie PHP und PHP-FPM installieren, fügen Sie das neue ‘webtatic’-Repository zum CentOS 7-System mit dem folgenden rpm-Befehl hinzu.

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

Installieren Sie nun PHP und PHP-FPM mit allen benötigten Erweiterungen mit dem yum-Befehl auf folgende Weise.

sudo yum -y install php70w-fpm php70w-mcrypt php70w-curl php70w-cli php70w-mysql php70w-gd php70w-xsl php70w-json php70w-intl php70w-pear php70w-devel php70w-common php70w-mbstring php70w-tidy php70w-zip php70w-soap curl

Nachdem die Installation abgeschlossen ist, müssen wir die Konfigurationsdatei ‘php.ini’ bearbeiten und die PHP-FPM-Poolkonfiguration ‘www.conf’ anpassen.

Bearbeiten Sie die Konfigurationsdatei ‘php.ini’ mit dem vim-Editor.

vim /etc/php.ini

Kommentieren Sie die Zeile ‘cgi.fix_pathinfo’ aus und ändern Sie den Wert in ‘0’.

cgi.fix_pathinfo=0

Speichern Sie und beenden Sie.

Als nächstes bearbeiten Sie die Poolkonfigurationsdatei ‘www.conf’.

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

Ändern Sie den Standardbenutzer für den Betrieb des PHP-FPM-Dienstes in den Benutzer und die Gruppe ‘nginx’.

user = nginx  
group = nginx

Ändern Sie in der Zeile ‘listen’ den Wert auf die Sockeldatei wie unten. Wir werden PHP-FPM unter der Sockeldatei ausführen.

listen = /var/run/php-fpm/php-fpm.sock

Jetzt für die Berechtigungen und den Eigentümer der Sockelkonfiguration. Kommentieren Sie diese Zeilen aus und ändern Sie den Wert wie folgt.

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

Schließlich kommentieren Sie die PHP-FPM-Umgebung aus.

env[HOSTNAME] = $HOSTNAME  
env[PATH] = /usr/local/bin:/usr/bin:/bin  
env[TMP] = /tmp  
env[TMPDIR] = /tmp  
env[TEMP] = /tmp

Speichern Sie und beenden Sie.

Wenn die Konfiguration abgeschlossen ist, starten Sie den PHP-FPM-Dienst und aktivieren Sie ihn, damit er bei jedem Bootvorgang gestartet wird.

systemctl start php-fpm  
systemctl enable php-fpm

Überprüfen Sie dies nun mit dem netstat-Befehl.

netstat -pl | grep php

Und stellen Sie sicher, dass Sie die PHP-FPM-Sockeldatei erhalten.

PHP und PHP-FPM 7.0 mit allen für die ‘BookStack’-Plattform benötigten Erweiterungen wurden auf dem CentOS 7-System installiert.

Schritt 4 - MySQL/MariaDB installieren und konfigurieren

BookStack unterstützt nur die MySQL-Datenbank und läuft nur unter MySQL-Version >= 5.6. Für dieses Tutorial verwenden wir MariaDB (neueste Version), die aus dem Ubuntu-Repository installiert werden kann.

Führen Sie den folgenden yum-Befehl aus, um die MariaDB-Datenbank zu installieren.

yum install -y mariadb mariadb-server

Nachdem die Installation abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn, damit er bei jedem Bootvorgang gestartet wird.

systemctl start mariadb  
systemctl enable mariadb

Jetzt müssen wir das ‘root’-Passwort für die Datenbank konfigurieren.

Führen Sie den folgenden Befehl aus, um das ‘root’-Datenbankpasswort festzulegen.

mysql_secure_installation

Konfiguriere MariaDB

Und Sie werden nach dem neuen MySQL-Root-Passwort gefragt - geben Sie Ihr Passwort für den Root-Benutzer ein und drücken Sie die Eingabetaste. Für die anderen geben Sie einfach ‘Y’ für Ja ein und drücken Sie erneut die Eingabetaste.

Set root password? [Y/n] Y  
 Remove anonymous users? [Y/n] Y  
 Disallow root login remotely? [Y/n] Y  
 Remove test database and access to it? [Y/n] Y  
 Reload privilege tables now? [Y/n] Y

Das MySQL-Root-Passwort wurde jetzt eingerichtet.

Als nächstes müssen wir eine neue MySQL-Datenbank für die BookStack-Installation erstellen. Wir werden eine neue Datenbank mit dem Namen ‘bookstackdb’ mit dem Benutzer ‘bookstack’ und dem Passwort ‘bookstack@’ erstellen.

Melden Sie sich mit dem Root-Benutzer an der MySQL-Shell an.

mysql -u root -p

Führen Sie alle MySQL-Abfragen unten in der Shell aus.

create database bookstackdb;  
create user bookstack@localhost identified by 'bookstack@';  
grant all privileges on bookstackdb.* to bookstack@localhost identified by 'bookstack@';  
flush privileges;  
exit;

Datenbank in MariaDB für BookStack erstellen

MySQL/MariaDB wurde auf dem CentOS 7-System installiert, und die Datenbank für die ‘BookStack’-Installation wurde erstellt.

Schritt 5 - PHP Composer auf CentOS 7 installieren

Der Composer ist ein Abhängigkeitsmanager für PHP. Er ermöglicht es Ihnen, PHP-Abhängigkeiten zu verwalten, die Sie für Ihr Projekt benötigen. In diesem Schritt werden wir den Composer mit dem Installationsskript installieren. Der Composer wird verwendet, um alle PHP-Bibliotheken herunterzuladen, die von der ‘BookStack’ benötigt werden.

Gehen Sie zum Home-Verzeichnis und laden Sie den Installer mit curl herunter.

cd ~/  
curl -sS https://getcomposer.org/installer | php

Und Sie erhalten die Datei ‘composer.phar’ in Ihrem Home-Verzeichnis. Verschieben Sie die Datei in das Verzeichnis ‘/usr/bin’ und versuchen Sie den Befehl ‘composer’ wie unten gezeigt.

mv composer.phar /usr/bin/composer  
composer -v

Und Sie erhalten die Composer-Version, die auf Ihrem System installiert ist.

Installiere PHP Composer

Der PHP Composer ist jetzt auf dem CentOS 7-System installiert.

Schritt 6 - BookStack auf CentOS 7 installieren

In diesem Schritt werden wir BookStack im Verzeichnis ‘/var/www’ installieren - dieses Verzeichnis wird das Stammverzeichnis der Anwendung sein.

Bevor Sie ‘BookStack’ installieren, installieren Sie git auf Ihrem System.

yum -y install git

Erstellen Sie nun das neue Verzeichnis ‘/var/www’.

mkdir -p /var/www

Gehen Sie in dieses Verzeichnis und klonen Sie den Quellcode von BookStack mit dem git-Befehl.

cd /var/www  
git clone https://github.com/BookStackApp/BookStack.git --branch release --single-branch

Gehen Sie in das Verzeichnis ‘BookStack/‘ und installieren Sie alle benötigten PHP-Abhängigkeiten mit dem Composer-Befehl wie unten gezeigt.

cd BookStack/  
composer install

Stellen Sie sicher, dass Sie keine Fehler erhalten und wenn es abgeschlossen ist, sehen Sie das Ergebnis wie unten.

Installiere BookStack mit Composer

Kopieren Sie nun die Umgebungs-Konfigurationsdatei ‘.env.example’ und bearbeiten Sie sie mit vim.

cp .env.example .env  
vim .env

Ändern Sie in der Zeile mit den Datenbankdetails alles mit Ihren Datenbankinformationen wie unten gezeigt.

# Datenbankdetails  
 DB_HOST=localhost  
 DB_DATABASE=bookstackdb  
 DB_USERNAME=bookstack  
 DB_PASSWORD=bookstack@

Speichern Sie und beenden Sie.

Ändern Sie die Eigentumsberechtigungen des ‘BookStack’-Verzeichnisses auf den Benutzer und die Gruppe ‘nginx’.

chown -R nginx:nginx /var/www/BookStack

Als nächstes müssen wir den eindeutigen Anwendungsschlüssel für BookStack generieren und das Datenbankschema mit den PHP Artisan-Befehlen aktualisieren.

Im Stammverzeichnis der Anwendung ‘/var/www/BookStack’ führen Sie die folgenden Befehle aus.

php artisan key:generate  
php artisan migrate

Sie werden um Bestätigung gebeten, geben Sie ‘yes’ ein und drücken Sie die Eingabetaste.

PHP Artisan

Warten Sie, bis die Tabellenmigration erfolgreich ist.

Die BookStack-Anwendung wurde installiert, mit dem geheimen eindeutigen Anwendungsschlüssel generiert und das Datenbankschema für BookStack aktualisiert.

Schritt 7 - Nginx-Virtual Host für BookStack konfigurieren

In diesem Schritt werden wir den Nginx-Virtual Host für BookStack konfigurieren. Wir werden ‘book.hakase-labs.co’ als Domainnamen für unsere BookStack-URL verwenden.

Gehen Sie in das Verzeichnis ‘/etc/nginx’ und erstellen Sie die neue Virtual Host-Datei ‘bookstack.conf’ im Verzeichnis ‘conf.d/‘ mit dem vim-Editor.

cd /etc/nginx  
vim conf.d/bookstack.conf

Fügen Sie die folgende Konfiguration ein.

server {  
   listen 80;  
   server_name book.hakase-labs.co;  
   root /var/www/BookStack/public;  
   
   access_log  /var/log/nginx/bookstack_access.log;  
   error_log  /var/log/nginx/bookstack_error.log;  
   
   client_max_body_size 1G;  
   fastcgi_buffers 64 4K;  
   
   index  index.php;  
   
   location / {  
     try_files $uri $uri/ /index.php?$query_string;  
   }  
   
   location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README) {  
     deny all;  
   }  
   
   location ~ \.php(?:$|/) {  
     fastcgi_split_path_info ^(.+\.php)(/.+)$;  
     include fastcgi_params;  
     fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
     fastcgi_param PATH_INFO $fastcgi_path_info;  
     fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;  
   }  
   
   location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {  
     expires 30d;  
     access_log off;  
   }  
 }

Speichern Sie und beenden Sie.

Testen Sie nun die Nginx-Konfiguration und stellen Sie sicher, dass es keine Fehler gibt, und starten Sie dann den Nginx-Dienst neu.

nginx -t  
systemctl restart nginx

Der Nginx-Virtual Host für die BookStack-Anwendung wurde erstellt und aktiviert.

Konfiguriere Nginx-Virtual Host

Schritt 8 - Testen

Öffnen Sie Ihren Webbrowser und geben Sie die BookStack-URL in die Adresszeile ein, meine ist: http://book.hakase-labs.co/

Und Sie werden zur ‘login/‘-Seite wie unten umgeleitet.

BookStack Login

Geben Sie den Standard-Admin-Benutzer ‘ [email protected] ‘ mit dem Passwort ‘password’ ein und drücken Sie dann die Schaltfläche ‘Login’.

Sie sollten das BookStack-Benutzerdashboard erhalten.

Dashboard

Klicken Sie auf das Menü ‘Einstellungen’ und Sie erhalten die Einstellungsseite.

Einstellungen

Klicken Sie nun auf ‘Benutzer’ und dann auf den ‘Admin’-Benutzer. Ändern Sie die Standard-E-Mail mit Ihrer E-Mail-Adresse und das Passwort mit Ihrem eigenen geheimen Passwort.

BookStack-Benutzer

Klicken Sie dann auf die Schaltfläche ‘Speichern’.

Die Installation von BookStack mit dem LEMP (Linux, Nginx, MariaDB und PHP-FPM) Stack auf CentOS 7 wurde erfolgreich abgeschlossen.

Referenz

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.