Apacheen automaattinen index.html-näyttö

Viestiketju Linux -keskustelu -osiossa. Ketjun avasi Taukkizz 28.04.2006.

  1. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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.  
  3. Ysf

    Ysf Active member

    Liittynyt:
    02.10.2005
    Viestejä:
    1,954
    Kiitokset:
    1
    Pisteet:
    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.
     
    Viimeksi muokattu: 28.04.2006
  4. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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?
     
  5. juyli

    juyli Active member

    Liittynyt:
    13.05.2005
    Viestejä:
    1,861
    Kiitokset:
    1
    Pisteet:
    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ä.
     
  6. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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ä.
     
    Viimeksi muokattu: 28.04.2006
  7. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    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
     
  8. Ysf

    Ysf Active member

    Liittynyt:
    02.10.2005
    Viestejä:
    1,954
    Kiitokset:
    1
    Pisteet:
    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.
     
    Viimeksi muokattu: 28.04.2006
  9. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    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ää.
     
  10. Ysf

    Ysf Active member

    Liittynyt:
    02.10.2005
    Viestejä:
    1,954
    Kiitokset:
    1
    Pisteet:
    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 ;-)

     
    Viimeksi muokattu: 28.04.2006
  11. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    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
     
  12. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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.
     
  13. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    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)
     
  14. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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]
     
    Viimeksi muokattu: 29.04.2006
  15. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    26
    :)
    Missäköhän alunperin oli se ongelma?
     
  16. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    26
    Siinä kun apache2.confissa ei ollut tarvittavaa tiedostonimeä index.[bold]htm[/bold], vaan siellä oli ainoastaan .html. aika älytöntä sinänsä :S
     
  17. ion!

    ion! Regular member

    Liittynyt:
    20.01.2004
    Viestejä:
    408
    Kiitokset:
    0
    Pisteet:
    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.
     
  18. Taukkizz

    Taukkizz Regular member

    Liittynyt:
    21.09.2004
    Viestejä:
    361
    Kiitokset:
    0
    Pisteet:
    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 :)
     

Jaa tämä sivu