Jul 01
Kaikuriuose serveriuose apache meta daug tokiu pranešimų:
[error] [client ::1] File does not exist: /htdocs
Jie atsiranda vykdant vidinius apache procesus. Norint jais atsikratyti, pakanka, kad ir tokios elutės apache2.conf faile:
DocumentRoot /home/www
Ši direktorija bus defaultinė neaprašytiems virtualhostams, tad apache pradės kreiptis į ją. Aišku galima susikurti ir virtualhost`ą su _default_ ServerName, bet man kažkodėl apache vistiek mesdavo klaidas kad neranda /htdocs. Reiks kadanors isigilint labiau
July 8th, 2008 at 13:23
Jeigu naudoji NameVirtualHost o ne IP based virtual hostus – apache nekreipia demesi i _default_, o defaultu padaro ta virtualhosta, kuris yra pirmas aprasytas.
T.y. Jei turesi pvz:
Tai tokiu atveju defaultiniu virtualhostu bus ne _default_ o blabla.lt.
July 8th, 2008 at 13:26
Beje, pastebejau kad [client ::1] – taigi cia naudojamas ipv6. tai galbut viena is priezasciu kodel nematchino tavo taisykliu yra ta kad turi aprasyta NameVirtualHost o ne NameVirtualHost * nors Listen’ini ant *
P.s. apie tai galima paskaityti cia http://httpd.apache.org/docs/2.0/vhosts/details.html#hostmatching
July 8th, 2008 at 16:28
NameVirualHost yra *:80, o VirtualHost taip pat yra *:80 .
Taip, vhostai yra name based o ne ip based, ka tokiu atveju negalima priskirti defaultinio puslapio?
July 8th, 2008 at 20:45
Galima. Kaip jau minejau, pats pirmas virtualhostas kuris yra aprasytas ir yra default virtual hostas. httpd -S parodys tau virtualhostu ‘pasiskirstyma’
July 8th, 2008 at 20:59
Na tai paprasciau, tada nurodyt defaultini DocumentRoot
Nes configai kartais gali keistis, buvo pirmas ziurek paskiau nebepirmas…
July 8th, 2008 at 21:27
Deja, cia pas tave beda siek tiek kitokia, ir kaip jau minejau – turbut susije su ipv6.
Defaultinis DocumentRoot’a nepakeistu defaultinio virtualhost’o.
Bet, jeigu virtualhostai pas tave yra daromi tik ant IPv4 adresu, o defualtinis documentroot’as rodo kazkur kitur – tai per ipv6 turetum matyti defaultini documentroot’a o per ipv4 – pirmaji aprasyta virtualhost’a.
Padaryk testa:
printf “GET / HTTP/1.0\n\n” | nc 127.0.0.1 80
printf “GET / HTTP/1.0\n\n” | nc localhost 80
Jeigu mano teorija teisinga – sitie du dalykai turetu grazinti skirtingus “puslapius”.
July 9th, 2008 at 14:33
Pabandziau – atsidaro tas pats puslapis. Tas kuri as nurodziau kaip default DocumentRoot
July 10th, 2008 at 08:59
na, deja tavo visos konfiguracijos nezinau, todel negaliu nieko toliau komentuoti ;(