BookStack hosten op een Managed VPS betekent dat u uw documentatie bewaart op een machine die van u is, en die ons team bijwerkt en dag en nacht in de gaten houdt. BookStack is opensourcesoftware onder de MIT-licentie, eenvoudig te laten draaien: PHP, MySQL of MariaDB en een webserver, zonder Docker. Deze gids volgt de officiële documentatie: de installatie, HTTPS, de gegevens, e-mails, de beveiliging, back-ups en updates.
Door Simon Vasconcelos Lee
Gepubliceerd op 13 november 2026Leestijd: 11 minuten
public bedient.APP_URL: de links en de beveiligde cookies hangen ervan af..env, public/uploads, storage/uploads en themes, en bewaar APP_KEY zorgvuldig.BookStack is een documentatieplatform dat bewust eenvoudig is gehouden: de README mikt op een directe ingebruikname, met simpele kennis van tekstverwerking. Uw teams schrijven er hun procedures, hun documentatie en hun kennisbank, in een browser, in het Nederlands als ze dat willen.
Het project staat achter zijn keuzes: de README preciseert dat BookStack niet is ontworpen als uitbreidbaar platform voor andere toepassingen, en het blijft bij de documentatie. De pdf-weergave loopt via dompdf, zonder extra installatie, met beperkte mogelijkheden; het project documenteert andere engines met EXPORT_PDF_COMMAND.
BookStack wordt gepubliceerd onder de MIT-licentie door Dan Brown en de bijdragers van het project. Ze staat elk gebruik, elke wijziging en elke verspreiding toe, onder één voorwaarde: de copyrightvermelding en de tekst van de licentie blijven in elke kopie van de software staan. De FAQ van het project preciseert dat deze naamsvermelding de code betreft die u deelt: niets verplicht u de naam of het logo van BookStack op uw instantie te tonen.
Het project houdt één enkele, vrije en gratis versie aan: het biedt geen enterpriseversie en heeft geen officiële hosting, noch plannen om er een te openen. Het verkoopt wel supportpakketten, die samen met donaties en sponsoring bijdragen aan de financiering. BookStack installeert u dus op uw server, zonder een licentie te kopen.
| Onderdeel | Gevraagde versie | Toelichting |
|---|---|---|
| PHP | 8.2 of nieuwer | Extensies curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml en zip |
| Database | MySQL 8.0 of nieuwer, MariaDB 10.6 of nieuwer | Eén database, waarvan BookStack het schema zelf beheert |
| Composer | 2.2 of nieuwer | Voor de PHP-afhankelijkheden |
| Git | Geen versie opgegeven | Om de code op te halen en de updates toe te passen |
| Webserver | Compatibel met PHP | Apache of Nginx, webroot op de map public |
Docker blijft optioneel. Het project publiceert geen officiële image: installaties in containers komen van communityprojecten, LinuxServer.io en solidnerd. Deze gids volgt de officiële weg, PHP en MySQL rechtstreeks op de server, die niets extra vraagt.
De documentatie raadt gedeelde PHP-hosting af: BookStack vraagt een server die u zelf beheert. Ze noemt geen cijfers voor het benodigde geheugen en de benodigde processor. Beschrijf op een managed VPS uw gebruik, het aantal personen en het volume aan afbeeldingen en bijlagen aan ons, dan raden wij u de passende grootte aan.
Het project biedt twee wegen: een script voor Ubuntu, het kortst op een nieuwe server, en een handmatige installatie voor alle andere gevallen.
| Systeem | Wat het script installeert |
|---|---|
| Ubuntu 26.04 | Apache, MySQL 8.4 en PHP 8.5 |
| Ubuntu 24.04 | Apache, MySQL 8.0 en PHP 8.3 |
| Ubuntu 22.04 | Apache, MySQL 8.0 en PHP 8.4 |
wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.sh
Deze scripts zijn voorbehouden aan een vers geïnstalleerd systeem: ze kunnen een bestaande webconfiguratie overschrijven. Ze laten ook twee onderwerpen buiten beschouwing, de e-mailinstellingen en de beveiliging van het systeem, die u apart moet regelen.
Het script plaatst BookStack in /var/www/bookstack. Dat van Ubuntu 26.04 vraagt het domein en het adres van het beheerdersaccount en toont aan het eind een willekeurig getrokken wachtwoord, dat niet in zijn logboek staat: noteer het. Neem bij een ander script de toegangsgegevens over die aan het eind verschijnen en wijzig elke standaardtoegang bij de eerste aanmelding.
Begin met de database: een database en een gebruiker die tot die database is beperkt. Het script van het project gaat zo te werk, met het wachtwoord van uw keuze in plaats van change-me:
sudo mysql -u root --execute="CREATE DATABASE bookstack;"
sudo mysql -u root --execute="CREATE USER 'bookstack'@'localhost' IDENTIFIED BY 'change-me';"
sudo mysql -u root --execute="GRANT ALL ON bookstack.* TO 'bookstack'@'localhost';FLUSH PRIVILEGES;"
Haal daarna de tak release op, stel de rechten in die de documentatie voor /var/www/bookstack geeft en installeer de afhankelijkheden:
cd /var/www
sudo git clone https://source.bookstackapp.com/bookstack.git --branch release --single-branch bookstack
sudo chown -R $USER:www-data /var/www/bookstack
sudo chmod -R 755 /var/www/bookstack
sudo chmod -R 775 /var/www/bookstack/storage /var/www/bookstack/bootstrap/cache /var/www/bookstack/public/uploads
cd bookstack
composer install --no-dev
cp .env.example .env
sudo chmod 640 .env
Vul de database en het adres in .env in:
APP_URL=https://docs.example.com
DB_HOST=localhost
DB_DATABASE=bookstack
DB_USERNAME=bookstack
DB_PASSWORD=change-me
php artisan key:generate
php artisan migrate
Laat ten slotte de webroot naar de map public wijzen: DocumentRoot op Apache, root op Nginx. Zonder Apache, of wanneer de bestanden .htaccess zijn uitgeschakeld, voegt u de regels voor het herschrijven van adressen toe: het project publiceert voorbeelden voor Apache en voor Nginx.
Een handmatige installatie opent met het account admin@admin.com en het wachtwoord password. Wijzig het adres en het wachtwoord bij de eerste aanmelding.
De bezoekers komen binnen op de poorten 80 en 443, onder de domeinnaam van de server. Maak voor die naam A- en AAAA-records aan en vraag daarna het certificaat aan: het script van Ubuntu 26.04 configureert Apache alleen op poort 80, en de installatiepagina laat HTTPS aan u over. Certbot plaatst het Let's Encrypt-certificaat, past Apache aan en vernieuwt het certificaat vanzelf. Vervang onder Nginx --apache door --nginx.
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com
Zet daarna het adres op HTTPS in .env. APP_URL moet exact overeenkomen met het adres waarmee u bezoekt, voorvoegsel inbegrepen: een afwijking herkent u aan ontbrekende stijlen, buitensporig grote pictogrammen en kapotte menu's. Een adres in https activeert vanzelf de beveiligde cookies.
APP_URL=https://docs.example.com
Bestaan er al pagina's, dan houden hun links het oude adres in de database. Maak een back-up van de database en voer dan de opdracht van het project uit:
php artisan bookstack:update-url http://docs.example.com https://docs.example.com
BookStack wordt aangeboden op de root van een domein of subdomein, en de documentatie beschrijft ook een installatie onder een submap, zoals example.com/bookstack. Komt er een reverse proxy voor Apache, geef dan zijn adres op in APP_PROXIES: zonder dat zien het auditlogboek en de snelheidsbeperking het adres van de proxy in plaats van dat van de bezoekers. De documentatie behoudt APP_PROXIES="*" voor diagnose.
| Locatie | Wat ze bevat |
|---|---|
| De MySQL- of MariaDB-database | Alle gegevens van de applicatie, waaronder de inhoud van uw pagina's |
.env | De configuratie, met APP_KEY en de toegang tot de database en de e-mailserver |
public/uploads | De afbeeldingen, met de standaardopslag |
storage/uploads | De bijlagen, beschermd door de rechten van BookStack |
themes | Uw aanpassingen aan het thema, indien van toepassing |
Houd dezelfde APP_KEY aan op de lange termijn en maak er een back-up van. BookStack gebruikt haar onder meer om de geheimen van de tweestapsverificatie te versleutelen: haar wijzigen kan deze functies breken, en sinds versie 26.09 geeft de applicatie een fout als ze ontbreekt.
Met de standaardopslag bedient de webserver de afbeeldingen rechtstreeks, wat snel gaat, en iedereen die hun adres kent, kan ze openen. Voor een interne documentatie maakt u de keuze in STORAGE_TYPE:
| <code>STORAGE_TYPE</code> | Afbeeldingen | Toegang |
|---|---|---|
local | public/uploads/images | Rechtstreeks bediend door de webserver |
local_secure | storage/uploads/images | Voorbehouden aan aangemelde personen, tenzij openbare toegang is ingeschakeld |
local_secure_restricted | storage/uploads/images | Volgens de rechten van de pagina, de optie die het meest vraagt |
s3 | Een S3-compatibele bucket | Afbeeldingen worden bij het uploaden openbaar gemaakt |
Voor zware bestanden moeten drie instellingen op elkaar worden afgestemd: FILE_UPLOAD_SIZE_LIMIT in .env, post_max_size en upload_max_filesize in php.ini, en client_max_body_size onder Nginx, dat standaard 1 MB is.
Twee instellingen tellen ook voor een levende documentatie: elke pagina bewaart standaard 100 revisies (REVISION_LIMIT), en de prullenbak bewaart verwijderde items 30 dagen (RECYCLE_BIN_LIFETIME).
BookStack verstuurt e-mails voor de bevestiging van adressen, een vergeten wachtwoord, uitnodigingen en meldingen. Vanaf een Simafri-VPS loopt het verzenden via een geauthenticeerde SMTP-relay, op poort 587: het adres van een e-mailaccount dat u al hebt, of Simafri Suite.
MAIL_DRIVER=smtp
MAIL_HOST=smtp.example.com
MAIL_PORT=587
MAIL_ENCRYPTION=tls
MAIL_USERNAME=bookstack@example.com
MAIL_PASSWORD=change-me
MAIL_FROM=bookstack@example.com
MAIL_FROM_NAME=BookStack
Controleer het resultaat in “Settings”, “Maintenance”, met de actie “Send a Test Email”, die de opgetreden fouten toont. Een mislukte uitnodiging verschijnt op het scherm, terwijl een mislukte melding in het logboek van de applicatie blijft.
Standaard verstuurt BookStack e-mails en webhooks tijdens het verzoek, wat de pagina's kan vertragen. Om naar de achtergrond over te stappen, schrijft u QUEUE_CONNECTION=database in .env en laat u een service draaien, met het voorbeeld dat de documentatie geeft voor een Ubuntu-installatie met het script:
[Unit]
Description=BookStack Queue Worker
[Service]
User=www-data
Group=www-data
Restart=always
ExecStart=/usr/bin/php /var/www/bookstack/artisan queue:work --sleep=3 --tries=1 --max-time=3600
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable bookstack-queue.service
sudo systemctl start bookstack-queue.service
De beveiligingsdocumentatie geeft een lijst die u vanaf de installatie overneemt:
public bedient, vooral als BookStack onder /var/www staat.APP_URL in, zodat de door het systeem gegenereerde adressen niet kunnen worden gemanipuleerd.De tweestapsverificatie legt u daarna per rol op. Schrijf u ook in op de beveiligingsmailinglijst van het project, om zijn waarschuwingen te ontvangen. Het adres /status dient voor monitoring: het antwoordt 200 als alles goed gaat, en anders met een foutcode van 400 of hoger.
PHP telt evenveel mee als BookStack. Het project publiceerde op 21 oktober 2026 een waarschuwing over een kritieke update van PHP, verholpen in 8.5.12, 8.4.27, 8.3.36 en 8.2.35. Ubuntu publiceert deze fixes onder zijn eigen pakketnummers, zoals 8.3.6-0ubuntu0.24.04.13 voor Ubuntu 24.04.
Laat voor uw inhoud de standaard ingeschakelde filtering aan staan, en behoud het versoepelen ervan voor instanties waar alleen vertrouwde personen schrijven. Raakt u een beheerdersaccount kwijt, dan maakt php artisan bookstack:create-admin een ander aan, en haalt php artisan bookstack:reset-mfa de tweestapsverificatie van een gebruiker weg.
Een volledige back-up omvat de database en de vier bestandslocaties die bij uw instantie horen. De inhoudsexports dienen ergens anders voor: de documentatie preciseert dat ze geen back-up vervangen.
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes
De eerste regel is bedoeld voor een installatie met het script, waar de root van MySQL via sudo verbindt; schrijf elders mysqldump -u bookstack -p bookstack. Berg deze twee bestanden apart op, bij voorkeur op een andere machine. Het archief bevat .env, dus APP_KEY en uw wachtwoorden: behandel het als een geheim.
Installeer BookStack op een nieuwe machine zonder php artisan migrate uit te voeren, een stap die u in het script als commentaar zet als u het gebruikt, en zet daarna de database en de bestanden terug, met behoud van de oorspronkelijke APP_KEY:
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz
Is de geïnstalleerde versie nieuwer dan de back-up, voer dan daarna php artisan migrate uit. Geef de webserver weer schrijfrechten op de teruggezette mappen. Is het adres gewijzigd, corrigeer dan APP_URL en voer bookstack:update-url uit.
Maak vóór elke update een back-up van de database en de bestanden en voer dan, vanuit de map van BookStack, uit:
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Het script voor Ubuntu 26.04 installeert BookStack zonder Composer. De updatepagina stelt dan, in bèta, ./bookstack-system-cli download-vendor voor in plaats van composer install --no-dev. Dezelfde tool kan ook back-ups maken en terugzetten, maar het project vindt hem nog niet klaar voor productie: test hem voordat u erop vertrouwt.
De documentatie houdt een lijst bij met richtlijnen per versie, te lezen voor de beoogde versie. Enkele voorbeelden:
APP_KEY wordt verplicht.storage/fonts moet voor de webserver beschrijfbaar blijven, anders kunnen pdf-exports mislukken.Kwetsbaarheden worden verholpen in onderhoudsversies, zoals 26.09.3 van 11 november 2026: afbeeldingen en tekeningen van een pagina die nog een concept was of in de prullenbak lag, bleven bereikbaar en aanpasbaar, en het persoonlijke concept van een redacteur kon zichtbaar worden voor andere personen.
Self-hosting vraagt dat u naast de applicatie ook de server beheert. Op een managed VPS neemt ons team de server voor zijn rekening en houdt het uw instantie proactief in de gaten; BookStack blijft uw software, met zijn instellingen en gegevens.
| Onderwerp | Ons team | U |
|---|---|---|
| De server | Systeem- en beveiligingsupdates, ingrepen op de server inbegrepen | Het moment dat bij uw activiteit past |
| De monitoring | Server 24 uur per dag en 7 dagen per week bewaakt, met ingrijpen zonder op uw oproep te wachten | Uw gebruikers, hun rollen en uw inhoud |
| BookStack | Proactief toezicht: fouten, vertragingen en schijfruimte opgespoord, correctie aangeraden | De installatie, de updates en de instellingen, die u toepast, zelf of via uw AI-assistent |
| De back-ups | Elke nacht, versleuteld en buiten de machine bewaard; terugzetten inbegrepen | Het verzoek om terug te zetten, wanneer u dat nodig hebt |
| De migratie | Uw huidige server gemigreerd, gratis | Het moment van de overschakeling |
Wilt u liever dat ons team in de applicatie zelf ingrijpt, dan wordt die dienstverlening per uur of tegen een vast bedrag gefactureerd, met een offerte voordat het werk begint.
Met een Managed VPS van Simafri houdt ons team de server van uw BookStack-instantie up-to-date, bewaakt hem dag en nacht en grijpt in zonder op uw oproep te wachten; het houdt ook uw instantie proactief in de gaten en raadt u de nuttige correcties aan, die u toepast, zelf of via uw AI-assistent. De back-ups worden elke nacht versleuteld en buiten de machine bewaard, het terugzetten is inbegrepen, en de migratie van uw huidige server is gratis.
Ja. BookStack valt onder de MIT-licentie, die elk gebruik toestaat, en het project houdt één enkele versie aan, zonder enterpriseversie. Het biedt ook betaalde supportpakketten, die optioneel blijven. Wat overblijft, zijn de kosten van de server waarop het draait.
Download op een gloednieuwe Ubuntu 26.04, 24.04 of 22.04 het installatiescript van het project, maak het uitvoerbaar en start het met sudo. Het installeert Apache, MySQL en PHP. Volg op een machine die al in gebruik is de handmatige installatie, want het script kan een bestaande webconfiguratie overschrijven.
Nee. Installaties in containers komen van communityprojecten, LinuxServer.io en solidnerd. De officiële weg installeert BookStack rechtstreeks op de server, met PHP, MySQL of MariaDB en een webserver, met de hand of met het script voor Ubuntu.
PHP 8.2 of nieuwer, MySQL 8.0 of MariaDB 10.6 of nieuwer, Composer 2.2 of nieuwer, Git en een webserver die met PHP compatibel is. Het project noemt geen cijfers voor geheugen of processor, en raadt gedeelde PHP-hosting af.
Een handmatige installatie opent met admin@admin.com en het wachtwoord password, te wijzigen bij de eerste aanmelding. Het script voor Ubuntu 26.04 toont aan het eind een willekeurig getrokken wachtwoord. Bij verlies van de toegang maakt php artisan bookstack:create-admin een nieuwe beheerder aan.
Exporteer de database met mysqldump en archiveer .env, public/uploads, storage/uploads en themes. Houd bij een herstel de oorspronkelijke APP_KEY aan en berg alles buiten de machine op. De inhoudsexports van BookStack vervangen deze back-up niet.
Vul MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM en MAIL_FROM_NAME in het bestand .env in en voer daarna Send a Test Email uit in Settings, Maintenance. Vanaf een Simafri-VPS loopt het verzenden via een geauthenticeerde SMTP-relay, op poort 587.
Een managed VPS dekt de server: systeem, beveiliging, monitoring en back-ups. Ons team houdt ook uw instantie proactief in de gaten en raadt u de nuttige correcties aan, die u toepast. Een ingreep in de applicatie wordt per uur of tegen een vast bedrag gefactureerd.
Simafri
Laten we het over uw website hebben
Vertel ons in een paar woorden over uw project: wij nemen snel contact met u op.
Bedankt! Uw aanvraag is verzonden. We nemen spoedig contact met u op.
Liever per e-mail? Schrijf ons op support@simafri.com.