Linux Xubuntu ja LAMP:n asennus

Tehtävä: http://terokarvinen.com/2013/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013

“h5.

– Asenna ja testaa LAMP
– Aiheuta vähintään 3 virhettä ja analysoi lokista
– Tee nimipohjainen virtuaalipalvelin, joissa toimii myös http://www.”

Käytän tässä tehtävässä Linux Xubuntu 12.04 versiota.

LAMP:n asennus

Aloitin asentamalla apache palvelinohjelman ja testaamalla sen menemällä osoittoiseen localhost

$ sudo apt-get update

$ sudo apt-get install apache2

apache toimi. Seuraavaksi laitoin käyttäjä hakemiston toimimaan ja tein kotisivu hakemiston ja testi sivut.

$ sudo a2enmod userdir

$ sudo service apache2 restart

$ mkdir public_html

$ cd public_html

$ nano index.html

Seuraavaksi asensin PHP:n ja asetin käyttäjä hakemistoon oikeudet tehdä php sivuja. Käynnistin palvelimen uudestaan.

$ sudo apt-get install php5 libapache2-mod-php5

$ sudoedit /etc/apache2/mods-available/php5.conf

kommentoin seuraavat rivit pois conf tiedostosta:

<IfModule mod_userdir.c>
<Directory /home/*/public_html>
#php_admin_value engine Off
</Directory>
</IfModule>
</IfModule>

$ sudo service apache2 restart

Muutin index.html tiedoston php tiedostoksi ja laitoin testipätkän php koodia.

$ mv index.html index.php

$ nano index.php

Seuraavat rivit php tiedostoon:

<?php

echo "Hi, I'm a PHP script!";

?>

Testasin sivuja ja ne toimivat.

Seuraavaksi asensin mysql:n ja myphpadminin:

$ sudo apt-get install mysql-server phpmyadmin

Asennuksen jälkeen menin osoitteeseen http://localhost/phpmyadmin/ ja pääsin kirjautumaan sisään luomallani root käyttäjällä. Loin käyttäjän ja tietokannan ja annoin molemmille nimeksi hats. Kirjauduin hats käyttäjällä tietokantaan ja tein sinne pöydän hats mihin laitoin kaksi riviä: id ( auto_increment, primary_key) ja name ( varchar, 100). Lisäsin pöytään kaksi riviä: bluehat ja redhat. seuraavaksi menin muokkaamaan luomaani index.php tiedostoa public_html hakemistoon. Laitoin seuraavan pätkän tiedostoon:

<?php
/* database.php – Use mysql database from php
* (c) 200309 Tero.Karvinen <at-sign> iki.fi, adapted from php.net
* See http://iki.fi/karvinen Linux Apache MySQL PHP tutorial. */

/* Connect to database */
$link = mysql_connect(“localhost”, “hats”, “salasana”)
or die(“Could not connect : ” . mysql_error());
print “Connected successfully”;
mysql_select_db(“hats”) or die(“Could not select database”);

/* Perform SQL query */
$query = “SELECT * FROM hats”;
$result = mysql_query($query)
or die(“Query failed : ” . mysql_error());

/* Print results in HTML */
print “<table>\n”;
while ($line = mysql_fetch_array($result, MYSQL_ASSOC)) {
print “\t<tr>\n”;
foreach ($line as $col_value) {
print “\t\t<td>$col_value</td>\n”;
}
print “\t</tr>\n”;
}
print “</table>\n”;
mysql_free_result($result);

/* Close connection */
mysql_close($link);
?>

Ja tallensin tiedoston. Seuraavaksi menin osoitteeseen http://localhost/~xubuntu/ ja sain seuraavan näkymän

phpjamysql

LAMP ympäristö on nyt asennettu ja testattu toimivaksi.

Virheiden analysointia

otin viimeisimmät rivit /var/log/apache2/error.log tiedostosta

$ tail -F /var/log/apache2/error.log

[Fri Sep 27 11:28:04 2013] [error] [client 127.0.0.1] File does not exist: /var/www/myphpadmin = tiedostoa ei ole olemassa eli osoite on kirjoitettu väärin, oikea osoite olisi /var/www/phpmyadmin

[Fri Sep 27 11:04:02 2013] [error] [client 127.0.0.1] File does not exist: /home/xubuntu/public_html = käyttäjä yrittää mennä hakemistoon mitä ei ole vielä luotu, asia korjautuu tekemällä public_html hakemiston käyttäjälle komenoilla:

$ cd

$ mkdir public_html

Could not select database = olin kirjoittanut index.php tiedostoon väärän tietokannan nimen, korjasin sen laittamalla oikean nimen eli hats kohtaan: mysql_select_db(“hats”)

Nimipohjaisen virtuaalipalvelimen tekeminen

Scan of the month 15 selvittäminen

tehtävä: http://old.honeynet.org/scans/scan15/

latasin levykuvan osoitteesta http://old.honeynet.org/scans/scan15/honeynet.tar.gz jonka jälkeen purin paketin komenolla

$ tar xf honeynet.tar.gz

paketitssa oli valmiiksi tehty kansio mihin se purki levykuvan siirryin kansioon ja  asensin tämän jälkeen myös sleuthkitin, jonka avulla pääsemme palauttamaan levykuvasta poistetut tiedostot.

$ cd honeynet

$ sudo apt-get install sleuthkit

Tämän jälkeen tein poistetuille ja levykuvassa jäljelle oleville tiedostoille omat kansiot ja latasin tiedostot levykuvasta kansioihin

$ mkdir deleted

$ mkdir allocated

$ tsk_recover honeypot.hda8.dd deleted

$ tsk_recover -a honeypot.hda8.dd allocated

Metapakettejen tekemistä Linux Xubuntulla

Tehtävä: http://terokarvinen.com/2013/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013

“h4:
– Tee oma rakkaimmat ohjelmasi asentava apt-get komento
– Tee oma rakkaimmat ohjelmasi asentava metapaketti
– Paketoi skripti”

Käytän tässä tehtävässä Linux Xubuntu 12.04 versiota ja HP-Compaq-8200-Elite-CMT-PC tietokonetta.

Ensiksi tein omat rakkaimmat ohjelmat asentavan komennon ja testasin että ne käynnistyvät:

$ sudo apt-get update && sudo apt-get install blender inkscape gimp

$ gimp

$ blender

$ inkscpae

kaikki ohjelmat ansentuivat ja käynnistyivät moitteetta. Seuraavaksi rupesin tekemään metapakettia joka asentaa itsestään lempiohjelmani.

Tein aluksi kansion metapaketilleni ja asensin tarvittavan ohjelman metapakettien tekemiseen.

$ mkdir henryspackage

$ sudo apt-get -y install equivs

Tämän jälkeen tein pohjatiedoston johon muutin omat tarvittavat tiedot metapaketilleni.

$ equivs-control henryspackage.cfg

$ nano henryspackage.cfg

### Commented entries have reasonable defaults.
### Uncomment to edit them.
# Source: <source package name; defaults to package name>
Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: henrys-favorites
Version: 1.0
Maintainer: Henri Mikkonen <mikkonen44@gmail.com>
Depends: blender, inkscape, gimp

Description: my favorite programs to create some magickal graphics

Tämän jälkeen rakensin metapaketin ja asensin Lintianin jotta voin tarkistaa sen virheettömyyden.

$ equivs-build henryspackage.cfg
$ sudo apt-get install lintian

$ lintian henrys-favorites_1.0_all.deb

Paketti rakentui, eikä siitä löytynyt virheitä. Seuraavaksi asensin gdebitin ja testasin pakettia.

$ sudo apt-get install gdebi

$ sudo gdebi -n henrys-favorites_1.0_all.deb

ohjelmat asentuivat ja käynnistyivät kun testasin niitä terminaalista

$ gimp

$ blender

$ inkscape

Tietokoneen kuormitusta ja tulosten tarkastelua Linux Xubuntulla

harjoitus: http://terokarvinen.com/2013/aikataulu-%E2%80%93-linux-palvelimena-ict4tn003-9-ja-10-syksylla-2013

Tässä harjoituksessa käytän Linux Xubuntu 12.04 versiota ja HP-Compaq-8200-Elite-CMT-PC  tietokonetta.

Aloitin tekemällä pakettilistan päivityksen ja asentamalla munin ja stress ohjelmat:

$ sudo apt-get update

$ sudo apt-get install munin stress

Tämän jälkeen huomasin siirtymällä osoitteeseen file:///var/cache/munin/www/localdomain/localhost.localdomain/index.html ettei munin toiminut joten suoritin päivityksen ja käynnistin tietokoneen uudelleen.

$ sudo apt-get dist-upgrade

Tietokoneen uudelleenkäynnistyksen jälkeen laitoin stress ohjelman päälle ja huomasin munin ohjelman toimivan:

$ stress –cpu 8 –io 4 –vm 2 –vm-bytes 128M

katson top komennolla miten stress kuormittaa tietokonetta:

stress

stress kuormittaa paljon tietokoneen prosessoria lähes 100% , mutta ei niinkään muistia tai kovalevyä.

Ansensin koneelle iotop ohjelman ja katsoin mitkä ohjelmat kuormittavat kovalevyä:

$ sudo apt-get install iotop

$ sudo iotop -ao

iotop

Kovalevyä ei näyttänyt kuormittuvan kovinkaan paljon, lähinnä firefox kirjoitti joitakin tietoja levylle.

Seuraavaksi tarkastelin millaista tietoa munin oli saanut kerättyä tietokoneen prosessorin käytöstä

cpu-day

Munin tuottama kuvasta voisi päätellä että tietokoneen prosessorilla menee paljon aikaa kovalevyn odottamiseen, käyttöjärjestelmän ylläpitoon ja käyttäjän ohjelmien ajamiseen.

Tutkin myös hieman tietokoneen lokeja, otin rivit auth.log tiedostosta sijainnista: /var/log/auth.log olin hetki sitten testannut kirjautua ssh:lla omalle tietokoneelle ja otin seuraavat rivit analysointiin.

Sep  6 14:15:52 henryyd-HP-Compaq-8200-Elite-CMT-PC sshd[7720]: pam_unix(sshd:session): session opened for user henryyd by (uid=0)
Sep  6 14:15:59 henryyd-HP-Compaq-8200-Elite-CMT-PC sshd[7857]: Received disconnect from 127.0.0.1: 11: disconnected by user
Sep  6 14:15:59 henryyd-HP-Compaq-8200-Elite-CMT-PC sshd[7720]: pam_unix(sshd:session): session closed for user henryyd

Sep  6 14:15:52 (päivämäärä ja kellon aika)

henryyd-HP-Compaq-8200-Elite-CMT-PC (tietokoneen nimi)

sshd (yhteyden vastaan ottava ohjelman nimi)

[7720] (prosessin numero)

pam_unix(sshd:session) (autentikointi moduuli joka avaa sshd istunnon)

session opened for user henryyd (istunto avattu käyttäjälle henryyd)

Received disconnect from 127.0.0.1: 11: disconnected by user (vastaanotettu yhteyden sulkeminen eli käyttäjä on kirjoittanut exit)

Linux Xubuntun asentaminen työasemaksi

Tehtävä: http://terokarvinen.com/2013/linux-koe-tyoasemat-ja-tietoverkot-34-kevaalla-2013

Aloitin Linux Xubuntu 12.04 kokeilemisesta. Laitoin CDn levyasemaan ja koneen käynnistyessä valitsin Try Xubuntu. Koska kyseessä on koulun tietokone, en voinut asentaa käyttöjärjestelmää. 

Laitoin liverompulla pyörivälle tietokoneelle uuden salasanan, ja asetin näppäimistökartan suomenkielelle komennoilla:

$ passwd

$ setxkbmap fi

Päivitin Linuxiin saatavilla olevien ohjelmien versiot ja asensin pyydetyt ohjelmat:

$ sudo apt-get update

$ sudo apt-get install openoffice.org

$ sudo apt-get install gedit

$ sudo apt-get install inkscape

 

Seuraavaksi tein käyttäjät tietokoneelle ja asetin heille vahvat salasanat ja kuvaavat käyttäjätunnukset jotka tallensin omaan kotikansiooni tekstitiedostona. Suojasin myös tekstitiedoston ulkopuolisilta:

$ nano users.txt

$ sudo adduser mmaitoparta

$ sudo adduser aanderson

$ sudo adduser toljynen

$ sudo adduser aaijala

$ chmod og-rwx users.txt

Tämän jälkeen asensin koneelle SSH:n ja apachen. Asetin käyttäjille oikeuden testata sivujaan selaimessa. Tein myös käyttäjien kotihakemistoon esimerkkisivut, ja samalla tulin testanneeksi ssh yhteyden:

$ sudo apt-get install ssh

$ sudo apt-get install apache2

$ sudo a2enmod userdir

$ sudo /etc/init.d/apache2 restart

$ ssh aanderson@localhost

$ mkdir public_html

$ cd public_html

$ nano index.html

Testasin apachen toimivaksi menemällä selaimella osoitteeseen http://localhost/~aanderson

Viimeiseksi tein Ärmylle hello worldin shell scriptillä

$ ssh aaijala@localhost

$ nano helloworld.sh

seuraavat rivit tekstitiedostoon:

#!/bin/bash

echo “Hello, World!”

 

$ chmod +x helloworld.sh

$ ./helloworld.sh