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
- EPEL-Repository installieren
- Nginx installieren
- PHP-FPM installieren und konfigurieren
- MySQL/MariaDB installieren und konfigurieren
- PHP Composer installieren
- BookStack installieren
- Nginx-Virtual Host für BookStack konfigurieren
- 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-releaseSchritt 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 nginxNachdem 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 -plntuStellen Sie sicher, dass Sie den Port 80 in der Liste haben und dass er vom Nginx-Dienst verwendet wird.

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 --reloadSchritt 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.rpmInstallieren 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 curlNachdem 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.iniKommentieren Sie die Zeile ‘cgi.fix_pathinfo’ aus und ändern Sie den Wert in ‘0’.
cgi.fix_pathinfo=0Speichern 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.sockJetzt 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 = 0660Schließ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] = /tmpSpeichern 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 phpUnd 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-serverNachdem die Installation abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn, damit er bei jedem Bootvorgang gestartet wird.
systemctl start mariadb
systemctl enable mariadbJetzt 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
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] YDas 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 -pFü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;
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 | phpUnd 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 -vUnd Sie erhalten die Composer-Version, die auf Ihrem System installiert ist.

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 gitErstellen Sie nun das neue Verzeichnis ‘/var/www’.
mkdir -p /var/wwwGehen 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-branchGehen Sie in das Verzeichnis ‘BookStack/‘ und installieren Sie alle benötigten PHP-Abhängigkeiten mit dem Composer-Befehl wie unten gezeigt.
cd BookStack/
composer installStellen Sie sicher, dass Sie keine Fehler erhalten und wenn es abgeschlossen ist, sehen Sie das Ergebnis wie unten.

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/BookStackAls 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 migrateSie werden um Bestätigung gebeten, geben Sie ‘yes’ ein und drücken Sie die Eingabetaste.

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.confFü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 nginxDer Nginx-Virtual Host für die BookStack-Anwendung wurde erstellt und aktiviert.

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.

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.

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

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.

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
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.