Rakenna edullinen web-palvelin

Wille Kuutti
Rakenna edullinen web-palvelin

Kotipalvelimet alkavat olla monessa taloudessa arkipäivää. Perinteisestä raudasta rakennetut laitteet voivat kuitenkin olla melkoisia virtasyöppöjä. Kerromme, miten virtaa säästävän ja edullisen kotipalvelimen pystyttäminen onnistuu.
Kokeilunhaluiselle mahdollisuuden edulliseen, virtapihiin ja täysin äänettömään pikkupalvelimeen tarjoavat monenlaiset Linux-pohjaiset verkon laitteet. Näistä muutamiin voi itse asentaa jopa täydellisen Linux-käyttöjärjestelmän kaikkine palveluineen.
Hyvä esimerkki tällaisesta laitteesta on Linksys NSLU2, joka on alun perin tarkoitettu usb-kiintolevyjen jakamiseen verkossa. Linksys on kuitenkin avoimesti jakanut laitteen tietoja, ja avoimen lähdekoodin yhteisö on kehittänyt sille täysin toimivan Linux-palvelinkäyttöjärjestelmän, joka mahdollistaa myös www-palvelimen pystyttämisen.
Mitä tarvitaan ja paljonko maksaa?
Rakentamisen alkuun pääsee reilun sadan euron investoinnilla. Itse NSLU2 maksaa alle satasen. Ennen asennuksen aloittamista tarvitaan myös massamuisti, koska käytettävä Debian Linux -käyttöjärjestelmä ei mahdu laitteen omaan flash-muistiin. Massamuistiksi käy usb-liitäntäinen kiintolevy tai suuri usb-muistitikku.
NSLU2:ssa ei itsessään ole minkäänlaista käyttöliittymää, joten asennusta ja ylläpitoa varten tarvitaan verkossa oleva pc tai muu kone, joka kykenee selaimen ja ssh-ohjelmiston ajamiseen. Käyttöjärjestelmällä ei ole asennuksen kannalta väliä.
Tässä jutussa esitetty firmwarepäivitys ei ole valmistajan virallisesti tukema, eli mahdollisten ongelmien esiintyessä tukipyyntöjä on turha osoittaa Linksysille. Myöskään toimitus ei vastaa asennuksen yhteydessä mahdollisesti syntyneistä vahingoista. Ohjeita tarkasti noudattamalla vikatilanteet voi kuitenkin välttää.
Mistä sopiva ohjelmisto?
Ennen varsinaisen palvelinohjelmiston asennusta laitteen firmware-ohjelmisto täytyy päivittää. Tätä juttua varten valitsimme päivityksen, joka mahdollistaa yleiskäyttöisen Debian Linux -jakelun asentamisen.
NSLU2 kuuluu Debianin virallisesti tukemiin alustoihin, mutta Debianin avoimuuspolitiikan vuoksi laitteen suljettu verkkopiirin mikrokoodi ei kuulu Debian-jakelun viralliseen asennuspakettiin.
Verkosta löytyy myös verkkopiirin mikrokoodin sisältävä paketti osoitteesta www.slug-firmware.net/d-dls.php. Sivustolla on kaksi eri versiota: Debianin vakaa ”versio 4” sekä testivaiheessa oleva ”versio 5”. Uudemman testiversion asennus on – kiitos parannellun asennusohjelman – huomattavasti helpompaa kuin vanhemman vakaan version.
Asennuksen pariin
Ensimmäiseksi laitteelle kannattaa asettaa sopiva kiinteä ip-osoite. Periaatteessa kaiken pitäisi toimia myös dhcp-asetuksilla, mutta useimmiten kiinteää ip-osoitetta käyttämällä välttyy monilta ongelmilta. Kiinteän ip-osoitteen pystyy antamaan laitteen hallintakäyttöliittymän Administation-välilehdeltä, jonne päästäkseen täytyy syöttää käyttäjätunnus ”admin” ja salasana ”admin”. Samassa yhteydessä kannattaa määritellä ainakin yksi toimiva nimipalvelin (DNS).
Massamuisti täytyy liittää laitteeseen ennen uuden firmwaren asennusta. Kun uusi firmware ladataan laitteelle, se tallennetaan ensin massamuistiin ja vasta sieltä flash-muistiin. Päivitys ei onnistu, jos massamuistia ei ole kytketty laitteeseen. Laitteen alkuperäinen firmware ei tue massamuistin liittämistä laitteen käydessä, vaan se täytyy liittää virran ollessa katkaistuna.
Firmware-ohjelmiston päivittäminen onnistuu suoraan laitteen käyttöliittymän kautta.
Administration-valikosta on valittava ensin Advanced, josta päästään uuden valikon Upgrade-välilehdeltä sivulle, jonka kautta uusi ohjelmisto ladataan laitteelle.
Nyt NSLU2:lle päivitetty firmware-ohjelmisto on oikeasti Debian Linuxin asennusohjelma, jolla varsinainen Linux-käyttöjärjestelmä asennetaan laitteeseen liitetylle massamuistille. Itse laitteen flash-muistiin mahtuu vain järjestelmän ydin ja sen lataava ohjelma. Www-palvelinohjelmisto täytyy siis asentaa jollekin ulkoiselle massamuistille.
Asennuksen käyttöliittymä toimii ssh-terminaaliyhteyden kautta. Sitä varten tarvitaan ssh-pääteohjelma. Linuxissa tämä on yleensä aina perusasennuksen mukana ja käynnistyy komentoriviltä ssh-komennolla. Windows-käyttäjät voivat hakea ilmaiseksi verkosta vaikkapa avoimen Putty-ssh-ohjelmiston.
Ssh-pääteohjelmalla otetaan yhteys aikaisemmassa vaiheessa NSLU2:lle määriteltyyn ip-osoitteeseen. Kun yhteys on muodostettu, asennusohjelma käynnistyy. Käyttäjätunnus on ”installer” ja salasanana ”install”.
Linuxin lataukseen
Aiemmin verkosta ladattu firmware sisältää vain asennusohjelman, ja varsinainen käyttöjärjestelmä ladataan verkosta. Aluksi valitaan peilipalvelin, jolta käyttöjärjestelmän tiedostot haetaan. Seuraavaksi asennusohjelma kysyy http-välityspalvelimen (http-proxy) osoitetta. Useimmat voivat jättää tämän kohdan tyhjäksi. Jos laite on kuitenkin välityspalvelinta vaativassa sisäverkossa, osoite täytyy syöttää.
Asennusohjelman nykyinen versio lataa pakolliset moduulit automaattisesti. Seuraavaksi valitaan lokalisaatioasetukset valitsemalla ensin maanosa ja sitten maa. Tämän jälkeen asennusohjelma tutkii hetken laitteeseen asennettuja lisälaitteita ja siirtyy levyjen osiointiin.
Levyjä osioimaan
Seuraavaksi valitaan, mitä levyä tai muistitikkua käytetään. Vaikka asennusohjelma suosittelee aloittelijoille koko levyn osiointia yhdeksi ainoaksi osioksi, kannattaa useimmissa tapauksessa valita kuitenkin erilliset osiot /home-, /usr-, /var- ja /tmp-hakemistoille.
Lopuksi ohjattu osiointi esittää tulevat osiot ja niiden koot. Jos tietää mitä tekee, osioiden koot voi muokata omiin tarpeisiinsa sopiviksi. Useimmiten on turvallista valita ohjatun osioinnin ehdottamat osioiden koot. Ohjattu osiointi pyrkii jättämään mahdollisimman paljon tilaa käyttäjän omien tiedostojen /home-osiolle. Erityisesti www-palvelinkäytössä kannattaa myös /var-osiolle varata runsaasti tilaa.
Kun perusjärjestelmä on asennettu, asennusohjelma kysyy pääkäyttäjän (root) salasanan. Pääkäyttäjän lisäksi asennusohjelma luo yhden normaalin käyttäjätunnuksen, jolle täytyy antaa nimi ja salasana. Lopuksi voidaan vielä valita haluttuja ohjelmakokonaisuuksia asennusohjelman asennettavaksi. Valitsimme tässä yhteydessä www-palvelimen valmiiksi asentavan vaihtoehdon Web server.
Kun asennus on valmis, ssh-yhteys katkeaa ja laite käynnistyy uudelleen. Hetken kuluttua laitteelle voi kirjautua ssh-ohjelmistoa käyttäen aikaisemmin määriteltyä pääkäyttäjän (root) salasanaa tai asennusohjelmalle määriteltyä käyttäjätunnusta ja sen salasanaa. Kun asennusohjelman annetaan asentaa www-palvelin, se tulee käyttöön automaattisesti.
Www-palvelinta käyttämään
Oman www-sivuston saa näkyviin siirtämällä sen NSLU2:n hakemistoon /var/www. Siirto onnistuu vaikkapa Puttyn mukana tulevalla scp-ohjelmalla. Vaihtoehtoisesti sivuston voi siirtää toiselta muistitikulta. Sivustoja voi kokeilla syöttämällä www-selaimeen NSLU2:n ip-osoite.
Jos laitetta aiotaan käyttää www-palvelimena julkisessa verkossa, kannattaa varsinaisena palvelinohjelmistona toimivan Apachen konfigurointia hieman opiskella ja varmistaa näin turvallinen asennus.
Verkosta löytyy myös hyviä ohjeita asetusten muokkaamiseen paremmin toimiviksi käytettäessä flash-muistia järjestelmän massamuistina. Flash-muisti kestää vain rajallisen määrän kirjoituskertoja (kuluttajatuotteet noin 10 000 kertaa per muistilohko), jolloin levylle vähän väliä kirjoittamista esimerkiksi lokitietojen kohdalla kannattaa välttää.
Linkkejä
Debian Linux -asennusohjelma www.slug-firmware.net/d-dls.php
Ilmainen Putty-ssh-pääteohjelma Windowsiin www.chiark.greenend.org.uk/~sgtatham/putty/download.html
Debian Linux -jakelun kotisivut www.debian.org
Erilaisia avoimia Linux ”firmware” -päivityksiä NSLU2:lle www.nslu2-linux.org
Ohjeita Linuxin optimoimiseen ajettavaksi flash-levyltä tai muistitikulta www.cyrius.com/debian/nslu2/linux-on-flash.html
Palvelimet vertailussa
NSLU2 - Www-palvelin (1995)
Suoritin 266 MHz ARM | 2 × 150 MHz Pentium Pro
Muisti 32 Mt | 32–128 Mt
Levyt 8 Gt muistitikku | 2 × 4 Gt scsi-levyt
Virrankulutus 5 W | 250 W
Verrattaessa netin alkuaikojen www-palvelinta NSLU-pohjaiseen palvelimeen nähdään, että varsinkin virrankulutus on aivan eri luokkaa.








