tavis nörttimaailmassa

EksisONE - artikkeleita ja ohjeita nörttimaailmasta

Nopean WordPressin asennus virtuaaliserverille

Virtual hostin luominen

Se mikä mielletään domainiksi, on webservereillä nimeltään virtual host. Virtual hostin asetuksissa kerrotaan mm. mihin domainiin se liittyy, missä tiedostot ovat, kuka saa nähdä mitä jne. Joten nyt aletaan luomaan varsinaista asiaa.

Websivujen hakemistot voivat olla missä tahansa, mutta Ubuntussa ne ovat tyypillisesti hakemistossa /var/www. Yleensä tehdään yksi hakemisto lisää domainin nimellä ja sen alla on public_html, joka pitää sisällään sitten varsinaiset sivuston vaatimat tiedostot, kuten vaikka WordPressin. Tehdään hakemistot.

Käytän tästä eteenpäin esimerkkinä aitoa domainia eksis.dev, joten muuta se.

mkdir -p /var/www/eksis.dev/public_html

Virtual hostien määrittelyt ovat Nginxissä hakemistossa /etc/nginx/sites-available. Virtual hostin nimi saa olla mikä tahansa, mutta usein ne nimetään domainin mukaan – taas kerran selvyyden vuoksi, niin tiedetään mikä on mikäkin. Virtual hostien asetukset, useimmiten puhutaan konffista tai conf-tiedostosta, on tekstitiedosto, joten luominen onnistuu Nanolla:

nano /etc/nginx/sites-available/eksis.dev

Kopioi tämä ja muuta

  • eksis.dev – vaihda jokainen, niitä on useampi
  • server-lohkon IP-numerot oman serverisi IP-osoitteiksi – huomaa: toisessa on IP:n jälkeen :443 ja toisessa :80 ja niiden kuuluukin olla; siinä kerrotaan mistä portista websivuille pääsee
  • 192.168.0.1 kuuluu olla kotisi IP-osoite. Saat sen selville esimerkiksi terminaalista komennolla curl -4 icanhazip.com mutta älä anna sitä ollessasi kirjautuneena serverille, koska silloin se kertoo serverin IP:n. Kirjaudu ensin ulos komennolla exit ja anna sitten tuo. Toinen tapa on kurkata laitteesi virustorjunnasta, sillä sekin usein kertoo mikä IP-osoitteesi on.

Tallenna.

Nginx pitää kahdessa paikassa tiedot virtual hostista. Ensimmäinen on äsken tehty, jolloin hakemistossa /etc/nginx/sites-available ovat kaikki virtual hostit, olivat ne aktiivisia tai eivät. Toinen on /etc/nginx/sites-enabled jossa ovat aktiiviset, linjoilla ja käytössä olevat virtual hostit.

Aidosti hakemistoon sites-enabled ei tehdä muuta kuin symbolinen linkki. Pikakuvake, jos haluat miettiä asiaa Windows-maailman kautta.

Kun haluat sivuston näkyviin, niin komennat:

ln -s /etc/nginx/sites-available/eksis.dev /etc/nginx/sites-enabled/eksis.dev

Tarkista, että kaikki on pääosin kunnossa:

nginx -t

Sen jälkeen ladataan Nginx uudestaan käyttöön (muistatko latauksen ja uudelleenkäynnistyksen erot, tästä oli alussa juttua…):

systemctl reload nginx

Tarkistetaan, että palomuuri on auki ja domain löytyy. Varsinaista sivusisältöähän ei vielä ole. Jos sinulla on mahdollisuus vain yhteen terminaaliin, niin kirjaudu ulos. Nyt yhteytesi ulkomaailmaan tapahtuvat omasta kotiverkostasi. Anna seuraava komento:

ping eksis.dev

Jos saat pingejä (teksti voi vaihdella, mutta aina täytyy näkyä aika):


root@demo:~# ping eksis.dev
PING eksis.dev (134.209.253.188) 56(84) bytes of data.
64 bytes from 134.209.253.188 (134.209.253.188): icmp_seq=1 ttl=64 time=0.022 ms
64 bytes from 134.209.253.188 (134.209.253.188): icmp_seq=2 ttl=64 time=0.054 ms
64 bytes from 134.209.253.188 (134.209.253.188): icmp_seq=3 ttl=64 time=0.073 ms

niin ulkoa pääsee palomuurin läpi ja virtual host löytyy. Kaikki se toimii ainakin vielä kuten kuuluukin.

Saat pingaamisen loppumaan ctrl-C – tuota ei sitten kannata jättää koputtelemaan vierasta serveriä, sillä se täyttää jatkuvana pingaamisena tietoliikennehäirinnän tunnusmerkit.

Jos haluat virtual hostin pois linjoilta, niin symbolinen linkki katkaistaan eli se pikakuvake poistetaan hakemistosta sites-enabled:

unlink /etc/nginx/sites-enabled/eksis.dev
systemctl reload nginx