BookStack talpinimas Managed VPS serveryje reiškia, kad savo dokumentaciją laikote savo mašinoje, kurią mūsų komandos prižiūri atnaujintą ir stebi dieną bei naktį. BookStack yra laisva programinė įranga su MIT licencija, paprasta paleisti: PHP, MySQL ar MariaDB ir žiniatinklio serveris, be Docker. Šis gidas seka oficialią jos dokumentaciją: diegimą, HTTPS, duomenis, el. laiškus, saugumą, atsargines kopijas ir atnaujinimus.
Autorius: Simon Vasconcelos Lee
Paskelbta 2026 m. lapkričio 13 d.Skaitymo trukmė: 11 min.
public.APP_URL: nuo jo priklauso nuorodos ir saugūs slapukai..env, public/uploads, storage/uploads ir themes atsargines kopijas, o APP_KEY saugokite kaip brangenybę.BookStack yra dokumentacijos platforma, sukurta išlikti paprasta: jos README tikslas yra tuoj pat įsisavinti, pakanka paprastų tekstų redaktoriaus pagrindų. Jūsų komandos joje rašo savo procedūras, dokumentaciją ir žinių bazę, naršyklėje, lietuvių kalba, jei pageidauja.
Projektas nuoširdžiai laikosi savo pasirinkimų: jo README nurodo, kad BookStack nėra sukurta kaip kitiems naudojimams išplečiama platforma, ir ji lieka ištikima dokumentacijai. Jos PDF generavimas vyksta per dompdf, be papildomo diegimo, su ribotomis galimybėmis; projektas aprašo kitus variklius su EXPORT_PDF_COMMAND.
BookStack platinama pagal MIT licenciją, kurią išleido Dan Brown ir projekto bendraautoriai. Ji leidžia bet kokį naudojimą, keitimą ir platinimą su viena sąlyga: kiekvienoje programinės įrangos kopijoje išsaugoti autorių teisių pranešimą ir licencijos tekstą. Projekto DUK nurodo, kad ši nuoroda taikoma jūsų dalijamam kodui: niekas neįpareigoja jūsų egzemplioriuje rodyti BookStack pavadinimo ar logotipo.
Projektas laiko vieną, laisvą ir nemokamą versiją: verslo leidimo jis nesiūlo ir neturi oficialaus talpinimo, nei ketinimo jį pradėti. Vietoje to parduoda palaikymo planus, kurie kartu su aukomis ir rėmimu prisideda prie jo finansavimo. Todėl BookStack diegiama jūsų serveryje, nieko nepirkus dėl licencijos.
| Elementas | Reikalaujama versija | Paaiškinimas |
|---|---|---|
| PHP | 8.2 ar naujesnė | Plėtiniai curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml ir zip |
| Duomenų bazė | MySQL 8.0 ar naujesnė, MariaDB 10.6 ar naujesnė | Viena duomenų bazė, kurios schemą BookStack valdo pati |
| Composer | 2.2 ar naujesnė | PHP priklausomybėms |
| Git | Versija nenurodyta | Kodui gauti ir atnaujinimams taikyti |
| Žiniatinklio serveris | Suderinamas su PHP | Apache ar Nginx, žiniatinklio šaknis kataloge public |
Docker lieka neprivalomas. Projektas neskelbia oficialaus atvaizdo: konteineriniai diegimai atsiranda iš bendruomenės projektų, LinuxServer.io ir solidnerd. Šis gidas seka oficialų kelią, PHP ir MySQL tiesiai serveryje, kuriam nieko daugiau nereikia.
Dokumentacija nepritaria bendrajam PHP talpinimui: BookStack reikalauja serverio, kurį administruojate. Ji nenurodo nei reikiamos atminties, nei procesoriaus. Naudojant Managed VPS, papasakokite mums, kaip ketinate naudotis, kiek bus žmonių ir kokia paveikslėlių bei priedų apimtis, ir mes rekomenduosime tinkamą dydį.
Projektas siūlo du kelius: scenarijų Ubuntu, trumpiausią naujame serveryje, ir rankinį diegimą visais kitais atvejais.
| Sistema | Ką scenarijus įdiegia |
|---|---|
| Ubuntu 26.04 | Apache, MySQL 8.4 ir PHP 8.5 |
| Ubuntu 24.04 | Apache, MySQL 8.0 ir PHP 8.3 |
| Ubuntu 22.04 | Apache, MySQL 8.0 ir 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
Šie scenarijai skirti tik ką įdiegtai sistemai: jie gali perrašyti esamą žiniatinklio konfigūraciją. Jie taip pat palieka nuošalyje dvi temas, el. pašto nustatymus ir sistemos saugumą, kuriuos reikia numatyti atskirai.
Scenarijus BookStack įdeda į /var/www/bookstack. Ubuntu 26.04 scenarijus paprašo domeno ir administratoriaus paskyros adreso, o pabaigoje parodo atsitiktinai sugeneruotą slaptažodį, kurio jo žurnale nėra: užsirašykite jį. Su kitu scenarijumi pabaigoje parodytus prisijungimo duomenis užsirašykite, o bet kokią numatytąją prieigą pakeiskite jau pirmo prisijungimo metu.
Pradėkite nuo duomenų bazės: viena duomenų bazė ir naudotojas, apribotas šia duomenų baze. Projekto scenarijus daro taip, vietoj change-me įrašant pasirinktą slaptažodį:
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;"
Tada atsisiųskite šaką release, nustatykite dokumentacijos nurodytas teises katalogui /var/www/bookstack ir įdiekite priklausomybes:
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
Faile .env nurodykite duomenų bazę ir adresą:
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
Galiausiai nukreipkite žiniatinklio šaknį į katalogą public: DocumentRoot Apache, root Nginx. Be Apache arba kai failai .htaccess išjungti, pridėkite adresų perrašymo taisykles: projektas skelbia pavyzdžius Apache ir Nginx.
Rankinis diegimas atsidaro su paskyra admin@admin.com ir slaptažodžiu password. Adresą ir slaptažodį pakeiskite jau pirmo prisijungimo metu.
Lankytojai atvyksta 80 ir 443 prievadais, serverio domeno vardu. Sukurkite šiam vardui A ir AAAA įrašus, tada paprašykite sertifikato: Ubuntu 26.04 scenarijus sukonfigūruoja Apache tik 80 prievadu, o diegimo puslapis HTTPS palieka jums. Certbot įdiegia Let's Encrypt sertifikatą, pritaiko Apache ir sertifikatą atnaujina pats. Su Nginx --apache pakeiskite į --nginx.
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com
Tada faile .env adresą pakeiskite į HTTPS. APP_URL turi tiksliai atitikti lankymosi adresą, įskaitant priešdėlį: neatitikimas matomas pagal trūkstamus stilius, neproporcingas piktogramas ir sugedusius meniu. Adresas su https pats įjungia saugius slapukus.
APP_URL=https://docs.example.com
Jei puslapių jau yra, jų nuorodos duomenų bazėje išlaiko seną adresą. Sukurkite duomenų bazės atsarginę kopiją, tada paleiskite projekto komandą:
php artisan bookstack:update-url http://docs.example.com https://docs.example.com
BookStack teikiama domeno ar subdomeno šaknyje, o dokumentacija aprašo ir diegimą poaplankyje, kaip example.com/bookstack. Jei prieš Apache pridedamas atvirkštinis tarpinis serveris, nurodykite jo adresą APP_PROXIES: be jo audito žurnalas ir spartos ribojimas mato tarpinio serverio adresą, o ne lankytojų. Dokumentacija APP_PROXIES="*" palieka diagnostikai.
| Vieta | Ką ji turi |
|---|---|
| MySQL ar MariaDB duomenų bazė | Visus programos duomenis, įskaitant jūsų puslapių turinį |
.env | Konfigūraciją su APP_KEY ir prieiga prie duomenų bazės bei el. pašto serverio |
public/uploads | Paveikslėlius, su numatytąja saugykla |
storage/uploads | Priedus, apsaugotus BookStack leidimais |
themes | Jūsų temų pritaikymus, jei yra |
Laikykite tą patį APP_KEY ilgam laikui ir sukurkite jo kopiją. BookStack jį naudoja, be kita ko, dviejų veiksnių autentifikavimo paslaptims šifruoti: pakeitus jį šios funkcijos gali sugesti, o nuo 26.09 versijos programa grąžina klaidą, jei jo nėra.
Su numatytąja saugykla žiniatinklio serveris paveikslėlius aptarnauja tiesiogiai, tai greita, ir kiekvienas, žinantis jų adresą, gali juos atidaryti. Vidinei dokumentacijai pasirinkimas daromas per STORAGE_TYPE:
| <code>STORAGE_TYPE</code> | Paveikslėliai | Prieiga |
|---|---|---|
local | public/uploads/images | Aptarnaujami tiesiogiai žiniatinklio serverio |
local_secure | storage/uploads/images | Skirti prisijungusiems asmenims, nebent įjungta vieša prieiga |
local_secure_restricted | storage/uploads/images | Pagal puslapio leidimus, pati reikliausia parinktis |
s3 | S3 suderinamas bucket | Paveikslėliai paviešinami įkėlimo metu |
Dideliems failams derinami trys nustatymai: FILE_UPLOAD_SIZE_LIMIT faile .env, post_max_size ir upload_max_filesize faile php.ini bei client_max_body_size Nginx, kuris numatytai yra 1 MB.
Gyvai dokumentacijai svarbūs ir du nustatymai: kiekvienas puslapis numatytai saugo 100 redakcijų (REVISION_LIMIT), o šiukšlinė ištrintus elementus saugo 30 dienų (RECYCLE_BIN_LIFETIME).
BookStack siunčia el. laiškus adresų patvirtinimui, užmiršto slaptažodžio atveju, kvietimams ir pranešimams. Iš Simafri VPS siuntimas vyksta per autentifikuotą SMTP persiuntimo serverį 587 prievadu: tai gali būti jau turimos pašto paskyros adresas arba 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
Patikrinkite rezultatą skiltyse „Settings“, „Maintenance“, su veiksmu „Send a Test Email“, kuris parodo kilusias klaidas. Nepavykus išsiųsti kvietimo, klaida rodoma ekrane, o pranešimo nesėkmė lieka programos žurnale.
Numatytai BookStack el. laiškus ir webhooks siunčia užklausos metu, o tai gali sulėtinti puslapius. Norėdami pereiti prie siuntimo fone, faile .env įrašykite QUEUE_CONNECTION=database ir paleiskite paslaugą pagal dokumentacijos pavyzdį Ubuntu diegimui su scenarijumi:
[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
Saugumo dokumentacija pateikia sąrašą, kurį verta atlikti jau diegimo metu:
public, ypač jei BookStack yra po /var/www.APP_URL, kad sistemos generuojamų adresų nebūtų galima manipuliuoti.Dviejų veiksnių autentifikavimas po to įpareigojamas pagal vaidmenį. Taip pat užsiprenumeruokite projekto saugumo pranešimų sąrašą, kad gautumėte jo įspėjimus. Adresas /status skirtas stebėsenai: viskam gerai esant jis atsako 200, o kitu atveju klaidos kodu, lygiu ar didesniu nei 400.
PHP svarbus tiek pat, kiek BookStack. Projektas 2026 m. spalio 21 d. paskelbė įspėjimą apie kritinį PHP atnaujinimą, ištaisytą 8.5.12, 8.4.27, 8.3.36 ir 8.2.35 versijose. Ubuntu šias pataisas skelbia savo paketų numeriais, kaip 8.3.6-0ubuntu0.24.04.13 Ubuntu 24.04.
Savo turiniui palikite numatytąją filtraciją ir jos sušvelninimą skirkite egzemplioriams, kuriuose rašo tik patikimi asmenys. Jei administratoriaus paskyra pamesta, php artisan bookstack:create-admin sukuria kitą, o php artisan bookstack:reset-mfa pašalina naudotojo dviejų veiksnių autentifikavimą.
Pilna atsarginė kopija apima duomenų bazę ir keturias jūsų egzemplioriui būdingas failų vietas. Turinio eksportai skirti kitam: dokumentacija nurodo, kad jie atsarginės kopijos nepakeičia.
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes
Pirmoji eilutė skirta diegimui su scenarijumi, kur MySQL root jungiasi per sudo; kitur rašykite mysqldump -u bookstack -p bookstack. Šiuos du failus padėkite atskirai, geriausia kitoje mašinoje. Archyve yra .env, taigi APP_KEY ir jūsų slaptažodžiai: traktuokite jį kaip paslaptį.
Naujoje mašinoje įdiekite BookStack nepaleisdami php artisan migrate, žingsnį scenarijuje užkomentuokite, jei jį naudojate, tada atkurkite duomenų bazę ir failus, išlaikydami pradinį APP_KEY:
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz
Jei įdiegta versija naujesnė už atsarginę kopiją, po to paleiskite php artisan migrate. Grąžinkite žiniatinklio serverio rašymo teises atkurtiems katalogams. Jei adresas pasikeitė, pataisykite APP_URL ir paleiskite bookstack:update-url.
Prieš kiekvieną atnaujinimą sukurkite duomenų bazės ir failų atsarginę kopiją, tada, iš BookStack katalogo:
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Ubuntu 26.04 scenarijus įdiegia BookStack be Composer. Atnaujinimų puslapis tuomet, beta būsenoje, vietoj composer install --no-dev siūlo ./bookstack-system-cli download-vendor. Šis pats įrankis moka kurti ir atkurti atsargines kopijas, tačiau projektas dar nelaiko jo paruošto gamybai: išbandykite jį prieš juo pasikliaudami.
Dokumentacija laiko kiekvienai versijai būdingų nurodymų sąrašą, kurį reikia perskaityti tikslinei versijai. Keli pavyzdžiai:
APP_KEY tampa privalomas.storage/fonts turi likti žiniatinklio serveriui prieinamas rašymui, kitaip PDF eksportai gali nepavykti.Spragos taisomos priežiūros versijose, kaip 26.09.3, išleista 2026 m. lapkričio 11 d.: juodraščiu esančio ar į šiukšlinę perkelto puslapio paveikslėliai ir brėžiniai liko pasiekiami ir keičiami, o redaktoriaus asmeninis juodraštis galėjo tapti matomas kitiems asmenims.
Talpinant savo serveryje, be programos reikia prižiūrėti ir patį serverį. Naudojant Managed VPS, mūsų komandos perima serverį ir proaktyviai stebi jūsų egzempliorių; BookStack lieka jūsų programa su savo nustatymais ir duomenimis.
| Tema | Mūsų komandos | Jūs |
|---|---|---|
| Serveris | Sistemos ir saugumo atnaujinimai, įskaitant įsikišimą serveryje | Jūsų veiklai tinkamas momentas |
| Stebėsena | Serveris stebimas 24 val. per parą, 7 dienas per savaitę, įsikišant nelaukiant jūsų skambučio | Jūsų naudotojai, jų vaidmenys ir jūsų turinys |
| BookStack | Proaktyvi stebėsena: klaidos, sulėtėjimai ir disko vieta pastebimi, rekomenduojamas pataisymas | Jos diegimas, atnaujinimai ir nustatymai, kuriuos pritaikote jūs arba jūsų DI asistentas |
| Atsarginės kopijos | Kiekvieną naktį, šifruotos ir saugomos už mašinos ribų; atkūrimas įskaičiuotas | Atkūrimo prašymas, kai jo prireikia |
| Perkėlimas | Jūsų dabartinis serveris perkeliamas nemokamai | Perjungimo momentas |
Jei norite, kad mūsų komandos įsikištų į pačią programą, ši paslauga apmokestinama valandomis arba fiksuota kaina, o skaičiavimas pateikiamas prieš įsikišimą.
Su Simafri Managed VPS mūsų komandos palaiko jūsų BookStack egzemplioriaus serverį atnaujintą, stebi jį dieną ir naktį ir įsikiša nelaukdamos jūsų skambučio; jos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs arba jūsų DI asistentas. Atsarginės kopijos kiekvieną naktį šifruojamos ir saugomos už mašinos ribų, jų atkūrimas įskaičiuotas, o jūsų dabartinio serverio perkėlimas nemokamas.
Taip. BookStack platinama pagal MIT licenciją, kuri leidžia bet kokį naudojimą, o projektas laiko vieną versiją, be verslo leidimo. Jis taip pat siūlo mokamus palaikymo planus, kurie lieka neprivalomi. Lieka tik ją vykdančio serverio kaina.
Visiškai naujame Ubuntu 26.04, 24.04 ar 22.04 atsisiųskite projekto diegimo scenarijų, padarykite jį vykdomą ir paleiskite su sudo. Jis įdiegia Apache, MySQL ir PHP. Jau veikiančioje mašinoje sekite rankinį diegimą, nes scenarijus gali perrašyti esamą žiniatinklio konfigūraciją.
Ne. Konteineriniai diegimai atsiranda iš bendruomenės projektų, LinuxServer.io ir solidnerd. Oficialus kelias BookStack diegia tiesiai serveryje, su PHP, MySQL ar MariaDB ir žiniatinklio serveriu, rankiniu būdu arba su Ubuntu scenarijumi.
PHP 8.2 ar naujesnės, MySQL 8.0 arba MariaDB 10.6 ar naujesnės, Composer 2.2 ar naujesnės, Git ir su PHP suderinamo žiniatinklio serverio. Projektas nenurodo nei atminties, nei procesoriaus ir nepritaria bendrajam PHP talpinimui.
Rankinis diegimas atsidaro su admin@admin.com ir slaptažodžiu password, kuriuos reikia pakeisti pirmo prisijungimo metu. Ubuntu 26.04 scenarijus pabaigoje parodo atsitiktinai sugeneruotą slaptažodį. Praradus prieigą, php artisan bookstack:create-admin sukuria naują administratorių.
Eksportuokite duomenų bazę su mysqldump ir suarchyvuokite .env, public/uploads, storage/uploads ir themes. Atkurdami išlaikykite pradinį APP_KEY, o viską padėkite už mašinos ribų. BookStack turinio eksportai šios atsarginės kopijos nepakeičia.
Faile .env nurodykite MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM ir MAIL_FROM_NAME, tada skiltyse Settings, Maintenance paleiskite Send a Test Email. Iš Simafri VPS siuntimas vyksta per autentifikuotą SMTP persiuntimo serverį 587 prievadu.
Managed VPS apima serverį: sistemą, saugumą, stebėseną ir atsargines kopijas. Mūsų komandos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs. Įsikišimas į pačią programą apmokestinamas valandomis arba fiksuota kaina.
Simafri
Pakalbėkime apie jūsų sumanymą
Pasakykite mums keliais žodžiais, ko jums reikia: greitai jums atsakome.
Ačiū! Jūsų užklausa išsiųsta. Netrukus su jumis susisieksime.
Labiau mėgstate el. paštą? Rašykite mums adresu support@simafri.com.