Poganjam Apache 2.0.55 skupaj z mod_python, ki ga potrebujem za trac (http://trac.edgewall.org/). "Težava" nastane, ker si mi trac javlja na naslovu, za katerega ni bil specifično konfiguriran (da, uporabljam imensko virtualno strežbo aka name based virtual hosting), pa mi ni povsem jasno zakaj pride do tega pojava!?
1) V /etc/hosts imam zapisani naslednji pretvorbi: 127.0.0.1 localhost 192.168.0.1 trac.nekje.si trac 192.168.0.1 test.nekjedrugje.si test 2) Prvi virtualni alias je nastavljen za naslov "localhost" in prisluškuje vsem IP naslovom, se pravi da uporabljam zanj direktivi <VirtualHost *:80> in ServerName localhost Posebej imam zanj nastavljen še AliasMatch, ki poskrbi za preumeritev vseh naslovov tipa ^/manual - ta virtualni strežnik mi služi za dostop do Apache dokumentacije. 3) Drugi virtualni alias je nastavljen na naslov trac.nekje.si in posluša le na naslovih 127.0.0.1 in 192.168.0.1, torej zanj uporabljam direktivi <VirtualHost 127.0.0.1:80 192.168.0.1:80> in ServerName trac.nekje.si V _okviru tega drugega_ virtualnega hosta imam nastavljeno še direktivo: <Location /> SetHandler mod_python ... </Location> ki je potrebna, da lovi vse korenske klice virtualnega strežnika za trac. 4) Prvi virtualni strežnik (localhost) je v konf. datoteki referiran pred drugim (trac.nekje.si) 5) Posebej imam nastavljen tudi virtualni strežnik, ki lovi vse ostale (praviloma neobstoječe) domene in sicer z <VirtualHost _default_:80>, ki jih preumerjam k nekemu generičnemu sporočilu. Preusmerjanje neobstoječih domen deluje bp, Trac tudi - vendar se mi v zgoraj omenjeni konfiguraciji trac javlja tudi na naslovu http://localhost/manual, čeprav bi se mi morala tu odpreti Apache dokumentacija... No, razlika s klicanjem naslova http://trac.nekje.si je, da mi v primeru klica http://localhost/manual trac vrne napako: Not Found No handler matched request to /manual/ Če Drugi virtualni strežnik (glej točko 3) nastavim, da ne posluša na IP naslovu 127.0.0.1 (torej samo na naslovu 192.168.0.1:80), stvar deluje povsem v skladu s pričakovanji. Resnično ne razumem, zakaj Apache v takšni konfiguraciji spregleda naslov localhost, test.nekjedrugje.si pa razreši pravilno, torej v generično sporočilo! Sumim, da za vsem skupaj stoji mehanizem "name based virtual hostinga" in način kako se direktive za imena virtualnih strežnikov razrešujejo v (iste) IP naslove... vendar si s tem svojim "gut feelingom" žal ne morem pomagati pri iskanju racionalne razlage. Prosim torej za pomoč bolj izkušenih! Hvala in lep pozdrav, Žiga B. _______________________________________________ lugos-list mailing list lugos-list@lugos.si http://liste2.lugos.si/cgi-bin/mailman/listinfo/lugos-list