Directory content lister

10.07.2002 19:23 | blackhole

Prednedávnom som si zaregistroval doménu a na serveri som mal strašne veľa súborov, ktoré by som rád zprístupnil na sieti. Preto som sa rozhliadol cez googla, či na to neexistuje nejaký programček. Po dlhšej chvíli hľadania som našiel celkom pekný program, ktorý sa volá dirlister. Hneď som si ho stiahol, nainštaloval a preštudoval. V nasledujúcich riadkoch sa pozrieme na inštaláciu, konfiguráciu a celkovú prácu s týmto programčekom.

INŠTALÁCIA. Program si stiahneme zo stránky http://bisqwit.stc.cx/src/ index/dirlister (upozorňujem, že je potrebné si stiahnúť verziu 1.0.10 a vyššie, pretože v nižších verziách napr. 1.0.9 chýbalo zopár súborov, potrebných k kompilácii.

- stiahnutý zdrojový súbor si ho nahráme do adresára napr. /home/user/WWW - rozbalíme si archív: tar xjvf dirlister-1.0.xx.tar.bz2

Pre činnosť dirlister-a je potrebná knižnica libargh.a, preto zistíme, či sa nachádza v našom systéme. Túto knižnicu môžeme nainštalovať globálne alebo lokálne.

1. Globálna inštalácia je veľmi jednoduchá, musí ju však robiť root, stačí ak zadáme v adresári dirlister-a nasledujúce príkazy :

make
make install
ldconfig

Po vykonaní týchto príkazov si činnosť dirlister-a overíme jeho spustením
./dirlister. Ak všetko prebehlo bez problémov na terminále už môžeme vidieť obsah adresára, v ktorom sa nachádzame, upraveného priamo vo forme HTML kódu.

2. Lokálna inštalácia:
Pri tejto inštalácii je nutné editovať celkovo dva súbory. Ako prvý si zaeditujeme súbor ~/WWW/dirlister-1.0.xx/argh/Makefile. V tomto súbore nastavíme, do ktorých adresárov sa majú nainštalovať knižnice a include súbory, čiže nasledujúce riadky zmeníme:

a)
Pôvodne : LIBDIR=/usr/local/lib
INCDIR=/usr/local/include

Zmenené : LIBDIR=/home/user/WWW/dirlister-1.0.xx/lib
INCDIR=/home/user/WWW/dirlister-1.0.xx/include

- upozorňujem, že pred zadaním make, si musíme vytvoriť adresáre lib a
include v adresáry ~/WWW/dirlister-1.0.xx/

b)
Ako druhý súbor si zaeditujeme ~/WWW/dirlister-1.0.xx/Makefile. V ňom zmeníme riadok :

Pôvodne :
$(CXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) -Largh -largh

Zmenené :
$(CXX) -o $@ $(LDFLAGS) $^ $(LDLIBS) argh/libargh.a

Po upravení týchto súborov môžeme inštalovať:

make
make install

Ak všetko prebehlo bez problémov činnosť dirilister-a si môžeme opäť overiť príkazom ./dirlister

POUŽÍVANIE DIRLISTER-a:
Po spustení programu je síce obsah adresára vo forme HTML kódu, no mi však potrebujeme výstup z dirlister-a dostať na naše stránky a to tak, že si spravíme jednoduchý php skriptík, ktorý hodíme napr. do download.php.

<?php
passthru('home/user/WWW/dirlister-1.0.xx/dirlister');
?>

Po načítaní stránky download.php môžeme vidieť celý obsah adresára ~/WWW/dirlister-1.0.xx/, ktorý si môžeme, či už to sťahovať alebo prezerať.

Dirlister-u môžeme zadať parameter typu -d /adresár, ktorý nám zobrazí obsah daného adresára. Tento prepínač nedoporučujem používať pretože sa nebude možné dostať do podadresárov.

Aby sme mali prístup aj k súborom, ktoré sa nenachádzajú v ~/WWW/dirlister-1.0.xx spravíme si link napr. ln -s /tmp /home/user/WWW/dirlister-1.xx/tmp. Po tomto zlinkovaní budeme mať prístup k všetkým súborom, ktoré sa nachádzajú v adresáry /tmp.

Výsledný vzhľad stránky si môžeme upraviť napr.

<?php
print '<html><head><style>font {color: silver}; a {text decoration: none; color: gold;}</style><title>test</title></head ><body bgcolor=black>';

passthru('/home/tuxo/WWW/dirlister');

print '</body></html>';
?>

ZÁVER. Napriek tomu, že listing adresárov podporuje aj web server Apache, týmto programčekom si však môžeme výsledný výzor stránok rispôsobiť naším potrebám pomocou vlastných php skriptov.tuxo