WordPressin asennus omalle linux virtuaalipalvelimelle

Tehtävänanto:

Tero Karvisen antama tehtävä linux kurssilla:

”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 plugin
– 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.”

Työympäristö

Viime kerralla otin käyttöön Amazonin tarjoaman Ubuntu virtuaalipalvelimen, jolle olen asentanut LAMPin eli LinuxApacheMySQL ja PHP kokonaisuuden. Ohjeet täällä. Nyt on tarkoitus laittaa toimiva worpress sivusto pystyyn kyseiselle palvelimelle osoitteeseen fayhra.com. Otetaan myös käyttöön permalinksit eli järkevät urlit, vaihdetaan teema ja asennetaan lisäosan Jetpack.

WordPressin asennus Ubuntuun

Kirjauduin palvelimelle Puttyn kautta. Latasin ensin WordPressin asennuspaketin komennolla: wget http://wordpress.org/latest.tar.gz. Nykyiseen kansioon latautui latest.tar.gz. Purin paketoinnin tar -xzvf latest.tar.gz. Esiin tuli kansio nimeltä wordpress ja kaikki tiedostot ovat sen sisällä. Siirretään se myöhemmin oikeaan paikkaan.

MySQL tietokannan valmistelu

WordPressiä varten täytyi luoda uusi tietokanta ja käyttäjätunnus. Kirjauduin ensin mysql tietokannan hallintaan juurikäyttäjänä mysql -u root -p  (tälle on asetettu salasana asennusvaiheessa, jos et muista sitä, niin aja komento sudo dpkg-reconfigure -plow phpmyadmin) ja loin uuden tietokannan wordpress sivustoa varten komennolla CREATE DATABASE wpfayhra;. Muista laittaa aina puolipiste komennon loppuun tietokantalauseissa. Sitten loin käyttäjän wordpress sivustoa varten CREATE USER wpuser_fayhra@localhost;. Sen jälkeen asetin salasanan luodulle käyttäjälle SET PASSWORD FOR wpuser_fayhra@localhost= PASSWORD(”*********”); (tähtien paikalle salasana). Tämän tekeminen taitaa olla tosin turhaan, koska laitamme salasanan seuraavassa komennossa. Tämän jälkeen annoin uudelle käyttäjälle oikeudet luotuun kantaan ”wpfayhra” GRANT ALL PRIVILEGES ON wpfayhra.* TO wpuser_fayhra@localhost IDENTIFIED BY ’*********’; (tähtien paikalle salasana). Sitten vielä päivitetään tilanne FLUSH PRIVILEGES; komennolla. Kaikkiin komentoihin mysql sanoi ”Query OK, …” eli komennot meni läpi. Show Databases komennolla tarkistin, että uusi kanta oli näkyvissä. Komennolla exit pääsee pois mysql:stä. Kirjauduin uudella käyttäjällä vielä mysql:ään tarkistaakseni toiminnan mysql -u wpuser_fayhra -p. Tietokannan listaus onnistui.

WordPressin asetukset

WordPressin asetuksia täytyy muuttaa, ennen kuin siihen pääsee käsiksi nettisivun kautta, josta voi muokata ulkonäön yms. Kopioin esimerkkiasetustiedostosta ensin kopion itselleni cp ~/wordpress/wp-config-sample.php ~/wordpress/wp-config.php. Sitten muokkasin tuota tiedostoa nano ~/wordpress/wp-config.php ja muutin käyttäjätunnuksen, tietokannan nimen ja salasanan näihin
kohtiin:

/** The name of the database for WordPress */
define('DB_NAME', 'wpfayhra');

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

/** MySQL database password */
define('DB_PASSWORD', 'ei-oikeasti-minun-salasanani');

Tallensin muutokset Ctrl+x, y ja enter.

WordPress tiedostojen kopiointi oikeaan paikkaan

Koska käytän käyttäjän kotihakemistoa nettisivuille, niin kopioin tiedostot kotihakemiston public_html kansioon. ”Normaalisti” tiedostot kopioitaisi /var/www/ kansion alle. Kopioin tiedostot komennolla rsync -avP ~/wordpress/ /home/fayhra/public_html/.

Php moduulin asennus

Asensin vielä php moduulin, joka tarvitaan, jotta WordPressin ohjattu asetussivu toimii sudo apt-get install php5-gd. 

Ohjattu asetus

Pääsin ohjattuun asetussivuun kiinni osoitteella http://www.fayhra.com/~fayhra/wp-admin/install.php. Tässä kysyttiin tiedot wordpress käyttäjälle. Annoin tiedot ja jatkoin eteenpäin; WordPress pyysi kirjautumaan sisään. Kirjautuminen ei kuitenkaan onnistunut. Kirjoitinkohan salasanan väärin vai menikö joku muu pieleen. Tutkin vaihtoehtojani tässä tilanteessa täältä. Päätin kokeilla vaihtaa salasanan phpmyadminin kautta tietokantaan. Toinen vaihtoehto olisi ollut vaihtaa se tietokantaan komentokehotteella. Avasin phpmyadmin sivut http://www.fayhra.com/phpmyadmin ja kirjauduin. Valitsin vasemmalta wpfayhra tietokannan ja sieltä wp_users. Listassa näkyi luomani käyttäjä ja salasanan paikalla siansaksaa. Valitsin rivin alusta muokkaa ja kirjoitin uuden salasanan user_pass kenttään. Funktio kenttään piti valita MD5, jonka jälkeen painoin siirry. Kokeilin kirjautumista uudelleen ja nyt onnistui. Pääsin tutun näköiseen wordpress hallintapaneeliin.

WordPress teeman vaihto

Ensin vaihdoin teeman. Selasin kivoja teemoja osoitteessa https://wordpress.org/themes/browse/popular/ ja valitsin tämän https://wordpress.org/themes/hemingway/. Se on itseasiassa sama teema kuin merimiettinen.wordpress.com sivulla. Lataus onnistui komennolla wget https://downloads.wordpress.org/theme/hemingway.1.54.zip. Yritin purkaa pakettia gzip ohjelmalla. Sain kuitenkin herjan kun yritän purkaa zip-tiedostoa:

gzip -d hemingway.1.54.zip
gzip: hemingway.1.54.zip: unknown suffix -- ignored

Googletus antoi hakutukseksi tämän ja ajoin komennon unzip, jolloin ubuntu kertoi, ettei sitä ole asennettuna:

unzip hemingway.1.54.zip
The program 'unzip' is currently not installed. You can install it by typing:
sudo apt-get install unzip

Siispä asensin unzip -ohjelman sudo apt-get install unzip ja ajoin komennon unzip hemingway.1.54.zip. Nyt onnisti. Kopioin hemingway kansion kohteeseen /public_html/wp-content/themes/ komennolla cp -r hemingway public_html/wp-content/themes/. Sitten menin WordPress ohjauspaneelin puolelle paikkaan appearence -> themes ja sinne oli ilmestynyt vaihtoehto Hemingway. Valitsin sen napista Activate. Tämän olisi voinut myös tehdä täysin web käyttöliittymästä.

Sisällön kopiointi toiselta WordPress sivustolta

Minulla on merimiettinen.wordpress.com sivusto ja haluaisin sisällön nyt tuolle uudelle wordpress palvelimelle. WordPress tarjoaa tähän työkalua ”WordPress Importer”, joka on plugin muodossa WordPress hallintapaneelin Tools -> Import -> WordPress. Install Now nappia painamalla pääsin ikkunaan, jossa kysyttiin FTP tunnuksia. Näinhän ei normaalisti wordpress tee, joten googletin jälleen ja löysin vastauksen. Komennolla sudo chown -R www-data:www-data /home/fayhra/public_html/ sain WordPressin toimimaan ja Plugin asennukset onnistui ongelmitta. Asensin tässä vaiheessa myös Jetpack pluginin Plugins -> Add New valikosta.

Otin exportin vanhasta merimiettinen.wordpress.com sivustosta ja tiedosto latautui tietokoneelleni xml muodossa. Menin uuden wordpress sivun hallintapaneeliin -> tools -> import ja valitsin tiedoston tietokoneeltani. Kaikki kirjoitukseni latautuivat sivustolle, mutta ulkoasu täytyy hioa uudelleen.

Asetin valikot toimimaan kuten ennenkin, eli minulla on kategorioita, joihin liitän artikkelit. Jokaisella kategorialla on oma valikko, esim. ”Linux”. Kävin painamassa Permalinkit ”post name” vaihtoehtoon. Vaihdoin vielä kuvan sivustolle.

Sivuston etusivu toimi, mutta en päässyt kategoriasivuille. Tämän täytyi aiheutua siitä, kun valitsin Permalinkkeihin ”post name”. Vaihdan siihen takaisin Custom ja /%category%/%postname%/, mutta silti ei toimi. Koitin poistaa kaikki kategoriat ja luoda ne uudelleen ja sitten liittää artikkelit niihin uudelleen. Sen jälkeen piti vielä muokata valikkoa Appearence -> Menus paikasta. Poistin vanhan valikon kokonaan ja loin uuden, johon lisäsin Etusivun linkkinä ja kaikki kategoriat. Valikot ilmestyivät näkyviin. Ne ei vaan vieläkään toimi. Myöskään ”recently published articles” kohdassa olevat linkit eivät toimi. Herjaksi tulee siis:

Not Found
The requested URL /~fayhra/linux/wordpressin-asennus-omalle-linux-virtuaalipalvelimelle/ was not found on this server.

Täytyy mennä nukkumaan välillä, joten jatkan myöhemmin..