marţi 5 iunie 2012, 06:09:37 +0300

nanoblogger (3.4.2)

Ieri am dat peste nanoblogger, și am marcat-o ca fiind una dintre cele mai geniale descoperiri făcute vreodată de subsemnatul.


Scurtă descriere:

nanoblogger (versiunea curentă 3.4.2) este o aplicație care permite construirea simplă a unui jurnal online, cu conținut static.

  • Majoritatea datelor sunt stocate direct pe disc, în fișiere txt și html.
  • Configurarea se realizează printr-un fișier .conf, în cel mai pur stil *NIX.
  • nb prezintă unelte automatizate pentru a ușura modificarea temei, articolelor, categoriilor etc.
  • Articolele se pot edita direct în shell, sau pot fi împinse de la distanță prin rsync, scp sau ftp.

Procesul de instalare, precum și opțiunile de configurare, sunt disponibile pe situl nb, urmărind legăturile - „NanoBlogger Links” → „User Manual”. Tot pe situl proiectului este disponibilă și o listă cu jurnale care au sub capotă nanoblogger. Foarte puține sunt personalizate, fept ce atestă încă o dată genialitatea interfeței implicite :-)

Nu voi oferi redundanța instrucțiunilor din manual. Aproape tot ce este necesar pentru instalarea și configurarea nanoblogger se află deja acolo, explicat destul de bine. Voi oferi însă detalii asupra lucrurilor mai puțin evidente, sau nespecificate de documentație.

Structura directoarelor pe disc - recomandare
Voi descrie cum am procedat eu la instalare, puteți ajusta după plac. Pas cu pas.

  1. Se descarcă un tarball de pe situl proiectului.
  2. Se dezarhivează în afara directorului rădăcină al serverului web. Mai sus un nivel e suficient, în cazul meu DocumentRoot era setat ca
    /home/vnitu/public_html
    și am desfăcut nb în
    /home/vnitu/nb
  3. Am instalat jurnalul în
    /home/vnitu/public_html/jurnal
    . Atenție, directorul instalării nu trebuie creat manual, executabilul
    nb
    o va face automat. Pentru a crea un jurnal nou trebuie navigat în directorul nb (există și posibilitatea de a administra mai multe jurnale cu nanoblogger) și se execută:
    nb -b <director> add weblog

    adică nb -b ../public_html/jurnal add weblog
  4. Pentru a administra jurnalul, trebuie navigat în directorul acestuia (ex. public_html/jurnal) și apelat executabilul
    nb
    folosind o cale relativă, urmat de comanda dorită:
    ../../nb/nb <comandă> (lista comenzilor uzuale se află în articolul demoe de după crearea jurnalului.)
  5. În acest moment, nanoblogger este instalat, dar nu se pot accesa fișierele sursă ale aplicației suport prin intermediul unui navigator. Primul pas spre securizare este făcut :-)

Supliment la lista cu comensile de bază - tipuri de înregistrări în jurnal
nb add article(crearea de pagini noi)
Contrar denumirii, nu va crea articole noi în jurnal, ci pagini ale sitului, care nu vor apărea în arhive. Acestea sunt listate sub categoria „pagini” în bara laterală.
nb add tag
Creaza o etichetă nouă pentru postări - acestea trebuie create înainte de a fi utilizate pentru publicare.
nb --tag <id_tag> add entry
Adaugă o înregistrare în jurnal cu eticheta corespunzătoare id-ului (care se determină prin nb list tags).
Pentru a adăuga o înregistrare fără etichetă, se utilizează comanda directă nb add entry

Securizare++ Deși totul este instalat și funcționează, și sursele nb sunt ascunse de public, totuși fișiere esențiale, cum ar fi blog.conf, fișierul de configurare al jurnalului, sunt accesibile prin navigator, ele aflându-se în rădăcina proiectului. Voi oferi o soluție bazată pe Apache și .htaccess, cu mod_rewrite activat. Adică îl voi publica pe al meu:

# Configurăm fișierul principal (opțional)
DirectoryIndex index.html

# Interzicem accesul aplicațiilor client către toate fișierele sitului
<Files ∼ ".*">
Order allow,deny
Deny from all
</Files>

# Permitem în continuare fișierele .html
<Files ∼ "^(.*)\.html">
Order allow,deny
Allow from all
</Files>

# Dăm voie și la stiluri să se încarce
<Files ∼ "^(.*)\.css">
Order allow,deny
Allow from all
</Files>

# Activăm imagini, șî alte posibile formate uzuale
<Files ∼ "^(.*)\.(jpg|gif|png|svg)">
Order allow,deny
Allow from all
</Files>

# Activăm accesul pentru cazul în care se apelează direct rădăcina sitului
<Files ∼ "^(.){0,0}">
Order allow,deny
Allow from all
</Files>

Acum nu mai putem accesa decât fișiere html, css, sau imagini. Nu conf-uri, nu txt-uri, nu alte fișiere inutile navigării.

Voi completa acest articol pe parcurs cu instrucțiuni despre traducerea interfeței sau modificare temei implicite. Nu voi uita nici de utilizarea de extensii, suport pentru comentarii sau alte detalii picante, dar incă am dubii dacă fac obiectul unei postări separate sau nu. Pentru moment, mă voi opri aici.


Postat de vnitu | Legătură permanentă | Fișier din: ceata, software