Arkistot kuukauden mukaan: maaliskuu 2014

Linux kotitehtävä 7: Optimointia

Tämän viikon hommiksi onkin vuorossa tällaista:

”h7 optimointia. Lue koko tehtävänanto ja vinkit seuraavasta kommentista ennen kuin ryhdyt työhön. Kuormitustyökaluja saa käyttää ainoastaan omaan koneeseen.

Tee ja raportoi:
– Mittaa omalla koneellasi olevan WordPress-sivun ja samanlaisen staattisen sivun nopeuseroa ‘ab’ työkalulla.
– Asenna Varnish. Mittaa jonkin dynaamisen weppisivun (wordpress tms) suorituskyky ennen ja jälkeen asennuksen. Kuinka suuren hyödyn saat?

Tee ainakin kaksi seuraavista:
a) Muuta jotain Varnishin asetusta VCL-kielellä (esim iso-kuvat suoraan läpi – ei välimuistiin)
b) Analysoi ja nopeuta weppisivua YSlow -lisäkkeen avulla
c) Analysoi ja nopeuta weppisivua Firebug -lisäkkeen Net-välilehden avulla
d) Etsi jokin nopeuden analysoinnissa auttava palvelu wepistä ja käytä sitä”

Mitä luin tehtävänantoa lävitse, niin lähdin sen jälkeen suosiolla seuraamaan tarkemmin Eino Liimattan ohjeita. Mutta ensin toki ne perus jutut, eli:

$sudo apt-get update

Tämän jälkeen tein tehtävää varten oman hakemistonsa public_html:ään

$mkdir ~/public_html/blogaus.fi

Tämän jälkeen muokkaamaan /etc/hosts tiedostoa

$sudo nano /etc/hosts

Ja määrittelin sinne ”virtuaalipalvelimen” nimitedot, lisäämällä seuraavat rivit:

127.0.xxx.xxx http://www.blogaus.fi
127.0.xxx.xxx blogaus.fi
crtl+x ja yes.

Sitten seurasi tämä perinteinen Apachen asetustiedostojen muokkaaminen. Siirtyminen siis Apachen asetuskansioon:

$ cd /etc/apache2/sites-available/

Helpottaakseni mahdollisia sotkuja, kopioin aiemman harjoituksen .conf tiedostosta asetukset.

$ sudo cp wwww.kisu.fifi.conf blogaus.fi

ServerName www.blogaus.fi
ServerAlias blogaus.fi
DocumentRoot /home/kristiina/public_html/blogsite.com

php_admin_value engine 1

ServerAlias *.blogaus.*

ctrl+x ja yes

Tämän jälkeen blogauksen käyttöön otto:

$ sudo a2ensite blogaus.fi
Tästä seurasi ilmoitus:
ERROR: Site blogaus.fi does not exist!

Mietin hetken aikaa että mitä häh, tarkistin vielä että root hakemisto on sites-available:ssa oikein ja olihan se, kunnes sitten tajusin että olin unohtanut ubuntu 13.10 omaavan sen ärsyttävän piirteen että tiedoston perässä PITÄÄ olla .conf merkintä. Noh seuraavaksi sitten vain muuttamaan tiedoston nimeä:

$ sudo mv blogaus.fi blogaus.fi.conf

Sitten uudelleen:

$ sudo a2ensite blogaus.fi

Tämän jälkeen vielä Apachen uudelleen käynnistys

$ service apache2 reload

Tässä kohtaan huomasin tosiaan että uudelleen käynnistys ei onnistunut tuon conf tiedostossa olevan php_admin_value engine:n takia, joten menin takaisin ja poistin ko. rivin kokonaan. Tämän jälkeen apache käynnistyi normaalisti uudelleen.
Vuorossa seuraavaksi sitten virtuaalipalvelimen testaaminen lisäämällä lyhyen testi.php tiedoston /public_html/blogaus.fi tiedostoon.

Nyt olisi vuorossa toimivuuden testaaminen vielä selaimessa, joka valitettavasti ei sitten toiminutkaan…
The reguested URL /testi.php was not found on this server

Tarkistin .php tiedoston oikeudet ja kaikilla oli lukuoikeudet siihen, joten seuraavaksi miettimään mikä mättää jossain muualla… Tässä taas näkee sen kun pelaa useammalla snapshotilla, niin alkaa menemään vellit ja pullat sekaisin. 😀
Eli tässä snapshotissa minulta puuttuikin php5, vaikka apache löytyikin… Eli *kröhöm* asennetaan se php5:

$ sudo apt-get install php5

Nyt testisivu toimii muttei näytä sivua oikein

Uskaltaisin tässä kohtaa veikata, että olisi sittenkin pitänyt jättää sinne .conf tiedostoon se php_admin pätkä, noh kokeillaan ja mennään lisäämään se takaisin sinne. Joskohan sitten lähtisi pelittämään kunnolla.

$ cd /etc/apache2/sites_available/

$ sudo nano blogaus.fi.conf

<VirtualHost *:80> 
ServerName www.blogaus.fi
ServerAlias blogaus.fi
DocumentRoot /home/kristiina/public_html/blogsite.com
 <Directory /home/kristiina/public_html/blogaus.fi>
php_admin_value engine 1

</Directory>
ServerAlias *.blogaus.*
</VirtualHost>

ctrl+x ja yes

Tämänkään jälkeen sivusto ei näkynyt oikein, kunnes hetken pohdittuamme totesimme ettei esimerkki koodissa ollut html:ää ollenkaan,
joten eipä sivu olisikaan näkynyt hyvin koska ei ollut validi webbisivu. Lisäsin perus html tagit php:n ympärille ja tämän jälkeen sivu pelittikin hyvin.

[tähän muokattu koodi]





Ensitöikseen joutuikin käynnistelemään mysql uudelleen, kun Digital Oceanilla tuo snapshotin ottaminen edellytti palvelimen päältä pois laittamista.

$ sudo service apache2 restart

ja heti perään

$ sudo service mysql restart

Noin, nyt blogi toimiikin ja näkyy jälleen. Tämän jälkeen piti vielä asentaa apache2-utils että saisin ab:n toimimaan

$ sudo apt-get install apache2-utils

$ ab -c 10 -n 100 http://kittipitti.tk/2014/03/05/perus-rytinalla-mennaan/
This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking kittipitti.tk (be patient)…..done

Server Software:        Apache/2.4.6
Server Hostname:        kittipitti.tk
Server Port:            80

Document Path:          /2014/03/05/perus-rytinalla-mennaan/
Document Length:        251 bytes

Concurrency Level:      10
Time taken for tests:   0.278 seconds
Complete requests:      100
Failed requests:        0
Write errors:           0
Non-2xx responses:      100
Total transferred:      58400 bytes
HTML transferred:       25100 bytes
Requests per second:    360.31 [#/sec] (mean)
Time per request:       27.754 [ms] (mean)
Time per request:       2.775 [ms] (mean, across all concurrent requests)
Transfer rate:          205.49 [Kbytes/sec] received

Connection Times (ms)
min  mean[+/-sd] median   max
Connect:        0    0   1.0      0       4
Processing:     4   26   6.8     26      59
Waiting:        0   12  10.5      7      59
Total:          4   27   7.0     27      59

Percentage of the requests served within a certain time (ms)
50%     27
66%     28
75%     30
80%     31
90%     33
95%     35
98%     50
99%     59
100%     59 (longest request)

 

Lähteet:

Linux kotitehtävä 6: Asenna wordpress ja muuta raportointia

Tehtävänanto oli tällä viikkoa muotoa tämä:

”h6:
– Asenna WordPress (alkaen tilanteesta, jossa LAMP on asennettu)
– Kirjoita esimerkkisisältöä

Tee ja raportoi neljä seuraavista:
– Ota järkevät URLit (permalinks) käyttöön*
– Vaihda teema*
– Varmuuskopioi sisältö
– Palauta varmuuskopioitu sisältö puhtaaseen WordPress-asennukseen
– Tee WordPressiin oma teema
– Asenna WordPressiin plugin (esim Dofollow)
– Asenna Drupal ja kokeile sitä
– Asenna Joomla ja kokeile sitä
– Tee WordPressiin oma pluginka
– Lisää kuvia WordPressiin (ja laita tämä toimimaan)*
– Laita WordPress nimipohjaiseen virtuaalipalvelimeen (http://thello.foo tms)
– Jos sinulla on oma virtuaalipalvelin, tee sille http://dot.tk nimi (kokeile jollain vähäarvoisella nimellä*
– Vaikea: Tee esimerkkisivu Ruby on Rails (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)
– Vaikea: Tee esimerkkisivu Python Django:lla (tuotantotyyppinen, ei pelkkä yhden käyttäjän testipalvelin)

Vapaaehtoinen bonus:
– Pelaa SqlZoo:ta. Hyppää yli tehtävistä, jotka on merkitty erityisen vaikeiksi.”

Ti 4.3 klo 1830

– Asenna WordPress (alkaen tilanteesta, jossa LAMP on asennettu)
– Kirjoita esimerkkisisältöä

Välissä kun asentelin mysql ja php5:n latasin sitten viimeisimmän WordPressin (http://wordpress.org/latest.tar.gz) ja purin sen sitten suoraan /var/www/ hakemistoon.

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

Purin tiedoston.

$ tar -zxvf latest.tar.gz

Seuraavaksi oli vuorossa wordpress tietokannan luominen

$ mysql -u root -p

Kysyy rootin salasanaa -> annat mysql root salasanasi ja pääset tämän jälkeen luomaan tietokantatauluja.

Kokeilin tietokantojen luomista ensin omilla nimillä, mutta koska ne eivät toimineetkaan (lue: typotusta), niin kokeilin uudelleen testaus/esimerkki nimillä ja sanasanoilla, jotka sitten heti muutin kun olin testannut että toimii testitiedoilla.

mysql> CREATE DATABASE wordpress; Query OK, 1 row affected (0.00 sec)

Tämän jälkeen loin uuden käyttäjän, käytin ohjeiden mukaisia nimityksiä koska ensimmäinen yritykseni epäonnistui, joten lähdin tekemään koko sql-osuutta uudelleen jotta saisin eliminoitua mahdolliset virheet.

mysql> CREATE USER wordpressuser@localhost; Query OK, 0 rows affected (0.00 sec)

Ja tämän jälkeen asetetaan salasana uudelle käyttäjälle, tämä salasana kannattaa olla hyvä eli monimutkainen, toisinkuin tässä esimerkissä. Sen kopioiminen leikepöydälle ja liittäminen hetkeksi esimerkiksi notepadiin helpottaa sen syöttämistä jatkossa. Tätä salasanaa ei kuitenkaan tarvitse syöttää usein.

mysql> SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password"); Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password'; Query OK, 0 rows affected (0.00 sec) mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.00 sec) mysql> exit

Sinne meni sql osuus! Seuraavaksi wordpressin configurointi:

$ cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php

Sitten avataan wordpressin .config tiedosto tekstinkäsittelyohjelmalla

$ sudo nano ~/wordpress/wp-config.php

Seuraavaksi muokataan alla olevia osioita, alleviivatut osuudet ovat vain esimerkkejä, jotka tulisi nimetä oman maun mukaan. Itse tyrin ekalla yrityksellä, niin nyt kokeilin esimerkeillä ensin.

// ** 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');

ctrl+x, eli tallennus ja tiedosto kiinni.

Seuraavaksi tiedostojen purettujen tiedostojen kopiointi /var/www/ hakemistoon

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

Vuorossa on lupien antaminen wordpressin asennukselle, ensin siirrytään www-hakemistoon.

$ cd /var/www/ Vaihdetaan hakemiston omistajuus apachekäyttäjälle

$ sudo chown username:www-data /var/www -R $ sudo chmod g+w /var/www -R

Tauko: 21.15-22.30

WordPressin asennus

Tämän jälkeen wordpressillä on oma helppo asentaminen selaimen kautta. Varmista kuitenkin että sinulla on asennettuna tämä phpmoduuli, sillä muuten wordpressin asennus ei toimi.

$ sudo apt-get install php5-gd

Tämän jälkeen otat yhteyttä selaimella wordpressiin:

(ip-osoitteesi)/wordpress/wp-admin/

WordPress lataa asennussivun selaimeesi, jossa se pyytää sinua tekemään tunnuksen ja salasanan sekä nimen blogillesi, vakuuttaen samalla että nämä kaikki ovat asioita joita voit muuttaa kyllä jälkeen päin.

Tunnusten luonnin jälkeen sivu latasi hetken, tuoden sitten wordpressin perusohjausnäkymän edelleni valmiiksi ensimmäistä blogaamista varten.

Nyt minulla on asennettuna wordpress virtuaalipalvelimelleni, joka toimii.

Lopetus klo 23.10

En onnistunutkaan lopettamaan hommia tähän, vaan tein dot.tk sivuilla itselleni domain nimen http://www.kittipitti.tk sivustolleni. Meni kuitenkin hetki ennen kuin se tuli voimaan, jolloin näkyi vain esimerkki sivustoni minkä olin laittanut kittipitille aiemmassa tehtävässäni.

Siirryin sitten cd /etc/apache2/sites-available hakemistoon ja muokkasin 000-default.conf tiedostoa niin että korjasin kittipitin päätteen .comista -> .tk ja muutin document roottia jotta uusi worpressini tulisi esiin kun laitan selaimeen http://www.kittipitti.tk. here goes…

Jes ei toimi, ei ainakaan niinkuin haluaisin…

WordPress hermostui oikein olantakaa muutoksesta ja vaikka veivasin asetukset takaisin, joka samalla rikkoi permalinkit jostakin syystä, jotka olin ehtinyt asettaa selaimen kautta haluamaani muotoon. Nyt toimii siis vain default-vaihtoehto permalinkeille, ilmeisesti huomenna on edessä wordpressin uudelleen asennus tai ainakin uuden tietokannan luominen kokonaan. Teeman vaihtamiseen tämä ei vaikuttanut, mutta se ei poista ketuttamista siitä että kun klikkaa rewiev post tulee vain ”The requested URL /wordpress/2014/03/04/tama-toimii/ was not found on this server. saa jatkua sitten huomenna, mmeh.

Klo 0.30 Ke klo 1730

Uusi päivä uudet kujeet. Lähdin uhkarohkeasti kokeilemaan eilen törmäämääni ongelman korjausta sillä, että poistan vaan vanhan tietokantataulun ja kirjottelen sql jutut uusiksi. Tässä vaiheessa tuo ei vienyt kovinkaan paljoa aikaa, mikä oli luonnollisesti positiivista. Eli:

$ mysql -u root -p mysql> DROP DATABASE wordpress;

mysql> CREATE DATABASE wordpress;

mysql> CREATE USER wordpressuser@localhost;

mysql> SET PASSWORD FOR wordpressuser@localhost= PASSWORD("password");

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO wordpressuser@localhost IDENTIFIED BY 'password';

mysql> FLUSH PRIVILEGES;

mysql> exit

Sitten vain ip-osoitteella, tai sitten dns nimellä (www.kittipitti.tk) yhteys palvelimeen niin WordPress lataa asennussivun selaimeesi, jossa se pyytää sinua tekemään tunnuksen ja salasanan sekä nimen blogillesi, vakuuttaen samalla että nämä kaikki ovat asioita joita voit muuttaa kyllä jälkeen päin. Nyt vielä oli vuorossa testaaminen sekä kokeilu että mitenkäs ne permalinkit tällä kertaa käyttäytyvät… Ensin tein hieman esimerkkisisältöä kuitenkin ja lisäsin kuvan, joka ei kuitenkaan sitten ollut niin helppoa kuin ajattelin…

”Unable to create directory wp-content/uploads/2014/03. Is its parent directory writable by the server?”

Kokeilin useampaankin otteeseen, mutta sama herja vaan tuli. Googlettelin ongelmaa ja yhdessä pulmapalstassa neuvottiin hakemiston lupien tarkistamista ja muokkaamista:

$ sudo chown -R www-data /var/www/wp-content $ sudo chmod -R u+w /var/www/wp-content/uploads

Tämän jälkeen raavimme päätämme hetken ajan, kunnes todettiin että olimmekin vanhassa wordpress hakemistossa, jonka sitten poistimmekin häiritsemästä. Tämän jälkeen myöskin kävimme sitten muokkaamassa oikeaa wp-config.php tiedostoa, koska sekoilun ansiosta olin siis muokannut väärää versiota. Eli:

/var/www$ sudo rm -rf wordpress

ja tämän jälkeen oikean wordpress wp-config.php tiedoston muokkaaminen.

// ** 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');

Tämän jälkeen testaus vielä kerran että menisikö kuva postaukseen vai, jos ei niin edessä olisi varmasti koko höskän sileäksi vetäminen ja uudelleen kasaaminen sitten… Onnekseni kuvan lisäys onnistui ja näkyi julkaistussa postauksessani.

Tämän jälkeen menin vielä ottamaan päivämäärämerkinnän käyttöön mallia ”2014/03/05” jotta vuosiluku näkyisi ensin. Sen lisäksi muutin vielä samalla sivulla olleista sivuston URL:it nimipalvelun muotoon (kittipitti.tk) ja näiden muutosten tallennuksen jälkeen selaimen osoiterivillä ei enään näkynyt ip-osoitetta. 🙂

Tämän jälkeen menin vielä wordpressin dashboardilla kohtaan appearance ja vaihdoin teeman pois oletuksesta. Tässä versiossa ei ollut monia tarjolla, mutta näkeepähän miltä näyttää eri versiolla. Tässä vaiheessa muistin vielä puheen permalinkeistä ja siirryin wordpressin settings osiossa olevaan permalinks linkkiin ottamaan ne käyttöön.

Päätin laittaa asetukset Day and name muotoon, tämän jälkeen jälleen painoin save changes ja jatkoin katsomaan etusivuani miltä se näytti ja että toimivatko ne varmasti.

Noh eihän ne tietenkään taas toimineet, jos valitsee minkä tahansa muun kuin defaultin vaihtoehdon. Googlettelin ongelmaa, yhdeltä sivulta löytyi oikeanlaiset ohjeet mutta hieman puutteeliset. Ongelmana siis oli se että apache ei antanut kirjoittaa yli näitä asetuksia ja täten ei toiminut permalinkittäminenkään. Eli seuraavaksi toimittiin näin:

$ cat /etc/apache2/mods-available/rewrite.load

Linkityksen luominen

$ sudo a2enmod rewrite

Kyseisen tiedoston muokkaaminen

$ sudo nano /etc/apache2/sites-available/000-default.conf

Ohjeet tässä kohtaa kulkivat näin ”Then open up the following file, and replace every occurrence of ”AllowOverride None” with ”AllowOverride all”.”

$ sudo service apache2 restart

Ei vielä toiminut kuitenkaan, vaan koska .conf tiedostossa ei ollut lainkaan vastaavaa kohtaa, en oikein tiennyt mitä muokata ja lisäsin vain kyseisen tekstin pätkän sinne. Ei se tietenkään toiminut, joten nopean uudelleen googlettelun kautta löysin ohjeistuksen jossa piti siis lisätä alla oleva directory-osuus sinne tageineen.

<Directory /var/www/vhosts/example.com> AllowOverride all </Directory>

ctrl+x

$ sudo service apache2 restart

Tämän jälkeen kokeilin uudelleen mennä postaukseeni wordpressissä ja tällä kertaa sivusto latautui normaalisti. 🙂

Klo 20.20

Tässä vaiheessa ajattelin pitkän päivän päätteeksi vilaista tuota pluginin asentamista, siihenkin varmasti liittyy jonkinlainen kompa mutta hittoakos siinä. dashboardilla vaan plugins kohtaan ja hakuun nimeksi dofollow, sinnehän se sitten ensimmäisenä ilmestyikin. Tässä kohtaa vähän kummasteltiin että miksi ihmeessä tämä plugini haluaa yhteyden serveriini, joten jätän tämän mietintä myssyyn hautumaan ja katselen jos jaksan ratkoa tämän robleeman… Lähteet:

Linux 5 kotitehtävä

Tällä erää tehtäväksi annettiin nimipohjaisen virtuaalipalvelimen pystyttäminen.

”h5. Tee nimipohjainen virtuaalipalvelin Apachelle (name based virtual hosting). Muista laittaa sekä http://www.example.com että example.com. Voit simuloida asiakkaan nimipalvelua muuttamalla /etc/hosts -tiedostoa.

Kokeile virtuaalipalvelinta (VPS). Voit vuokrata palvelimen esimerkiksi Linodelta, Amazonilta, DigitalOceanilta tai monista muista paikoista. Linodella ja Amazonilla saattaa olla myös ilmaisenkokeilu paketin. Vaihtoehto: jos et jostain syystä halua vuokrata virtuaalipalvelinta, voit kokeilla tehdä oman vagrantilla.”

Mainittakoon vielä, että suurin osa sepustuksista on kirjoitettu ulkomuistista, eli lyöntivirheitä löytyy varmasti ja myös wordpress muokkaili jotakin vähän omine lupineen. Bare with me!

Pe 28.2 klo 20.35

Aloitin normiasetuksilla, eli päivitysten ajaminen virtual boxissa olevaan Ubuntuun (versio 13.10). Siirryin takaisin ensimmäiseen snapshottiin johon ajoin päivitykset ja jossa ei ollut valmiiksi asennettuna Apachea.

$ sudo apt-get update

$ sudo apt-get upgrade

ja Apachen asennus

$ sudo apt-get install apache2

Tämän jälkeen testasin että toimiiko apache kirjoittamalla palvelimeen <a href="http://localhost/" target=”_blank”>http://localhost ja esimerkki sivu pompahti esiin sieltä.

Tästä jatkoin Teron tekemien ”Demonien tekeminen” ohjeistuksella, ihan vaan muistuttaakseni miten tämän apachen kanssa taas toimittiinkaan. (http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4)

$ firefox http://localhost

Homma toimii!

Tsekkasin ipni
$ ip addr

kokeilin yhteyttä ip-osoitteella selaimessa

$ firefox http://10.0.2.15
Hyvin pelitti esimerkkisivu.

Userdir:in käyttöönotto
$ sudo a2enmod userdir

Apachen uudelleen käynnistys muutosten voimaantuloa varten
$ sudo /etc/init.d/apache2 restart

Olen jo kotihakemistossani, joten loin suoraan kansion public_html:ää varten

$ mkdir public_html

Katson ohjeiden mukaan nimeni

$ whoami -kristiina

Sitten sen tsekkaaminen selaimella

$ firefox http://localhost/~kristiina

Ja hakemistopolku näkyy selaimessa, ei siellä nyt mitään ole mutta toimivuus on todettu.

Tämän jälkeen saadakseni virtual hostin toimimaan, minun piti lisätä seuraavat tiedot tiedostoon apache2.conf, joka oli ohjeessa mitä seurasin tosin eriniminen koska sitä oli muutettu ubuntu versioon 13.10, ohjeessa siis lukee httpd.conf.
Valitettavasti lopulta päädyimme vaan tuijottelemaan tiedoston sisältöä muttemme sitten koskeneetkaan siihen.

Muutokset ja muokkaukset piti tehdä sites-availeble hakemiston conf. tiedostoihin, näissä tapauksissa Ubuntu 13.10 versio edellyttää .conf päätettä tai sivuja ei saa näkyviin selaimessa.

Tein aluksi kaikki muokkaukset 000-default.conf- tiedostoon, mallia:

NameVirtualHost *:80

ServerName http://www.kristiina.fifi
ServerAlias kristiina.fifi *.kristiina.fifi
DocumentRoot /var/www/kristiina

ServerName http://www.example.fifi
DocumentRoot /var/www/example

Tällä tavalla homma toimi examplella, mutta ei kristiinalla. Testailtuani selaimessa epäilimme aluksi että vika on nimen yleisyydessä, lopulta kuitenkin selvisi ongelman olleen .conf tiedostoissa.
Muutin ensin nimipalvelimen kisuksi, koska oletin että se oli ongelmana.

Googlettelun jälkeen yhdeksi ongelmaksi esitettiin myös että dnsmasq:in conffissa ei ole kaikki kohdallaan ja että sitä tulisi korjata hieman.

$ sudo nano /etc/NetworkManager/dnsmasq.d/hosts.conf

Ja tiedostoon lisätään tämä pätkä jotta voin luoda domain nimiä ilman että ne ovat oikeita.
addn-hosts=/etc/hosts

$ sudo mv kristiina kisu.conf

Ja sama muutos example-tiedoston suhteen.

$ sudo mv example example.conf

Tämän jälkeen kopioin 000-default.conf sisällön kisuun ja exampleen, jonka jälkeen siivosin sitten kaiken turhan sieltä pois. Virhe oli siis alunperinkin laittaa klummankin sivun conffaukset yhteen tiedostoon. Eli kisu:n ja example:n sisällöt olivat lopulta muotoa:

ServerName www.example.fifi
DocumentRoot /var/www/example

Ja samat kisuun, examplen tilalla vain kisu.

Tämän jälkeen pitää linkittää nämä conffitiedostot sites-enabled hakemistoon jotta ne oikeasti ladataan ja luetaan -> sivut näkyvätkin selaimessa. Komento seuraa:

$ sudo a2ensite example
Site www.example.fifi installed; run /etc/init.d/apache2 reload to enable.
$ sudo a2ensite kisu
Site www.kisu.fifi installed; run /etc/init.d/apache2 reload to enable.

Tämän jälkeen takaisin selaimeen tarkistamaan sivujen pelitys ja nyt vihdoinkin toimivat edes, eli tähän asti on päästy. Jatkoa seuraa sitten virtuaalipalvelimen kokeilun muodossa, toivottavasti homma lähtee pelittämään.

Lopuksi tuli mieleeni että tietenkin examplelle ja kisulle pitit tehdä omat hakemistonsa /var/www/ alaisuuteen

$ mkdir www.kisu.fifi
$ mkdir example


Klo La 1.3 klo 00.50

Su 2.3 klo 1230

Seuraavaksi oli vuorossa virtuaalipalvelimen kokeileminen. Valitsin Digital Oceanin palvelut osin opettajan ehdotuksesta, osin opiskelijakaverin suosituksesta. En omista luottokorttia niin tämä oli siitä miellyttävä vaihtoehto koska hyväksyy paypal-maksut myös, hinta ei myöskään ole liian kova (5$) joka tekee noin 4,5€/kk.

Perustin kisulan Digital Oceaniin, jossa sai otettua sitten terminaaliyhteyden kisulaan. Ajoin samat peruskomennot ensin, eli pakettien päivitykset ja asennukset.

$ apt-get update
$ apt-get upgrade

Tämän jälkeen kokeilin ottaa yhteyttä myös puttyn kautta windowssista, DigitalCloudista löytyy ohjeet siihen (https://www.digitalocean.com/community/articles/how-to-create-your-first-digitalocean-droplet-virtual-server). Seuraavaksi piti vielä vaihtaa rootin default sanalana komennolla:

$passwd

Joka sitten kysyy uutta salasanaa ja pyytää sen vielä uudelleen että salasana vaihtuu lopulta. Tämän jälkeen luon uuden käyttäjän jolle annan root oikeudet, ettei minun tarvitsisi kirjautua sisään roottina joka kerta.

$adduser catti
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
Changing the user information for catti
Enter the new value, or press ENTER for the default
Full Name []: Kristiina
Room Number []:
Work Phone []:
Home Phone []:
Other []:

Tämän jälkeen muokkaamaan sudo asetuksia

$ visudo

Jossa näkyy vastaavaa:

# User privilege specification
root    ALL=(ALL:ALL) ALL

Ja jonka perään lisäsin pätkän:

catti    ALL=(ALL:ALL) ALL

ctrl+x tallennettuna muutoksineen. Tämän jälkeen avasin uuden yhteyden juuri luomallani käyttäjällä ja hyvinhän tuo yhteys pelitti. Tämän jälkeen asentelin apachen palvelimelle päivityksineen puttyn kautta.

$ sudo apt-get install apache2
ja
$ sudo a2enmod userdir

$ sudo /etc/init.d/apache2 restart

ja

$ mkdir public_html

Tässä kohtaa jäin miettimään tarvitseeko minun laitella noita epäolemassaolevia domain nimiin koskevia asetuksia, mutta koska ilmeisesti Digital Ocean tarjoaa myös tämän palvelun, niin tein itselleni DNS:ksi http://www.kittipitti.comin jota voin kutsua suoraan sitten kun siihen vaiheeseen päästään.

Tämän tehtävän suhteen seurailin aiemmin tekemiäni vaiheita(ks. yllä) ja ainoa mikä aiheutti hämminkiä, oli uusi palvelu ja sen omat toiminnot. Jotka ovat vielä pieni mysteeri setvittäväksi. Eli loin http://www.kittipitti.com:lle oman .conf tiedoston sites-available hakemistoon ja linkitin http://www.kittipitti.com:in sites-enabled hakemistoon, tai siis tein tämän:

$ sudo a2ensite kittipitti

Ja tämän jälkeen apachen uudelleen käynnistys.

$ /etc/init.d/apache2 reload

Käyttäjäni sivut näkyivät kyllä, mutta kittipitti.com:in sivut eivät näkyneet selaimessa. Googlettelun jälkeen selvisi, ettei Digital Ocean tarjoakkaan DNS palvelua, joten poistin luomani kittipitti.com:in sieltä kokonaan turhana. Virtuaalipalvelin kuitenkin pelittää kuitenkin selaimessa, ettei ihan turhaa ole ollut tämän päivän pakertaminen. Jos minulla olisi DNS-nimi, niin sitten voisin liittää sen Digital Oceaniin. Kirjoittelin huvikseni pieniä muokkauksia index.html tiedostoon, vain varmistaakseni sen että se toimii. Noh toimiihan se. 🙂
DNS:sää en kuitenkaan lähtenyt hankkimaan budjetin takia.
Taukojen ja yleisen muun härväämisen ohella tämä työ saatiin päätökseen n. klo 1700.

Lähteet: