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:
- Nopea käynnistyminen
- Tallennusmahdollisuus
- Kestävyys (USB-tikkua ei haittaa naarmut eikä oikeastaan edes kuorien puuttuminen)
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ä:
- Valitse haluamasi distro pudotusvalikosta TAI valitse koneeltasi ISO-levykuva jonka haluat kirjoittaa tikulle
- Valitse oikea levyasema (HUOM! Tämä kannattaa tarkistaa todella tarkkaan, ettei ohjelma kirjoita väärälle levylle, nimim. ”kokeiltu on”)
- 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.
- 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.
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:
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!”:
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:
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
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:
Lopuksi tehdään veikon public:_html-hakemistoon index.php-tiedosto johon laitetaan lähdekoodi:
Tulosteet
- tunnukset
- ls -lR /home/
- curl-tulosteet (Elmeri Ångström, Maija Mehiläinen, Veikko Hurme, Almond Lorenz, Per Åkker)
- Hei, maailmat ( Maija, Elmeri)
- Tiedostot zippinä
- sudo ufw status verbose
- Apache2 enabled mods
- last -30
- tail -20 passwd
- tail apache logs
- auth.log
- tail syslog
- 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.
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:
SSH-yhteyden avulla voisi virtuaalikoneeseen konfiguroida esimerkiksi Apachen ja sen avulla pyörittää nettisivuja.
Lähteet
- Vagrant Getting Started (http://docs.vagrantup.com/v1/docs/getting-started/index.html)
- “Hello, World!”: A Quick Tutorial on Python (http://python.about.com/od/gettingstarted/ss/helloworld_all.htm)
- Tero Karvinen: Työasemat ja tietoverkot 24 – Linux-koe (http://terokarvinen.com/2011/tyoasemat-ja-tietoverkot-24-koe)