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 :)



8 Atsakymai į “[error] [client ::1] File does not exist: /htdocs”

  1. sysmonk Sako:

    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.

  2. sysmonk Sako:

    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

  3. admin Sako:

    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?

  4. sysmonk Sako:

    Galima. Kaip jau minejau, pats pirmas virtualhostas kuris yra aprasytas ir yra default virtual hostas. httpd -S parodys tau virtualhostu ‘pasiskirstyma’

  5. admin Sako:

    Na tai paprasciau, tada nurodyt defaultini DocumentRoot :) Nes configai kartais gali keistis, buvo pirmas ziurek paskiau nebepirmas… ;)

  6. sysmonk Sako:

    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”.

  7. admin Sako:

    Pabandziau – atsidaro tas pats puslapis. Tas kuri as nurodziau kaip default DocumentRoot ;)

  8. sysmonk Sako:

    na, deja tavo visos konfiguracijos nezinau, todel negaliu nieko toliau komentuoti ;(

Rašyti komentarą

Please insert the signs in the image: