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:

Jätä kommentti