Aloitin työskentelyn tekemällä ensin Xubuntulle asennusmedian. Olen muutaman vuoden ajan tehnyt perinteisen CD-kiekon sijaan buuttaavan USB-tikun Unetbootinilla. Tikulta ajettaessa etuina ovat:
Huono puoli USB-käynnistysmetodissa on se että läheskään kaikki koneet, varsinkaan vanhemmat, ei tue buuttaamista USB:ltä. Itselläni laitteisto on sen verran tuoretta että ne tukevat sitä + ajan Linuxia usein virtuaalikoneissa.
Unetbootin on kätevä monialustainen työkalu Live Linux USB:n tekemiseen. Työkalun kautta voi joko kirjoittaa tikulle valmiiksi koneelle ladatun ISO-tiedoston tai ladata työkalun kautta haluamasi distron ja se kirjoittaa sen tikulle. Unetbootinin käyttö on hyvin simppeliä:
Latasin ja laitoin tikulle Unetbootinin avulla Xubuntu 12.04:n x86-versiona, koska testikoneeni on sattumoisin 32-bittinen. Testikoneena toimii vanha sotaratsuni IBM Thinkpad x60s. Kytkin tikun koneeseen, käynnistin sen ja painoin käynnistyksessä F12 jolla ThinkPadeissa aukeaa käynnistysvalikko.
Lopputulos: Xubuntu käynnistyi ongelmitta viisivuotiaassa sotaratsussani. Operaatioon meni aikaa noin 20 minuuttia, josta levykuvan latautuminen kesti n. 15 minuuttia.
Asensin Xubuntun virtuaalikoneeseen johon se asentui heittämällä. Etäkäyttöä varten asensin koneeseen SSH-daemonin komennolla:
sudo apt-get install ssh
Testasin ssh:n toimivuuden kirjautumalla omilla tunnuksilla paikalliselle koneelle:
ssh joni@localhost
Tämän jälkeen asensin web-palvelimeksi apachen, joka löytyi näppärästi paketinhallinnasta myös:
sudo apt-get install apache2
Jotta kaikki käyttäjät saisivat omat nettisivut koneelle, aktivoin apachen userdir-moduulin, joka mahdollistaa käyttäjien ylläpitävän omia kotisivuja kotihakemistossa sijaitsevan public_html-hakemiston kautta. Userdir-moduulin aktivoiminen onnistuu siirtämällä userdir.conf ja userdir.load –tiedostot /etc/apache2/mods-available –hakemistosta /etc/apache2/mods-enabled –hakemistoon seuraavasti:
sudo mv /etc/apache2/mods-available/userdir.conf /etc/apache2/mods-enabled/
sudo mv /etc/apache2/mods-available/userdir.load /etc/apache2/mod-enabled/
Sitten käynnistetään apache2-daemon uudelleen:
sudo /etc/init.d/apache2 restart
Tämän jälkeen tehdään vielä käyttäjälle kotihakemistoon public_html-hakemisto. Tästä hakemistosta Apache hakee käyttäjien kotisivut.
Ja lopuksi testataan toimivuus avaamalla selain osoitteeseen http://localhost/~omakäyttäjätunnus:
Ennen kuin aloitetaan käyttäjätunnusten luominen, tehdään /etc/skel –hakemistoon public_html –hakemisto. Tällä tavoin saadaan uusille käyttäjille valmiiksi tuo kotisivuhakemisto eikä sitä tarvitse itse jälkeenpäin luoda.
sudo mkdir /etc/skel/public_html
Käyttäjätunnusten luominen onnistuu nopeasti komentoriviltä komennolla
sudo adduser <käyttäjätunnus>
Jonka jälkeen ohjatusti pyydetään syöttämään tarvittavat tiedot. Lopussa lista käyttäjistä, tunnuksista ja salasanoista jota tehtävässä tehtiin.
Samalla kun tuon public_html-hakemiston teki /etc/skel-hakemistoon, olisi voinut laittaa hakemistoon valmiiksi index.html-tiedoston jotta sekin olisi kopioitunut valmiiksi kaikille uusille käyttäjille.
Tehtävässä pyydettiin tekemään Maijan kotihakemistoon ”starsign”-nimisen ohjelman hakemisto johon tuli lähdekooditiedosto, lisenssitiedosto ja readme-tiedosto. lähdekooditiedostoon ”starsign.py” syötin nanolla seuraavanlaisen rivin:
print ”Hei, maailma!”
Sitten kokeilin toimivuuden ajamalla ohjelman:
python starsign.py
Tuloksena ohjelma tulosti näytölle ”Hei, maailma!”:
Lisenssitiedoston hain suoraan gnu.orgista ja nimesin sen uudelleen:
wget <a href="http://www.gnu.org/licenses/gpl-3.0.txt">http://www.gnu.org/licenses/gpl-3.0.txt</a>
mv gpl-3.0.txt LICENSE
Lopuksi tein vielä Maijalle README-tiedoston nanolla.
Elmerille tehtiin java-ohjelma ”randomwalk” hänen kotihakemistoonsa. Aluksi tein hakemiston sovellukselle ja sinne ”randomwalk.java” tiedoston, joka tulostaa ”Hei, maailma!” ajettaessa:
System.out.println(”Hei, maailma!”);
Yrittäessäni ajaa Elmerin sovellusta, tuli ilmoitus että java ei ole asennettuna:
Onneksi hätä ei ole suuri, kirjaudutaan vain tunnuksilla joilla on sudo-oikeudet javan asennusta varten ja asennetaan se:
sudo apt-get install default-jre default-jdk
Tämän jälkeen kirjauduin takaisin Elmerin tunnuksilla, käänsin lähdekoodin ja ajoin käännetyn binäärin:
javac randomwalk.java
java randomwalk
Ohjelma toimi ja tulosti näytölle ”Hei, maailma!”.
Palomuurin konfigurointia varten asensin graafisen GUFW-ohjelman koneelle. Ohjelma on erittäin helppokäyttöinen, määritä vain säännöt halutuille palveluille ja käynnistä muuri. Olen aikaisemmin käyttäny Firestarteria iptablesin konfigurointiin, mutta pikaisen googletuksen myötä sain tietää sen olevan vanhentunut nykyisin. Säännöiksi määrittelin ulkoa pääsyn SSH:n sekä http:hen.
Veikkoa varten täytyi koneelle asentaa ensiksi PHP5 jotta hänen hienot sivunsa näkyisivät. Asennus onnistuu komennolla
sudo apt-get install php5
Kommentoidaan userdir-määritykset pois /etc/apache2/mods-enabled/php5.conf-tiedostosta jotta Veikko voi käyttää php:tä kotisivuillaan:
Lopuksi tehdään veikon public:_html-hakemistoon index.php-tiedosto johon laitetaan lähdekoodi:
Laitetietojen listaus onnistuu näppärästi seuraavalla komennolla:
sudo lshw
Komento tulostaa näytölle mm. koneen mallitiedot, sarjanumeron, biosin versiotiedot sekä emolevyn, prosessorin, näytönohjaimen, kovalevyjen ja muun laitteiston tiedot. Listauksesta saa selville kaiken tiedon mitä laitteistoa tietokoneessa on.
Vagrantin asennus onnistuu helposti suoraan Ubuntun pakettirepoista:
sudo apt-get install vagrant
Vagrantin sivuilta löytyy hyvät ohjeet alkuun pääsemiseksi. Tässä esimerkissä tehdään Vagrantin ohjeen mukaan ja haetaan Vagrantin palvelimelta valmis “konepaketti”:
vagrant box add lucid32 <http://files.vagrantup.com/lucid32.box>
Tämän jälkeen konfiguroidaan paketti käynnistystä varten ja käynnistetään se:
vagrant init lucid32
vagrant up
Jos kaikki meni putkeen eikä virheilmoituksia tullut, virtuaalikone on nyt käynnissä! Nyt voimme avata SSH-yhteyden virtuaalikoneeseen:
vagrant ssh
Lopputuloksena toimiva virtuaalikone johon on ssh yhteys:
SSH-yhteyden avulla voisi virtuaalikoneeseen konfiguroida esimerkiksi Apachen ja sen avulla pyörittää nettisivuja.