WordPressin nopein asennus
WordPressin omia asennusohjeita ei kannata noudattaa, vaan nyt hyödynnetään niitä etuja, jotka virtuaaliserveri tarjoaa. Yksi sellainen on nopein WordPress-asennus minkä olet koskaan tehnyt. Kuuluisa 5 minuutin asennushan on aidosti enemmän ja jos joudut lisäksi siirtämään WordPressin tiedostot FTP:llä, niin aika venahtaakin huomattavasti pidemmäksi. Mutta nyt puhutaan aidosti lyhyestä ajasta.
Jos ajatuksesi oli siirtää jo oleva sivusto, niin malta mielesi. Kokeile ensin uuden asentamista, niin pääset asioiden kanssa tutummaksi. Voit myöhemmin jyrätä nyt asennettavan ja tehdäkin sitten muuton – siihenkin löytyy ohjeet.
WP CLI
Ennenkuin asennetaan WordPress, niin tarvitaan aputyökalu: WP CLI. Se on komentorivityökalu, jolla voi tehdä helposti (no, suhteellisen helposti) monia WordPressin asioita – mutta tehokkaammin ja ilman lisäosia.
WP CLI asennetaan hieman eri tavalla kuin mitä yleensä apt install
avulla tehtäisiin.
Siirrytään /tmp
hakemistoon.
cd /tmp
Ladataan WP CLI.
curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
Tehdään siitä suoritettava skripti.
chmod +x wp-cli.phar
Muutetaan nimi käytössä mukavampaan muotoon wp
ja siirretään se hakemistoon, josta komento voidaan ajaa riippumatta missä itse ollaan.
mv wp-cli.phar /usr/local/bin/wp
Kokeillaan, että se toimii.
wp --info
Koska WP CLI tekee töitä webhakemistoissa, niin sen pitäisi tiedostojen 0mistajuuksien takia kuulua ryhmään www-data – oikeammin, sinun pitää kuulua, koska komennat WP CLI:tä. Se on helppo asia järjestää:
usermod -aG www-data $USER
WP CLI:n komentoja ei saisi ajaa rootina, koska se on vaarallista, koska root voi tehdä mitä vaan ja jos joku murtautuu rootin tunnukselle, niin sitten hän voi tehdä mitä vaan. Niin voi, se on root-tunnuksen idea. Siksi toiseksi WP CLI:n ajamista ei voida estää rootilta, vaan sitä vaikeutetaan pakottamalla käyttämään aina komennon mukana vipua --allow-root
. Asia, jonka WP CLI ystävällisesti jopa kertoo erikseen joka kerta, jos sen unohtaa. Se mitä en ymmärrä, että miksi on turvallisempaa komentaa WP CLI:tä tuolla vivulla kuin ilman? Tai miksi mahdollinen murtautuja ei sitten osaisi samaa vipua käyttää?
Niin tai näin, niin sen antaminen joka hemmetin kerta on suunnattoman ärsyttävää, joten korjataan se. Samalla opitaan uusi asia nimeltään alias. Alias on kuin nimeäisi jonkun komennon tai komentoketjun uudestaan – niin no, sitähän alias nimenomaan tarkoittaa.
Avataan se tiedosto, johon aliakset tehdään:
nano ~/.bashrc
- tilde eli aaltoviiva tarkoittaa sen käyttäjän kotihakemistoa, joka sinä olet sillä hetkellä. Jos olet kirjautunut rootina, niin
~/
tarkoittaa samaa kuin/root/
. Jos olisit joku muu käyttäjä, niin se olisi/home/käyttäjätunnus/
Kelaa alaspäin niin kauan kunnes löydät kohdan # some more ls aliases
. Laita niiden perään tämä:
alias wp='wp --allow-root'
Kirjaudu terminaalista ulos ja takaisin sisään. Nyt sinulla on aina automaattisesti mukana --allow-root
, kun annat wp
komennon.
Tietokannan luominen
WordPressin asentaminen alkaa aina tietokannan luomisella. Kirjaudu MariaDB:hen:
mysql -u root -p
- Jos sallit rootille kirjautumisen ilman salasanaa, niin voit jättää
-p
pois.
Luodaan tietokanta. Vaihda wordpress
haluamaksesi.
CREATE DATABASE wordpress DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;
Luodaan käyttäjä. wordpress
on oltava sama minkä äsken loit ja vaihda tunnus
sekä salasana
haluamiksesi.
GRANT ALL ON wordpress.* TO 'tunnus'@'localhost' IDENTIFIED BY 'salasana';
Kerrotaan muutokset MariaDB:lle ja poistutaan.
FLUSH PRIVILEGES;
EXIT;
WordPressin lataaminen
Siirry virtual hostisi hakemistoon. WP CLI komennot on ajettava siinä hakemistossa, jossa on tai johon tulee WordPress.
cd /var/www/eksis.dev/public_html
Ladataan WordPress. Siihen menee yleensä luokkaa pari sekuntia. Hakkaa FTP:n 5-0.
wp core download --locale=fi
Luodaan wp-config.php
:
wp core config --prompt
Asennus kysyy sinulta muutamia asioita:
- dbname = tietokannan nimi
- dbuser = tietokannan käyttäjä
- dbpass = tietokannan käyttäjän salasana
- dbhost = localhost
- dbprefix= wp_ (voi olla haluamasi ja muista alaviiva, se helpottaa)
- dbcharset = utf8
- dbcollate = utf8_swedish_ci
- locale = fi
- lopuissa hyväksy enterillä oletukset
Saat tehtyä saman asian yhdellä komennollakin. Muokkaa tiedot oikeiksi.
wp core config --dbname='tietokanta' --dbuser='db-käyttäjä' --dbpass='db-salasana' --dbhost='localhost' --dbprefix='wp_' --dbcharset=útf8 --dbcollate='utf8_swedish_ci' --locale='fi'
Ekstraa:
Jos sinulla on tietokantakäyttäjä, jonka rooli sallii tietokannan luomisen, niin sinun ei tarvitse erikseen tehdä tietokantaa, vaan se tehdään samalla kertaa kuin wp-config.php tiedoston luominen. Silloin keksit ensin tietokannan nimen, annat moisen käyttäjän tunnuksen kohtaan db-käyttäjä
ja sen salasanan kohtaan db-salasana
. Silloin tietokanta luodaan automaattisesti, kun annat komennon wp db create
WordPressin asennuksen jälkeen.
Jos käytät moista vain omassa hallussasi oleville sivustoille, niin siinä ei ole mitään ongelmaa. Mutta älä käytä sitä asiakkaiden tai jonkun muun kolmannen asennuksiin, koska he näkevät moisen ”superkäyttäjän” tunnuksen ja salasanan wp-config.php tiedostosta. Jos heillä ei ole pääsyä MariaDB:hen, niin ei se niin tolkuton ongelma ole – mutta silti moiset asiat tavataan pitämään salaisina, koska niiden vuotamisessa on tietoturvariski.
Saat luotua minkä tahansa tietokannan luomisen osaavan tunnuksen kirjautumalla MariaDB:hen ja komentamalla:
GRANT ALL ON *.* TO 'tunnus'@'localhost' IDENTIFIED BY 'salasana';
WordPressin asettaminen
WordPress on vielä asetettava. Silloin kysytään tutut kysymykset urlista, blogin nimestä, adminin sähköpostiosoitteesta jne.
wp core install --prompt
Tässäkin tiedot voidaan antaa suoraan komennolle:
wp core install --url='https://www.example.com' --title='Blogin nimi' --admin_user='admin-tunnus' --admin_password='salasana' --admin_email='email@example.com'
Virheestä /usr/sbin/sendmail
ei tarvitse piitata. Se johtuu vain siitä, että sähköposteja välittävää järjestelmää ei ole vielä asennettu.
Oikeudet kuntoon
Tehdään vielä pakolliset kevätjuhlaliikkeet tiedosto- ja hakemisto-oikeuksien kanssa.
Varmistetaan, että webhakemiston omistaa webserveri.
chown -R www-data:www-data /var/www/eksis.dev/public_html
- Jos saat WordPressin hallinnassa, asetuksia säätäessä tai lisäosia asetettaessa, pyynnön antaa FTP-tunnukset, niin kyse on siitä, että wp-admin ja wp-contest hakemistojen omistajuus on jäänyt tai muuttunut rootille.
Varmista, että olet edelleen virtual hostin hakemistossa. Jos et ole, niin siirry sinne:
cd /var/www/eksis.dev/public_html
Asetetaan luku- ja kirjoitusoikeudet:
find . -type f -exec chmod 644 {} \;; find . -type d -exec chmod 755 {} \;
Kirjaudu WordPressin hallintaan ja muuta osoiterakenne. Testitilanteessakin on ehkä helpointa kun käyttää suoraan artikkelin nimeä ilman kategorioita sun muita.
Lisäosien asennus massana
Lisäosia on helppo asentaa massana, mutta siihen tarvitaan pieni skripti.
nano /usr/local/bin/wp-plugins
Kopioi siihen tämä:
Tehdään siitä suoritettava:
chmod 755 /usr/local/bin/wp-plugins
Skriptissä on yksi kohta, joka on muutettava. Laita riville WPPATH=/var/www/html
virtual hostisi oikea polku – minulla se olisi esimerkiksi /var/www/eksis.dev/public_html
Kohdassa WPPLUGINS=( on listattuna asennettavien lisäosien slugit. Slug on sama kuin lisäosan hakemiston nimi tai jos kurkkaat wordpress.org sivustolta lisäosaa, niin slug on urlissa. Esimerkiksi Akismetin url on https://fi.wordpress.org/plugins/akismet/
jolloin sen slug on akismet
.
Listaa saa muuttaa. Esimerkissä ovat ne pluginit, jotka lisään aina kaikkiin omiin projekteihini. Sinulla saattaa olla toiset tarpeet.
Kun annat komennon wp-plugins
niin lisäosat annetaan ja aktivoidaan.
Urakka on valmis?
Nyt sinulla on WordPress asennettuna ja loppu on sitä mihin meneekin aikaa: teeman asettaminen ja säätäminen, lisäosat jne. Puhumattakaan siitä oleellisimmasta: sisällön tekeminen.
Kun saat tekemiseen hieman varmuutta, niin tämä on ehdottomasti nopein ja mutkattominen tapa asentaa WordPress. Aikaa nollasta kirjautumisvalmiiseen WordPressiin menee muutama minuutti.
Seuraavaksi aletaan tekemään nopeutta.