WordPress julkaisualusta

Viikon harjoitustehtäviksi valitsin:

  • Asenna WordPress, aloita tyhjältä koneelta (vagrant tai liveromppu).Ota järkevät URLit (permalinks) käyttöön. Vaihda teema. Kirjoita esimerkkiartikkeli ja varmuuskopioi sisältö.
  • Suojaa kone tulimuurilla.
  • Tee WordPressiin oma teema

Tehtävässä käytin koulun kannettavaa tietokonetta:

malli                         HP EliteBook-2560p
suoritin                     Intel i5-2450M  2.50 GHz
muisti                       7.71 GiB
kovalevy                  465.8 GiB
käyttöjärjestelmä     Ubuntu 12.10

Aloitus puhtaalta pöydältä

Käytin kurssin alussa suositeltua Xubuntu 12.10 käyttöjärjestälmänä tähän asti. Olin tyytyväinen live usb:n toimintaan, paitsi usb-tikun luonnin yhteydessä asetin usb:n muistamaan live käytön aikana tehdyt muutokset usb:n muistille. Harjoitusten edetessä usb:lle tallentui mm. apache ja siihen tehdyt muutokset, joten en enään pystynyt aloittamaan puhtaasti alusta joka kerta.

Latausosoite: http://www.ubuntu.com/start-download?distro=desktop&bits=64&release=latest

Asennuksessa käytin Xubuntun työkalua Startup Disk Creator (usb-creator-kde).
Asennus oli pitkälle automatisoitu, valitsin asetuksista live usb:n asetuksien tyhjentymään sammutuksen yhteydessä.

Päätin asentaa tikulle Ubuntu 12.10 käyttöjärjestelmän, jossa on enemmän ominaisuuksia. Ubuntu on myös graafisesti näyttävämpi, joka kuluttaa myös enemmän resursseja.

Asensin siis Ubuntu 12.10 julkaisun, asennus oli lähes identtinen Xubuntun asennuksen kanssa.
työpöytä

Asennuksen jälkeen suoritin terminaalissa komennot:
sudo apt-get update
sudo apt-get upgrade
päivittääkseni käyttöjärjestelmän.

LAMP

Seuraavaksi asensin sisällönhallintajärjestelmiä varten LAMP-alustan eli Linux, Apache, MySql, PHP.

Apache

Apachen asensin jo tutulla komennolla
sudo apt-get install apache2
ja otin käyttäjien kotihakemistot apachen käyttöön komennolla
sudo a2enmod userdirapache piti vielä käynnistää uudelleen, jotta asetukset tulevat voimaan:
sudo service apache2 restart

MySql

Tietokantaa varten tarvitaan MySql, jonka asensin komennolla:
sudo apt-get install mysql-serverseuraavaksi asennus kysyi salasanaa MySql root-käyttäjälle
mysql
Annoin vahvan salasanan; isoja sekä pieniä kirjaimia, numeroita ja erikoismerkkejä.

Avasin MySql:n root käyttäjänä tehdäkseni uuden käyttäjän sekä tietokannan:
mysql -u root -p

Tein tietokannan worpressiä varten mysql komennolla:
create database db_jukka;

Tein tietokantaa varten uuden MySql käyttäjän, jolle annoin oikeudet kyseiseen tietokantaan:
grant all on db_jukka.* to u_jukka@localhost identified by “annoin_vahvan_salasanan”;

PHP

Aloitin asennuksen komennolla
sudo apt-get install php5

Php:n suoritus tulee ottaa vielä erikseen apachen käyttöön kotihakemistoissa muokkaamalla /etc/apache2/mods-available/php5.conf tiedostoa. Kommentoimalla punaiset rivit pois käytöstä #-merkeillä.

<IfModule mod_php5.c>
    <FilesMatch "\.ph(p3?|tml)$">
        SetHandler application/x-httpd-php
    </FilesMatch>
    <FilesMatch "\.phps$">
        SetHandler application/x-httpd-php-source
    </FilesMatch>
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
#    <IfModule mod_userdir.c>
#        <Directory /home/*/public_html>
#            php_admin_value engine Off
#        </Directory>
#    </IfModule>
</IfModule>

Tein kansion public_html kotihakemistooni komennolla:
mkdir public_html
hakemistoon tein testitiedoston:
nano test.php
sisällöksi:

<?php phpinfo(); ?>

Asennus onnistui;
php

WordPress asennus

Aloitin lataamalla asennustiedoston osoitteesta: http://wordpress.org/latest.tar.gz

Purin tiedoston kansioon komennolla:
 tar -xvf wordpress-3.5.1.tar.gz -C /home/jukka/public_html

Komennon tar valinta x purkaa tiedoston, valinta v listaa puretut tiedostot ja valinta f määrittää purettavan tiedostonimen. Valinta -C purkaa tiedoston määrättyyn polkuun.

Avasin selaimella wordpress kansion:

http://localhost/~jukka/wordpress/

Selaimeen tuli vain virheilmoitus:
Your PHP installation appears to be missing the MySQL extension which is required by WordPress.

Olin unohtanut asentaa php moduulin MySql varten, asensin puuttuvan osan komennolla:
sudo apt-get install php5-mysql

Aloitin asennuksen painamalla Create a Configuration File
wordpressasennus1

Seuraavaksi aukesi ikkuna, johon syötin tekemäni tietokannan tiedot:
wordpressasennus2

Seuraavassa ikkunassa kerrottiin ettei ohjattu asennus onnistunut, vaan asetustiedosto piti tehdä manuaalisesti.
wordpressasennus3

Tein tiedoston nanolla asennuskansioon:
nano wp-config.php
tiedoston sisällöksi kopioin ikkunassa olleen tekstin.

Seuraavaksi pyydettiin uuden tilin perustiedot:
wordpressasennus4

WordPress asentui onnistuneesti!
wordpressasennus5

Permalink

Muokkasin linkkien muodostuksen määräytymään blogimerkinnän otsikon mukaan.
Valitsin settings valikosta kohdan permalinks ja valitsin kohdan post name:
permalinks

Blogimerkintä

Blogimerkinnän tein valikosta posts -> add new.
Otsikoksi kirjoitin Testi ja sisällöksi testi.
testipostaus

Blogimerkintää ei kuitenkaan päässyt katsomaan, apache antoi 404-virheen; sivua ei löydy.
Wordpress sivu neuvoi luomaan .htaccess tiedoston wordpress kansion juureen, tein sen komennolla:
nano .htaccess
sisällöksi:

<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /~jukka/wordpress/
RewriteRule ^index\.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /~jukka/wordpress/index.php [L]
</IfModule>

Temppu ei kuitenkaan tehonnut.
Tutkittuani ongelmaa lisää havaitsin että rewrite moduuli pitää vielä ottaa apachen käyttöön. Moduuli oli kansiossa /etc/apache2/mods-available, jonka kopioin kansioon mods-enabled komennolla:
sudo cp rewrite.load /etc/apache2/mods-enabled/
ja käynnistin apachen uudelleen:
sudo service apache2 restart

Nyt sivu näkyi:
testi

Teeman luonti

Teeman luontiin löytyi loistava ohje: http://www.siteground.com/tutorials/wordpress/wordpress_create_theme.htm

WordPressin teemat on kansiossa wordpress/wp-content/themes.
Aloitin luomalla kansioon themes kansion oma_teema.
mkdir oma_teema

Teema koostuu tiedostoista, jotka määräävät teeman ulkoasun.
header.php
index.php
sidebar.php
footer.php
style.css

Ne tein nanolla kansioon oma_teema.

Sisällöksi tehtyihin php ja css tiedostoihin kirjoitin:

header.php

<html>
<head>
<title>Tutorial theme</title>
<link rel=”stylesheet” href=”<?php bloginfo(‘stylesheet_url’); ?>”>
</head>
<body>
<div id=”wrapper”>
<div id=”header”>
<h1>HEADER</h1>
</div>

index.php

<?php get_header(); ?>

<div id=”main”>
<div id=”content”>
<h1>Main Area</h1>
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<h1><?php the_title(); ?></h1>
<h4>Posted on <?php the_time(‘F jS, Y’) ?></h4>
<p><?php the_content(__(‘(more…)’)); ?></p>
<hr>
<?php endwhile; else: ?>
<p><?php _e(‘Sorry, no posts matched your criteria.’); ?></p>
<?php endif; ?>
</div>

<?php get_sidebar(); ?>

</div>

<div id=”delimiter”></div>

<?php get_footer(); ?>

sidebar.php

<div id=”sidebar”>
<h2><?php _e(‘Categories’); ?></h2>
<ul>
<?php wp_list_cats(‘sort_column=name&optioncount=1&hierarchical=0′); ?>
</ul>

<h2><?php _e(‘Archives’); ?></h2>
<ul>
<?php wp_get_archives(‘type=monthly’); ?>
</ul>
</div>

footer.php

<div id=”footer”>
<h1>FOOTER</h1>
</div>

</div>

</body>
</html>

style.css

body {
text-align: center;
}

#wrapper {
display: block;
border: 1px #a2a2a2 solid;
width:90%;
margin:0px auto;
}

#header {
border: 2px #a2a2a2 solid;
}

#content {
width: 75%;
border: 2px #a2a2a2 solid;
float: left;
}

#sidebar {
width: 23%;
border: 2px #a2a2a2 solid;
float: right;
}

#delimiter {
clear: both;
}

#footer {
border: 2px #a2a2a2 solid;
}

.title {
font-size: 11pt;
font-family: arial;
font-weight: bold;
}

Teeman käyttöönotto

Otin uuden teeman käyttöön valikosta Appearance -> Themes
teemasivu

Valitsin juuri tehdyn oma_teema:n (save & activate).
Joka oli todella esteettinen:
testiteema

Varmuuskopiointi

Varmuuskopioin WordPress blogin sisällön (all content).
Valitsin valikosta Tools -> export -> Download Export File
varmuuskopiointi
Ladatun xml tiedoston pystyy palauttamaan Tools valikon Import kohdasta.

Palomuuri

Tarkistin käyttöjärjestelmän palomuurin tilan komennolla:
sudo ufw status verbose
vastaukseksi tuli
Status: inactive

Otin palomuurin käyttöön komennolla
sudo ufw enable
vastaukseksi tuli
Firewall is active and enabled on system startup

Palomuuri esti nyt kaiken tulevan liikenteen.
Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

Halusin sallia saapuvat ssh ja http yhteydet, sillä harjoituksessa kyseessä oli web-palvelin. Yhteydet sallin komennoilla:
sudo ufw allow http
sudo ufw allow ssh

Palomuurin tila oli nyt:

Status: active
Logging: on (low)
Default: deny (incoming), allow (outgoing)
New profiles: skip

To                         Action      From
–                         ——      —-
22                         ALLOW IN    Anywhere
80                         ALLOW IN    Anywhere
22                         ALLOW IN    Anywhere (v6)
80                         ALLOW IN    Anywhere (v6)

Työ

Tehtävien tekemiseen meni aikaa n. 8 tuntia.

Lähteet

About these ads

3 comments

  1. Pingback: Varnish ja Apachen suorituskyky | Jukka Pentti
  2. Pingback: Apache ja verkkosivujen optimointi | Jukka Pentti

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Connecting to %s