Apacheen automaattinen index.html-näyttö

Discussion in 'Linux -keskustelu' started by Taukkizz, Apr 28, 2006.

  1. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Serverikoneella on Apache, jolla on tarkoitus hostata nettisivustoja. Selaimeen kansion nimen kirjoittaessa avautuu index.html:än sijaan kansionäkymä, josta index täytyy erikseen avata. Olen kuullut, että Apache avaisi aina index.html:än suoraan, joten miksiköhän ominaisuus ei ole päällä? Miten saisin tuon ominaisuuden sitten toimintaan?
     
  2. Ysf

    Ysf Active member

    Joined:
    Oct 2, 2005
    Messages:
    1,954
    Likes Received:
    1
    Trophy Points:
    68
    Apachehan avaa tiedoston jos hakemistosta löytyy DirecotoryIndex -määrityksessä määrätty tiedosto.

    mikähän apachen versio? 1.3.xx, 2.0.x-2.1.x vai 2.2.x? itselläni on apache 2.2.0 ja siellä on http.conf tiedostossa rivit

    sen muistan vaan noista vanhemmista, että tuo httpd.conf on vähän erinäköinen, varmaan tuo DirectoryIndex on niissäkin se avainsana.
     
    Last edited: Apr 28, 2006
  3. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Eli tuo pitäisi lisätä httpd.confin loppuun vai? Lisäsin eikä ainakaan heti vaikuttanut, pitäisikö apache käynnistää uudestaan tai jotain vastaavaa?
     
  4. juyli

    juyli Active member

    Joined:
    May 13, 2005
    Messages:
    1,861
    Likes Received:
    1
    Trophy Points:
    68
    Et viitsinyt kokeilla? Yleensä asetukset astuvat voimaan, kun systeemi (kuten apache, xorg jne.) käynnistetään uudelleen.
    Etpä myöskään jaksanut vihjaista esitettyyn kysymykseen, mikä apache-versio on käytössä.
     
  5. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Pääsi unohtumaan tuosta viime viestistä kiireessä ;< Käynnistin kyllä Apachen uudestaan mutta muutosta ei tullut entiseen..

    edit: pääsi näköjään unohtumaan tästäkin :D Uusin versio on kyseessä.
     
    Last edited: Apr 28, 2006
  6. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    /etc/apach2/apache2.conf tiedostossa pitää olla rivi, jossa lukee

    DirectoryIndex index.html

    Sinäänsä outoa, että tuo pitäisi olla siellä automaattisesti aina. Ehkä sitten olet muokannut sitä, en tiedä.

    jos haluat myös esim index.php tiedostot aukeavan suoraan rivi voi näyttää

    DirectoryIndex index.html index.php
     
  7. Ysf

    Ysf Active member

    Joined:
    Oct 2, 2005
    Messages:
    1,954
    Likes Received:
    1
    Trophy Points:
    68
    Ei. Kyllä sinä tuon DirectoryIndex -kohdan löydät kun etsit siitä httpd.conf -tiedostosta. Ja tuskin tarvitsee lisätä tiedoston loppuun mitään, sillä DirectoryIndex oletuksena on index.html - DirectoryIndex määrää mikä tiedosto ladataan, MIKÄLI hakemistossa sen niminen tiedosto on, muuten tulostetaan tiedostolistaus. Ja tuon tiedostolistauksen saa kyllä estettyä, jolloin jos selaimella "pyytää" hakemistoa missä index.html -tiedostoa ei ole, saa selaaja eteensä virheilmoituksen (permission denied).

    Eri distroissa konffitiedosto voi olla eri paikassa ja vielä eri nimellä. kuten huomasit, minä puhun httpd.conf tiedostosta ion! sanoo että tiedosto on /etc/apache/apache2.conf. eri apachen versioissa on erilaiset konffitiedostot. minun esimerkkirivi oli apache 2.2.0:sta jonka konffitiedosto ei toimi apache 2.0:n kanssa, saatikka sitten vanhempien apachen versioiden kanssa.

    Eli on paha mennä sanomaan suoraan mitä lisätä ja mihinkä, kun vaihtoehtoja on.. vihjeitä voi antaa, mutta kannattaa itse lueskella sitä apachen konffitiedostoa.
     
    Last edited: Apr 28, 2006
  8. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    Kyllä se http.conf tiedosto on olemassa vain ja ainoastaan sen takia, että sen avulla on saatu yhteensopivuus vanhempien versioiden kanssa.

    # This is here for backwards compatability reasons and to support
    # installing 3rd party modules directly via apxs2, rather than
    # through the /etc/apache2/mods-{available,enabled} mechanism.

    apache2.conf on se tiedosto, jota oikeasti kuuluu nykyisin muokata.

    --
    En kyllä 100 varma voi olla, mutta aika selkeältä tuo näyttää.
     
  9. Ysf

    Ysf Active member

    Joined:
    Oct 2, 2005
    Messages:
    1,954
    Likes Received:
    1
    Trophy Points:
    68
    no, kaikkihan riippuu loppupeleissä distron ylläpitäjien päätöksistä minne mitkäkin tiedostot laittavat ja mitä "ominaisuuksia" apacheen ottavat mukaan.. ja tietenkin distron ylläpitäjät säätävät sopivaksi nuo konffitiedostot ja kirjoittelevat omia juttujaan sinne :)

    Sorsista jos kääntää ja ei mitään sen kummempia säätöjä tee, niin oletuspaikka taitaa kuitenkin olla /usr/local/apache/conf/httpd.conf, /usr/local/apache2/conf/httpd.conf tai /usr/local/apache2/etc/httpd.conf ja sekin riippuu ihan minkä apachen version sattuu ottamaan ja _mikäli_ http://httpd.apache.org -weppsivuston dokumentit pitävät paikkansa ;-)

     
    Last edited: Apr 28, 2006
  10. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    Luin apachen manuaaleista ja kyllä se tuo http.conf yhä näyttää olevan se "oikea" conffi tiedosto. Debianissa itselläni se on apache2.conf
     
  11. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Muutin molempiin, sekä apache2.confiin että httpd.confiin tuon, että avaa tiedoston index.htm oletuksena, mutta vieläkään ei vaikutusta :( Ajattelin aluksi, että homma kusi sen takia, että DirectoryIndexissä ei ollut lueteltu [bold]index.htm[/bold]:ää (indexini muoto, Dreamweaverin oletus), mutta sen lisääminenkään ei tuottanut tulosta.

    apache2.confissa oli DirectoryIndex valmiina, mutta httpd.confissa EI OLLUT, vaikka toisin yrititte väittää. Siinä oli ainoastaan

    Lisäsin tässä tapauksessa tuon perään Ysf:n ehdottaman tekstinpätkän.
     
  12. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    Sulla ilmeisesti on nyt joku debian pohjainen distro, joten älä muuta sitä http.conf tiedostoa vaan sitä apache2.conf tiedostoa, jos tarpeen.

    Ja kun ei vielä toimi haluaisin nähdä mitä sulla lukee /etc/apache2/sites-enabled/default tiedostossa (voi olla muunkin niminen mitä käytät, itselläni esim /etc/apache2/sites-enabled/oma)
     
  13. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Niin, olisi tietysti ollut hyvä mainita että Ubuntu on kyseessä, mutta ilmeisesti sen onneksi tajusitte itsekin :)

    /sites-enabled/-kansiossa oli 000-default-filu, tässä sisältö:

    NameVirtualHost *
    <VirtualHost *>
    ServerAdmin webmaster@localhost

    DocumentRoot /var/www/
    <Directory />
    Options FollowSymLinks
    AllowOverride None
    </Directory>
    <Directory /var/www/>
    Options Indexes FollowSymLinks MultiViews
    AllowOverride None
    Order allow,deny
    allow from all
    # This directive allows us to have apache2's default start page
    # in /apache2-default/, but still have / go to the right place
    # Commented out for Ubuntu
    #RedirectMatch ^/$ /apache2-default/
    </Directory>

    ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
    <Directory "/usr/lib/cgi-bin">
    AllowOverride None
    Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
    Order allow,deny
    Allow from all
    </Directory>

    ErrorLog /var/log/apache2/error.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog /var/log/apache2/access.log combined
    ServerSignature On

    Alias /doc/ "/usr/share/doc/"
    <Directory "/usr/share/doc/">
    Options Indexes MultiViews FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all
    Allow from 127.0.0.0/255.0.0.0 ::1/128
    </Directory>

    </VirtualHost>

    [bold]edit: Ongelma ratkesikin kun poistin httpd.confista Ysf:än koodinpätkän \o/ Kiitos kaikille.[/bold]
     
    Last edited: Apr 29, 2006
  14. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    :)
    Missäköhän alunperin oli se ongelma?
     
  15. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Siinä kun apache2.confissa ei ollut tarvittavaa tiedostonimeä index.[bold]htm[/bold], vaan siellä oli ainoastaan .html. aika älytöntä sinänsä :S
     
  16. ion!

    ion! Regular member

    Joined:
    Jan 20, 2004
    Messages:
    408
    Likes Received:
    0
    Trophy Points:
    26
    Voi hyvänen aika. Se, että index.htm olisi pitänyt näkyä eikä index.html, olisi ollut poikaa kertoa ihan ensimmäisessä viestissä :)

    Onneksi nyt toimii.
     
  17. Taukkizz

    Taukkizz Regular member

    Joined:
    Sep 21, 2004
    Messages:
    361
    Likes Received:
    0
    Trophy Points:
    26
    Juu, ehkä tuli ajateltua liian suoraan, koska tuntuu että .htm on käyetympi, tosin tuossahan tulin sen jo maininneeksi:

    Apu oli kuitenkin tarpeen, enhän olisi nimittäin itse osannut tuota korjatakaan :)
     

Share This Page