Indexul jurnaluluiDockup / notă de teren
Note / self-host-dokuwiki

Cum să găzduiești DokuWiki pe cont propriu în 2026: stocarea fișierelor, ACL-uri și backup-uri

Un ghid practic pentru găzduirea proprie a DokuWiki, care acoperă Docker, porturi, date persistente, TLS, securitate, backup-uri și problemele care împiedică utilizarea în producție. Include verificări.

Privește DokuWiki ca pe un sistem de dimensiuni reduse, nu ca pe o imagine Docker. Obiectivul pentru utilizator este clar: un wiki bazat pe fișiere, care nu are nevoie de o bază de date; implementarea este acceptabilă numai atunci când poți înlocui credențialele de configurare, edita o pagină, încărca fișiere media, aplica un ACL, vedea o revizie și restaura o versiune mai veche.

Această distincție scoate la iveală problema cu care se confruntă operatorii după testarea locală: drepturile de proprietate asupra fișierelor împiedică salvarea paginilor, chiar dacă interfața se încarcă. De asemenea, face ca planul de backup și upgrade să fie suficient de specific pentru a putea fi testat.

Porturi, procese și servicii private

Începe cu namespace-ul de rețea al DokuWiki: listenerul web este pe portul 80, nu pe un port de host copiat dintr-un tutorial pentru laptop. Cerința runtime locală este un volum de configurare persistent, care conține pagini, fișiere media și ACL-uri. Documentează capacitatea așteptată, drepturile de proprietate și modul de defectare, în loc să le lași la valorile implicite ale imaginii.

După îndeplinirea cerinței, rulează scenariul complet — înlocuiește credențialele de configurare, editează o pagină, încarcă fișiere media, aplică un ACL, vizualizează o revizie și restaurează o versiune mai veche. Înregistrează logurile și măsurătorile pentru metadatele sistemului de fișiere, volumul media, indexarea căutării și workerii PHP. Aceste dovezi devin prima arhitectură cunoscută ca funcțională și fac testabile mutările ulterioare între resursele de calcul Dockup și un server atașat.

Exerciții de simulare a problemelor pentru DokuWiki

Un container funcțional este necesar, dar nu suficient. Indicatorul de nivel al serviciului este finalizarea cu succes a acțiunii „înlocuiește credențialele de configurare, editează o pagină, încarcă fișiere media, aplică un ACL, vizualizează o revizie și restaurează o versiune mai veche”, iar semnalele de presiune probabile sunt metadatele sistemului de fișiere, volumul media, indexarea căutării și workerii PHP.

Controlul schimbărilor este important deoarece pluginurile și template-urile pot rămâne în urma versiunilor DokuWiki, chiar dacă fișierele simple ale paginilor rămân lizibile. Păstrează imaginea veche, testează migrările pe o copie a stării și documentează dacă rollback-ul este acceptat după modificarea schemei. Dacă drepturile de proprietate asupra fișierelor împiedică salvarea paginilor, chiar dacă interfața se încarcă, identifică prima limită care diferă de mediul funcțional.

Înregistrează o implementare DokuWiki cunoscută ca funcțională

Un release candidate pentru DokuWiki merită să primească trafic după finalizarea unui scenariu fix: înlocuiește credențialele de configurare, editează o pagină, încarcă fișiere media, aplică un ACL, vizualizează o revizie și restaurează o versiune mai veche. Capturează digest-ul imaginii, configurația efectivă care nu conține secrete, originea publică și marcajele temporale pentru scenariul respectiv. Datele de test trebuie să poată fi eliminate, dar să fie suficient de realiste pentru a exercita același traseu ca în cazul utilizatorilor.

Rulează acest test după înlocuirea runtime-ului, apoi reconstruiește serviciul din pagini, fișiere media, metadate, utilizatori, ACL-uri și pluginuri. Recuperarea este reușită atunci când paginile, reviziile, fișierele media, utilizatorii, ACL-urile și pluginurile reapar, iar pagina protejată rămâne protejată. Compară măsurătorile de resurse pentru metadatele sistemului de fișiere, volumul media, indexarea căutării și workerii PHP cu versiunea anterioară și investighează abaterile semnificative înainte de promovare.

În cele din urmă, execută această defecțiune controlată: trimite date inofensive în apropierea limitei de resurse sau de format asociate acestei limite: drepturile de proprietate asupra fișierelor împiedică salvarea paginilor, chiar dacă interfața se încarcă. Verifică dacă DokuWiki explică defecțiunea, nu deteriorează starea existentă și își reia funcționarea după revenirea condiției valide. Salvează un fragment de log redactat și timpul de recuperare. Împreună, aceste verificări acoperă comportamentul, durabilitatea și operabilitatea, nu doar disponibilitatea procesului.

Rulează prima instanță cu structură de producție

Folosește o comandă care expune fiecare alegere importantă. Această configurație de bază leagă DokuWiki de loopback-ul hostului, adaugă mount-urile de date cunoscute și furnizează prima setare necesară. Confirmă cerința locală înainte de expunere: un volum de configurare persistent, care conține pagini, fișiere media și ACL-uri.

docker run -d \
  --name dokuwiki \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v dokuwiki-data:/config \
  lscr.io/linuxserver/dokuwiki:latest

Înlocuiește tag-urile flotante cu o versiune testată sau cu un digest. După pornire, inspectează docker logs --tail 200 dokuwiki și confirmă că procesul ascultă pe 80. Apoi execută acțiunea de acceptanță DokuWiki; un răspuns de la pagina principală nu poate demonstra că întregul scenariu reușește: înlocuiește credențialele de configurare, editează o pagină, încarcă fișiere media, aplică un ACL, vizualizează o revizie și restaurează o versiune mai veche.

Volumele sunt doar primul nivel de recuperare

Pentru DokuWiki, siguranța la redeploy începe cu paginile, fișierele media, metadatele, utilizatorii, ACL-urile și pluginurile. Montează /config înainte de bootstrap, scrie date demonstrative inofensive și înlocuiește containerul pentru a dovedi că acel traseu este într-adevăr persistent. Testează traseul înlocuind containerul cât timp există date demonstrative inofensive; astfel poți identifica mount-uri orientate cu un director prea sus sau prea jos.

Apoi testează recuperarea în caz de dezastru pe un host gol. Folosește, atunci când este necesar, un export de bază de date consistent cu aplicația și verifică dacă paginile, reviziile, fișierele media, utilizatorii, ACL-urile și pluginurile reapar, iar pagina protejată rămâne protejată. Ghidul pentru backup-uri de baze de date restaurate și testate oferă un obiectiv mai solid decât simpla verificare a creării unui fișier arhivă.

Oferă-i DokuWiki o singură adresă canonicală

Emiterea certificatelor TLS este doar jumătate din traseul DokuWiki. Servește wiki-ul prin HTTPS și setează URL-ul de bază canonical. Trimite traficul intern către 80 și redirecționează schema externă, astfel încât URL-urile generate și cookie-urile securizate să rămână consecvente.

Folosește scenariul complet DokuWiki dintr-o rețea curată, nu doar pagina principală. O eroare 502 sau o problemă cu certificatul poate fi izolată cu configurarea automată a domeniului și TLS. Dacă traficul ajunge la proces, iar drepturile de proprietate asupra fișierelor împiedică salvarea paginilor, chiar dacă interfața se încarcă, investighează condiția în locul în care apare, fără să adaugi redirecturi în lanț.

Închide accesul temporar de configurare

Modelează amenințările în funcție de acțiunea pe care o execută DokuWiki, nu doar în funcție de formularul de autentificare. În acest caz, greșeala cu risc ridicat este să lași deschise installerul sau setările de înregistrare. Implementează această limită: elimină accesul la installer, verifică înregistrarea și păstrează fișierele ACL împreună cu conținutul paginilor.

DokuWiki nu are un secret obligatoriu de bootstrap în această configurație de bază; protejează contul real de administrator sau autentificarea upstream. Nu rezolva o eroare de permisiuni rulând containerul ca root sau montând hostul în mod extins. Și limitele de resurse fac parte din designul de securitate atunci când metadatele sistemului de fișiere, volumul media, indexarea căutării și workerii PHP pot fi declanșați de utilizatori.

Folosește Dockup pentru nivelul de platformă

Un template Dockup ar trebui să codifice imaginea, portul 80, mount-urile, temporizarea health check-ului, domeniul, TLS și livrarea secretelor. Dockup ar trebui să păstreze setările runtime DokuWiki, în timp ce operatorul confirmă această cerință locală: un volum de configurare persistent, care conține pagini, fișiere media și ACL-uri. Aceeași implementare poate viza servere Dockup sau capacitate atașată de client.

După ce traseul este activ, aplică setarea publică și încearcă să înlocuiești credențialele de configurare, să editezi o pagină, să încarci fișiere media, să aplici un ACL, să vizualizezi o revizie și să restaurezi o versiune mai veche. Fă backup pentru pagini, fișiere media, metadate, utilizatori, ACL-uri și pluginuri și păstrează exercițiul de restaurare în planul operațional; acestea sunt responsabilități DokuWiki care rămân vizibile după configurarea infrastructurii.

Întrebări frecvente

De ce are nevoie DokuWiki pentru o implementare în producție?

Direcționează containerul DokuWiki de pe portul 80 printr-o singură origine HTTPS. Cerința runtime locală este un volum de configurare persistent, care conține pagini, fișiere media și ACL-uri. Nu considera DokuWiki pregătit până când nu poți înlocui credențialele de configurare, edita o pagină, încărca fișiere media, aplica un ACL, vedea o revizie și restaura o versiune mai veche.

Ce date DokuWiki trebuie incluse într-un backup?

Păstrează /config și include paginile, fișierele media, metadatele, utilizatorii, ACL-urile și pluginurile în același manifest de recuperare. O restaurare DokuWiki curată este reușită numai atunci când paginile, reviziile, fișierele media, utilizatorii, ACL-urile și pluginurile reapar, iar pagina protejată rămâne protejată.

Are DokuWiki nevoie de HTTPS în spatele unui reverse proxy?

Folosește HTTPS pentru originea publică DokuWiki și păstrează portul 80 pe traseul intern. Aplică setarea DokuWiki corect: servește wiki-ul prin HTTPS și setează URL-ul de bază canonical. Pentru DokuWiki, HTTPS protejează credențialele sau conținutul utilizatorilor în tranzit și menține consecvent comportamentul clientului dependent de origine.

Cum trebuie testat un upgrade DokuWiki?

Restaurează starea curentă DokuWiki într-o implementare izolată, aplică versiunea candidat și repetă tranzacția de acceptanță. Acordă o atenție deosebită acestui aspect deoarece pluginurile și template-urile pot rămâne în urma versiunilor DokuWiki, chiar dacă fișierele simple ale paginilor rămân lizibile. Păstrează imaginea DokuWiki anterioară până când limitele migrării datelor și ale rollback-ului sunt înțelese.