Tag Archives: wordpress

Linux Palvelimena kotitehtävä #6 | WordPress & Joomla

Moi!

Linux Palvelimena kurssin kuudennen kotitehtävän tehtävänanto on seuraavanlainen:

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)

Harjoitus tehdään taas Xubuntu 13.10:llä jota ajetaan VirtualBoxin kautta.

Dokumentointi alkaa poikkeuksellisesti vasta LAMP:n asennuksen jälkeen. (apt-get install lamp-server^)

Aloitetaan lataamalla viimeisin versio WordPressistä ja purkamalla tarballi.

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

$ tar -xzvf latest.tar.gz

Luodaan WordPressille tietokanta ja käyttäjä.

Kirjaudutaan rootilla tietokantaan.

$ mysql -u root -p

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

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

mysql> SET PASSWORD FOR esa@localhost= PASSWORD(“xxxxx*”);
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO esa@localhost IDENTIFIED BY ‘xxxxx*’;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

mysql> exit
Bye

* (xxxxx = laitetaan siis tähän kohtaan ystävällisesti jokin vahva salasana)

Määritellään WordPress konfiguraatiot.

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

Muokataan seuraavia rivejä ja tallennetaan tiedosto.

define(‘DB_NAME’, ‘wordpress’);

/** MySQL database username */
define(‘DB_USER’, ‘esa’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘xxxxx);

Kopioidaan wordpress hakemisto /var/www/ hakemistoon.

$ sudo cp -R wordpress/ /var/www/

$ cd /var/www/

Annetaan apache-käyttäjälle omistajuus ko. Hakemistoon.

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

Viimeistellään itse WordPressin asennus. Selaimella osoitteeseen localhost/wordpress

wp_install_gui

Ta-daa, WordPress toimii.

Permalinkkien käyttöönotto.

Vaihdetaan permalinkit asetuksista. Otetaan vaihtoehto “post name”, eli esimerkki url olisi http://localhost/wordpress/sample-post/

Tallennetaan vaihtoehto ja luodaan esimerkkipostaus.

Testipostaus #1 on tehty ja jostain syystä tuo äskeinen permalink muutos ei toimi.

Katsotaan josko ystävämme Google auttaisi meitä tässä asiassa..

.. potentiaalinen ohje löytyy, testataan toimiiko. (http://wordpress.org/support/topic/how-to-fix-permalink-postname-404-not-found)

Mennään hakemistoon mihin asensimme WordPressin ja tehdään ohjeiden mukaisesti .htaccess tiedosto ja vaihetaan oikeuksia.

$ cd /var/www/wordpress/
$ sudo touch .htaccess
$ sudo chmod 666 .htaccess
$ sudo chown www-data:www-data .htaccess

Tässä vaiheessa ohjetta luki, että pitää käydä vaihtamassa permalink takaisin oletukseen ja takaisin haluttuun.

Katsotaan .htaccess tiedoston sisältöä

$ less .htaccess

# BEGIN WordPress

RewriteEngine On
RewriteBase /wordpress/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /wordpress/index.php [L]

# END WordPress

$ sudo a2enmod rewrite
$ sudo service apache2 restart

Kuitenkaan tämänkään jälkeen permalinkit eivät toimi.. Google paljastaa, että AllowOwerride hakemistossa /var/www on poissa käytöstä ja se pitäisi sallia.

$ cd /etc/apache2/

$ sudoedit apache2.conf

Options Indexes FollowSymLinks
AllowOverride None
Require all granted

Muutetaan → AllowOverride All

Käynnistetään Apache uudestaan

$ sudo service apache2 restart

Katsotaan WordPressistä, jos nyt toimisi permalinkit.

wp_permlink_working

Toimii!

Teeman vaihtaminen onnistuu WordPressin hallintapaneelista. Appearance – Themes. Oletuksena löytyy kolme teemaa ja valitsemme niistä Twenty Thirteen nimisen simppelisti painamalla “Activate” kyseessä olevan teeman kohdalta.

theme_changed_wp

DoFollow-pluginin asennus (https://kimmo.suominen.com/sw/dofollow/)

DoFollow niminen plugin saadaan asennettua seuraavanlaisesti.

$ cd /var/www/wordpress/wp-content/plugins/
$ wget https://kimmo.suominen.com/sw/dofollow/dofollow.php

WordPress hallintapaneelista kohtaan Plugins ja DoFollow näkyy listassa, painetaan Activate ja Plugin on onnistuneesti käytössä.

Joomlan asennus

Luodaan tilapäinen hakemisto johon ladataan Joomlan tarballi.

$ mkdir temp
$ cd temp/

$ wget http://joomlacode.org/gf/download/frsrelease/17410/76021/Joomla_2.5.7-Stable-Full_Package.tar.gz

Puretaan se /var/www hakemistoon

$ sudo tar zxvf Joomla_2.5.7-Stable-Full_Package.tar.gz -C /var/www

Luodaan configuration.php tiedosto ja muutetaan tilapäisesti oikeuksia.

$ sudo touch /var/www/configuration.php
$ sudo chmod 777 /var/www/configuration.php

Luodaan tietokanta nimeltä joomla.

$ mysql -u root -p

CREATE DATABASE joomla;
Query OK, 1 row affected (0.00 sec)
mysql> CREATE USER juser@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> SET PASSWORD FOR juser@localhost= PASSWORD(“xxxxx”);
Query OK, 0 rows affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON joomla.* TO juser@localhost IDENTIFIED BY ‘xxxxx’;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.00 sec)

exit

Tämän jälkeen localhost selaimeen ja aukeaa Joomla. Määritysten jälkeen sanotaan, että pitää deletoida installation kansio. Sen poistin /var/www/ hakemistosta.

$ sudo rm -rf /var/www/installation

Ja muutin oikeudet takaisin tuohon configuration.php tiedostoon.

$ sudo chmod 755 /var/www/configuration.php

Kuitenkaan, jostain syystä en pääse kirjautumaan minun joomla sivulleni vaikka käyttäjän olen luonut.

joomla_wp

WordPressin asentaminen omalle VPS:lle

Koska edellisen kotitehtävän takia hommasin oman VPS:n, päätin myös ostaa halvalla domainin ja asentaa WordPressin myös sinne. Asennus onnistui juurikin noilla ohjeilla, paitsi AllowOverride oli toisessa paikkaa. (/etc/apache2/sites-available/default)

Virtuaalipalvelimella myös pyörii irssi jota käytän luonnollisesti siis irkkaamiseen.

Lähteet:

https://codex.wordpress.org/Installing_WordPress#Detailed_Instructions
https://www.digitalocean.com/community/articles/how-to-install-wordpress-on-ubuntu-12-04
http://stackoverflow.com/questions/12410921/permalinks-in-wordpress-page-not-found
http://wordpress.org/support/topic/how-to-fix-permalink-postname-404-not-found
https://kimmo.suominen.com/sw/dofollow/
https://www.digitalocean.com/community/articles/how-to-install-joomla-on-a-virtual-server-running-ubuntu-12-04
https://help.ubuntu.com/community/ApacheMySQLPHP
https://www.digitalocean.com/community/questions/wordpress-permalinks-broken
https://www.digitalocean.com/community/questions/ubuntu-12-04-lamp-wordpress-htaccess-errors