This is a static mirror of Kristian Latva 2013: Linux palvelimena

 

 

 
 

Kotitehtävä 6, ICT4TN003-8 Linux palvelimena

•March 9, 2013 • Leave a Comment

Tehtävä:

Metapaketit w10

Viimeinen läksy:

Valitse kaksi näistä
a) Tee deb-paketti, joka asentaa tekemäsi shell scriptin
b) Tee deb-paketti, joka muuttaa toisen paketin asetustiedostoa (divert, vaikea)
c) Allekirjoita paketit tai varasto
d) Etsi wepistä vanha “Linux palvelimena” koe ja ratkaise se

Tehtävä e) Kokeile PupeSoftia Ubuntulla

Valitsin boldatut vaihtoehdot eli deb-paketin luomisen ja PupeSoftin asennuksen/kokeilun.

Tämäkin tehtävänanto löytyi jälleen kurssin kotisivulta osoitteesta: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013

Ympäristö:

Suoritin tehtävän kotikoneellani 9.3.2013 käyttäen VMware Playerin päälle virtualisoitua 32-bittistä Xubuntu 12.10  asennusta. Aloitin tehtävän “puhtaalta pöydältä” eli loin uuden virtuaalikoneen. Luonti tapahtui samalla tavalla kuin kurssin ensimmäisessä kotitehtävässä. Isäntäkoneen rauta:

ymparisto1

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Tehtävä a) deb-paketti

Terminaali auki ja suominäppis käyttöön:

$ setxkbmap fi

Päivitin pakettilähteiden listat ja asennetut ohjelmistot ajantasalle:

$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

Xubuntu pyysi uudelleenkäynnistystä ja buuttasin virtuaalikoneen.

Itse tehtävän aloitin asentamalla equivs  ohjelman komennolla:

$ sudo apt-get install equivs

Seuraavaksi loin uuden hakemiston projektiani varten, siirryin hakemistoon ja loin yksinkertaisen skriptitiedoston:

mkdir munskripti && cd munskripti

$ nano munskripti

Kirjoitin tiedostoon seuraavat rivit:

#!/bin/bash
clear
read -p “Please enter your name : ” name
echo “”
read -p “Please enter your age : ” age
echo “”
read -p “Please enter your sex. Male/Female : ” sex
echo “”
echo “So you’re a $age year old $sex called $name”

.. ja tallensin tiedoston painamalla CTRL + X ja enter.

Seuraavaksi loin paketin asetustiedoston equivs-control komennolla:

$ equivs-control munskripti.cfg

.. ja editoin luotua asetustiedostoa nanolla muokkaamalla  Package, Version, Maintainer, Files ja Description kohtia seuraavasti:

Section: misc
Priority: optional
# Homepage: <enter URL here; no default>
Standards-Version: 3.9.2

Package: krisun-kyselyskripti
Version: 0.1
Maintainer: Kristian Latva <someemail@address.com>
# Pre-Depends: <comma-separated list of packages>
# Depends: <comma-separated list of packages>
# 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: munskripti /usr/bin/
# <more pairs, if there’s more than one file to include. Notice the starting space>
Description: Krisun testiskripti
long description and info
.
second paragraph

Files kohta määrittää käytettävän skriptitiedoston ja mihin skripti sijoitetaan asennuksen jälkeen.

Sitten luodaan itse deb tiedosto:

$ equivs-build munskripti.cfg

Paketin luonti onnistui ja se löytyy samasta hakemistosta:

equivsskripti_1

Lopuksi asennetaan paketti:

$ sudo dpkg -i krisun-skripti_0.1_all.deb

Paketti on nyt asennettu ja voimme kokeilla sitä komentamalla:

$ munskripti

Näyttäisi toimivan:

equivsskripti_2

e) Kokeile PupeSoftia Ubuntulla

Seuraavaksi asennetaan Suomalainen avoimen lähdekoodin toiminnanohjausjärjestelmä nimeltä PupeSoft. Ohjelmiston on kehittänyt devlab ja yrityksen kotisivut löytää osoitteesta http://www.devlab.fi ja GitHub:in osoitteessa: https://github.com/devlab-oy/pupesoft

PupeSoft on web-selaimella käytettävä tietokantapohjainen sovellus ja tuttuun tyyliin asennamme LAMP-stackin ensimmäisenä. Päätin jälleen käyttää taskselia asennukseen vaikka sen hyödyistä ja mahdollisista haitoista on keskustelu Teron oppitunnilla useaan kertaan. Nyrkkisääntönä pidän sitä, että silloin kun asennetaan sovelluksia tuotantoon niin vältetään taskselia ja asennetaan manuaalisesti ainoastaan tarvitut paketit, mutta nyt “kokeillaan” ja  harjoitellaan niin hyväksyn taskselin käytön:

$ sudo apt-get install tasksel

$ sudo tasksel

Valitaan LAMP-server listasta:

tasksel1

Asennuksen aikana MySQL:n root-käyttäjälle asetettiin vahva salasana. Kun asennus oli ohi niin tarkistin vielä, että Apache web-palvelin toimii halutulla tavalla:

localhost1

Komensin Apachen vielä toimimaan kotihakemistojen kanssa, jotta PupeSoft asennus saadaan käyttäjän /home/public_html hakemistoon:

$ sudo a2enmod userdir

$ sudo service apache2 restart

Asennetaan myös git, jotta saamme ladattua PupeSoftin suoraan versionhallinnasta helposti:

$ sudo apt-get install git

PHP-tuki on myös enabloitava käyttäjän kotihakemistoissa ja tämä tapahtui kommentoimalla muutama rivi /etc/apache2/mods-enabled/php5.conf tiedostossa:

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

#    <IfModule mod_userdir.c>

#       <Directory /home/*/public_html>

#          php_admin_value engine Off

#     </Directory>

# </IfModule

</IfModule>

Seuraavaksi loin kotihakemistooni public_html kansion ja kloonasin sinne git:illä kopion PupeSoftin tiedostoista:

$ mkdir public_html && cd public_html

$ git clone https://github.com/devlab-oy/pupesoft.git

PupeSoft löytyy nyt käyttäjän public_html/pupesoft -hakemistosta.

Luodaan tietokanta PupeSoftille. Kirjaudutaan sisään MySQL:ään asennuksen aikana root käyttäjälle määritellyllä salasanalla:

$ mysql -u root -p

Luodaan tietokanta PupeSoftille:

mysql> create database pupesoft;

Luodaan uusi käyttäjätunnus ja annetaan oikeudet luotuun tietokantaan:

mysql> grant all on pupesoft.* to ‘pupesoft’@’localhost’ identified by ‘SAIRAANVAHVASALASANA′;

Käytä vahvaa salasanaa. “pupesoft” käyttäjän ei tarvitse muistaa (tai mahd. tietää) tietokannan salasanaa. Kaikki mySQL konfiguraatio tehdään nyt ja jatkossa root käyttäjätunnuksella.

Käyttäjä ja tietokanta on nyt luotu ja voidaan poistua mySQL:stä.

mysql> flush privileges;

mysql>\q

Jotta PupeSoft sisältäisi jonkinsortin “demodataa” niin ladataan referenssitietokanta sekä alkudata. Ladataan tiedostot vaikka kotihakemistoon:

$ cd

wget -q http://api.devlab.fi/referenssitietokantakuvaus.sql http://api.devlab.fi/referenssidata.sql

Luetaan “demodata” eli tietokannan kuvaus sekä alkudata sisään äsken luotuun tietokantaan:

$ mysql -u pupesoft –password=SAIRAANVAHVASALASANA pupesoft < referenssitietokantakuvaus.sql
$ mysql -u pupesoft –password=SAIRAANVAHVASALASANA pupesoft < referenssidata.sql

Lopuksi luodaan ohjelman vaatima salasanatiedosto, jotta tietokantayhteys toimii:

$ nano /home/krilat/public_html/pupesoft/inc/salasanat.php

Viedään tiedostoon seuraavat rivit:

<?php

date_default_timezone_set(‘Europe/Helsinki’);

$dbhost = ‘localhost’;
$dbuser = ‘pupesoft’;
$dbpass = ‘SAIRAANVAHVASALASANA’;
$dbkanta = ‘pupesoft’;

$palvelin = ‘http://localhost/~krilat/pupesoft/&#8217;;

if (isset($_SERVER['SERVER_PORT']) and $_SERVER['SERVER_PORT'] == ’443′) {
$palvelin = ‘https://localhost/~krilat/pupesoft/’;
}

Poistutaan nanosta tallentamalla tiedosto CTRL + O ja ENTER.

 

Lopuksi asetetaan oikeudet kuntoon pupesoftin hakemistossa:

$ cd ~/krilat/public_html

$ sudo chown -R krilat:www-data pupesoft/

chmod -R u=rwx,g=x,o= pupesoft/

$ chmod -R u=rwx,g=rx,o= /pupesoft/dataout /pupesoft/datain

PupeSoftin asennus on nyt valmis ja kokeilin kirjautua sisään osoitteessa http://localhost/~krilat/pupesoft. Oletustunnukset ovat admin ja salasana 1234:

pupesoft_1

Kirjautuminen onnistui ja PupeSoftin etusivu aukesi:

pupesoft_2

Lähteet:

devlab-oy PupeSoft asennusohje: https://github.com/devlab-oy/pupesoft/wiki/Asennusohje

About

Kotitehtävä 5, ICT4TN003-8 Linux palvelimena

•February 27, 2013 • 1 Comment

Tehtävä:

Palvelimen suorituskyky w07

Tee kaksi seuraavista:

a) Asenna Varnish. Muuta jotain sen asetusta VCL-kielellä (esim iso-kuvat suoraan läpi – ei välimuistiin)
b) Analysoi ja nopeuta weppisivua YSlow -lisäkkeen avulla
c) Analysoi ja nopeuta weppisivua Firebug -lisäkkeen Net-välilehden avulla
d) Etsi jokin nopeuden analysoinnissa auttava palvelu wepistä ja käytä sitä
f) Asenna nginx käänteisproxyks

Valitsin boldatut vaihtoehdot eli Vernissan asennuksen ja Firebug selainlisäosan tutkimisen.

Tämäkin tehtävänanto löytyi jälleen kurssin kotisivulta osoitteesta: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013

Ympäristö:

Suoritin tehtävän HP EliteBook Folio 9470m työkannettavallani kotonani 26.2.2013. Kannettavan perustiedot:

ymparisto1_2

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Työskentelin jälleen VMware Playerin päälle virtualisoitua Xubuntu 12.10 32-bit asennusta käyttäen. Käyttöjärjestelmän virtualisointi tapahtui täysin samalla tavalla kuten ensimmäisessä kotitehtävässäni, mutta nyt en aloittanut “puhtaalta pöydältä” vaan hyödynsin viime tehtävässä luotua Xubuntu virtuaalikonetta mikä sisälsi toimivan Apache konfiguraation ja WordPress sivuston.

Tehtävä a) Varnish

Terminaali auki ja suominäppis käyttöön:

$ setxkbmap fi

Päivitin pakettilähteiden listat ja asennetut ohjelmistot ajantasalle:

$ sudo apt-get update && sudo apt-get upgrade -y

Varnish välityspalvelimen (reverse proxy) avulla pystytään nopeuttamaan dynaamisia web-sivuja, mutta tutkitaan ensin nykyisen Apache konfiguraation nopeutta ohjelmiston omalla Apache Benchmark (“ab”) ominaisuudella.

Tutkitaan suorituskykyä olemassa olevan WordPress sivuston avulla:

$ ab -n1000 -c500 -k5 http://localhost/~krisu/wordpress

-n parametri kertoo ab:lle, että monta yhteyspyyntöä palvelimelle lähetetään. Tässä tapauksessa lähetämme 1000 pyyntöä, joista 500 on samanaikaisia pyyntöjä (-c parametri). Komennon perässä oleva -k parametri aktivoi testin KeepAlive ominaisuuden (Ilman tätä testi ei suoriutunut ilman aikakatkaisua).

Tulos:

Concurrency Level: 500
Time taken for tests: 10.407 seconds
Complete requests: 1000
Failed requests: 251
(Connect: 0, Receive: 0, Length: 251, Exceptions: 0)
Write errors: 0
Non-2xx responses: 751
Keep-Alive requests: 751
Total transferred: 458361 bytes
HTML transferred: 238067 bytes
Requests per second: 96.09 [#/sec] (mean)
Time per request: 5203.276 [ms] (mean)
Time per request: 10.407 [ms] (mean, across all concurrent requests)
Transfer rate: 43.01 [Kbytes/sec] received

Apache Benchmark kertoo meille että:

  • 1000 pyynnöstä 749 onnistui, 251 siis epäonnistui
  • Web-palvelin pystyi käsittelemään 96 HTTP pyyntöä sekunnissa

Seuraavaksi asennetaan Varnish välityspalvelin ja katsotaan, että onko sillä vaikutusta suorituskykyyn:

Haetaan Varnish:

$ sudo apt-get install varnish

Muutetaan Varnish kuuntelemaan porttia 80:

$ sudoedit /etc/default/varnish

DAEMON_OPTS=”-a :80 \
-T localhost:6082 \
-f /etc/varnish/default.vcl \
-S /etc/varnish/secret \
-s malloc,256m”

Asetetaan Varnish hakemaan sivustomme tiedot portista 8099:

$ sudoedit /etc/varnish/default.vcl

backend default {
.host = “127.0.0.1″;
.port = “8099″;

Seuraavaksi muutetaan Apachen konfiguraatioita niin, että Apachee kuuntelee porttia  8099.

Editoidaan ports.conf -tiedostoa:

$ sudoedit /etc/apache2/ports.conf

NameVirtualHost 127.0.0.1:8099
Listen 127.0.0.1:8099

..ja asetetaan vielä default tiedostosta portti oikein:

$ sudoedit /etc/apache2/sites-available/default

<VirtualHost 127.0.0.1:8099>

Käynnistin Varnishin ja Apachen uusiksi ja testasin, että sivusto toimii:

varnishsite_1

Näyttäisi toimivan.

Varnish on nyt konfiguroitu ja seuraavaksi testataan sivuston suorituskykyä ab:lla uusiksi:

$ ab -n1000 -c500 -k5 http://localhost/~krisu/wordpress

Tulos:

Concurrency Level: 500
Time taken for tests: 0.558 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Non-2xx responses: 1000
Keep-Alive requests: 0
Total transferred: 624989 bytes
HTML transferred: 324000 bytes
Requests per second: 1792.55 [#/sec] (mean)
Time per request: 278.932 [ms] (mean)
Time per request: 0.558 [ms] (mean, across all concurrent requests)
Transfer rate: 1094.07 [Kbytes/sec] received

Tuloksena musertava ero. Apache Benchmark kertoo meille että:

  • 1000 pyynnöstä kaikki onnistui
  • Web-palvelin pystyi käsittelemään 1792 HTTP pyyntöä sekunnissa

Varnish ja simppeli VCL asetusmuutos:

Päätin muokata Server kenttää/attribuuttia  mitä Varnish tarjoilee oletuksena. Oletuksena kun teen kyselyn niin palvelimeni tiedot ovat seuraavat:

varnishvcl_1

Muokataan Vernissan default.vcl tiedostoa:

$ sudoedit /etc/varnish/default.vcl

.. ja otetaan sub vcl_fetch kohta käyttöön ja lisätään sinne haluttu tieto:

sub vcl_fetch {
 
unset beresp.http.Server;
set beresp.http.Server = “Vernissapalvelin”;
 
 
 
#     if (beresp.ttl <= 0s ||
#         beresp.http.Set-Cookie ||
#         beresp.http.Vary == “*”) {
#               /*
#                * Mark as “Hit-For-Pass” for the next 2 minutes
#                */
#               set beresp.ttl = 120 s;
#               return (hit_for_pass);
#   }
#     return (deliver);
}
#

Tallennetaan ja kokeillaan:

varnishvcl_2

Lähteet:

Apache ab: http://egloo.wordpress.com/2008/08/08/ab-apache-benchmark/

About

Kotitehtävä 4, ICT4TN003-8 Linux palvelimena

•February 12, 2013 • 1 Comment

Tehtävä:

Sisällönhallintajärjestelmät w06

Tee ja raportoi kaksi näistä viidestä vaihtoehdosta:

a) Asenna WordPress, aloita tyhjältä koneelta (vagrant tai liveromppu).
Ota järkevät URLit (permalinks) käyttöön. Vaihda teema. Kirjoita esimerkki
artikkeli ja varmuuskopioi sisältö. Suojaa kone tulimuurilla.
b) Tee WordPressiin oma teema
c) Asenna Drupal ja kokeile sitä
d) Tee WordPressiin oma plugin
e) Tee yksinkertainen CRUD-ohjelma PHP:lla ja MySQL:ä

Valitsin boldatut vaihtoehdot eli WordPressin sekä Drupalin asennukset.

Tämäkin tehtävänanto löytyi jälleen kurssin kotisivulta osoitteesta: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013

Ympäristö:

Suoritin tehtävän kotikoneellani 11.2.2013 käyttäen jälleen VMware Playerin päälle virtualisoitua 32-bittistä Xubuntu 12.10  asennusta. Aloitin tehtävän “puhtaalta pöydältä” eli loin uuden virtuaalikoneen. Luonti tapahtui samalla tavalla kuin kurssin ensimmäisessä kotitehtävässä. Isäntäkoneen rauta:

ymparisto1

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Tehtävä a)

LAMP-stack & wordpress tarball

Terminaali auki ja suominäppis käyttöön:

$ setxkbmap fi

Päivitin pakettilähteiden listat ja asennetut ohjelmistot ajantasalle:

$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

Xubuntu pyysi uudelleenkäynnistystä ja buuttasin virtuaalikoneen.

Itse WordPress saadaan eloon asentamalla normaalisti LAMP-stack ja konfiguroimalla muutama helppo vaihe. Päätin jälleen hyödyntää tasksel pakettia, joka mahdollistaa käytännössä yhden klikkauksen LAMP-stack asennuksen.

$ sudo apt-get install tasksel -y

$ sudo tasksel

Valitsin listalta LAMP server vaihtoehdon:

tasksel1

Asennuksen aikana MySQL:n root-käyttäjälle asetettiin vahva salasana. Kun asennus oli ohi niin tarkistin vielä, että Apache web-palvelin toimii halutulla tavalla:

apacheworks_1

Komensin Apachen vielä toimimaan kotihakemistojen kanssa, jotta WordPress asennus saadaan käyttäjän /home/public_html hakemistoon:

$ sudo a2enmod userdir

$ sudo service apache2 restart

PHP-tuki on myös enabloitava käyttäjän kotihakemistoissa ja tämä tapahtui kommentoimalla muutama rivi /etc/apache2/mods-enabled/php5.conf tiedostossa:

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

#    <IfModule mod_userdir.c>

#       <Directory /home/*/public_html>

#          php_admin_value engine Off

#     </Directory>

# </IfModule

Seuraavaksi loin kotihakemistooni public_html kansion ja latasin sinne wgetillä tuoreimman WordPress tervapallon:

$ mkdir public_html

$ cd public_html

$ wget http://wordpress.org/latest.tar.gz

Puretaan ladattu tervapallo:

$ tar xf latest.tar.gz

Tervapallo on nyt purettu ja sen sisältö löytyy käyttäjän public_html/wordpress -hakemistosta.

MySQL

WordPress tarvitsee tietenkin tietokannan ja se voidaan luoda joko komentoriviltä tai graafisesti phpMyAdmin:ia käyttäen. Päätin luoda tietokannan komentoriviltä. Kirjaudutaan sisään MySQL:ään aikaisemmin root käyttäjälle määritellyllä salasanalla:

$ mysql -u root -p

Luodaan tietokanta WordPressille:

mysql> create database wpkrisu;

Luodaan uusi käyttäjätunnus ja annetaan oikeudet luotuun tietokantaan:

mysql> grant all on wpkrisu.* to ‘wpkrisu’@'localhost’ identified by ‘vYKh4K1i3dgXqbrl6VOIKyJrl′;

Huomioi vahva salasana. WordPress käyttäjän ei tarvitse muistaa (tai mahd. tietää) tietokannan salasanaa. Kaikki mySQL konfiguraatio tehdään nyt ja jatkossa root käyttäjätunnuksella.

Käyttäjä ja tietokanta on nyt luotu ja voidaan poistua mySQL:stä.

flush privileges;

mysql>\q

WordPress asennus

Web-palvelin on nyt asennettu, WordPress ladattu ja tietokanta luotu. Aloitetaan WordPressin helppo asennus..

Siirryin localhost/~krisu/wordpress osoitteeseen, luin infosivun ja klikkasin next:

wordpress_1

Seuraavaksi WordPress kysyi tietokannan yhteystietoja. Syötetään aikaisemmin luodut tiedot:

wordpress_2

Tero neuvoi tunnilla muuttamaan WordPressin oletus Table Prefix:iä ja lisäsin merkkijonoon kirjaimen “x”. Muutos tuo mahdollista lisäturvaa hyökkäyksiä vastaan (lähinnä skriptejä, jotka yrittävät default Table Prefixiä “wp_”).

Seuraavassa vaiheessa WordPress yrittää luoda wp-config.php tiedostoa epäonnistuen:

wordpress_3

Kopioidaan tiedoston sisältö, luodaan tiedosto manuaalisesti public_html/wordpress hakemistoon ja liitetään kopioitu sisältö:

$ nano php-config.php

Seuraavassa vaiheessa omalle WordPress sivustolle annettiin nimi, luotiin käyttäjätunnus ja klikattiin viimeisen kerran asenna. WordPress on nyt asennettu:

wordpress_4

WordPress permalinks

WordPressin oletus URL:it ovat muotoa http://localhost/~krisu/wordpress/?p=1 ja täten hieman sotkuisia.  Otetaan järkevämmät URL:it käyttöön WordPressin hallintapaneelin kautta kohdasta Settings -> Permalinks:

wordpress_5

Klikataan “Save Changes” jolloin WordPress kehottaa päivittämään .htacces tiedoston. WordPress ei itsekseen pysty kirjoittamaan tiedostoa ja pyytää täten lisäämään mod_rewrite rivejä manuaalisesti tiedostoon:

wordpress_6

Loin tiedoston itse, koska sitä ei ollut vielä olemassa ja kopioin pyydetyt rivit sinne:

$ nano .htacces

Apachen mod_rewrite moduuli tulee vielä enabloida, jotta uusi järjestely toimii:

$ sudo a2enmod rewrite

Käynnistetään apache uusiksi:

$ sudo service apache2 restart

Loin testipostauksen ja tsekkasin, että uudet nätimmät URL:it toimivat:

wordpress_7

WordPress ja teema

WordPressin oletusteeman saa vaihdettua Dashboardin Appearance-> Themes-valikon kautta. Lisää teemoja saa ladattua esimerkiksi http://wordpress.org/extend/themes/ sivustolta. Latasin “Montezuma” nimisen teeman, purin sen wordpress/wp-content/themes hakemistoon ja enabloin teeman käyttöön Dashboardin kautta:

$ wget http://wordpress.org/extend/themes/download/montezuma.1.1.3.zip

$ unzip montezuma.1.1.3.zip

Teema käytössä:

wordpress_8

WordPress varmuuskopiointi

WordPressin varmuuskopioiminen onnistuu helposti Dashboardin kautta Tools-> Export-valikosta. Valitsin kopioitavaksi kaiken sisällön. Toiminto generoi XML-tiedoston, joka sisältää kaiken sivuston sisällön eli mm. wordpress-sivun artikkelit, kommentit jne.

WordPressin tietokanta kannattaa myös varmuuskopioida SQL-dumppien muodossa.

Tulimuuri

Suojataan lopuksi palvelinkoneemme tulimuurilla. Konfiguroin palomuurin sallimaan yhteydet porttiin 80(HTTP) ja 22(SSH) seuraavilla komennoilla:

$ sudo ufw allow 80/tcp
$ sudo ufw allow 22/tcp

Käynnistin tulimuurin ja tarkistin säännöt komennoilla:

$ sudo ufw enable
$ sudo ufw status

Tehtävä b)

Drupal tervapallo

Seuraavaksi asennetaan toinen sisällönhallintajärjestelmä nimeltä Drupal. Vaiheet ovat hyvin samanlaiset; lataa tervapallo, luo tietokanta, asenna ja konfiguroi. Nyt kun LAMP-stack on jo asennettu, voidaan siirtyä suoraan Drupalin asennukseen. Ladataan ensimmäisenä Drupal public_html hakemistoon ja puretaan tervapallo:

$ wget http://ftp.drupal.org/files/projects/drupal-7.19.tar.gz

$ tar xf drupal-7.19.tar.gz

Tervapallo on nyt purettu ja sen sisältö löytyy käyttäjän public_html/drupal-7.19 -hakemistosta.

Drupal tietokanta

Drupal tarvitsee myös oman tietokannan. Luodaan tietokanta jälleen käyttäen root tunnusta:

$ mysql -u root -p

Luodaan tietokanta Drupalille:

mysql> create dabase drupalkrisu;

Luodaan uusi käyttäjätunnus ja annetaan oikeudet luotuun tietokantaan:

mysql> grant all on drupalkrisu.* to ‘drupalkrisu’@'localhost’ identified by ‘ra5ldm20cCV8EYmcmhNCjcIOfMYjvd′;

Huomioi vahva salasana. Drupalin käyttäjän ei tarvitse muistaa (tai mahd. tietää) tietokannan salasanaa. Kaikki mySQL konfiguraatio tehdään nyt ja jatkossa root käyttäjätunnuksella.

Käyttäjä ja tietokanta on nyt luotu ja voidaan poistua mySQL:stä.

flush privileges;

mysql>\q

 Drupal asennus

Web-palvelin on toiminnassa ja tietokanta on luotu Drupalia varten joten aloitetaan navigoimalla localhost/~krisu/drupal.7-19 -osoitteeseen:

drupal1

Valitsin “Standard” vaihtoehdot ja klikkasin next. Seuraavaksi Drupal ilmoittaa seuraavista ongelmista:

drupal2

Kirjoitusoikeuksia puuttuu ja sites/default/files hakemiston luonti ei onnistu automaattisesti. Päätin antaa oikeudet asennuksen ajaksi (lähde: http://drupal.org/documentation/install/settings-file), jotta hakemiston luonti onnistuu automaattisesti:

$ chmod a+w sites/default

Toinen virhe tarkoittaa, että settings.php niminen tiedosto puuttuu. Kopioin tämän default.settings.php pohjasta uudeksi tiedostoksi:

$ cp sites/default/default.settings.php sites/default/settings.php

..ja annoin oikeudet taas asennuksen ajaksi:

$ chmod a+w sites/default/settings.ph

Päivitin sivun ja virheitä ei enää esiintynyt joten jatkoin eteenpäin.

Seuraavaksi syötettiin tiedot tietokantayhteyttä varten:

drupal3

..ja asennus lähti liikkeelle:

drupal4

Seuraavaksi konfiguroitiin sivusto loppuun. Tässä vaiheessa Drupal muistutti poistamaan asennuksen aikaiset kirjoitusoikeudet settings.php tiedostosta:

drupal5

Drupal on nyt  asennettu:

drupal6

Lähteet:

Drupal settings.php: http://drupal.org/documentation/install/settings-file

About

Kotitehtävä 3, ICT4TN003-8 Linux palvelimena

•February 4, 2013 • Leave a Comment

Tehtävä:

Kolmannen kotitehtävän tehtävänanto löytyi jälleen kurssin kotisivuilta osoitteesta: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013

Homman nimi on siis seuraava:

Tee Apachelle nimipohjainen virtuaalipalvelin (name based virtual host). Voit esimerkiksi laittaa samaan IP-osoitteeseen kaksi nimeä.

Tee erilaisia virheitä Apachen lokiin ja analysoi niihin liittyvät rivit.

Ympäristö:

Suoritin tehtävän HP EliteBook Folio 9470m työkannettavallani kotonani 3.2.2013. Kannettavan perustiedot:

ymparisto1_2

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Työskentelin jälleen VMware Playerin päälle virtualisoitua Xubuntu 12.10 32-bit asennusta käyttäen. Käyttöjärjestelmän virtualisointi tapahtui täysin samalla tavalla kuten ensimmäisessä kotitehtävässäni.

Ohjelmistojen asennus ja päivitys

Terminaali auki ja suominäppis käyttöön:

$ setxkbmap fi

Päivitin pakettilähteiden listat ja asennetut ohjelmistot ajantasalle:

$ sudo apt-get update && sudo apt-get upgrade -y && sudo apt-get dist-upgrade -y

Xubuntu pyysi uudelleenkäynnistystä ja buuttasin virtuaalikoneen.

Seuraavaksi asennetaan apache:

$ sudo apt-get install apache2 -y

Asennuksen jälkeen tarkistin, että web-palvelin toimii oikein osoitteessa http://localhost

localhost1

Apache:

Jatketaan tehtävää konfiguroimalla apache toimimaan myös kotihakemistojen (käyttäjäkohtaisten sivujen) kanssa. Käynnistetään apache uusiksi toimenpiteen jälkeen:

$ sudo a2enmod userdir

$ sudo service apache2 restart

Seuraavaksi luodaan public_html hakemisto oman kotihakemiston alle:

$ mkdir public_html

..ja luodaan index.html tiedosto public_html hakemistoon. Lisätään tiedostoon jotain tekstiä testimielessä:

$ cd public_html

$ nano index.html

Kokeillaan toimiiko käyttäjäkohtainen sivu:

kk1_1

Näyttäisi toimivan.

Nimipohjainen virtuaalipalvelin

Aloitin silmäilemällä Apachen oletuspalvelimen konfiguraatiotiedostoa (/etc/apache2/sites-available/default)  ja tsekkaamalla Apachen dokumentaation aiheesta (lähinnä esimerkit) osoitteessa http://httpd.apache.org/docs/2.4/vhosts/.

Sitten loin oman konfiguraatiotiedoston samaan hakemistoon (sites-available):

$ sudo nano krisuvhost

Sisällöksi tuli:

krisuvhost

Virtuaalipalvelimeni tulee siis löytyä osoitteesta http://www.krisuvhost.fi ja asetin myös aliaksen krisuvhost.fi, jolla sivuston tulee myös toimia. DocumentRoot osoittaa käyttäjän public_html hakemistoon mistä itse sivusto löytyy.

Ratkaisu ei voi toimia ellei /etc/hosts tiedostoon ole tehty tarvittavia nimitietoja. Muokataan tiedostoa ja lisätään sinne rivit:

127.0.1.1      www.krisuvhost.fi

127.0.1.1         krisuvhost.fi

Nyt haluamani osoitteet ohjautuvat/viittaavat tietokoneen paikalliseen IP-osoitteeseen, joka toimii tässä yhteydessä.

Lopuksi otetaan aikaisemmin luotu oma vhost konfiguraatio (/etc/apache2/sites-available/krisuvhost) käyttöön:

$sudo a2ensite krisuvhost

..ja käynnistetään apache uudelleen:

$ sudo service apache2 restart

Nyt näyttäisi toimivan:

krisuvhost2

Apache ja error.log:

Tehtävänä oli vielä toteuttaa erilaisia virheitä apachen lokiin ja tutkia niitä. Aloitin seuraamalla /var/log/apache2 hakemistossa sijaitsevaa error.log tiedostoa Teron tunnilla opitulla “tail -f” komennolla:

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

Nään lokiin kirjautuvat muutokset nyt “reaaliajassa” ja viimeisin virhe näytti olevan favicon.ico tiedoston puuttuminen:

[error] [client 127.0.0.1] File does not exist: /home/kk1/public_html/favicon.ico

Kyseessä on siis se pieni internet-sivulle määriteltävä ikoni, joka toimii visuaalisena tunnisteena sivustolle. Tämä ei ole toiminnan kannalta oleellinen ja korjaantuu varmasti lisäämällä kyseinen faviconi hakemistoon.

Seuraavaksi tsekkasin mitä lokiin kirjaantuu kun navigoin olemattomalle sivulle. Kokeilin osoitetta www.krisuhost.fi/eiole:

Sama homma eli sivutiedosto puuttuu: [error] [client 127.0.0.1] File does not exist: /home/kk1/public_html/eiole

Selain ilmoittaa sivun puuttumisesta seuraavasti:

Not Found

The requested URL /eitoimi was not found on this server.

Lähteet:

http://httpd.apache.org/docs/2.4/vhosts/

About

Kotitehtävä 2, ICT4TN003-8 Linux palvelimena

•January 28, 2013 • Leave a Comment

Tehtävä:

Honeynet Scan of the Month 15

Kurssin kotisivut osoitteessa: http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013

Tehtävänanto:

On 15 March. 2001, a Linux honeypot was successfully compromised, a rootkit was download to the / partition and then deleted from the system. Your mission is to find and recover the deleted rootkit. If you are not sure where to begin on conducting this forensic analysis and recover the rootkit, we highly reccommend you start with the Forensic Challenge. The steps you will have to follow for the rootkit recovery are similar to the steps discussed there. We have posted only the / partion for download to keep this challenge simple. The compressed image is 13MB, (honeynet.tar.gz) MD5=0dff8fb9fe022ea80d8f1a4e4ae33e21. Once you have downloaded, untarred, and unzipped the partition image, it will be 255 MB and the checksum should be MD5=5a8ebf5725b15e563c825be85f2f852e.

- Show step by step how you identify and recover the deleted rootkit from the / partition.
- What files make up the deleted rootkit?

Bonus Question: 

Was the rootkit ever actually installed on the system? How do you know?

Tehtävässä tutkitaan rootkit haittaohjelman saastuttamaa Linux levykuvaa ja minun tulisi osoittaa vaiheittain, että kuinka yksilöin ja palautin rootkitin annetulta levykuvalta.  Minun tulisi myös selvittää, että mistä tiedostoista löydetty rootkit koostui. Bonustehtävänä oli selvittää, että oliko rootkittia ikinä asennettu alkuperäisjärjestelmään.

Lähde: http://old.honeynet.org/scans/scan15/

Ympäristö:

Suoritin tehtävän HP EliteBook Folio 9470m työkannettavallani kotonani 28.1.2013. Kannettavan perustiedot:

ymparisto1_2

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Työskentelin jälleen VMware Playerin päälle virtualisoitua Xubuntu 12.10 32-bit asennusta käyttäen. Käyttöjärjestelmän virtualisointi tapahtui täysin samalla tavalla kuten ensimmäisessä kotitehtävässäni. Tehtävässä kuitenkin tutkitaan saastunutta levykuvaa, niin nopeasti asentuva (ja poistettava) sekä eristetty virtualisoitu ympäristö on mielestäni sopiva ratkaisu. Luodaan siis ns. hiekkalaatikko tehtävää varten.

Ohjelmistojen asennus ja päivitys

Buuttasin puhtaaseen Xubuntu asennukseen ja päivitin jälleen pakettilähteiden listat:

$ sudo apt-get update

Päivitin asennetut ohjelmistot ajantasalle:

$ sudo apt-get upgrade

Xubuntu tarjosi vielä järjestelmäpäivityksiä ja päätin ajaa vielä:

$ sudo apt-get dist-upgrade

Xubuntu pyysi tämän jälkeen uudelleenkäynnistystä.

Seuraavaksi asensin tehtävään tarvittavia työkaluja. Aloitetaan sleuthkit:in asennuksella:

$ sudo apt-get install sleuthkit -y

Loin työpöydälle hakemiston “sotm15″ , latasin tervapallon, joka sisältää tehtävässä tutkittavan levykuvan sekä purin tervapallon hakemistoon:

$ mkdir sotm15

$ cd sotm15

$ wget http://old.honeynet.org/scans/scan15/honeynet.tar.gz

$ tar -xf honeynet.tar.gz

Purettu levykuva löytyi nyt hakemistosta /home/kk1/Desktop/sotm15/honeynet/honeypot.hda8.dd.

Komensin vielä latauksien jälkeen palomuurin päälle:

$ sudo ufw enable

Seuraavaksi käytin sleuthkitin toimittamaa tsk_recover ominaisuutta, jolla saadaan purettua levykuvan poistetut tiedostot toiseen hakemistoon:

$ tsk_recover honeypot.hda8.dd unallocated/

Tiedostoja oli 37 kappaletta:

unallocate1

Purin vielä levykuvan kaikki tiedostot toiseen hakemistoon lisäämällä -a paremetrin tsk_recover lauseeseen:

$ tsk_recover -a honeypot.hda8.dd allocated/

Tiedostoja oli kaikenkaikkiian 1614 kappaletta:

allocated1

Tutkin ensimmäisenä poistettuja tiedostoja unallocated hakemistossa. Hakemisto sisälsi kansion etc, lk.tgz tar-arkiston sekä $OrphanFiles nimisen kansion. Purin ls.tgz paketin ja listasin sisältöä:

$ cd unallocated

$ ls -la

$ tar -xf lk-tgz

last1

“Last” on ilmeisimmin tämä etsitty rootkit. Rootkit aiheuttaa vahinkoa mm. install scriptillä, joka korvaa järjestelmään asennettuja tiedostoja rootkitin tiedostoilla: /sbin/ifconfig, /bin/netstat, /bin/ps ja/usr/bin/top. Install scripti näyttää  osin seuraavalta:

install1

Luin skriptiä järjestyksessä läpi ja tein muutamia havaintoja. Install skripti suorittaa mm. seuraavia toimenpiteitä:

  • Kopioi tiedoston mkxfs hakemistoon /usr/bin
  • Skripti luo tiedostot /dev/rpm ja /dev/last ja tallentaa niihin erikoisia merkkijonoja kuten “3 smurf”, “3 slice”
  • Skripti luo hakemistot /dev/ida/.drag-on ja “/dev/ida/.drag-on/.. ” ja kopioi tiedostot linsniffer, logclear, sense, sl2, mkxfs, s, ssh_host_key ja ssh_random_seed ja poistaa tämän jälkeen tiedostot hakemistostaan
  • Skripti kerää järjestelmästä tietoja tiedostoon computer. Kerättyjä tietoja on mm.: uname -a (käyttöjärjestelmätietoja), hostname, ifconfig (ip-osoite), prosessorityypin, koneen uptime. Skripti lähettää tiedot sähköpostilla osoitteisiin last@linuxmail.org ja bidi_damm@yahoo.com ja poistaa juuresta hakemiston last ja tiedostot lk.tgz, computer sekä lk.tar.gz

Seuraavaksi kävin tutkimassa allocated hakemistossa levykuvan kaikkia tiedostoja. Minua kiinnosti erityisesti, että onko scripti ajettu järjestelmässä ja löytyykö “Lastin” install-skriptin kopioimia tiedostoja. Näin näytti olevan, koska hakemistosta /dev/ida löytyy .drag-on kansio mikä sisältää skriptin kopioimaa roskaa:

allocated2

About

Kotitehtävä 1, ICT4TN003-8 Linux palvelimena

•January 21, 2013 • 5 Comments

Tehtävät:

- Polta Xubuntu liveromppu ja testaa sitä labran ulkopuolella

- Ratkaise valitsemasi “Työasemat ja tietoverkot” peruskurssin Linux-koe

- Vapaaehtoinen lisätehtävä: Kerää tarkat tiedot jostain koneesta ‘sudo lshw’. Mitä hyötyä tästä komennosta on?

- Vapaaehtoinen lisätehtävä guruille: Tee virtuaalipalvelin vagrant-ohjelmalla

Ympäristö:

Tein ensimmäisen kotitehtävän kotona 19.01.2013 ja käytin työskentelyyn omaa tietokonettani. Kotona harjoituksessa käytetty työasema:

ymparisto1

(Kuvankaappaus: Piriform Speccy.  http://www.piriform.com/speccy)

Xubuntu liverompun poltin työpaikallani 17.01.2013 HP Probook 6570b kannettavalla tietokoneella. Kannettavan  käyttöjärjestelmänä toimi 64-bittinen Windows 7 Enterprise SP1.

Xubuntu 12.10 lataaminen ja liverompun polttaminen:

Kurssin kotisivu osoitteessa http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013 tarjosi linkin tuoreimpaan 32-bittiseen Xubuntu 12.10 levykuvaan. Latasin iso-tiedoston työpöydälleni, asensin tyhjän CD-levyn kannettavan levyasemaan ja poltin levykuvan CD-levylle käyttäen Windows 7:n omaa “Windows Disc Image Burner” –ohjelmistoa:

poltto1

(Huom. kuvankaappaus kotikoneelta, johon ei ole asennettu optista levyasemaa)

CD:n polttaminen kannettavalla onnistui virheittä ja testasin vielä, että buuttaaminen liverompulta onnistuu.

Linux-koe, työasemat ja tietoverkot 25

Kokeen suoritin omalla kotikoneella (kts. “Ympäristö”). Aloitin tehtävän virtualisoimalla Xubuntu 12.10 32-bit käyttöjärjestelmän VMware Player ohjelmistoa käyttäen. Vaihtoehtona mietin myös VirtualBox ohjelmistoa, mutta tällä kertaa päädyin VMwaren tuotteeseen.

Kyseiseen tehtävään sopivan “pieniruokaisen”  Linux käyttöjärjestelmän virtualisointi VMware Playerillä on yksinkertaista. Avataan VMware Player ja valitaan “Create new Virtual Machine”:

vm1

Seuraavassa ikkunassa ohjelma kysyy, että mistä asennetaan. Annoin ohjelmalle polun Xubuntu levykuvaan:

vm2

Syötin virtuaalikoneelleni nimen ja tallennuspaikan:

vm3

Tallensin virtuaalikoneen yhteen tiedostoon ja asetin levyn maksimikapasiteetiksi 20 GB:

vm4

Lopuksi tarkistin Vmwaren asennusvelhon määrittämät oletusresurssit muistinkäytön ja prosessorin osalta. Vmwaren ”Easy Install” määrittää oletuksena muistia virtuaalikoneelle 1024MB eli 1 gigan ja prosessorin ytimistä yhden (1kpl) käyttöön. Nämä riittivät tarpeeseeni ja hyväksyin oletusarvot. Käynnistin asennuksen, joka oli nopeasti ohi ja kirjauduin Xubuntun työpöydälle:

vm5

Kokeen tehtävänanto:

”Karttakatu Oy

Me Karttakatu Oy:ssä teemme karttoihin liittyviä weppisovelluksia. Olemme muutaman hengen yritys.

Asenna työasema, jolla tavallisimmat toimistotyöt onnistuvat (weppisurffailu, tekstinkäsittely).

Työntekijämme ovat Einari Vähäkäähkä, Pekka Winha, Åke Andersson ja Leila Laila. He haluavat kehittää PHP-kotisivuja etäkäyttöyhteydellä. Asenna tarvittavat palvelut ja tee esimerkkisivut.

Asenna kaikkien käyttäjien käyttöön skripti (shell script) nimeltä “mystatus”, joka näyttää vapaan levytilan (df -h) ja koneen ip-osoitteen.

Tähtäätkö huipputulokseen? Pekka Winha haluaa käyttää MySQL tietokantaa. Asenna hänelle MySQL-tietokanta ja siihen PhpMyAdmin-weppiliittymä.”

Ohjelmistojen päivitys ja asennus:

Ensimmäisenä avasin terminaalin ja otin suominäppiksen käyttöön seuraavalla komennolla:

$ setxkbmap fi

Päivitin pakettilähteiden listat:

$ sudo apt-get update

Päivitin asennetut ohjelmistot ajantasalle:

$ sudo apt-get upgrade

136 pakettia päivitettiin onnistuneesti. Xubuntu tarjosi vielä järjestelmäpäivityksiä ja päätin ajaa vielä:

$ sudo apt-get dist-upgrade

Xubuntu pyysi tämän jälkeen uudelleenkäynnistystä.

Asensin SSH-palvelimen etäkäyttöä varten:

$ apt-get install openssh-server -y

Seuraavaksi asensin LibreOfficen, joka tuo toimistotyöskentelyyn tarvittavat ohjelmistot (tekstinkäsittely, taulukot, esitykset):

$ sudo apt-get install libreoffice -y

LibreOffice ohjelmisto löytyy päävalikon ”Office” kategorian alta:

libre1

Xubuntu 12.10 sisältää Firefox web-selaimen oletuksena, mutta päätin asentaa vielä Chromium selaimen vaihtoehdoksi.  Virallinen Chromium tiimi ei julkaise tietääkseni tuoreita versioita selaimesta enää, mutta Alex Shkop niminen käyttäjä tekee sen meidän iloksemme. (Lähde: Alex Shkop, https://launchpad.net/~a-v-shkop/+archive/chromium)

Lisätään Alexin ylläpitämä epävirallinen PPA (Personal Package Archive):

$ sudo add-apt-repository ppa:a-v-shkop/chromium

Päivitetään pakettilähteiden listat:

$ sudo apt-get update

Asennetaan ”Daily Stable” –versio Chromium selaimesta:

$ sudo apt-get install chromium-browser chromium-browser-l10n -y

Seuraavaksi lisätään pyydetyt käyttäjät:

$ sudo adduser einari

$ sudo adduser pekka

$ sudo adduser andersson

$ sudo adduser leila

Kaikille käyttäjille asetettiin vahvat salasanat ja ne otettiin ylös paperille, millä ne toimitetaan käyttäjille ensimmäistä kirjautumista varten. Asetin vielä salasananvaihdon käyttäjille kirjautumisen yhteyteen:

$ sudo passwd -e einari;sudo passwd -e pekka; sudo passwd -e andersson; sudo passwd -e leila

kayttajat1

Seuraavaksi tehtiin skripti, joka tulostaa vapaan levytilan sekä koneen IP-osoitteen käyttäjälle. Loin tiedoston:

$ nano mystatus.sh

..ja kirjoitetaan skripti:

#!/bin/bash

echo “Vapaa levytila:”

df -h

echo “”

echo “IP-osoitteesi on:”

ip addr show

Jotta kaikki voisivat suorittaa skriptin ajetaan:

$ sudo chmod +x mystatus.sh

Skripti näyttäisi toimivan:

$ ./mystatus.sh

skripti1

Kopioin skriptin käyttäjien kotihakemistoihin:

$ sudo cp mystatus.sh /home/einari; sudo cp mystatus.sh /home/pekka; sudo cp mystatus.sh /home/andersson; sudo cp mystatus.sh /home/leila/

Web-palvelin, MySQL sekä phpMyAdmin

Aloitin asentamalla tasksel ohjelman, joka mahdollistaa helpot asennukset kun tarvitaan pakettikokonaisuuksia kuten LAMP (Apache, MySQL sekä PHP-tuki):

$ sudo apt-get install tasksel -y

Käynnistetään tasksel:

$ sudo tasksel

tasksel1

Valitsin listalta LAMP server vaihtoehdon ja aloitin asennuksen:

tasksel2

Testasin weppipalvelinta + php tukea luomalla phpinfo.php nimisen tiedoston /var/www hakemistoon:

krisu@ubuntu:/var/www$ sudo nano phpinfo.php

Tiedoston sisältö:

<?php

// Show all information, defaults to INFO_ALL

phpinfo();

?>

..ja se näyttää selaimella tältä:

php1

Loin pyydetyille käyttäjille public_html kansiot oman kotihakemiston alle:

$ sudo mkdir /home/einari/public_html; sudo mkdir /home/pekka/public_html; sudo mkdir /home/andersson/public_html; sudo mkdir /home/leila/public_html

Asetin public_html kansion omistajuuden käyttäjille:

$ sudo chown -R einari:einari /home/einari/public_html/; sudo chown -R pekka:pekka /home/pekka/public_html/; sudo chown -R andersson:andersson /home/andersson/public_html/; sudo chown -R leila:leila /home/leila/public_html/

..ja kopioin esimerkkisivuna toimivan phpinfo.php tiedoston käyttäjien public_html hakemistoihin:

krisu@ubuntu:/var/www$ sudo cp phpinfo.php /home/einari/public_html/; sudo cp phpinfo.php /home/pekka/public_html/; sudo cp phpinfo.php /home/andersson/public_html/; sudo cp phpinfo.php /home/leila/public_html/

Seuraavaksi muokkasin php5.conf tiedostoa /etc/apache2/mods-enabled/ hakemistossa ja kommentoin seuraavat rivit, jotta php-tuki toimisi käyttäjien kotihakemistoissa:

#    <IfModule mod_userdir.c>

#       <Directory /home/*/public_html>

#          php_admin_value engine Off

#     </Directory>

# </IfModule>

Nyt käyttäjien php-sivut toimivat localhost/~käyttäjä osoiteessa normaalisti:

php2

Viimeiseksi asensin vielä Pekalle phpMyAdmin:in käyttöön. Asennetaan paketti:

$ sudo apt-get install phpmyadmin -y

Muokataan apache2.conf tiedostoa /etc/apache hakemistossa:

$ sudoedit /etc/apache2/apache2.conf

..ja lisätään tiedoston loppuun rivi:

Include /etc/phpmyadmin/apache2.conf

Ja käynnistetään vielä apache uusiksi:

$ sudo service apache2 restart

Nyt phpMyAdmin näyttäisi toimivan:

phpmyadmin1

Loin vielä Pekalle oman kannan ja annoin oikeudet. Valitsin phpMyAdmin hallinnasta:

Create database with same name and grant all privileges

phpmyadmin5

Lisätehtävä sudo lshw

$ sudo lshw tulostaa tarkat laitteistotiedot. Ohjelma voi tulostaa mm. tarkat muistimäärät/tiedot, firmware versiot, prosessorin tietoja jne. Kun komennon syöttää terminaaliin niin tekniset laitetiedot tulostuvat siihen, mutta tiedot voidaan myös tulostaa esim. .txt tiedostoon ajamalla:

$ sudo lshw > lshw.txt

 

About

 
Follow

Get every new post delivered to your Inbox.