Tero Karvinen says: w07 Tue 2013-02-12 at 15:09
12.3.2013
6.3.2013
Linux palvelimena, kotitehtävä 4: Wordpressin asentaminen
Tero Karvinen says: w06 Tue 2013-02-05 at 15:28
Tee ja raportoi kaksi näistä viidestä vaihtoehdosta
a) Asenna WordPress, aloita tyhjältä koneelta (vagrant tai liveromppu).
Ota järkevät URLit (permalinks) käyttöön. Vaihda teema. Kirjoita esimerkki
artikkeli ja varmuuskopioi sisältö. Suojaa kone tulimuurilla.
b) Tee WordPressiin oma teema
c) Asenna Drupal ja kokeile sitä
d) Tee WordPressiin oma plugin
e) Tee yksinkertainen CRUD-ohjelma PHP:lla ja MySQL:ä
Tämän viikon kotitehtävä piti valita ylläolevasta listasta.
Valitsin ensimmäiseksi tehtäväksi Wordpressin asentamisen tyhjälle koneelle.
Wordpressin asennus:
Tehtävään käytettävä kone:
MSI P35 Neo
Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
4 GB muistia
Käyttöjärjestelmänä Xubuntu 12.04 liveusb:lta buutattuna.
Ensimmäiseksi pitää asentaa LAMP-stackin muut osat, eli apache, php ja mysql.
$ setxkbmap fi suominäppis
$ sudo apt-get update pakettilistauksen päivitys
Ja sitten vain ohjelmien asennukseen...
$ sudo apt-get install apache2
Testaus localhostilla että toimii, jonka jälkeen kotihakemistot käyttöön ja Apachen uudelleenkäynnistys
$ sudo a2enmod userdir Kotihakemistojen käyttöönotto
$ sudo service apache2 restart Apachen uudelleen käynnistys
Seuraavaksi tein kotihakemistoon public_html kansion ja sinne nanolla index.html tiedoston Hei, Maailma sisältöisenä
$ cd
$ mkdir public_html
$ nano index.html
Testasin toimivuuden avaamalla Firefoxiin localhost/~xubuntu, ja totesin käyttäjäkohtaisen kansion toimivuuden.
Seuraavaksi asensin PHP:n komennolla
$ sudo apt-get install libapache2-mod-php5
ja kävin ottamassa php:n käyttöön käyttäjille muokkaamalla php5.conf tiedostoa
$ sudo nano /etc/apache2/mods-enabled/php5.conf
ja käynnistin apachen uudelleen.
$ sudo service apache2 restart
Seuraavaksi testasin PHP:n toimivuuden käyttämällä Tero Karvisen mallikoodia.
$ nano ~/public_html/hello.php
Testasin tämä taas menemällä Firefoxilla http://localhost/~xubuntu/hello.php ja totesin PHP:n toimivaksi.
Seuraavaksi asensin MySQL:n komennolla:
$ sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
ja annoin asennuksen aikana salasanan MySQL:n rootille.
Asensin vielä phpMyAdminin jos sattuisin sitä tarvitsemaan
$ sudo apt-get install phpmyadmin
Seuraavaksi asensin ja purin Wordpressin viimeisimmän version:
$wget http://wordpress.org/latest.tar.gz
$tar xf latest.tar.gz
Tämän jälkeen palasin luomaan tietokannan Wordpressille.
$ mysql -u root -p
ja kirjauduttiin sisään aikaisemmin antamalla vahvalla salasanalla.
Luodaan Wordpressille tietokanta:
mysql> CREATE DATABASE wptesti;
ja luodaan käyttäjätunnus
mysql> CREATE USER wptestidude@localhost IDENTIFIED BY 'tähänihantuskaisenhyväsalasana';
ja annetaan oikeudet tietokantaan
mysql> GRANT ALL PRIVILEGES ON wptesti.* TO wptestidude@localhost;
Näin tietokanta ja käyttäjä on luotu WordPressiä varten, ja voidaan siirtyä sen asentamiseen.
Aloitin WP:n asennuksen kirjoittamalla firefociin sen osoitteen http://localhost/~xubuntu/wordpress/ ja aloin luomaan pyydettyä asetustiedostoa..

..antamalla pyydetyt tiedot..
...asennusohjelma ei kuitenkaan saanut tiedostoa tehtyä, joten luotiin tämä wp-config.php manuaalisesti wordpressin kansioon,ja kopioitiin siihen annettu koodi.
$ cd ~/public_html/wordpress
$ nano wp-config.php
Tämän jälkeen palatiin firefoxiin ja ajettiin asennus, johon annettiin sivujen otsikko, käyttäjänimi, salasana, e-mail osoite ja valinta saako hakukoneet löytää sivun.
Nämä tiedot annettuani, pääsikin jo Wordpressiin kirjautumaan.
Tämän jälkeen homma onkin muokkausta oman mielen mukaisesti.
Tehtävässä kuitenkin pyydettiin ottamaan permalinksit käyttöön, joten valitsin settings valikon alta permalinks osion ja valitsin haluamani tyylin. Tämän jälkeen ohjelma käski päivittää .htaccess tiedostoon valmiin koodin, joten otin siitä kopion ja liitin sen suoraan tiedostoon.
Unohdin tässä kohtaa enabloida mod_rewriten, eikä permalinksit toimineet.
Siispä:
$ sudo a2enmod rewrite
ja uudelleen käynnistys
$ sudo service apache2 restart.
Ja niin lähti permalinksit toimimaan...
Teeman vaihtaminen onnistuu kätevästi Appearance -> themes -valikosta, josta voi valita haluamansa ulkoasun. Valinnan jälkeen tein vielä testipostauksen...
Varmuuskopiointi onnistuu mainiosti Tools ->export valikosta, josta voi valita mitä otetaan talteen. Itse otin toki kaiken. Tällöin luodaan xml-tiedosto, joka pitää sisällään kaiken sivuston materiaalin, kommentit, artikkelit, kommentit jne.
Lopuksi piti suojata kone vielä tulimuurilla.
$ sudo ufw allow 80/tcp
$ sudo ufw allow 22/tcp
Konfiguroitiin muuri sallimaan HTTP ja SSH porttien yhteydet.
Tämän jälkeen vielä käynnistin muurin ja tarkastin sen toimivuuden.
$ sudo ufw enable
$ sudo ufw status
Näin on tehtävä valmis, mutta toinen tehtävä jatkuu myöhemmin...
Lähteet:
http://terokarvinen.com/fedora_linux_apache_mysql_php.html
http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013
a) Asenna WordPress, aloita tyhjältä koneelta (vagrant tai liveromppu).
Ota järkevät URLit (permalinks) käyttöön. Vaihda teema. Kirjoita esimerkki
artikkeli ja varmuuskopioi sisältö. Suojaa kone tulimuurilla.
b) Tee WordPressiin oma teema
c) Asenna Drupal ja kokeile sitä
d) Tee WordPressiin oma plugin
e) Tee yksinkertainen CRUD-ohjelma PHP:lla ja MySQL:ä
Tämän viikon kotitehtävä piti valita ylläolevasta listasta.
Valitsin ensimmäiseksi tehtäväksi Wordpressin asentamisen tyhjälle koneelle.
Wordpressin asennus:
Tehtävään käytettävä kone:
MSI P35 Neo
Intel(R) Core(TM)2 Duo CPU E8400 @ 3.00GHz
4 GB muistia
Käyttöjärjestelmänä Xubuntu 12.04 liveusb:lta buutattuna.
Ensimmäiseksi pitää asentaa LAMP-stackin muut osat, eli apache, php ja mysql.
$ setxkbmap fi suominäppis
$ sudo apt-get update pakettilistauksen päivitys
Ja sitten vain ohjelmien asennukseen...
$ sudo apt-get install apache2
Testaus localhostilla että toimii, jonka jälkeen kotihakemistot käyttöön ja Apachen uudelleenkäynnistys
$ sudo a2enmod userdir Kotihakemistojen käyttöönotto
$ sudo service apache2 restart Apachen uudelleen käynnistys
Seuraavaksi tein kotihakemistoon public_html kansion ja sinne nanolla index.html tiedoston Hei, Maailma sisältöisenä
$ cd
$ mkdir public_html
$ nano index.html
Testasin toimivuuden avaamalla Firefoxiin localhost/~xubuntu, ja totesin käyttäjäkohtaisen kansion toimivuuden.
Seuraavaksi asensin PHP:n komennolla
$ sudo apt-get install libapache2-mod-php5
ja kävin ottamassa php:n käyttöön käyttäjille muokkaamalla php5.conf tiedostoa
$ sudo nano /etc/apache2/mods-enabled/php5.conf
ja käynnistin apachen uudelleen.
$ sudo service apache2 restart
Seuraavaksi testasin PHP:n toimivuuden käyttämällä Tero Karvisen mallikoodia.
<?php echo "Hello PHP World, 2+2 is " . (2+2); ?>$ nano ~/public_html/hello.php
Testasin tämä taas menemällä Firefoxilla http://localhost/~xubuntu/hello.php ja totesin PHP:n toimivaksi.
Seuraavaksi asensin MySQL:n komennolla:
$ sudo apt-get install mysql-server libapache2-mod-auth-mysql php5-mysql
ja annoin asennuksen aikana salasanan MySQL:n rootille.
Asensin vielä phpMyAdminin jos sattuisin sitä tarvitsemaan
$ sudo apt-get install phpmyadmin
Seuraavaksi asensin ja purin Wordpressin viimeisimmän version:
$wget http://wordpress.org/latest.tar.gz
$tar xf latest.tar.gz
Tämän jälkeen palasin luomaan tietokannan Wordpressille.
$ mysql -u root -p
ja kirjauduttiin sisään aikaisemmin antamalla vahvalla salasanalla.
Luodaan Wordpressille tietokanta:
mysql> CREATE DATABASE wptesti;
ja luodaan käyttäjätunnus
mysql> CREATE USER wptestidude@localhost IDENTIFIED BY 'tähänihantuskaisenhyväsalasana';
ja annetaan oikeudet tietokantaan
mysql> GRANT ALL PRIVILEGES ON wptesti.* TO wptestidude@localhost;
Näin tietokanta ja käyttäjä on luotu WordPressiä varten, ja voidaan siirtyä sen asentamiseen.
Aloitin WP:n asennuksen kirjoittamalla firefociin sen osoitteen http://localhost/~xubuntu/wordpress/ ja aloin luomaan pyydettyä asetustiedostoa..

..antamalla pyydetyt tiedot..
...asennusohjelma ei kuitenkaan saanut tiedostoa tehtyä, joten luotiin tämä wp-config.php manuaalisesti wordpressin kansioon,ja kopioitiin siihen annettu koodi.
$ cd ~/public_html/wordpress
$ nano wp-config.php
Tämän jälkeen palatiin firefoxiin ja ajettiin asennus, johon annettiin sivujen otsikko, käyttäjänimi, salasana, e-mail osoite ja valinta saako hakukoneet löytää sivun.
Nämä tiedot annettuani, pääsikin jo Wordpressiin kirjautumaan.
Tämän jälkeen homma onkin muokkausta oman mielen mukaisesti.
Tehtävässä kuitenkin pyydettiin ottamaan permalinksit käyttöön, joten valitsin settings valikon alta permalinks osion ja valitsin haluamani tyylin. Tämän jälkeen ohjelma käski päivittää .htaccess tiedostoon valmiin koodin, joten otin siitä kopion ja liitin sen suoraan tiedostoon.
Unohdin tässä kohtaa enabloida mod_rewriten, eikä permalinksit toimineet.
Siispä:
$ sudo a2enmod rewrite
ja uudelleen käynnistys
$ sudo service apache2 restart.
Ja niin lähti permalinksit toimimaan...
Teeman vaihtaminen onnistuu kätevästi Appearance -> themes -valikosta, josta voi valita haluamansa ulkoasun. Valinnan jälkeen tein vielä testipostauksen...
Varmuuskopiointi onnistuu mainiosti Tools ->export valikosta, josta voi valita mitä otetaan talteen. Itse otin toki kaiken. Tällöin luodaan xml-tiedosto, joka pitää sisällään kaiken sivuston materiaalin, kommentit, artikkelit, kommentit jne.
Lopuksi piti suojata kone vielä tulimuurilla.
$ sudo ufw allow 80/tcp
$ sudo ufw allow 22/tcp
Konfiguroitiin muuri sallimaan HTTP ja SSH porttien yhteydet.
Tämän jälkeen vielä käynnistin muurin ja tarkastin sen toimivuuden.
$ sudo ufw enable
$ sudo ufw status
Näin on tehtävä valmis, mutta toinen tehtävä jatkuu myöhemmin...
Lähteet:
http://terokarvinen.com/fedora_linux_apache_mysql_php.html
http://terokarvinen.com/2012/aikataulu-linux-palvelimena-ict4tn003-7-ict4tn003-kevaalla-2013
Tilaa:
Blogitekstit (Atom)







Tee kaksi seuraavista
a) Asenna Varnish. Muuta jotain sen asetusta VCL-kielellä (esim iso-kuvat suoraan läpi – ei välimuistiin)
b) Analysoi ja nopeuta weppisivua YSlow -lisäkkeen avulla
c) Analysoi ja nopeuta weppisivua Firebug -lisäkkeen Net-välilehden avulla
d) Etsi jokin nopeuden analysoinnissa auttava palvelu wepistä ja käytä sitä
f) Asenna nginx käänteisproxyksi
Tästä lähdin tahkoamaan ensimmäisenä Varnishin asennusta ja testausta.
Tehtävään käytettävä kone:
HP elitebook 2530p
Core2Duo L9400 1,86 GHz
4 GB muistia
Käyttöjärjestelmänä Xubuntu 12.04 32-bit.
Koneeseen oli jo valmiiksi asennettu toimiva LAMP-stack ja wordpress, joten lähdin testaamaan olemassa olevan sivuston suorituskykyä.
Perinteiseen tapaan aloitus:
$ sudo apt-get update
ja vielä päivitys
$ sudo apt-get upgrade -y
Testataan suorituskykyä Apache Benchmarkilla ja lähetetään palvelimelle 400 yhteyspyyntöä, joista 200 samanaikaisesti:
$ ab -n 800 -c 400 http://localhost/~a1003594/wordpress/
Tuloksena saatiin seuraavaa:
Concurrency Level: 400
Time taken for tests: 5.107 seconds
Complete requests: 800
Failed requests: 144
(Connect: 0, Receive: 0, Length: 144, Exceptions: 0)
Write errors: 0
Non-2xx responses: 656
Keep-Alive requests: 656
Total transferred: 404352 bytes
HTML transferred: 209920 bytes
Requests per second: 156.65 [#/sec] (mean)
Time per request: 2553.410 [ms] (mean)
Time per request: 6.384 [ms] (mean, across all concurrent requests)
Transfer rate: 77.32 [Kbytes/sec] received
800 pyynnöstä 144 epäonnistui, ja palvelin pystyi käsittelemään 156 pyyntöä sekunnissa.
Seuraavaksi asennetaan Varnish ja kokeillaan samaa sen kanssa.
$ sudo apt-get install varnish -y
jonka jälkeen asetettiin varnish kuuntelemaan porttia 80:
$ sudo nano /etc/default/varnish
Muutetaan seuraavalla tavalla:
DAEMON_OPTS="-a :80 \
jonka jälkeen muutetaan ports.conffia
$ sudo nano /etc/apache2/ports.conf
NameVirtualHost *:8080
Listen 8080
Virtuaalipalvelimen asetuksia muokattiin seuraavasti:
$ sudo nano /etc/apache2/sites-available/testsite.com
<VirtualHost *:8080>
ServerName www.testsite.com
ServerAlias testsite.com
DocumentRoot /home/a1003594/public_html/testsite.com
</VirtualHost>
ja sama muutos tehtiin default-virtuaalipalvelimelle.
Tämän jälkeen käynnistettiin apache uudelleen, sekä testasin porttiohjauksen toimivuuden surffaamalla osoitteeseen localhost:8080, joka toimi mainosti. Sen jälkeen käynnistin vielä Varnishin uudelleen:
$ sudo service varnish restart
Ajoin seuraavaksi samat 800 yhteyspyyntöä kuin aikaisemminkin seuraavin tuloksin:
Concurrency Level: 400
Time taken for tests: 0.110 seconds
Complete requests: 800
Failed requests: 0
Write errors: 0
Keep-Alive requests: 0
Total transferred: 759190 bytes
HTML transferred: 577600 bytes
Requests per second: 7291.89 [#/sec] (mean)
Time per request: 54.855 [ms] (mean)
Time per request: 0.137 [ms] (mean, across all concurrent requests)
Transfer rate: 6757.72 [Kbytes/sec] received
Nopeus oli siis parantunut huomattavasti. Yksikään yhteys ei epäonnistunut, ja yhteyksiäkin pystyttiin jo käsittelemään hulppeasti melkein 7300 sekunnissa. Kaiken kaikkiaan Varnish tekee siis sen minkä lupaakin.
Vielä piti muokata jotain Varnishin asetusta VCL-kielellä. Kun en muutakaan keksinyt, tein serverin nimen muuttamisen niin kuin moni muukin.
$ sudo nano /etc/varnish/default.vcl
unset.beresp.http.Server;
set beresp.http.Server = “SeveriServeri”;
Varnishin uudelleen käynnistys ja kokeilu curlilla
$ curl -I http://localhost
HTTP/1.1 200 OK
Vary: Accept-Encoding
Content-Type: text/html;charset=UTF-8
Server: SeveriServeri
Date: Tue, 12 Mar 2013 21:12:48 GMT
X-Varnish: 1150814261
Age: 0
Via: 1.1 varnish
Connection: keep-alive
Ja näin on serverin nimi muutettu. Sitä missä muualla se näkyy kuin curlissa, en tiedä.