Hosting BookStack na Managed VPS oznacza, że Państwa dokumentacja trafia na maszynę, która należy do Państwa, a nasze zespoły dbają o jej aktualność i nadzorują ją dniem i nocą. BookStack to wolne oprogramowanie na licencji MIT, proste w uruchomieniu: PHP, MySQL lub MariaDB i serwer WWW, bez Dockera. Ten poradnik podąża za jego oficjalną dokumentacją: instalacja, HTTPS, dane, e-maile, bezpieczeństwo, kopie zapasowe i aktualizacje.
Autor: Simon Vasconcelos Lee
Opublikowano 13 listopada 2026Czas czytania: 11 minut
public.APP_URL: zależą od tego linki i bezpieczne ciasteczka..env, public/uploads, storage/uploads i themes proszę kopiować, a APP_KEY pieczołowicie przechowywać.BookStack to platforma dokumentacyjna pomyślana tak, by pozostać prostą: jego README zakłada natychmiastowe opanowanie, przy podstawowej znajomości edytora tekstu. Państwa zespoły piszą w nim swoje procedury, dokumentację i bazę wiedzy, w przeglądarce, także po polsku, jeśli sobie tego życzą.
Projekt trzyma się swoich założeń: jego README zaznacza, że BookStack nie jest pomyślany jako platforma rozszerzalna na inne zastosowania, i pozostaje wierny dokumentacji. Jego renderowanie PDF odbywa się przez dompdf, bez dodatkowej instalacji, z ograniczonymi możliwościami; projekt opisuje inne silniki przez EXPORT_PDF_COMMAND.
BookStack jest udostępniany na licencji MIT przez Dana Browna i współtwórców projektu. Zezwala ona na każde użycie, każdą modyfikację i każde rozpowszechnianie, pod jednym warunkiem: w każdej kopii oprogramowania musi pozostać informacja o prawach autorskich i tekst licencji. FAQ projektu wyjaśnia, że to uznanie autorstwa dotyczy kodu, który Państwo udostępniają: nic nie zobowiązuje do wyświetlania nazwy ani logo BookStack na Państwa instancji.
Projekt utrzymuje jedną wersję, wolną i bezpłatną: nie oferuje edycji dla przedsiębiorstw i nie ma oficjalnego hostingu ani planu jego otwarcia. Sprzedaje natomiast plany wsparcia, które współfinansują go razem z darowiznami i patronatami. BookStack instaluje się więc na Państwa serwerze, bez zakupu licencji.
| Element | Wymagana wersja | Uwagi |
|---|---|---|
| PHP | 8.2 lub nowszy | Rozszerzenia curl, dom, gd, iconv, mbstring, mysqlnd, openssl, pdo, pdo_mysql, tokenizer, xml i zip |
| Baza danych | MySQL 8.0 lub nowszy, MariaDB 10.6 lub nowsza | Jedna baza, której schematem BookStack zarządza sam |
| Composer | 2.2 lub nowszy | Dla zależności PHP |
| Git | Wersja nieokreślona | Do pobrania kodu i stosowania aktualizacji |
| Serwer WWW | Zgodny z PHP | Apache lub Nginx, katalog główny serwera na katalogu public |
Docker pozostaje opcjonalny. Projekt nie publikuje oficjalnego obrazu: instalacje w kontenerach pochodzą z projektów społecznościowych, LinuxServer.io i solidnerd. Ten poradnik podąża drogą oficjalną, PHP i MySQL bezpośrednio na serwerze, która nie wymaga niczego więcej.
Dokumentacja odrzuca współdzielony hosting PHP: BookStack wymaga serwera, którym Państwo zarządzają. Nie określa potrzebnej pamięci ani procesora. Na Managed VPS wystarczy opisać nam swoje zastosowanie, liczbę osób oraz objętość obrazów i załączników, a polecimy odpowiedni rozmiar.
Projekt proponuje dwie drogi: skrypt dla Ubuntu, najkrótszy na nowym serwerze, oraz instalację ręczną dla wszystkich pozostałych przypadków.
| System | Co instaluje skrypt |
|---|---|
| Ubuntu 26.04 | Apache, MySQL 8.4 i PHP 8.5 |
| Ubuntu 24.04 | Apache, MySQL 8.0 i PHP 8.3 |
| Ubuntu 22.04 | Apache, MySQL 8.0 i 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
Te skrypty są przeznaczone dla świeżo zainstalowanego systemu: mogą nadpisać istniejącą konfigurację WWW. Pomijają też dwa tematy, ustawienia e-mail i bezpieczeństwo systemu, które trzeba przewidzieć osobno.
Skrypt umieszcza BookStack w /var/www/bookstack. Ten dla Ubuntu 26.04 pyta o domenę i adres konta administratora, a na końcu wyświetla wylosowane hasło, nieobecne w jego dzienniku: proszę je zapisać. Przy innym skrypcie proszę odczytać dane dostępowe wyświetlone na końcu i zmienić każdy domyślny dostęp od pierwszego logowania.
Proszę zacząć od bazy danych: jedna baza i użytkownik ograniczony do tej bazy. Skrypt projektu postępuje tak, z wybranym przez Państwa hasłem zamiast 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;"
Następnie proszę pobrać gałąź release, nadać uprawnienia, które dokumentacja podaje dla /var/www/bookstack, i zainstalować zależności:
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
Bazę i adres proszę wpisać w .env:
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
Na koniec proszę skierować katalog główny serwera na katalog public: DocumentRoot w Apache, root w Nginx. Bez Apache albo gdy pliki .htaccess są wyłączone, proszę dodać reguły przepisywania adresów: projekt publikuje przykłady dla Apache i dla Nginx.
Instalacja ręczna otwiera się z kontem admin@admin.com i hasłem password. Adres i hasło proszę zmienić od pierwszego logowania.
Odwiedzający docierają na porty 80 i 443, pod nazwą domeny serwera. Dla tej nazwy proszę utworzyć rekordy A i AAAA, a potem poprosić o certyfikat: skrypt dla Ubuntu 26.04 konfiguruje Apache tylko na porcie 80, a strona instalacji zostawia HTTPS w Państwa rękach. Certbot instaluje certyfikat Let’s Encrypt, dostosowuje Apache i sam odnawia certyfikat. W Nginx proszę zastąpić --apache przez --nginx.
sudo snap install --classic certbot
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
sudo certbot --apache -d docs.example.com
Następnie proszę przestawić adres na HTTPS w .env. APP_URL musi dokładnie odpowiadać adresowi, pod którym się wchodzi, łącznie z prefiksem: rozbieżność objawia się brakiem stylów, nadmiernie dużymi ikonami i zepsutymi menu. Adres w https sam włącza bezpieczne ciasteczka.
APP_URL=https://docs.example.com
Jeśli strony już istnieją, ich linki zachowują w bazie stary adres. Proszę wykonać kopię bazy, a potem uruchomić polecenie projektu:
php artisan bookstack:update-url http://docs.example.com https://docs.example.com
BookStack działa w katalogu głównym domeny lub subdomeny, a dokumentacja opisuje też instalację w podkatalogu, jak example.com/bookstack. Jeśli przed Apache dojdzie odwrotne proxy, proszę zadeklarować jego adres w APP_PROXIES: bez tego dziennik audytu i ograniczanie przepustowości widzą adres proxy zamiast adresu odwiedzających. Dokumentacja rezerwuje APP_PROXIES="*" do diagnostyki.
| Miejsce | Co zawiera |
|---|---|
| Baza MySQL lub MariaDB | Wszystkie dane aplikacji, w tym treść Państwa stron |
.env | Konfigurację, z APP_KEY oraz danymi dostępowymi do bazy i serwera e-mail |
public/uploads | Obrazy, przy domyślnym przechowywaniu |
storage/uploads | Załączniki, chronione uprawnieniami BookStack |
themes | Państwa dostosowania motywu, jeśli są |
Ten sam APP_KEY proszę zachować na stałe i skopiować go. BookStack używa go między innymi do szyfrowania sekretów uwierzytelniania dwuskładnikowego: zmiana może zepsuć te funkcje, a od wersji 26.09 aplikacja zwraca błąd, jeśli go brakuje.
Przy domyślnym przechowywaniu serwer WWW obsługuje obrazy bezpośrednio, co jest szybkie, a każdy, kto zna ich adres, może je otworzyć. Dla dokumentacji wewnętrznej wyboru dokonuje się w STORAGE_TYPE:
| <code>STORAGE_TYPE</code> | Obrazy | Dostęp |
|---|---|---|
local | public/uploads/images | Obsługiwane bezpośrednio przez serwer WWW |
local_secure | storage/uploads/images | Dla osób zalogowanych, chyba że włączono dostęp publiczny |
local_secure_restricted | storage/uploads/images | Według uprawnień strony, opcja najbardziej wymagająca |
s3 | Bucket zgodny z S3 | Obrazy upublicznione przy przesłaniu |
Dla dużych plików trzeba uzgodnić trzy ustawienia: FILE_UPLOAD_SIZE_LIMIT w .env, post_max_size i upload_max_filesize w php.ini oraz client_max_body_size w Nginx, które domyślnie wynosi 1 MB.
Dwa ustawienia liczą się też dla żywej dokumentacji: każda strona domyślnie zachowuje 100 rewizji (REVISION_LIMIT), a kosz przechowuje usunięte elementy przez 30 dni (RECYCLE_BIN_LIFETIME).
BookStack wysyła e-maile w celu potwierdzenia adresów, przy zapomnianym haśle, zaproszeniach i powiadomieniach. Z VPS Simafri wysyłka odbywa się przez uwierzytelniony przekaźnik SMTP, na porcie 587: adres posiadanego już konta pocztowego albo 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
Wynik proszę sprawdzić w „Settings”, „Maintenance”, akcją „Send a Test Email”, która wyświetla napotkane błędy. Błąd przy zaproszeniu pojawia się na ekranie, natomiast błąd powiadomienia pozostaje w dzienniku aplikacji.
Domyślnie BookStack wysyła e-maile i webhooki w trakcie żądania, co może spowalniać strony. Aby przejść na tło, proszę wpisać QUEUE_CONNECTION=database w .env i uruchomić usługę, według przykładu, który dokumentacja podaje dla instalacji Ubuntu ze skryptu:
[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
Dokumentacja bezpieczeństwa podaje listę do wykonania już przy instalacji:
public, zwłaszcza jeśli BookStack znajduje się w /var/www.APP_URL, aby adresy generowane przez system nie mogły być manipulowane.Uwierzytelnianie dwuskładnikowe wymusza się następnie dla roli. Proszę też zapisać się na listę mailingową projektu poświęconą bezpieczeństwu, by otrzymywać jego alerty. Adres /status służy do nadzoru: odpowiada 200, gdy wszystko działa, a w przeciwnym razie kodem błędu równym lub wyższym niż 400.
PHP liczy się tak samo jak BookStack. Projekt opublikował 21 października 2026 roku alert o krytycznej aktualizacji PHP, poprawionej w 8.5.12, 8.4.27, 8.3.36 i 8.2.35. Ubuntu publikuje te poprawki pod własnymi numerami pakietów, jak 8.3.6-0ubuntu0.24.04.13 dla Ubuntu 24.04.
Dla Państwa treści proszę zachować filtrowanie włączone domyślnie, a jego złagodzenie zarezerwować dla instancji, na których piszą tylko osoby zaufane. Jeśli konto administratora zostanie utracone, php artisan bookstack:create-admin tworzy kolejne, a php artisan bookstack:reset-mfa usuwa uwierzytelnianie dwuskładnikowe użytkownika.
Pełna kopia zapasowa obejmuje bazę i cztery miejsca na pliki właściwe dla Państwa instancji. Eksporty treści służą do czego innego: dokumentacja zaznacza, że nie zastępują kopii zapasowej.
sudo mysqldump -u root bookstack > bookstack.backup.sql
tar -czvf bookstack-files-backup.tar.gz .env public/uploads storage/uploads themes
Pierwsza linia dotyczy instalacji ze skryptu, gdzie root MySQL łączy się przez sudo; w innych przypadkach proszę wpisać mysqldump -u bookstack -p bookstack. Te dwa pliki proszę przechowywać osobno, najlepiej na innej maszynie. Archiwum zawiera .env, a więc APP_KEY i Państwa hasła: proszę traktować je jak sekret.
Na nowej maszynie proszę zainstalować BookStack bez uruchamiania php artisan migrate, krok do zakomentowania w skrypcie, jeśli z niego Państwo korzystają, a następnie przywrócić bazę i pliki, zachowując pierwotny APP_KEY:
sudo mysql -u root bookstack < bookstack.backup.sql
tar -xvzf bookstack-files-backup.tar.gz
Jeśli zainstalowana wersja jest nowsza niż kopia, proszę następnie uruchomić php artisan migrate. Uprawnienia zapisu serwera WWW na przywróconych katalogach proszę ustawić ponownie. Jeśli adres się zmienił, proszę poprawić APP_URL i uruchomić bookstack:update-url.
Przed każdą aktualizacją proszę skopiować bazę i pliki, a następnie, z katalogu BookStack:
git pull origin release
composer install --no-dev
php artisan migrate
php artisan cache:clear
php artisan config:clear
php artisan view:clear
Skrypt dla Ubuntu 26.04 instaluje BookStack bez Composera. Strona aktualizacji proponuje wtedy, w wersji beta, ./bookstack-system-cli download-vendor zamiast composer install --no-dev. To samo narzędzie potrafi też wykonywać i przywracać kopie, ale projekt nie uważa go jeszcze za gotowe do produkcji: proszę przetestować je, zanim zaczną Państwo na nim polegać.
Dokumentacja prowadzi listę wskazówek właściwych dla każdej wersji, do przeczytania dla wersji docelowej. Kilka przykładów:
APP_KEY staje się obowiązkowy.storage/fonts musi pozostać zapisywalny dla serwera WWW, w przeciwnym razie eksporty PDF mogą się nie udawać.Luki poprawia się w wersjach konserwacyjnych, jak 26.09.3 z 11 listopada 2026 roku: obrazy i rysunki strony w wersji roboczej lub w koszu pozostawały dostępne i można je było modyfikować, a osobista wersja robocza redaktora mogła stać się widoczna dla innych osób.
Samodzielny hosting wymaga prowadzenia serwera, oprócz samej aplikacji. Na Managed VPS nasze zespoły przejmują serwer i proaktywnie czuwają nad Państwa instancją; BookStack pozostaje Państwa oprogramowaniem, z Państwa ustawieniami i danymi.
| Temat | Nasze zespoły | Państwo |
|---|---|---|
| Serwer | Aktualizacje systemu i zabezpieczeń, w tym interwencje na serwerze | Moment dogodny dla Państwa działalności |
| Nadzór | Serwer pod opieką całą dobę, 7 dni w tygodniu, z interwencją bez czekania na Państwa telefon | Państwa użytkownicy, ich role i Państwa treści |
| BookStack | Proaktywna opieka: wychwytujemy błędy, spowolnienia i brak miejsca na dysku oraz polecamy poprawkę | Instalacja, aktualizacje i ustawienia, które wdrażają Państwo sami albo Państwa asystent AI |
| Kopie zapasowe | Co noc, szyfrowane i przechowywane poza maszyną; przywracanie w cenie | Zgłoszenie prośby o przywrócenie, gdy będzie potrzebne |
| Migracja | Migracja Państwa obecnego serwera, bezpłatna | Moment przełączenia |
Jeśli wolą Państwo, aby nasze zespoły interweniowały w samej aplikacji, usługa ta jest rozliczana godzinowo lub ryczałtowo, z wyceną przekazaną przed interwencją.
Z Managed VPS od Simafri nasze zespoły utrzymują serwer Państwa instancji BookStack w aktualności, nadzorują go dniem i nocą i interweniują bez czekania na Państwa telefon; proaktywnie czuwają także nad Państwa instancją i polecają przydatne poprawki, które wdrażają Państwo sami albo Państwa asystent AI. Kopie zapasowe są szyfrowane co noc i przechowywane poza maszyną, ich przywracanie jest w cenie, a migracja obecnego serwera jest bezpłatna.
Tak. BookStack jest udostępniany na licencji MIT, która zezwala na każde użycie, a projekt utrzymuje jedną wersję, bez edycji dla przedsiębiorstw. Oferuje też płatne plany wsparcia, które pozostają opcjonalne. Pozostaje koszt serwera, na którym działa.
Na zupełnie nowym Ubuntu 26.04, 24.04 lub 22.04 proszę pobrać skrypt instalacyjny projektu, nadać mu prawa wykonania i uruchomić go przez sudo. Instaluje Apache, MySQL i PHP. Na maszynie już pracującej proszę wybrać instalację ręczną, bo skrypt może nadpisać istniejącą konfigurację WWW.
Nie. Instalacje w kontenerach pochodzą z projektów społecznościowych, LinuxServer.io i solidnerd. Droga oficjalna instaluje BookStack bezpośrednio na serwerze, z PHP, MySQL lub MariaDB i serwerem WWW, ręcznie albo skryptem dla Ubuntu.
PHP 8.2 lub nowszego, MySQL 8.0 albo MariaDB 10.6 lub nowszej, Composera 2.2 lub nowszego, Gita i serwera WWW zgodnego z PHP. Projekt nie określa pamięci ani procesora i odrzuca współdzielony hosting PHP.
Instalacja ręczna otwiera się z admin@admin.com i hasłem password, do zmiany od pierwszego logowania. Skrypt dla Ubuntu 26.04 wyświetla na końcu wylosowane hasło. W razie utraty dostępu php artisan bookstack:create-admin tworzy nowego administratora.
Proszę wyeksportować bazę przez mysqldump i zarchiwizować .env, public/uploads, storage/uploads oraz themes. Przy przywracaniu proszę zachować pierwotny APP_KEY, a całość przechowywać poza maszyną. Eksporty treści BookStack nie zastępują tej kopii.
Proszę uzupełnić MAIL_DRIVER, MAIL_HOST, MAIL_PORT, MAIL_ENCRYPTION, MAIL_USERNAME, MAIL_PASSWORD, MAIL_FROM i MAIL_FROM_NAME w pliku .env, a następnie uruchomić Send a Test Email w Settings, Maintenance. Z VPS Simafri wysyłka odbywa się przez uwierzytelniony przekaźnik SMTP, na porcie 587.
Managed VPS obejmuje serwer: system, bezpieczeństwo, nadzór i kopie zapasowe. Nasze zespoły proaktywnie czuwają też nad Państwa instancją i polecają przydatne poprawki, które wdrażają Państwo sami. Interwencja w aplikacji jest rozliczana godzinowo lub ryczałtowo.
Simafri
Porozmawiajmy o Państwa projekcie
Proszę powiedzieć nam w kilku słowach, czego Państwo potrzebują: odpowiemy szybko.
Dziękujemy! Państwa zapytanie zostało wysłane. Wkrótce się odezwiemy.
Wolą Państwo e-mail? Proszę napisać do nas na support@simafri.com.