Apache – maailman suosituin palvelinohjelma

Tero Karvisen Työasemat ja tietoverkot -kurssilla oli vuorossa Apachen asennus ja tutustuminen. Apacheen en ollut aikaisemmin tutustunut, mutta oppitunnin jälkeen sen helppokäyttöisyys sai jopa pienen hymyn huulille.

Artikkelissa on käytetty samaa ASUS -kannettavaa kuin aikaisemmissakin. Asennuksen ajankohta oli maanantai 3. syyskuuta 2012 kello 21.10 – 23.00.

Artikkelissa kaikki esimerkki -sanat komentopäätteessä on oman koneenne nimen tilalla. Älkää ikinä asentako oman koneenne nimeksi esimerkkiä tai muuta yhtä mielikuvituksetonta, ja muistakaa hyvät,hankalasti arvattavat salasanat!

Apachen asennus

Asennuksen aloitin päivittämällä pakettivarastot ja sitten asentamalla paketin apache2.

$ sudo apt-get update
$ sudo apt-get install apache2

Asennuksen aikana kysyessä levytilan muutoksesta vastasin kyllä “y“.

Apachen testikäyttöä

Asennuksen jälkeen kokeilin toimivuutta. Localhost on testi sivu missä näkee toimiiko sivu. Käynnistin Firefox -selaimen ja kirjoitin osoitekenttään localhost ja onnistuneesta asennuksesta merkkinä oli “It works!This is the default web page for this server.The web server software is running but no content has been added, yet.” -viesti. Testien suorittaminen suositeltavaa jokaisen muutoksen jälkeen, ettei vahingossa käy niin että kahden tunnin työ menee hukkaa yhden virheen takia.

Jotta voin kertoa kavereilleni palvelimestani, selvitin komennon ifconfigavulla oman ip-osoitteeni. Ip-osoitteen kirjoittaessa siis pääsee samalle sivulle.

Julkisen kansion teko ja sen määrittäminen käyttöön

Kaikki tiedostot public_html –kansiossa kotihakemistossa näkyvät internettiin. Joten teemme kansion kotihakemistoon ja määritämme sen apachen käyttöön. Ensin määritetään ja sen jälkeen käynnistetään palvelin uudestaan, jotta muutokset tulevat voimaan:

$ sudo a2enmod userdir
$ sudo service apache2 restart

Varmistin seuraavaksi pwd-komennolla, että olen kotihakemistossa. Jos ei ole niin kotihakemistoon pääsee tutulla cd-komennolla. Sitten tein kansion public_html ,alaviivaa ei saa unohtaa.

$ mkdir public_html

Seuraavaksi yritin päästä kansiooni selaimen kautta kirjoittaen käyttäjätunnukseni localhostin perään näin localhost/~esimerkki/. Sivu ilmoitti että 403 Forbidden error. Tämä ilmoitus tuli sen takia, koska minulla onkin kryptattu kotihakemisto en päässyt sivuille. Joten ei muuta kuin käyttöoikeuksia muuttamaan.

Käyttöoikeuksien muuttaminen

Käyttöoikeudet tarkistetaan ls -l-komennolla, ja koska on tarkoitus vain vaihtaa public_html -kansion käyttöoikeuksia, kirjoitin näin:

Ensin mennään public_html -kansioon,katsotaan oikeudet ja muutetaan niitä.

$ cd public_html
~:public_html$ ls -l
total 12
-rw-rw-r-- 1 esimerkki esimerkki 38 Sep  3 21:39 index.html

Tulosteesta huomasin, ettei käyttöoikeudet olleet oikein,joten muutin viimeisen väliviivan tilalle ajokomennon x komennolla:

$chmod ugo+x /home/esimerkki /home/esimerkki/public_html

Tämän jälkeen kun yritin samalla sivulle kuin hetki sitten, pääsin onnistuneesti sivulle.

Etusivun luonti

Jotta localhost/~esimerkki -sivustolle mentäessä näkisin jonkinlaisen sivun, tein public_html -kansioon tekstitiedoston. Ensin siis public_html -kansioon ja sitten tekstitiedoston luominen, jonka nimeksi annoin index.html.

$ cd public_html
:~public_html$ nano index.html

Kirjoitin tiedostoon “Hei maailma!”  ja painoin ctrl+x ja tallensin tiedoston. Avasin selaimen ja sivu toimi hienosti.

Apachen lokitiedosto

Apachen lokitiedostot sijaiset /var/log/apache2/ –kansiossa. Access.log -loki kertoo nimensä mukaan onnistuneet yhdistykset ja error.log -loki puolestaan epäonnistuneet. Esimerkkinä epäonnistuneesta lokitiedosta on tässä artikkelissa mainittu virheilmoitus 403 Forbidden error. Lokitiedoissa lukee selvästi että pääsy evätty (Permission denied). Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

[Mon Sep 03 21:46:37 2012] [error] [client 127.0.0.1] (13)Permission denied: access to /~esimerkki/ denied

Onnistuneesta lokitiedosta voidaan ottaa huomioon vaikka käyttöoikeuksien muuttamisen jälkeinen lokitieto /var/log/apache2/access.log -lokista.Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

127.0.0.1 - - [03/Sep/2012:22:01:31 +0300] "GET /~antti-ville/ HTTP/1.1" 200 394 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0"

Telnet

Otin Telnetillä yhteyden Apachiin komennolla:

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Tämän jälkeen on mahdollisuus kirjotella kaikenlaista turhaa, mutta myös mahdollisuus ottaa yhteys vaikka omiin sivuihin, jotka tein tämän artikkelin aikana.

esimerkki@xubuntu:~$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /~esimerkki/index.html
Hei maailma!
Connection closed by foreign host.
esimerkki@xubuntu:~$

Eli komento näytti mitä tiedostossa luki. Näistä tuli lokitiedostoihin merkintä onnistuneesta yhdistyksestä.

127.0.0.1 - - [03/Sep/2012:22:18:43 +0300] "GET /~esimerkki/index.html" 200 13 "-" "-"

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

Telnet, Wikipedia http://en.wikipedia.org/wiki/Telnet

– Jokela Antti-Ville

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Ylläpitoa,asentamista ja ohjelmien päivittämistä

Tietokonetta käyttäessä täytyy huolehtia myös järjestelmän päivittämisestä ja tietoturvan päivittämisestä. Linuxisssa järjestelmän päivittämisen voi tehdä joko graafista käyttöliittymää käyttäen tai komentopäätteessä. Ohjelmien asentaminen onnistuu myös molempia tapoja käyttäen. Tässä ohjeessa tutustuin myös ohjelmien etsimiseen komentopäätteessä.

Järjestelmän päivittäminen

Jos haluaa päivittää graafista käyttöliittymää käyttäen päivitys onnistuu valikosta järjestelmä (system) -> päivitysten hallinta (update manager). Tällöin järjestelmä päivittää automaattisesti pakettivarastot ja hakee päivitykset.

Komentopäätteessä päivittäessä kannattaa aloittaa päivittämällä pakettivarastot.

esimerkki@xubuntu:~$ sudo apt-get update

Pakettivarastoiden päivittämisen jälkeen järjestelmä voidaan päivittää. Samalla myös päivittyy tietoturvapäivitykset. Ja vaikka Linuxille ei ole viruksia,niin käyttöjärjestelmän päivittäminen on erittäin suositeltavaa. Tietoturvaan kun vaikuttaa yksittäiset ohjelmatkin eikä vain se onko viruksia.

esimerkki@xubuntu:~$ sudo apt-get upgrade

Ohjelmien etsiminen ja asentaminen päätteessä.

Micropolis

Komentopäätteessä on mahdollista etsiä ohjelmia hakusanojen mukaan. Esimerkiksi jos haluaisi pelata kaupungin rakennus peliä, voisi hakusanat olla city ja games.

esimerkki@xubuntu:~$ apt-cache search city games
libopenbabel-dev - Chemical toolbox library (development files)
libopenbabel-doc - Chemical toolbox library (documentation)
libopenbabel4 - Chemical toolbox library
junior-games-text - Debian Jr. Text Games
libchemistry-openbabel-perl - Chemical toolbox library (perl bindings)
micropolis - real-time city management simulator
micropolis-data - real-time city management simulator - data
openbabel - Chemical toolbox utilities (cli)
opencity - 3D city simulator game
python-openbabel - Chemical toolbox library (python bindings)

Hakutuloksissa ennen viivaa “-” oleva nimi on paketin nimi, jolla saa asennettua pelin. Paketin nimen perässä on lyhyt kuvaus paketista. Asensin micropolis –nimisen pelin, koska kuvaus oli kaikista paras. Toinen vaihtoehto olisi voinut olla opencity.

esimerkki@xubuntu:~$ sudo apt-get install micropolis

FreeCAD

Halusin etsiä linuxille suunnitteluohjelmaa, joka vastaisi mahdollisimman hyvin AutoCAD-ohjelmaan. Olin jo aikaisemmin kuullut FreeCAD -nimisestä ohjelmasta, joten halusin löytää ko. ohjelman. Etsiessäni suoraan ohjelman nimellä vastauksia tuli kolme.

antti-ville@baana:~$ apt-cache search freecad
freecad - Extensible Open Source CAx program (alpha)
freecad-dev - FreeCAD development files
freecad-doc - FreeCAD documentation

Asensin siis freecad-paketin ja ohjelma asentui onnistuneesti.

Bootchart

Boothchart ohjelmalla on mahdollisuus katsoa missä vaiheessa käynnistystä mikäkin ohjelma käynnistyy ja kuinka kauan tietokoneen käynnistys kestää. Ohjelma tuli vastaan kun etsin keinoa nopeuttaa Xubuntun käynnistymistä. Bootchartin loki löytyy /var/log/bootchart.

esimerkki@xubuntu:~$ apt-cache search bootchart
esimerkki@xubuntu:~$ sudo apt-get install bootchart

Lokitiedostoista tietoa tietokoneen tapahtumista

Tietokone tallentaa lokeihin muun muassa sisäänkirjautumiset ja niiden yritykset. Tarkastelin lokia, johon tallennetaan käyttöoikeuksien muutokset. Siis jos ajaa komentoa järjestelmäkäyttäjänä (sudo). Loki löytyi /var/log/auth.log sijainnista.

Lokista näkee edellä tehdyt asennukset:

xubuntu sudo:esimerkki :TTY=pts/0;PWD=/home/esimerkki;USER=root;COMMAND=/usr/bin/apt-get update
xubuntu sudo:pam_unix(sudo:session):session opened for user root by (uid=1000)
xubuntu sudo:pam_unix(sudo:session):session closed for user root

Ensimmäisenä lokitiedostosta näkee koneen nimen,xubuntu, seuraavana on pääkäyttäjän nimi, jonka jälkeen tulee sijainti ja komennon sijainti. Seuraavilla riveillä on maininta, että istunto on aloitettu pääkäyttäjälle ja että se on suljettu. Rivien alussa on myös aikaleimat, joista näkee kuinka kauan istunnot ovat kestäneet.

Jos joku muu yrittää tehdä pääkäyttäjän oikeuksia tarvittavia tehtäviä,ja laittaa salasanan väärin edes kerran niin lokiin tulee merkintä. Esimerkkinä yritin ajaa komennon sudo apt-get install nethack.Ja kun kysyttiin salasanaa painoin enter-painiketta ja lopuksi ctrl+c ,jotta salasanojen kysely loppuisi. Tässä vaiheessa tuli sitten ilmoitus, että yksi virheellinen salasana yritys. Lokissa tämä tapahtuma näkyy seuraavanlaisesti:

xubuntu sudo:pam_unix(sudo:auth):authentication failure;logname=uid=1000euid=0tty=/dev/pts/1 ruser=esimerkki rhost=  user=esimerkki
xubuntu sudo:pam_unix(sudo:auth):conversation failed
xubuntu sudo:pam_unix(sudo:auth):auth could not identify password for [esimerkki]
xubuntu sudo:esimerkki:1 incorrect password attempt;TTY=pts/1;PWD=/home/esimerkki;USER=root;COMMAND=/usr/bin/apt-get install nethack

Lokissa näkyy myös paljon muita tietoja, joiden näkyvyyttä en ollut edes ajatellut. Esimerkkinä näistä on ajoitetut ohjelmat, joita cron ajaa. Mutta löytyi myös yksi rivi,jonka tarkoitusta en saanut aivan kokonaan avattua.

Sep  2 17:19:54 xubuntu polkitd(authority=local): Registered Authentication Agent 
for unix-session:/org/freedesktop/ConsoleKit/Session112 (system bus name :1.512 [/usr/
lib/policykit-1-gnome/polkit-gnome-authentication-agent-1], 
object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)

Tästä sain selville sen verran, että polkitd -ohjelma/muu on tehnyt jotain, mutta mitä? No onneksi olen Tero Karvisen Työasemat ja tietoverkot-kurssilla niin voin kysyä häneltä tähän vastausta.

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012
                          Commands for Admin – http://terokarvinen.com/2008/commands-for-admin-4

– Jokela Antti-Ville

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Xubuntu 12.04 LTS asennus ASUS A52J kannettavaan

Tehtävänäni oli ladata Xubuntu ja levyn polton jälkeen kokeilla Xubuntun toimivuutta kannettavassa. Live-CD kokeilun jälkeen päätin myös asentaa Xubuntun koneelle Windows 7 rinnalle. Asennuksen kohteena olevan A52J kannettavan ominaisuudet lyhyesti:

käyttöjärjestelmä: Windows 7 Home Premium
prosessori: Intel Core i5 460M, 2,53 GHz
keskusmuisti: 4 Gb
kiintolevy: 640 Gb
näytönohjain: ATI Radeon HD 6370M 1 Gb

Tarkemmat tiedot tästä.

Linux Xubuntun lataaminen ja asentaminen

Latasin Xubuntun Suomen Ubuntu yhteisön sivuilta 20.08.2012 klo 18:30 eikä latauksen aikana ilmennyt ongelmia. Levykuvan poltin Windowsin mukana tulevalla ohjelmalla ja käynnistyminen CD-levyltä onnistui ilman käynnistymisjärjestyksen muuttamista.

Aluksi Live-CD:ltä kokeilu ja lopputulos Windows 7 & Xubuntu 12-04 LTS rinnakkain

Käynnistettyäni kannettavan CD-levyltä kokeilin Xubuntun toimimista ennen asentamisen aloittamista. Hiiri,näppäimistö ja jopa sisäänrakennettu langaton reititin toimi heti ennen kuin olin edes asentanut käyttöjärjestelmää. Asentaminen sujui hieman hitaasti, mutta onneksi pystyin samalla lukemaan uutisia netistä. Asennuksen loppupuolella valitsin asennustavaksi rinnakkaisasennuksen, eli jätin Windows 7 vielä varmuuden vuoksi taustalle. Tämä sujui ongelmitta ja Windowsikin vielä käynnistyy. Rinnakkainasennus valikossa jouduin vain päättämään miten kovalevy jaetaan. Päädyin jättämään Windowsille vielä tässä vaiheessa enemmän levytilaa.

Jälkipyykit

Vajaan tunnin (50 min) aikana valikkoja ja internettiä selaillessani ei ilmennyt ongelmia. Jotta käyttöjärjestelmän toimivuudesta saisi paremman kuvan, pitäisi käyttöä jatkaa lisää ja kokeilla asentaa ohjelmia ja päivityksiä.

Lähteet:

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html