GNU/Linux >> LINUX-Kenntnisse >  >> Cent OS

So installieren Sie das BookStack-Dokumentations-Wiki unter CentOS 7

BookStack ist eine Open-Source-Plattform zum Erstellen von Dokumentationen/Wiki-Inhalten für Ihr Projekt. Es wurde in der Programmiersprache PHP geschrieben und verwendet das Laravel-Webframework. Grundsätzlich wird Ihre Projektdokumentation/Wiki auf BookStack als „Buch“ gespeichert, gefolgt von „Kapitel“ und „Seiten“. 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 unter CentOS 7 unter dem LEMP-Stack (Linux, Nginx, PHP-FPM, MySQL/MariaDB) 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. Installieren Sie Nginx
  3. Installieren und konfigurieren Sie PHP-FPM
  4. Installieren und konfigurieren Sie MySQL/MariaDB
  5. Installieren Sie PHP Composer
  6. BookStack installieren
  7. Nginx Virtual Host BookStack konfigurieren
  8. Testen

Schritt 1 – EPEL-Repository installieren

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

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

sudo yum -y install epel-release

Schritt 2 – Nginx unter CentOS 7 installieren

In diesem Tutorial führen wir die „BookStack“-Plattform unter dem LEMP-Stack aus und installieren den Nginx-Webserver aus dem EPEL-Repository.

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

sudo yum -y install nginx

Nachdem die Installation abgeschlossen ist, starten Sie den Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start nginx
systemctl enable nginx

Überprüfen Sie es jetzt mit dem Befehl netstat.

netstat -plntu

Stellen Sie sicher, dass Port 80 auf der Liste steht und 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 der Konfiguration einen neuen HTTP-Dienst 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.

Fügen Sie vor der Installation von PHP und PHP-FPM das neue „webtatic“-Repository zum CentOS 7-System hinzu, indem Sie den folgenden rpm-Befehl verwenden.

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

Installieren Sie nun PHP und PHP-FPM mit allen erforderlichen Erweiterungen mit dem Befehl yum 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“ und die Konfiguration des php-fpm-Pools „www.conf“ bearbeiten.

Bearbeiten Sie die Konfigurationsdatei „php.ini“ mit dem vim-Editor.

vim /etc/php.ini

Entkommentieren Sie die Zeile „cgi.fix_pathinfo“ und ändern Sie den Wert auf „0“.

cgi.fix_pathinfo=0

Speichern und beenden.

Bearbeiten Sie als Nächstes die Pool-Konfigurationsdatei „www.conf“.

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

Ändern Sie den Standardbenutzer zum Ausführen des PHP-FPM-Dienstes in „nginx“-Benutzer und -Gruppe.

user = nginx
group = nginx

Ändern Sie in der Zeile „Listen“ den Wert wie unten in die Sock-Datei. Wir werden PHP-fpm unter der Sock-Datei ausführen.

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

Nun zur Socket-Berechtigung und Eigentümerkonfiguration. Entkommentieren Sie diese Zeilen und ändern Sie den Wert wie folgt.

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

Entkommentieren Sie abschließend die PHP-FPM-Umgebung.

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

Speichern und beenden.

Wenn die Konfiguration abgeschlossen ist, starten Sie den PHP-FPM-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Booten gestartet wird.

systemctl start php-fpm
systemctl enable php-fpm

Überprüfen Sie es jetzt mit dem Befehl netstat.

netstat -pl | grep php

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

PHP und PHP-FPM 7.0 mit allen für die 'BookStack'-Plattform erforderlichen 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 Befehl yum 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 so, dass er jedes Mal beim Booten 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“-Datenbankkennwort einzurichten.

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. Geben Sie für die anderen 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 ist jetzt eingerichtet.

Als nächstes müssen wir eine neue MySQL-Datenbank für die BookStack-Installation erstellen. Wir werden eine neue Datenbank namens „bookstackdb“ mit dem Benutzer „bookstak“ und dem Passwort „[email protected]“ erstellen.

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

mysql -u root -p

Führen Sie alle unten aufgeführten MySQL-Abfragen auf der Shell aus.

create database bookstackdb;
create user [email protected] identified by '[email protected]';
grant all privileges on bookstackdb.* to [email protected] identified by '[email protected]';
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. Es ermöglicht Ihnen, PHP-Abhängigkeiten zu verwalten, die Sie für Ihr Projekt benötigen. In diesem Schritt installieren wir den Composer mithilfe des Installationsskripts. Der Composer wird zum Herunterladen aller PHP-Bibliotheken verwendet, die vom 'BookStack' benötigt werden.

Wechseln Sie in das Home-Verzeichnis und laden Sie das Installationsprogramm 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.

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

Schritt 6 – BookStack auf CentOS 7 installieren

In diesem Schritt installieren wir BookStack im Verzeichnis „/var/www“ – dieses Verzeichnis ist das Stammverzeichnis der Anwendung.

Installieren Sie vor der Installation von 'BookStack' git auf Ihrem System.

yum -y install git

Erstellen Sie nun ein neues Verzeichnis ‚/var/www‘.

mkdir -p /var/www

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

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 keinen Fehler erhalten und wann es abgeschlossen ist. Das Ergebnis sehen Sie unten.

Kopieren Sie nun die Umgebungskonfigurationsdatei ‚.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.

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
[email protected]

Speichern und beenden.

Und ändern Sie die Eigentumsberechtigungen des Verzeichnisses „BookStack“ 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.

Führen Sie im Stammverzeichnis der Anwendung „/var/www/BookStack“ die folgenden Befehle aus.

php artisan key:generate
php artisan migrate

Sie werden um eine Bestätigung gebeten, geben Sie „Ja“ ein und drücken Sie die Eingabetaste.

Warten Sie, bis die Tabellenmigration erfolgreich ist.

Die BookStack-Anwendung wurde installiert, wobei die geheime eindeutige Schlüsselanwendung generiert und das Datenbankschema für BookStack aktualisiert wurde.

Schritt 7 – Konfigurieren Sie den virtuellen Nginx-Host für BookStack

In diesem Schritt konfigurieren wir den virtuellen nginx-Host für BookStack. Wir werden „book.hakase-labs.co“ als Domainnamen für unsere BookStack-URL verwenden.

Gehen Sie in das Verzeichnis „/etc/nginx“ und erstellen Sie mit dem vim-Editor eine neue virtuelle Hostdatei „bookstack.conf“ im Verzeichnis „conf.d/“.

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

Konfiguration unten einfügen.

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 und beenden.

Testen Sie nun die nginx-Konfiguration und stellen Sie sicher, dass kein Fehler vorliegt, und starten Sie dann den nginx-Dienst neu.

nginx -t
systemctl restart nginx

Der virtuelle Nginx-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 Adressleiste ein, meine ist: http://book.hakase-labs.co/

Und Sie werden wie unten auf die Seite „Login/“ weitergeleitet.

Geben Sie den standardmäßigen Administratorbenutzer „[email protected]“ mit dem Passwort „password“ ein und klicken Sie dann auf die Schaltfläche „Login“.

Sie sollten das BookStack-Benutzer-Dashboard erhalten.

Klicken Sie auf das Menü „Einstellungen“ und Sie gelangen auf die Einstellungsseite.

Klicken Sie nun auf „Benutzer“ und dann auf den Benutzer „Admin“. Ä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 BookStack-Installation mit dem LEMP-Stack (Linux, Nginx, MariaDB und PHP-FPM) auf CentOS 7 wurde erfolgreich abgeschlossen.


Cent OS
  1. So installieren und konfigurieren Sie Nginx unter CentOS 7

  2. So installieren Sie Nginx unter CentOS 7

  3. So installieren Sie phpMyAdmin mit Nginx unter CentOS 7

  4. So installieren Sie Nginx unter CentOS 8

  5. So installieren Sie Linux Dash auf CentOS 6

So installieren Sie Nginx mit PHP-FastCGI unter CentOS 6

So installieren Sie Magento mit Nginx unter CentOS 7

So installieren Sie LEMP auf CentOS 6

So installieren Sie Nginx unter CentOS 6

So installieren Sie Wiki.js unter CentOS 8

Wie installiere ich Nginx unter CentOS 7?