Joni Junni

Linux palvelimena 1. kotitehtävä

Categories: [school]
Tags: [linux-server-course]

Asennusmedian luominen

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?

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ä:

unetbootin-main

  1. Valitse haluamasi distro pudotusvalikosta TAI valitse koneeltasi ISO-levykuva jonka haluat kirjoittaa tikulle
  2. Valitse oikea levyasema (HUOM! Tämä kannattaa tarkistaa todella tarkkaan, ettei ohjelma kirjoita väärälle levylle, nimim. ”kokeiltu on”)
  3. Aloita valitsemalla ”OK”, ohjelma alkaa valintasi mukaan joko lataamaan haluamasi distron levykuvaa tai kirjoittamaan valitsemaasi ISO-tiedostoa tikulle. Tässä välissä ehtii hyvin käymään kahvikupposen hakemassa.
  4. Valmis!

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.

xubuntu-x60s

Lopputulos: Xubuntu käynnistyi ongelmitta viisivuotiaassa sotaratsussani. Operaatioon meni aikaa noin 20 minuuttia, josta levykuvan latautuminen kesti n. 15 minuuttia.

Työasemat ja tietoverkot 24, Linux-koe

SSH:n asennus

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

Apachen asennus ja konfigurointi

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:

userdir

Käyttäjien luominen

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.

Maijan Python-ohjelma

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!”:

starsign

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.

Elmerin Java-ohjelma

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:

eijavaa

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 asennus

gufw

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.

Veikon PHP-sivusto

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:

php5conf

Lopuksi tehdään veikon public:_html-hakemistoon index.php-tiedosto johon laitetaan lähdekoodi:

veikkokoodi

Tulosteet

  1. tunnukset
  2. ls -lR /home/
  3. curl-tulosteet (Elmeri Ångström, Maija Mehiläinen, Veikko Hurme, Almond Lorenz, Per Åkker)
  4. Hei, maailmat ( Maija, Elmeri)
  5. Tiedostot zippinä
  6. sudo ufw status verbose
  7. Apache2 enabled mods
  8. last -30
  9. tail -20 passwd
  10. tail apache logs
  11. auth.log
  12. tail syslog
  13. history

Lisätehtävä: Laitetietojen listaus tietokoneesta (lshw)

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.

Esimerkki lshw-tulosteesta

Lisätehtävä: Vagrantin asennus ja virtuaalipalvelimen teko

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:

vagrantssh

SSH-yhteyden avulla voisi virtuaalikoneeseen konfiguroida esimerkiksi Apachen ja sen avulla pyörittää nettisivuja.

Lähteet