adele kirjoitti:Lieneekö toteamuksesi paikallaan? Oman ymmärryksen mukaan ei liene. Jokaisen lukemani vhost ohjeen mukaan Leopardista kadonneen Netinfo Managerin takia tuohon fileeseen on koskettava, jos halua tehdä VirtualHosteja.
Siihen tiedostoon ei normaaleissa olosuhteissa pidä koskaan koskea, sillä se vain sekoittaa kaiken. Näin noviisitasolla asia ilmaistuna

Ja VirtualHostingin kanssa sillä ei ole yhtikäs mitään tekemistä, nuo ovat kaksi täysin eri asiaa. Tuo hosts tiedosto liittyy siihen, että jos ei ole käytettävissä DNS:ää, niin silloin noiden kanssa pitää leikkiä, itse olen tuon kanssa leikkinyt ainoastaan silloin, kun olen odotellut DNS-muutosten voimaantuloa ja pitänyt saada jo kehitettyä ja testattua webbisivustoa, niin tuolla tavoin olen osoittanut DNS-nimen oikeaan IP-osoitteeseen.
adele kirjoitti:Kommenttina vielä aiemmin esitettyihin "lue Apachen ohjeita", sen verran, että ohjeet ovat näennäisestä näyttävyydestään noviisikäyttäjälle informaatioarvoltaan lähellä nollaa. Enkä ole mitenkään ainoa, joka on samaa mieltä.
Yleisenä ohjeena voi tässä tapauksessa sanoa, että mikäli Apachen manuaalia ei ymmärrä eikä osaa sen ohjeiden perusteella toimia, niin on parempi jättää Apache suosiolla muiden huoleksi. Palvelinohjelmistoissa juuri täsmälleen oikea konfiguraatio on elintärkeää, sillä esimerkiksi Apachesta saa helposti mukavan roskaposti-hyökkäyspalvelimen kun konffailee vähän väärin (reverse proxy).
Sitten on totta kai opettelu ihan oma lukunsa, kunhan se tapahtuu omalla koneella eikä yhteyttä netistä omaan palvelimeen ole. Tällöin voikin tosiaan joutua leikkimään tuon hosts -tiedoston kanssa, kun oman DNS:n perustaminen on hiukan monimutkaisempaa
adele kirjoitti:
Kaikenlaista jätetään kertomatta ja oletetaan tiedettävän. Esimerkiksi W-puolella polut pitää ympäröidä lainausmerkeillä. Tai pitää jos jossain kohtaa polkua on piste. Mutta jos polussa ei ole pistettä, niin sitten lainausmerkkejä ei saa ehdottomasti käyttää. Apachen omilla sivulla olevissa polkuesimerkeissä taasen lainausmerkkejä ei ole lainkaan, mutta ne löytyvät kaikista Macista /private/ect/Apache2-kansion puukotettavien fileiden esimerkeistä. Vaikka en juurikaan asiasta mitään ymmärrä, (tai juuri sen takia) olen ohjeista löytänyt vastaavia epäjohdonmukaisuuksia roppakaupalla. Tässä ollaan tyypillisten nörttien laatimien ohjeiden äärellä jossa ihmiset, jotka ovat tulleet täysin sokeiksi omalle duunilleen, eli sokea ohjaa rampaa. Itse asiassa ohjeet tuntuvat laahaavan vuosia/versioita jäljessä.
Tuossa osut kyllä harvinaisen hyvin asian ytimeen, valitettavasti nuo ohjeet on usein enemmänkin referenssejä eikä manuaaleja, eli kun tietää mitä etsii, niin löytää äkkiä oikean syntaksimuodon mitä tarvitaan. Ikävän yleinen piirree aika monessa open-source projektissa, nörtit koodaa nörteille ja kunnollinen user ja administration guide puuttu.
Ja sitten takaisin ongelmaan...
Aloitetaan tuosta mitä tuo VHost oikeasti merkitsee, vaikka luultavasti tiedätkin tämän, mutta kun oli hieman epäselvyyksiä tuosta hosts tiedoston liittymisestä siihen. Eli virtual hosts on apachen termistöä asialle, missä sama palvelinohjelmisto ja palvelin palvelee useita eri domaineja eri asetuksilla (eri www-root, lokitiedostot yms.). Alunperin jokaisella domainilla piti olla oma IP-osoitteensa, mutta uudempien selainten myötä on mahdollistunut myös, että useita eri domaineja voidaan palvella samasta IP-osoitteesta.
Eli name-based vhoststien tapauksessa sinulla on n kappaletta domaineja, domain1.tld, domain2.tld, ... domainN.tld, jotka kaikki osoittavat samaan IP-osoitteeseen.
Normaalisti tämä IP-osoite tulee DNS-palvelimelta, mutta testikäytössä tai opetellessa ei DNS:ää välttämättä ole käytössä tai sitä ei pääse vapaasti säätämään omia IP-osoitteita. Tällöin pitää tuohon jo mainittuun hosts tiedostoon koskea. Tämän jälkeen domain-nimelle saadaan oikea IP-osoite hosts tiedoston perusteella. Tämä on ainoa linkki tuohon virtualhosteihin, mitään muuta tekemistä sillä ei siis ole, ja normaalitilanteessa siihen ei tarvitse eikä pidä siis koskea.
Tämän jälkeen apache pitää konfiguroida hyväksymään virtualhostit, mikä OS X:n tapauksessa siis onnistuu kyseisen include rivin kommentoinnin poistamalla ja sen jälkeen muokkaamalla extra/httpd-vhosts.conf tiedostoa oikein. Tässä tapauksessa palaan aikaisemmin sanottuun ohjeeseen, käytä apachea hyväksesi. httpd -t tarkitaa konffitiedoston ja kertoo heti, mitä virheitä siellä on, virheitä jotka estävät oikean toiminnan. Tätä et selvästikään ole tehnyt, sillä itselläni se antaa heti virheen CustomLog -määrittelystä, mikä on OS X:n esimerkissä virheellinen. Apachen manuaalista hakemalla löytää oikean määrittelyn CustomLog -direktiiville (
http://httpd.apache.org/docs/2.2/mod/mo ... #customlog) (vinkki: lainaumerkit ovat liian pitkät, se common pitäisi olla lainausmerkkien ulkopuolella tai lainausmerkit kokonaan pois). Tämän muutoksen jälkeen apache suostuu OS X:ssä käynnistymään, mutta sivusto ei silti toimi, mihin vinkki löytyy kyseisen domainin error-lokista (Minkä tiedostot juuri olit määritellyt ErrorLog -direktiivillä). Täältä löytyy vinkki
[Sun Mar 22 11:28:54 2009] [error] [client ::1] client denied by server configur
ation: /www/docs/domain1.tld/
Mikä kertoo osaavalle sen, että kyseiseen hakemistoon ei ole annettu oikeuksia Apachen päästä, siis apachen konffitiedostossa. Vinkki: httpd.conf:sta puuttuu oikeanlainen Directory -direktiivi.
Kun nuo kaikki ongelmat on löydetty ja korjattu, niin hienosti toimii OS X:lläkin ja hosts -tiedoston puukottamisella vhostit, testattu juttu tässä juuri samalla. Tuli ehkä vähän liiankin rautalanka ohjeet, koska palvelinpuolella virheiden etsiminen ja etenkin lokien tulkinta on tärkeää oppia.