Web-palvelin OmniHTTPd 1.01:n asennus Windows 95:een

OmniHTTPd on Web-palvelin Windows-ympäristöön (Win 95 tai Win NT). Sen versio 1.01 on saatavissa maksuttomana (freeware) Windows 95:een. Vaikka kyseessä on melko vanha versio, jota ei enää kehitetä, se on vakavasti otettava vaihtoehto pienen Web-palvelimen pystyttämiseen. Tämä dokumentti käsittelee asennuksen käytäntöä ja ongelmia sekä kokemuksia palvelimen käytöstä.

Johdanto

Olin kiinnostunut Windows 95:een saatavilla olevista Web-palvelimista (Web server, HTTP server) muun muassa siksi, että tällaiset palvelimet saattavat olla varteenotettava vaihtoehto TKK:n piirissäkin. Erityisesti tämä koskee niitä tiedontuottajia, jotka normaalisti työskentelevät Windows-ympäristössä ja joilla ei ole Unix-kokemusta. Lisäksi puhtaasti kokeiluluonteinen, esimerkiksi opiskeluun kuuluva, palvelimen asennus ja ylläpito on usein järkevää tehdä mikrossa eikä monen käyttäjän järjestelmässä. Käytännössä kyseeseen varmaankin tulisivat yleensä Windows NT:hen asennettavat palvelinohjelmistot, mutta oma työkoneeni sattui olemaan Windows 95 -kone, ja olisi toki yleisesti toivottavaa, että palvelinta voitaisiin pyörittää 95:ssäkin.

Kokeiltuani paria muuta vaihtoehtoa (Alibaba, FastTrack) löysin OmniHTTPd:n Tucowsista, kohdasta Server Daemons.

OmniHTTPd vaikuttaa toimivalta ja helppokäyttöiseltä. Mistään systemaattisesta vertailusta ei ollut kyse, vain yleisvaikutelman saamisesta ja jonkin toimivan vaihtoehdon löytämisestä. Suurta tutkimusta aiheesta tuskin kannattaa tehdäkään, koska Windows 95 on väistyvä vaihtoehto niin tällaisten palvelimien alustana kuin muutenkin.

Jos joku kumminkin haluaa selvitellä vaihtoehtoja, kannattaa ottaa huomioon, että Tucowsissa tai Yahoon kohdasta Computers and Internet:Software:Internet:World Wide Web:Servers:Microsoft Windows/Windows 95) mainituista palvelinohjelmista ainakin Fnord Web server ja Microsoft Personal Web server on ilmeisesti poistettu jakelusta.

Perusasennus

Ohjelma on ladattavissa osoitteen http://www.omnicron.ab.ca/httpd/download.html kautta tai suoraan osoitteesta http://www.omnicron.ab.ca/files/ohttpd101.exe. Koko on noin 926 kilotavua.

Kyseisen tiedoston käynnistäminen aloittaa asennuksen, joka on normaali Windows-tyyppinen asennus. Vaihtoehtoina ovat "typical", "minimal" ja "customized" asennus, joista kannattanee valita ensin mainittu. Asennus sujuu hyvin nopeasti. Palvelin voidaan saman tien käynnistää, ja asennuksessa voidaan määrätä, että palvelin käynnistyy automaattisesti aina koneen käynnistyessä.

Hämäävää voi kuitenkin olla se, että palvelimen käynnistyessä ei näennäisesti tapahtu mitään. Tämä johtuu siitä, että ohjelman ikoni ei ilmesty normaaliin paikkaan vaan näytön oikeaan alakulmaan, siis tehtäväpalkin siihen osaan, jota tulee aika harvoin katsotuksi.

Tilanteen voi kuitenkin tarkistaa katsomalla jollakin Web-selaimella, mitä on osoitteessa http://domainnimi/, missä domainnimi on oman koneen Internet-domainnimi. Minun tapauksessani osoite oli http://yucca.hut.fi/, koska koneeni oli nimellä yucca TKK:n domainissa hut.fi.

Alkutilanteessa kyseisestä osoitteesta saa tiedostolistan niistä tiedostoista, jotka ovat palvelimen juurihakemistossa. Tämä johtuu siitä, että palvelimeen ei ole määritelty mitään tiedostojen oletusnimeä.

Ohjelman mukana tulee dokumentaatio, johon kannattaa tutustua.

Miten asetuksia muutetaan

Seuraavaksi kannattaa laittaa perusasetukset kuntoon. Tätä varten napsautetaan edellä mainittua pientä ikonia tehtäväpalkin oikeassa reunassa. Tällöin ruudulle ilmestyy OmniHTTPd:n ikkuna. Ikkunassa lukee "Powered by OMNI HTTPd", ja siinä on Admin-, Tools- ja Help-alasvetovalikko.

Sitten valitaan kyseisen ikkunan Admin-alasvetovalikosta kohta Properties.

Properties-valinta avaa ikkunan, josta voi muuttaa OmniHTTPd:n asetuksia. Ikkunassa on otsikkona "OmniHTTPd: ominaisuudet" ja lukuisia alakohtia kuten "Network", "server" jne. Muutokset tehdään tavanomaiseen Windows-tyyliin valitsemalla (klikaten) "lehti", jolla olevia asetuksia halutaan muuttaa, ja sitten klikkaamalla haluttu vaihtoehto taikka klikkaamalla muutettavaa kenttää ja kirjoittamalla haluttu uusi arvo.

Useimpia asetuksia ei ole syytä muuttaa ainakaan aluksi eikä ilman, että tietää, mitä tekee. (Esimerkiksi portin numerona on syytä olla 80, ellei halua pystyttää jotenkin erikoista palvelinta ja tehdä asiat hankalammiksi.) Toisaalta eräät asetukset on syytä muuttaa, koska niillä ei ole järkeviä valmiita oletusarvoja.

Asetusten muuttamisesta on aika hyvät ohjeet dokumentaation kohdassa Customizing OmniHTTPd.

Tarpeellisimmat asetukset

Server

Kohtaan "Site Address" kirjoitetaan koneen Internet-nimi (domain-muotoinen, esim. yucca.hut.fi).

Kohtaan "Admin Email" (jossa oletusarvo on huuhaaosoite "your@email.here") on syytä kirjoittaa palvelimen ylläpitäjän oikea ja toimiva meiliosoite. Tämä osoite tulee käyttäjien näkyviin palvelimen lähettämissä virheilmoituksissa.

Kohdassa "Server Priority" on oletusarvona "High" asteikolla Low - Medium - High - Critical. Sen muuttamista kannattaa harkita ainakin sitten, kun on saanut kokemuksia palvelimen toiminnasta ja sen vaikutuksesta koneen muuhun käytettävyyteen.

MIME

Palvelin lähettää kunkin tiedoston mukana tiedon sen mediatyypistä (MIME-tyypistä) tiedoston tunnisteen (engl. extension) perusteella. Oletusasetuksissa on valmiiksi koko joukko tällaisia assosiaatiota. Usein riittää vain katsoa, millainen asetus on olemassa, ja valita omien tiedostojensa tyypit niiden mukaan. Jos esimerkiksi haluat laittaa palvelimeesi dokumentteja MS Word -muodossa (mediatyyppi application/msword), riittää, että ne ovat tiedostoissa, joiden tunniste on .doc (kuten yleensä on valmiiksi asian laita).

Mutta jos haluat käyttää jotain mediatyyppiä, jota ei ole valmiiksi listassa, lisää se sinne Add-toiminnon kautta. Esimerkiksi Excel-tiedostoja ei oletusasetuksissa oteta mitenkään huomioon. Niille oikea mediatyyppi on application/vnd.ms-excel ja palvelimen voi laittaa lähettämään esimerkiksi .xls-tiedostot sentyyppisinä. OmniHTTPd:n käsitteistö on tässä asiassa Windows-keskeinen eikä World Wide Web -keskeinen: sana "Virtual" viittaa siihen, mikä on Webissä datan todellinen tyyppi (Internet-mediatyyppi, MIME-tyyppi), jonka mukaan Web-selainten tulisi ehdottomasti toimia, kun taas "Actual" viittaa tiedoston tunnisteeseen Windows-mielessä. Tällä tunnisteella ei pitäisi olla mitään merkitystä sen jälkeen, kun palvelin on lähettänyt tiedoston Webissä. Käytännössä Internet Explorer usein toimii väärin tässä suhteessa, joten on syytä valita tunnisteet niin, että ne vastaavat Windowsin yleisiä käytäntöjä, jos mahdollista.

Kuten OmniHTTP:n dokumentaatio mainitsee (kohdassa MIME), että kuhunkin tunnisteeseen voidaan liittää vain yksi (MIME-)tyyppi mutta useaa tunnistetta voi vastata sama tyyppi. Käytännössä voi menetellä niin, että valitsee Properties-asetusten lehdeltä "MIME" klikkaamalla assosiaation (vaikkapa application/vnd.ms-excel     .xls sen jälkeen, kun se on kerran asetettu), jolloin sen osat ilmestyvät riveille "Virtual" ja "Actual", ja sitten editoidaan kyseisiä rivejä (esim. vain muuttamalla .xls:n tilalle .xlc) ja valitaan Add-toiminto.

Oletusarvona mediatyypille näyttää olevan text/html, eikä tämä oletusarvo ilmeisesti ole muutettavissa. Jos siis tiedoston tunniste ei ole mikään edellä mainitulla MIME-lehdellä luetelluista, palvelin lähettää selaimelle tiedon, jonka mukaan tiedosto on HTML-dokumentti. Tästä seuraa yleensä sotkua, jos tiedosto onkin jotain muuta.

MIME-asetuksiin on siis syytä laittaa määrittelyt kaikille sellaisille tunnisteille, joita palvelimen Webissä tarjoamilla tiedostoilla voi olla. Ja tunnisteeseen liittyvä määrittely on syytä tehdä ennen kuin laittaa palvelimeen tiedostoja, joilla on kyseinen tunniste! (Kun en tehnyt näin, seurasi ankaraa pään raapimista. Kävi nimittäin niin, että selainten cacheen oli ehtinyt tallentua virheellinen tieto mediatyypistä, jota selain saattoi käyttää, vaikka palvelin lähetti oikeankin.)

Seuraavat määrittelyt ainakin on hyvä lisätä:

application/vnd.ms-excel .xls (Excel-tiedosto)
text/plain .c (C-lähdekoodi)
text/plain .pl (Perl-koodi)

Ainakin periaatteessa olisi syytä myös muuttaa mediatyyppiin text/html liittyviä asetuksia niin, että palvelin lähettää myös tiedon merkkien koodauksesta. Käytännössä tämä tapahtuu valitsemalla rivi, jolla on assosiaatio text/html .htm ja lisäämällä sitten rivillä "Virtual" näkyvän tekstin text/html perään ;charset=iso-8859-1. Sama tehdään riville, jolla on assosiaatio text/html .html. (Molempiin tai jompaankumpaan, mieluiten edelliseen, voidaan vaihtoehtoisesti laittaa ;charset=windows-1252 , jos on tarkoitus panna palvelimeen HTML-dokumentteja, joissa esiintyy standardimerkistöön ISO-8859-1 kuulumattomia Windows-merkkejä (kuten ajatusviiva tai promillemerkki).

Mediatyypin nimi määritteineen saattaa olla liian pitkä mahtuakseen MIME-välilehdellä näkyvään taulukkoon. Jos esimerkiksi uutta assosiaatiota lisättäessä kirjoittaa riville "Virtual" text/html;charset=windows-1252 ja riville "Actual" .htm kuten edellä ehdotettiin, niin lisäämisen jälkeen taulukossa näkyy vain text/html;charset=windows-1252 ikäänkuin se ei liittyisi mihinkään tunnisteeseen! (Oikea assosiaatio on silti tehty ja se toimii.)

Muita asetuksia

Jos koneeseen on asennettu Perl, kannattaa lehdelle "Advanced" kirjoittaa kohtaan "Perl CGI Command Line" Perl-tulkin oikea polkunimi. Näin mahdollistetaan valmiiden (ja itse hankittujen tai tehtyjen) Perlillä toteuttujen CGI-skriptien ajaminen.

Dokumenttien tarjoaminen palvelimen kautta

Oletusarvoisesti palvelin tarjoaa Webin kautta saataville ne tiedostot, jotka ovat kansiossa HTDOCS (ja sen alikansioissa) siinä kansiossa, johon itse palvelinohjelma on asennettu. (Tämä on haluttaessa muutettavissa Properties-asetusten lehden "Server" kohdasta "Server Root". Mutta sitä tuskin on syytä muuttaa.) Kyseiseen kansioon voi perustaa tiedoston nimeltä index.html, jolloin palvelin antaa tämän tiedoston vastauksena pyyntöön, jossa on pelkkä palvelimen nimi tyyliin http://yucca.hut.fi (tai se ja sen perässä vinoviiva). Kyseinen tiedosto voi silloin toimia palvelimen esittelysivuna; haluttaessa sen voi kirjoittaa sellaiseksi, että se toimii yhdenlaisena hakemistona (esim. lista linkkejä palvelimessa oleviin aineistoihin). Mutta mitenkään välttämätöntä tämä ei ole.

Properties-asetusten lehden "Alias" kautta voi määritellä, mitkä kansiot (tiedostoineen) palvelin antaa saataville Webin kautta ja minkänimisinä. Tätä varten kirjoitetaan lehdellä olevaan kohtaan "Virtual" se nimi, jolla kansion halutaan näkyvän Webissä, ja kohtaan "Actual" sen nimi omassa koneessa. Esimerkki: Minulla on koneessani levyasemassa D: kansio "HTML 3.2" (missä välilyönti kuuluu nimeen, lainausmerkit eivät). Laittaakseni sen näkyviin Webin kautta, siis periaatteessa koko maailman luettavaksi, kirjoitan edellä kuvatulla tavalla Actual-kohtaan D:\HTML 3.2 ja Virtual-kohtaan /HTML3.2 ja klikkaan painiketta Add. Siinä kaikki. Nyt kansio tiedostoineen olisi luettavissa osoitteesta http://yucca.hut.fi/HTML3.2/.

Tässä tapauksessa virtuaalisen ja aktuaalisen nimen ero oli aika pieni, mutta yleisesti ne voivat olla aivan erilaiset. Virtuaalisissa nimissä - siis niissä, joilla muut ihmiset viittaavat palvelimessa oleviin tiedostoihin - on syytä välttää muun muassa välilyöntimerkkiä; vaikka se on Windowsissa sallittu tiedostojen ja kansioiden nimissä, se ei (sellaisenaan) ole sallittu URLeissa eli Web-osoitteissa.

Tähän tapaan voidaan määritellä haluttu määrä kansioita, joissa on tai joihin sijoitetaan esimerkiksi eri ihmisten tuottamia tietoaineistoja tai eri aiheita käsitteleviä dokumentteja. Toki olisi mahdollista laittaa tiedostoja suoraan edellä mainittuun HTDOCS-kansioonkin, mutta on parempi perustaa kullekin aihepiirille oma kansionsa.

Olemassaolevia tietoaineistoja voi siis erittäin helposti laittaa Webin kautta saataville. Aineisto voi olla HTML-muodossa mutta myös esimerkiksi Word-, Excel- tai PDF-muodossa, olkoonkin, että silloin ne ovat harvempien ihmisten helposti luettavissa kuin HTML-muotoiset tiedostot. Tärkeää on huolehtia siitä, että tiedoston tyypin ja palvelimen edellä kuvattujen mediatyyppiasetusten perusteella palvelin ilmoittaa kullekin tiedostolle oikean mediatyypin.


Huomioita

Palvelimen ikkunassa näkyy tietoja "Bytes Received:" yms. Nämä tiedot eivät selvästikään päivity jatkuvasti vaan vain aika ajoin.

Jos palvelimessa olevia sivuja katselee Netscapella samassa koneessa, toiminta on sangen hidasta. (Internet Explorerilla ja Operalla ei ole tätä ongelmaa.) Tästä itse asiassa varoitetaan ohjeiden kohdassa Adjusting Server Properties.


Viimeisimmän päivityksen ajankohta: 1999-02-02. Teknisiä korjauksia 2001-12-28.

Jukka Korpela,