24
Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2 04.12.2013 WordPress Multisite – Asennus ja ylläpito Tässä dokumentissa käydään läpi kokonaan WordPress Multisiten asennus ja yleinen ylläpito step-by-step tyylisesti puhtaalle palvelimelle. Käyttöjärjestelmänä käytetään Xubuntu 13.04. Dokumentissa käydään läpi seuraavat asiat: LAMP:n asennus Palvelimen nimipohjaisuus WordPressin asennus WordPress Multisiten asennus WordPress Multisiten ylläpito Reverse proxyn asennus WordPressin varmuuskopiointi Varmuuskopion palautus WordPressin päivitys Huom. suluilla merkityt vaiheet eivät ole toiminnan kannalta pakollisia, mutta ne ovat silti suositeltavia. Sisällysluettelo LAMP............................................................................................................................................. 2 LAMP:n testaus.......................................................................................................................... 4 Palvelimen nimipohjaisuus............................................................................................................. 5 Nimipohjaisuuden testaus........................................................................................................... 6 WordPressin asennus....................................................................................................................... 7 WordPress Multisiten asennus....................................................................................................... 10 WordPress Multisite ylläpito......................................................................................................... 12 Käyttäjien lisäys........................................................................................................................ 12 Sivujen lisäys............................................................................................................................ 12 Teemojen ja pluginien asennus................................................................................................. 13 Reverse Proxyn asennus................................................................................................................ 15 WordPressin varmuuskopiointi..................................................................................................... 18 Varmuuskopion palautus............................................................................................................... 20 WordPressin päivitys..................................................................................................................... 22

WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

  • Upload
    lamdieu

  • View
    226

  • Download
    5

Embed Size (px)

Citation preview

Page 1: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPress Multisite – Asennus ja ylläpito

Tässä dokumentissa käydään läpi kokonaan WordPress Multisiten asennus ja yleinen ylläpito step-by-step tyylisesti puhtaalle palvelimelle. Käyttöjärjestelmänä käytetään Xubuntu 13.04.

Dokumentissa käydään läpi seuraavat asiat:

• LAMP:n asennus• Palvelimen nimipohjaisuus• WordPressin asennus• WordPress Multisiten asennus• WordPress Multisiten ylläpito• Reverse proxyn asennus• WordPressin varmuuskopiointi• Varmuuskopion palautus• WordPressin päivitys

Huom. suluilla merkityt vaiheet eivät ole toiminnan kannalta pakollisia, mutta ne ovat silti suositeltavia.

Sisällysluettelo

LAMP............................................................................................................................................. 2LAMP:n testaus..........................................................................................................................4

Palvelimen nimipohjaisuus.............................................................................................................5Nimipohjaisuuden testaus...........................................................................................................6

WordPressin asennus.......................................................................................................................7WordPress Multisiten asennus.......................................................................................................10WordPress Multisite ylläpito.........................................................................................................12

Käyttäjien lisäys........................................................................................................................12Sivujen lisäys............................................................................................................................12Teemojen ja pluginien asennus.................................................................................................13

Reverse Proxyn asennus................................................................................................................15WordPressin varmuuskopiointi.....................................................................................................18Varmuuskopion palautus...............................................................................................................20WordPressin päivitys.....................................................................................................................22

Page 2: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

LAMP

Ennen kuin aloitetaan tekemään mitään päivitetään pakettilistat, jotta saataisiin asennettua uusimmat versiot ohjelmista:

$ sudo apt-get update

Tämän jälkeen voidaan aloittaa.

LAMP, eli Linux, Apache, MySQL ja PHP, tarvitaan WordPressin pyörittämiseen.

1. Asenna Apache

$ sudo apt-get install apache2

2. Asenna Apachen php5-moduuli

$ sudo apt-get install libapache2-mod-php5

(3. Asenna pwgen)

$ sudo apt-get install pwgenPwgenillä voi generoida helposti satunnaisia salasanoja.$ pwgen -y -s 25 (-y = lisää salasanaan symboleita, -s = arpoo täysin satunnaisen ja turvallisen salasanan, 25 = salasanan pituus)

4. Asenna MySQL client ja server

$ sudo apt-get install mysql-client mysql-serverAsennus pyytää salasanaa MySQL:n root-käyttäjälle. (Huom! Tällä ei ole mitää tekemistä palvelimen root-käyttäjän kanssa.) Suosittelen, että annat pwgenillä generoidun salasanan.

(5. Tee .my.cnf-tiedosto)

$ touch .my.cnf # luo tiedoston$ chmod go-rwx .my.cnf # poistaa kaikilta muilta käyttäjiltä oikeuden lukea tiedostoaTarkista oikeudet komennolla:$ ls -l .my.cnfOikeuksien pitäisi olla seuraavanlaiset:

Eli vain tiedoston omistajalla on oikeus lukea ja muokata tiedostoa.$ nano .my.cnf

Page 3: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Lisää .my.cnf-tiedostoon seuraavat rivit:[client] user="root" password="salasana"Tämän jälkeen voit kirjautua MySQL:ään kirjoittamatta käyttäjätunnusta ja salasanaa.

6. Asenna php:n MySQL moduuli

$ sudo apt-get install php5-mysql

7. Luo public_html-hakemisto kotihakemistoosi

$ mkdir ~/public_html

8. Laita käyttäjien public_html-hakemistot päälle Apachessa

$ sudo a2enmod userdir Käynnistä tämän jälkeen apache uudelleen$ sudo service apache2 restart

9. Salli käyttäjien ajaa php-skriptejä omassa public_html-hakemistossa.

$ sudoedit /etc/apache2/mods-enabled/php5.confKommentoi pois (lisää # rivin eteen) Ifmodule rivit tiedoston lopusta.Tiedoston pitäisi tämän jälkeen olla tämän näköinen:

Lopuksi käynnistä apache2 uudelleen$ sudo service apache2 restart

Page 4: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

LAMP:n testaus

1. Testaa apachen toiminta

$ firefox localhostSelaimeen pitäisi ilmestyä teksti “It works!”Jos ei ilmesty, apachen toiminnassa on jotain vikaa. Tarkista, että apache on varmasti käynnissä.$ sudo service apache2 startJos apache on jo käynnissä, käynnistä se uudelleen.$ sudo service apache2 restartTerminaaliin pitäisi ilmestyä teksti [OK] apachen käynnistäessä. Jos ei ilmesty, tarkista logeista mikä on vialla.$ less /var/log/apache2/error.log

2. Testaa public_html:n toiminta

$ firefox localhost/~[käyttäjätunnus]Selaimeen pitäisi ilmestyä teksti “Index of /~[käyttäjätunnus]”Jos tulee 404 Not Found-virhe, joko apachen userdir moduuli ei ole päällä (LAMP, kohta 8.) tai public_html-hakemisto puuttuu kokonaan (LAMP, kohta 7.). Tarkista nämä kohdat ja yritä uudelleen.

3. Testaa php:n toiminta

$ nano ~/public_html/index.phpLisää seuraavat rivit:<html> <?php echo '<p>Hello World</p>'; ?> </html> $ firefox localhost/~[käyttäjätunnus]Selaimeen pitäisi ilmestyä Hello World ja sivun lähdekoodissa pitäisi olla rivit:<html><p>Hello World</p> </html>Jos selaimeen ilmestyy jotain muuta, php:tä ei ole sallittu käyttäjien kotihakemistossa (LAMP, kohta 9.).Tarkista kohta ja yritä uudelleen.

Lopuksi poista tekemäsi index.php-tiedosto:$ rm ~/public_html/index.php

MySQL:n toiminta testataan myöhemmässä vaiheessa.

LAMP on nyt asennettu.

Page 5: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Palvelimen nimipohjaisuus

1. Luo apacheen tulevan WordpPress-sivustosi Virtualhost tiedosto

$ sudoedit /etc/apache2/sites-available/[tiedoston_nimi]Lisää tiedostoon seuraavat rivit:

<VirtualHost *:80> ServerName esimerkki.fi DocumentRoot /home/[käyttäjätunnus]/public_html/ </VirtualHost>

<VirtualHost *:80> ServerName www.esimerkki.fi Redirect 301 / http://esimerkki.fi</VirtualHost>

(esimerkki.fi tilalle tulee sivustosi osoite.)

Esimerkki:

Tämän tiedoston ansiosta apache tietää mistä hakemistosta tiedostot löytyy (DocumentRoot).Lisäksi alempi aiheuttaa sen, että www.esimerkki.fi ohjataan osoitteeseen http://esimerkki.fi. (www.mts-konsultointi.fi siirtyy osoitteeseen http://mts-konsultointi.fi)

2. Ota tekemäsi Virtualhost tiedosto käyttöön

$ sudo a2ensite [tiedoston_nimi]Tämän jälkeen käynnistä apache uudelleen:$ sudo service apache2 restart

Page 6: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Nimipohjaisuuden testaus

(Jos omistat jo sivustosi domainin, siirry suoraan kohtaan 2.)

(1. Muokkaa /etc/hosts-tiedostoa)

Tarkista ip-osoitteesi$ ip addrTämän jälkeen muokkaa /etc/hosts-tiedostoa$ sudoedit /etc/hosts Lisää ensimmäisten [IP-osoite] [osoite] -rivien perään seuraavat rivit[IP-osoitteesi] esimerkki.fi[IP-osoitteesi] www.esimerkki.fi

Esimerkki:

Nyt koneesi tietää, että kyseinen osoite sijaitsee kyseisessä IP-osoitteessa. Jotta kaikkien muidenkin koneet tietäisivät saman, sinun pitäisi hommata itsellesi kyseinen domaini.

2. Testaa sivustosi osoitetta

$ firefox esimerkki.fiSelaimeen pitäisi nyt avautua samanlainen sivu kuin aikaisemmin public_html-testissä, mutta ilman käyttäjätunnustasi “Index of /” tekstin perässä.

Testaa myös www.esimerkki.fi.

$ firefox www.esimerkki.fiOsoitteen pitäisi ohjautua samaan osoitteeseen ja viimeisellä rivillä ei pitäisi lukea "www.esimerkki.fi”. Jos osoiterivillä ja sivuston viimeisellä rivillä lukee www, tarkista uudelleen,että teit kaiken niin kuin ohjeissa neuvottiin.

Palvelimesi on nyt nimipohjainen.

Page 7: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPressin asennus

Siirry takaisin kotihakemistoosi jos et tällä hetkellä ole siellä.$ cd ~

1. Lataa WordPress

WordPressin viimeisin versio löytyy osoitteesta http://wordpress.org/latest.tar.gzLataa kyseinen tarpallo seuraavalla komennolla:$ wget http://wordpress.org/latest.tar.gz

2. Pura lataamasi WordPressin tarpallo

$ tar -xf latest.tar.gz Tiedostot purkautui wordpress-hakemistoon

3. Siirrä wordpress-hakemiston sisältö public_html-hakemistoon

$ mv wordpress/* public_html/Tarkista, että kaikki tiedostot siirtyivät$ ls wordpress/$ ls public_html/Tämän jälkeen voit poistaa wordpress-hakemiston ja latest.tar.gz-tiedoston$ rmdir wordpress/$ rm latest.tar.gz

4. Tarkista php5-mysql:n toimivuus

$ firefox esimerkki.fiSelaimeen pitäisi ilmestyä WordPressin sivu, jossa pyydetään tekemään asetustiedostoa. Jos näin tapahtui, älä tee vielä mitään vaan siirry seuraavaan kohtaan.Jos selaimeen ilmestyy teksti “Your PHP installation appears to be missing the MySQL extension which is required by WordPress.” php5-mysql puuttuu (LAMP, kohta 6.). Tarkista kohta ja yritä uudelleen.

5. Tee WordPressille MySQL tietokanta

Avaa MySQL komentorivi:$ mysql --user=root –password=[salasana]Tai jos aikaisemmin teit .my.cnf-tiedoston:$ mysql

MySQL:n komentoriviltä pääsee pois komennolla mysql> exit;

Page 8: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Luo WordPressille tietokanta:mysql> CREATE DATABASE [tietokannan_nimi];Tämän jälkeen pitäisi tulla teksti:Query OK, 1 row affected (0.00 sec)

Luo WordPressille käyttäjä jolla on kaikki oikeudet kyseiseen tietokantaan:mysql> GRANT ALL PRIVILEGES ON [tietokannan_nimi].* TO "[käyttäjä]"@"localhost" IDENTIFIED BY "[salasana]";mysql> FLUSH PRIVILEGES;Molempien komentojen jälkeen pitäisi tulla teksti:Query OK, 0 rows affected (0.00 sec)

Esimerkki:

Suosittelen, että generoit pitkän ja vaikean salasanan pwgenillä, koska kyseinen salasana näkyy WordPressin asetustiedostossa selkokielisenä ja lisäksi sitä ei itse tarvi muistaa ollenkaan.Salasanan voi kirjata ylös .my.cnf-tiedostoon:

Kommentoi pois WordPress käyttäjän tiedot, jottei ne sotke .my.cnf:n toimintaa.

6. Luo WordPressin asetustiedosto

$ firefox esimerkki.fiKlikkaa “Create a Configuration File” ja seuraavalla sivulla “Let's go!”

Database Name kohtaan tulee aikaisemmin luodun tietokannan nimi.User Name kohtaan tulee tietokannan käyttäjän nimi.Password kohtaan tulee tietokannan käyttäjän salasana.Database Host kohtaan tulee localhostTable Prefix kohdan voi jättää niin kuin se on mutta suosittelen, että muutat sitä hieman tietoturvan parantamiseksi.

Tämän jälkeen klikkaa “Submit”.

Page 9: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Seuraavalle sivulla on asetustiedoston sisältö.

Luo wp-config.php-tiedosto public_html-hakemistoon:$ nano ~/public_html/wp-config.php

Copy-pasteta sivulla oleva sisältö kyseiseen tiedostoon.

Tämän jälkeen klikkaa “Run the Install”

7. Asenna WordPress

Täytä sivulla pyydetyt tiedot.Sivulla tehtävää käyttäjätunnusta käytetään WordPress sivustosi ylläpitoon.

Privacy kohtaan kannattaa laittaa ruksi, eli sallia hakukoneiden indeksoida sivusto. Jos ruksia ei laiteta, ei sivustoa tulla koskaan näkemään googlen hakujen kärjessä.

Lopuksi klikkaa “Install WordPress”

Seuraavalla sivustolla pitäisi lukea “Success! WordPress has been installed.” jos kaikki tehtiin oikein. Jos niin kävi klikkaa “Log In”.

Kirjaudu sisään ja WordPress sivustosi Dashboard pitäisi avautua.

WordPress on nyt asennettu.

(8. Salli median lisääminen WordPressiin)

Jotta voit lisätä kuvia yms. WordPressiin, sinun pitää muokata wp-content-hakemiston oikeuksia:$ chmod a+rwx public_html/wp-content/

Tämän jälkeen voit lisätä kuvia yms. WordPressin Dashboardissa.

Page 10: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPress Multisiten asennus

1. Ota permalinksit käyttöön

Ennen kuin muutat WordPress asennuksesi WordPress Multisiteksi, päätä millaisessa muodossa haluat sivustosi osoitteen (permalinks).

Dashboard → Settings → Permalinks

Valitse vaihtoehdoista itsellesi sopiva tai tee täysin oma permalinks muoto Custom Structure kohdassa. Kun olet päättänyt minkälaisen haluat, klikkaa “Save Changes”.

Alas ilmestyy .htaccess-tiedostoon lisättävä sisältö.

Tee .htaccess-tiedosto$ nano public_html/.htaccess Ja copy-pasteta kyseiset rivit tiedostoon.

Tämän jälkeen pitää ottaa rewrite-moduuli apachessa käyttöön:$ sudo a2enmod rewrite$ sudo service apache2 restart

Nyt permalinksit ovat päällä.

2. Muokkaa wp-config.php-tiedostoa

$ nano public_html/wp-config.phpTiedoston lopussa on rivi:/* That's all, stop editing! Happy blogging. */

Lisää tiedostoon seuraava rivi ennen kyseistä riviä:define( 'WP_ALLOW_MULTISITE', true);

Tämän jälkeen Dashboardissa Tools kohtaan ilmestyy ”Network Setup” kohta.

Page 11: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

3. Network Setup

Valitse missä muodossa haluat Multisiten eri sivujen osoitteen olevan:(Huom! Tätä ei voi muuttaa jälkeenpäin, joten mieti tarkkaan kumman valitset)

sivu1.esimerkki.fiTaiesimerkki.fi/sivu1

Jos valitset ensimmäisen vaihtoehdon, niin DNS tiedoissa pitää olla *.esimerkki.fi listattuna, jottanimipohjaisuus toimisi. Tämä voi aiheuttaa turhaa työtä joten kannattaa lähes kaikissa tapauksissavalita alempi vaihtoehto.

Network Title kenttään tulee haluamasi Multisite verkon nimi.

Admin E-mail Address kenttään tulee koko WordPress Multisiten ylläpitäjän sähköpostiosoite eli käytännössä sama sähköpostiosoite, jonka annoit kun asensit WordPressin.

Kun olet valmis, klikkaa ”Install”

4. Muokkaa wp-config.php-tiedostoa ja .htaccess-tiedostoa

Ylemmän tekstikentän rivit lisätään wp-config.php-tiedostoon aikaisemmin lisäämäsi rivin alapuolelle.

Alemman tekstikentän rivit korvaavat .htaccess-tiedoston nykyisen sisällön.

$ nano public_html/wp-config.php$ nano public_html/.htaccess

Kun olet muokannut tiedostot, kirjaudu uudelleen WordPressiin.

Kun kirjaudut sisään WordPress Multisiten pääsivun Dashboard avautuu.Ylhäälle on ilmestynyt My Sites kohta josta voi mennä koko Multisite verkon pääkäyttäjän Dashboardiin.

WordPress Multisite on nyt asennettu.

Page 12: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPress Multisite ylläpito

Wordpress Multisitessa voi käyttäjille luoda oman WordPress sivun jota he voivat käyttää lähes miten vain. Näiden Multisiteen kuulivien WordPressien ylläpito eroaa hieman normaalin WordPressin ylläpidosta. Toisin kuin normaalissa WordPressissa, Multisitessa käyttäjät eivät voi itse lisätä omalle WordPress sivulleen plugineita tai teemoja. Multisitessa vain Multisite verkon ylläpitäjä voi lisätäteemoja ja plugineita ja sitten antaa käyttäjien käyttää niitä omilla sivuillaan.

Tässä kohdassa käydään läpi käyttäjien lisäys ja sivujen tekeminen käyttäjille sekä plugineiden ja teemojen lisäys ja käyttöönotto.

Käyttäjien lisäys

1. Mene Multisite verkon ylläpitäjän Dashboardiin (katso yllä oleva kuva)

2. Mene kohtaan Users → Add new

3. Syötä uuden käyttäjän käyttäjätunnus ja sähköpostiosoite

4. Vaihda käyttäjän salasana

WordPress lähettää käyttäjätunnuksen ja salasanan antamaasi sähköpostiosoitteeseen salaamattomana. Tämä yksistään on jo tietoturvariski, joten kannattaa mielummin vaihtaa salasana johonkin muuhun.

Mene kohtaan Users → All users.Klikkaa käyttäjää jonka teit.Skrollaa alas ja muuta salasana.Anna uusi salasana käyttäjälle valitsemallasi turvallisella tavalla.

Sivujen lisäys

1. Mene Multisite verkon ylläpitäjän Dashboardiin

2. Mene kohtaan Sites → Add new

3. Anna sivulle haluamasi osoite

Vain pienet kirjaimet ja numerot ovat sallittuja.Sivut tulevat olemaan muotoa:sivu.esimerkki.fi

Page 13: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Taiesimerkki.fi/sivu/Riippuen siitä kumman muodon valitsit asentaessasi Multisiten.4. Anna sivulle otsikko

5. Anna sivun ylläpitäjän sähköpostiosoite

Tähän kohtaan annettava sähköpostiosoite on sama kuin jonkun tekemäsi käyttäjän sähköpostiosoite ja kyseisestä käyttäjästä tulee sivun ylläpitäjä. Jos antamaasi sähköpostiosoitetta ei löydy käyttäjiltä, WordPress tekee uuden käyttäjän automaattisesti.

Teemojen ja pluginien asennus

Teemoja ja plugineja on mahdollista lisätä automaattisesti WordPressin kautta tai manuaalisesti palvelimella. Jos teemoja tai plugineja halutaan lisätään automaattisesti WordPressin kautta, WordPressille pitäisi antaa tiedot FTP-yhteyttä varten. Tämäkin on tietoturvariski joten kannattaa mielummin asentaa ne manuaalisesti.

Teemat

1. Mene osoitteeseen http://WordPress.org/themes

2. Etsi teema jonka haluat asentaa

Esimerkkinä käytän Destro-teemaa.

3. Lataa teeman zip-tiedosto

$ wget http://wordpress.org/themes/download/destro.2.8.27.zip

4. Pura zip-tiedosto

$ unzip destro.2.8.27.zipTarkista mihin hakemistoon zip-tiedosto purkautui.

5. Kopioi kansio ja sisältö public_html/wp-content/themes-hakemistoon

$ cp -r destro public_html/wp-content/themes/ Tarkista, että kaikki varmasti kopioitui

6. Mene Network Adminin Dashboardissa kohtaan Themes → Installed Themes

7. Klikkaa teeman kohdalla ”Network Enable”

Page 14: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Käyttäjän voivat nyt käyttää asentaamaasi teemaa omalla sivullaan.

Pluginit

1. Mene osoitteeseen http://WordPress.org/plugins

2. Etsi plugin jonka haluat asentaa

Esimerkkinä käytän Easy Media Gallery -pluginia.

3. Lataa pluginin zip-tiedosto

$ wget http://downloads.wordpress.org/plugin/easy-media-gallery.1.2.23.zip

4. Pura zip-tiedosto

$ unzip easy-media-gallery.1.2.23.zip Tarkista mihin hakemistoon zip-tiedosto purkautui.

5. Kopioi kansio ja sisältö public_html/wp-content/plugins-hakemistoon

$ cp -r easy-media-gallery public_html/wp-content/plugins/ Tarkista, että kaikki varmasti kopioitui

6. Mene Network Adminin Dashboardissa kohtaan Plugins → Installed Plugins

7. Klikkaa pluginin kohdalla ”Network Enable”

Käyttäjän voivat nyt käyttää asentaamaasi pluginia omalla sivullaan.

Page 15: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Reverse Proxyn asennus

WordPress on dynaaminen sivusto, joten sivun lataaminen kestää staattiseen verrattuna todella kauan. Jos sivustollasi on todella paljon kävijöitä, ilman reverse proxya sivusto hidastuu todella paljon ja pahimmassa tapauksessa kaatuu kokonaan. Tämän takia reverse proxyn asentaminen on välttämätöntä.

Apache Benchmarkilla voi testata kuinka nopea sivusto on.

$ ab -n 100 -c 100 http://esimerkki.fiHUOM! Ole todella tarkkana ab:n kanssa. Tarkista 10 kertaa, että kirjotit varmasti oman sivusi osoitteen täysin oikein. Jos kirjotit osoitteen väärin, saatat vahingossa kuormittaa jonkun toisen sivustoa. Muiden sivujen kuormittaminen ab:lla lasketaan Denial of Service-hyökkäykseksi, joka on laitonta!Komento simuloi sadan käyttäjän samanaikaista sivun latausta.

Ilman reverse proxya sivun lataaminen kesti jopa yli 3 sekuntia.Tämän takia reverse proxy pitää asentaa.

1. Asenna Varnish

$ sudo apt-get install varnish Varnish on reverse proxy ohjelma.

2. Muokkaa /etc/apache2/ports.conf-tiedostoa

$ sudoedit /etc/apache2/ports.confMuokkaa seuraavia rivejä:

NameVirtualHost *:80Listen 80

Vaihda 80 tilalle 8080.

Esimerkki:

Page 16: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

3. Muokkaa Virtualhost tiedostoa(ks. Palvelimen nimipohjaisuus, kohta 1)

$ sudoedit /etc/apache2/sites-enabled/esimerkki

Vaihda 80 tilalle 8080Esimerkki:

4. Käynnistä apache uudelleen

$ sudo service apache2 restartApache kuuntelee nyt portin 80 sijasta porttia 8080.Huom. WordPress sivustosi ei tällä hetkellä toimi.

5. Muokkaa /etc/default/varnish -tiedostoa

$ sudoedit /etc/default/varnishEtsi kohta ”Alternative 2”Rivillä ”DAEMON_OPTS="-a :6081 \” laita 6081 tilalle 80.

Esimerkki:

6. Käynnistä Varnish uudelleen

$ sudo service varnish restartVarnish nyt kuuntelee porttia 80.Varnish ottaa vastaan kävijöiden latauspyynnöt, jonka jälkeen se pyytää apachelta omaan välimuistiinsa sivuston datan ja jakaa sieltä kävijöille sivuston datan.

7. Testaa sivun toiminta

Jos teit kaiken niin kuin piti, sivuston pitäisi toimia normaalisti.

Page 17: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Testataan ab:lla sivun nopeutta uudelleen$ ab -n 100 -c 100 http://esimerkki.fiHUOM! Tarkista, että kirjoitit täysin oikein sivustosi osoitteen.

Nyt reverse proxyn kanssa sivusto latautui 11 millisekunnissa. Aikaisemmin kesti jopa 3 sekuntia.

Reverse proxy on nyt asennettu ja sivustosi on valmis palvelemaan suurtakin käyttäjämäärää.

Page 18: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPressin varmuuskopiointi

WordPress koostuu kahdesta eri osasta: tiedostoista ja tietokannasta.

WordPressin tiedostot ovat ne kaikki tiedostot mitä WordPressin hakemistosta (public_html) löytyy. Tiedostoista löytyy kaikki asennetut pluginit sekä teemat.WordPressin tietokanta sisältää kaikki viestit ym. sisällön.

Lisäksi kannattaa varmuuskopioida Virtualhost-tiedosto sekä .my.cnf-tiedosto.

Varmuuskopiointiin käytetään rsync -ohjelmaa ja mysqldump -ohjelmaa.

Tiedostojen varmuuskopiointi

1. Asenna rsync

$ sudo apt-get install rsyncRsync tulee joidenkin linux-distrojen mukana (esim. xubuntu) joten se saattaa olla jo asennettuna.

2. Kopioi public_html-hakemiston sisältö rsyncillä

$ rsync -avv /home/[käyttäjä]/public_html/ ~/wpbackup

public_html-hakemiston sisältö kopioitui kotihakemistossa sijaitsevaan wpbackup-hakemistoon.

Tarkista, että tiedostot varmasti kopioituivat$ ls ~/wpbackup

3. Kopioi .my.cnf ja virtualhost -tiedostot rsyncillä

$ rsync -avv /home/[käyttäjä]/.my.cnf /home/[käyttäjä]/wpbackup/ $ sudo rsync -avv /etc/apache2/sites-available/esimerkki /home/[käyttäjä]/wpbackup/

Tarkista, että tiedostot kopioituivat$ ls -A ~/wpbackup

4. Kopioi WordPressin tietokanta mysqldumpilla

$ mysqldump [tietokannan_nimi] > ~/wpbackup/[tietokannan_nimi]backup.sqlTietokanta kopioituu [tietokannan_nimi]backup.sql-tiedostoon.Jos et muista minkä nimisen tietokannan teit, tarkista se wp-config.php-tiedostosta

Page 19: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

$ less public_html/wp-config.php

rivillä define('DB_NAME') lukee tietokannan nimi, tässä tapauksessa mts.

Tarkista, että kaikki tiedostot ovat varmasti kopioituneet$ ls -A ~/wpbackup

5. Pakkaa wpbackup-hakemisto tarpalloon

$ cd ~$ tar -caf wpbackup.tar.gz wpbackup

Nyt sinulla on tiedosto wpbackup.tar.gz, joka sisältää kaiken WordPressin sisällön. Siirrä tämä tiedosto johonkin talteen.

Page 20: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Varmuuskopion palautus

Oletetaan, että palvelin räjähti ja kaikki tiedot katosivat. Sinulla kuitenkin on äsken tekemäsi varmuuskopio tallella. Olet tähän mennessä asentanut uudelleen kaiken muun paitsi WordPressin.

Simuloin tilannetta poistamalla public_html-hakemiston sisällön, .my.cnf ja virtualhost -tiedostot sekä WordPressin tietokannan.

Nyt siis pitää palauttaa varmuuskopioista kaikki hävinneet tiedostot.

1. Kopioi wpbackup.tar.gz-tiedosto kotihakemistoosi

2. Pura wpbackup.tar.gz

$ tar -xf wpbackup.tar.gzTiedosto purkautuu wpbackup-hakemistoon.

3. Palauta .my.cnf ja virtualhost-tiedostot rsyncillä

$ rsync -avv /home/[käyttäjä]/wpbackup/.my.cnf .my.cnf$ sudo rsync -avv /home/[käyttäjä]/wpbackup/esimerkki /etc/apache2/sites-available/esimerkki$ sudo a2ensite esimerkki$ sudo service apache2 restart

4. Palauta WordPressin tietokanta

$ mysqlmysql> create database [tietokannan_nimi]mysql> exit;$ mysql [tietokannan_nimi] < wpbackup/[tietokannan_nimi]backup.sql

Tee WordPressin MySQL käyttäjä uudelleen.Jos et muista tietoja, tarkista ne wp-config.php-tiedostosta.$ less wpbackup/wp-config.php

$ mysqlmysql> GRANT ALL PRIVILEGES ON [tietokannan_nimi].* TO ”[käyttäjä]”@”localhost” IDENTIFIED BY ”[salasana]”;mysql> FLUSH PRIVILEGES;

Page 21: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

mysql> exit;

5. Palauta WordPressin tiedostot public_html-hakemistoon

$ rsync -avv wpbackup/ public_html/Tarkista, että tiedostot kopioituivat oikein public_html-hakemistoon.$ ls public_html/

Poista .my.cnf, virtualhosts ja mysqlbackup tiedostot public_html-hakemistosta.$ rm public_html/esimerkki$ rm public_html/.my.cnf $ rm public_html/[tietokannan_nimi]backup.sql

Nyt kaiken pitäisi olla palautunut ja sivusto toimii taas normaalisti.Jos sivusto ei toimi, tarkista, että kaikki tiedostot ovat kopioituneet oikeisiin paikkoihin ja teit tietokannan sekä tietokannan käyttäjän oikein.

Page 22: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

WordPressin päivitys

Huom. ennen päivitystä kannattaa varmuuskopioida WordPress.

WordPress tarkistaa onko uusia päivityksiä saatavilla. Jos on, ilmestyy Dashboardin ylälaitaan ilmoitus siitä.

1. Ota pluginit pois käytöstä

Network Admin Dashboard → Plugins

2. Lataa WordPressin viimeisin versio:$ wget http://wordpress.org/latest.tar.gz

3. Pura tarpallo:$ tar -xf latest.tar.gz

4. Poista public_html-hakemistosta wp-includes ja wp-admin -hakemistot:$ rm -r wp-includes/ $ rm -r wp-admin/

5. Siirrä uudet wp-includes ja wp-admin -hakemistot public_html-hakemistoon$ mv wordpress/wp-includes/ public_html/$ mv wordpress/wp-admin/ public_html/

6. Kopioi uusi wp-content-hakemisto vanhan hakemiston päälle ja ylikirjoita vanhat tiedostot. Huom! Muita Hakemistoja tai tiedostoja, kuin ne mitkä ylikirjoitetaan, ei pidä poistaa!$ cp -fr wordpress/wp-content/ public_html/

7. Lopuksi siirrä kaikki loput uudet tiedostot public_html-kansioon$ mv -f wordpress/* public_html/

Tämän jälkeen testaa sivustoa.

Jos teit kaiken oikein, ylälaidassa on ilmoitus päivityksen onnistumisesta.

Page 23: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

8. Päivitä tietokanta

Jotta päivitys tulisi kaikilla sivuilla käyttöön, tietokanta pitää päivittää.

Mene kohtaan Updates → Upgrade NetworkKlikkaa ”Upgrade Network”Odota, kunnes sivulle ilmestyy teksti ”All done.”

9. Ota pluginit takaisin käyttöön

WordPress Multisite on nyt päivitetty.

Page 24: WordPress Multisite – Asennus ja ylläpitomyy.haaga-helia.fi/.../ICT4TN018-02/lopputulos/WordPress_Multisite.pdf · Tomi Piri Linux projekti – WordPress Multisite ICT4TN018-2

Tomi Piri Linux projekti – WordPress MultisiteICT4TN018-2

04.12.2013

Tietoja

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Pohjana Tero Karvisen Linux-kurssi, www.iki.fi/karvinen