Linux palvelimena – LAMP

Tehtävänä oli asentaa LAMP (= Linux, Apache, MySQL, PHP).

Tein tehtävän koulun läppärillä ja aiemmin tätä kurssia varten tekemälläni Ubuntu liverompulla (tai USB-tikulla).

LINUX

Boottasin koneen, mutta ilmeisesti en ole asettanut USB:tä ensisijaiseksi käynnistysvaihtoehdoksi, sillä kone meni automaattisesti multiboot-valikkoon.

Käynnistin siis koneen uudelleen, painoin ESC:iä, ja auenneessa valikossa F9, jolla pääsin boottaamaan tikultani.

Ubuntun käynnistyessä minulla olisi ollut mahdollisuus asentaa Ubuntu, mutta tätä harjoitusta varten päätin vain kokeilla sitä asentamatta.

APACHE

Apachen asentamiseksi annoin seuraavat komennot:

– sudo apt-get update

– sudo apt-get install apache2

Aikoessani testata Apachen toiminnan komennolla:

– firefox ”http://localhost”

eteeni osui ongelma. Käyttämäni Ubuntun versio oli ilmeisesti suunniteltu erilaiselle näppäimistölle, eikä minulla ollut hajuakaan miten saan ”-merkin nykyisillä asetuksilla. Etsin siis Googlesta hakusanalla ”Ubuntu keyboard layout” ohjetta asetusten muuttamiselle, ja pian löysinkin komennon:

– sudo dpkg-reconfigure keyboard-configuration

Tämä avasi valikon, josta sain valita käyttämäni näppäimistön (EliteBookia ei listasta löytynyt, joten valitsin toisen HP:n läppärin), kieleksi ja asetteluksi suomen, ja sain näppäimistön toimimaan niin kuin sen mielestäni kuuluukin.

Kirjoitin siispä tuon edellä mainitsemani komennon firefoxin avaamiseksi. Tässä vaiheessa terminaaliin tuli joitain virheilmoituksia, mutta Firefox kuitenkin aukesi ja localhost-sivu ilmoitti ”It works!”

Omien sivujen luomiseksi annoin seuraavaksi komennot

– sudo a2enmod userdir

– sudo /etc/init.d/apache2 restart

Nyt kun käyttäjäsivu on otettu käyttöön, loin kansion public_html, siirryin ko. kansioon, ja loin sinne tiedoston index.html:

– mkdir public_html

– cd public_html

– nano index.html

Kirjoitin index.html:ään vain ”Tämä on testi”, tallensin tiedoston, ja siirryin firefoxilla osoitteeseen localhost/~ubuntu, jossa luki tuo antamani teksti. Sivu siis toimi!

MySQL ja PHP

Yritin antaa komennon

– sudo apt-get install mysql-server phpmyadmin

mutta sain aina virheilmoituksen siitä, että phpmyadmin ei löydy. Aikani aihetta tutkittuani netistä, selvisi että universe pitää olla aktivoituna. Komennolla

– sudo software-properties-gtk -e universe homma alkoi toimimaan. Annoin asennuskomennon uudelleen, ja asennus onnistui. Asennuksen yhteydessä valitsin, että phpmyadim konfiguroi itsenstä automaattisesti Apachea varten.

Jotta PHP toimisi Apachella, täytyi minun muokata tiedostoa

– sudo nano /etc/apache2/mods-enabled/php5.conf

Kommentoituani vaaditut rivit käynnistin vielä Apachen uudestaan komennolla

– sudo /etc/init.d/apache2 restart

Muokkasin aiemmin luomaani index.html tiedostoa lisäämällä siihen yksinkertaisen php-pätkän

<?php

print (2+2)

?>

Ja muutin tiedoston nimen index.php:ksi.  Firefoxilla avasin sivun localhost/~ubuntu, jolla oli nyt ”Tämä on testi” -tekstin lisäksi numero neljä. Succes!

Apuna käytin:

http://www.howtoforge.com/changing-language-and-keyboard-layout-on-various-linux-distributions

terokarvinen.com

Linux palvelimena – Metapaketteja

1. Metapaketin luominen

Lähdin toteuttamaan tehtävää etsimällä internetin ihmemaailmasta ohjeita, kuinka tämä tehdään.

Ohjeet löydettyäni kirjoitin ensin seuraavan komennon:

– sudo apt-get install equivs

Tämän jälkeen loin uuden kansion ”metapaketti”, ja siirryin ko. kansioon:

– mkdir metapaketti

– cd metapaketti

Seuraavaksi loin tiedoston ja avasin sen muokkausta varten:

– equivs-control paketti.cfg

– nano paketti.cfg

Muokkasin tiedoston seuraavanlaiseksi:

Package: paketti
# Version: 1.0
# Maintainer: Jaakko Väljä <jaakko.valja@gmail.com>
# Pre-Depends: <comma-separated list of packages>
# Depends: chromium-browser, vlc, openssh-server
# Recommends: <comma-separated list of packages>
# Suggests: <comma-separated list of packages>
# Provides: <comma-separated list of packages>
# Replaces: <comma-separated list of packages>
# Architecture: all
# Copyright: <copyright file; defaults to GPL2>
# Changelog: <changelog file; defaults to a generic changelog>
# Readme: <README.Debian file; defaults to a generic one>
# Extra-Files: <comma-separated list of additional files for the doc directory>
# Files: <pair of space-separated paths; First is file to include, second is de$
#  <more pairs, if there’s more than one file to include. Notice the starting s$
Description: pari ohjelmaa harjoitusta varten
.
second paragraph

Tallennettuani ja suljettuani tiedoston muunsin sen pakettimuotoon ja lopuksi testasin sen toimivan:

– equivs-build paketti.cfg (joka loi tiedoston paketti_1.0_all.deb)

– sudo gdebi -n paketti_1.0_all.deb

2. Metapaketti dependicer:illa

Latasin dependicer:in komennolla:

– wget http://terokarvinen.com/wp-content/uploads//2011/09/dependicer-0.1-alpha.tar.gz

Tämän jälkeen purin paketin ja aloin tutkia sen erästä tiedostoa:

– tar -xvf dependicer-0.1-alpha.tar.gz

– nano dependicer-packages.dpd

Kyseinen tiedosto sisälsi seuraavat rivit:

# Multiple metapackages for dependicer
# package:      dependency1, dependency2…
dependicer-coding:   nano emacs git bzr
dependicer-graphics: inkscape, gimp
dependicer-server: apache2
dependicer-workstation:      teros-coding, teros-drawing, dependicer-server

Lisäsin tiedostoon yhden rivin:

dependicer-testi:   gimp

Tallennettuani ja suljettuani tiedoston ajoin dependicerin komennolla

– ./dependicer dependicer-packages.dpd

Tämän jälkeen vielä asensin luomani paketin komennolla:

– sudo gdebi -n dependicer-testi_0.20120213.2223_all.deb

Apuna tehtävien teossa käytin sivustoa terokarvinen.com

Linux palvelimena – Järjestelmän tila

Tein tehtävän HP Elitebook 2530p -kannettavalla ja Ubuntu 11.10-versiolla.

1. Loki

Aloitin tehtävän teon kirjoittamalla komentoriville cd /var/log/ jolloin pääsin lokitiedot sisältävään kansioon.

Komennolla ls listasin kaikki kyseisen kansion sisältämät tiedostot ja aloin tutkia niitä.

Avasin listauksen nimeltä lastlog, joka näytti kaikkien käyttäjätunnusten viimeisimmän kirjautumisajankohdan.

Listassa oli useita **Never logged in** merkintöjä sellaisilla käyttäjillä, jotka eivät ko. koneella koskaan sisään ole kirjautuneet.

Aiheutin itse virheilmoituksen auth.log:iin kirjoittamalla komennon ssh a1002415@localhost ja antamalla väärän salasanan.

Virheilmoituksessa ilmoitettiin “Failed password for a1002415 from ::1 port 45697 ssh2″.

2. Prosessihallinta

Muistelin ensin hieman prosessihallintaan liittyviä komentoja:

ps (näyttää käynnissä olevat prosessit)

ps ux (näyttää prosessit lisätiedoilla kuten lopettamiseen tarvittavan PID -tunnuksen)

kill PID (PID:n tilalle prosessin PID -tunnus, lopettaa kyseisen prosessin)

killall -9 prosessinnimi (lopettaa kaikki ko. nimellä auki olevat ikkunat)

Avasin kellon näppäilemällä komentoriville komennon xclock.

Tämän jälkeen selasin ps ux -komennolla kaikki avoinna olevat prosessit, ja sain selville, että prosessin xclock PID on 3515.

Seuraavaksi annoin komennon kill 3515, joka lopetti kellon prosessin.

3. Prosessikäyrät

Aloitin asentamalla Munin-käyräohjelman komennolla sudo apt-get install munin.

Asennuksen aikana komentoriville ilmestyi ainakin yksi virheilmoitus. Käyrät sain esiin komennolla:

firefox /var/cache/munin/www/index.html

Aluksi käyrissä ei näkynyt oikeastaan mitään, mutta kun aikaa kului enemmän alkoi käyrissä näkyä vaihteluita.

Apuna toimi

terokarvinen.com