BookStack te installeren op Ubuntu 18.04 LTS

BookStack is een gratis en open bron kennisbeheer platform dat gebruikt kan worden voor het maken van documentatie en wiki’s inhoud voor je gebruikers. BookStack is geschreven in de PHP taal en gebruikt het Laravel web framework. Met BookStack kun je BookStack naar eigen behoefte inrichten, zoals de naam, Logo en registratie opties veranderen. BookStack biedt veel functies zoals, Meertalige ondersteuning, Markdown Editor, Aanpasbaar, Doorzoekbaar, WYSIWYG interface, Rol- en rechtenbeheer, Geïntegreerde Authenticatie en nog veel meer.

In deze handleiding leren we hoe je Bookstack met Apache op Ubuntu 18.04 server kunt installeren.

Vereisten

  • Een server met Ubuntu 18.04.
  • Een niet-root gebruiker met sudo privileges.

Aan de slag

Voor je begint, moet je je systeem updaten met de nieuwste versie. Je kunt dit doen door het volgende commando uit te voeren:

sudo apt-get update -y
sudo apt-get upgrade -y

Als je systeem bijgewerkt is, herstart je het systeem om de veranderingen toe te passen.

LAMP server installeren

Eerst moet je Apache webserver, MariaDB server, PHP en andere PHP modules op je systeem installeren. Je kunt ze allemaal installeren door het volgende commando uit te voeren:

sudo apt-get install apache2 mariadb-server php7.2 libapache2-mod-php7.2 php7.2-common php7.2-sqlite3 php7.2-curl php7.2-intl php7.2-mbstring php7.2-xmlrpc php7.2-mysql php7.2-gd php7.2-xml php7.2-cli php7.2-tidy php7.2-zip unzip wget git -y

Als alle pakketten geïnstalleerd zijn, open je php.ini bestand en breng je enkele wijzigingen aan:

sudo nano /etc/php/7.2/apache2/php.ini

Breng de volgende veranderingen aan:

memory_limit = 256M
upload_max_filesize = 150M
max_execution_time = 360
date.timezone = Asia/Kolakata

Sla het bestand op en sluit het.

MariaDB instellen

MariaDB is standaard niet beveiligd. Je zult het dus eerst moeten beveiligen. Je kunt het beveiligen door het volgende commando uit te voeren:

sudo mysql_secure_installation

Beantwoord alle vragen zoals hieronder:

    Enter current password for root (enter for none): ENTER
    Set root password? [Y/n]: N
    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

Zodra de MariaDB beveiligd is, log je in op MariaDB shell:

mysql -u root -p

Geef je root wachtwoord op. Maak dan een database en gebruiker voor Bookstack:

MariaDB [(none)]> CREATE DATABASE bookstackdb;
MariaDB [(none)]> CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'password';

Vervang het woord ‘password’ in het bovenstaande commando door een veilig wachtwoord en noteer het voor later gebruik. Verleen vervolgens alle privileges aan de Bookstack met het volgende commando:

MariaDB [(none)]> GRANT ALL ON bookstackdb.* TO 'bookstack'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

Vervang hier het woord ‘password’ weer door hetzelfde wachtwoord dat je hierboven gebruikte. Spoel vervolgens de privileges door en verlaat de MariaDB shell:

MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> EXIT;

Installeer Bookstack

Eerst moet je Composer op je systeem installeren. Composer is een afhankelijkhedenbeheerder voor PHP. Je kunt Composer installeren met het volgende commando:

curl -sS https://getcomposer.org/installer | sudo php -- --install-dir=/usr/local/bin --filename=composer

Verander vervolgens de directory in de /var/www/html en download de nieuwste versie van Bookstack uit de Git repository met het volgende commando:

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

Verander vervolgens de directory in de Bookstack en installeer alle afhankelijkheden die nodig zijn voor PHP met het volgende commando:

cd Bookstack
sudo composer install

Als alle afhankelijkheden geïnstalleerd zijn, kopieer je het voorbeeld omgevingsconfiguratiebestand met het volgende commando:

sudo cp .env.example .env

Werk vervolgens de database instellingen bij in het .env bestand:

sudo nano .env

Breng de volgende veranderingen aan:

# Database details
DB_HOST=localhost
DB_DATABASE=bookstackdb
DB_USERNAME=bookstack
DB_PASSWORD=password

Sla het bestand op en sluit het. Maak dan de applicatiesleutel aan en migreer de database met het volgende commando:

sudo php artisan key:generate

Uitvoer:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Application key [base64:KTcNpGD5CacIz20eiKpusk02YaHm14OQTZTERizEDBw=] set successfully.

Vervolgens moet je de database migreren. Je kunt de database migreren met het volgende commando:

sudo php artisan migrate

Je zou de volgende uitvoer moeten zien:

**************************************
*     Application In Production!     *
**************************************

 Do you really wish to run this command? (yes/no) [no]:
 > yes

Migration table created successfully.

Geef vervolgens de juiste rechten aan de Bookstack directory met het volgende commando:

sudo chown -R www-data:www-data /var/www/html/BookStack/
sudo chmod -R 755 /var/www/html/BookStack/

Configureer Apache voor Bookstack

Vervolgens moet je een Apache virtual host bestand maken voor Bookstack. Je kunt het aanmaken met het volgende commando:

sudo nano /etc/apache2/sites-available/bookstack.conf

Voeg de volgende regels toe:

<VirtualHost *:80>
     ServerAdmin [email protected]
     DocumentRoot /var/www/html/Bookstack
     ServerName example.com
     ServerAlias www.example.com

    <Directory /var/www/html/Bookstack/>
        Options FollowSymlinks
        AllowOverride All
        Require all granted
     </Directory>

     ErrorLog ${APACHE_LOG_DIR}/error.log
     CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Vervang ‘example.com’ en ‘www.example.com’ in het bovenstaande bestand door je eigen domeinnaam. Sla dan het bestand op en sluit het en schakel Apache virtual host bestand en herschrijfmodule in met de volgende commando’s:

sudo a2ensite bookstack.conf
sudo a2enmod rewrite

Herstart tenslotte Apache web service om alle veranderingen toe te passen:

sudo systemctl restart apache2

Toegang tot Bookstack

Open je webbrowser en typ de URL in, in mijn geval is dat http://example.com, je wordt doorgestuurd naar de volgende pagina:

Bookstack login pagina

Geef nu standaard gebruikersnaam op als [email protected] en wachtwoord als password, klik dan op de knop LOG IN. Je wordt doorgestuurd naar het Bookstack dashboard op de volgende pagina:

Log in met standaard gebruikersnaam en wachtwoord

De volgende stap moet zijn het standaard wachtwoord te veranderen om de BookStack Login te beveiligen.

Conclusie

Gefeliciteerd! Je hebt Bookstack met succes geïnstalleerd op de Ubuntu 18.04 LTS server. Je kunt nu gemakkelijk je eigen wiki site maken met Bookstack. Voel je vrij me te vragen als je vragen hebt.