Palvelinten Hallinta: Harjoitus 6 raportti

Tässä postauksessa raportoin Tero Karvisen Palvelinten Hallinta-kurssin tehtävää 6.

Käyttämäni tietokone on HP:n 655 G1 läppäri. Käyttöjärjestelmä läppärissä on Kubuntu 18.04 LTS x64 ja myöhemmin Xubuntu 16.04.4 x64 livetikulta.

Oman Kubuntun saat ladattua täältä.

Oman Xubuntun saat ladattua täältä.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

a) Kultainen polku. Tee ensimmäinen versio modulistasi, joka toimii ainakin optimiolosuhteissa. Jos jokin säätö on poikkeuksellisen hankala, voit tehdä sen tässä versiossa käsin, ja dokumentoida ajamasi käskyt.

Aiheenani on WordPressin asennus käyttäen Salttia. En ole ennen wordpressia asentanut, eli kokeillaan homma ensin käsin. Ohje asennukseen löytyy täältä.

Käsinasennus – Ennen asennusta

WordPress vaatii toimiakseen:

  • Webserverin, valitaan Apache
    • Apacheen tarvitsee mod_rewrite-moduulin
  • Tietokannan, käytetään tähän tuttua MySql
  • Php:n, eli asennetaan apacheen ja mysql:ään php-lisäosat
  • Hyvän salasanan, ladataan pwgen
$ sudo apt-get install -y pwgen mysql-server mysql-client apache2
$ sudo apt-get install -y libapache2-mod-php php-mysql
$ sudo a2enmod rewrite
$ sudo systemctl restart apache2 mysql

Tässä kohtaa tehtäisiin tietokanta ja käyttäjä WordPressiä varten, mutta omassa distrossa ei mysql toimi (Kubuntu 18.04), eli tämä kohta tapahtuu teoriassa. Sitten kun saan käsiini livetikun ja kokeilen tilaa pitäisi homman toimia näin tilan kautta. (usbia on vaikea löytää kun on mökillä helatorstaiviikonloppua viettämässä). Komennot tietokannan tekemiseen ovat suoraan WordPressin omasta Mysql-ohjeesta. Käyttäjän tekemiseen käytin tätä ohjetta Digitaloceanin sivuilta.

$ mysql -u root -p

mysql> USE mysql;
mysql> CREATE USER 'wordpress'@'localhost' IDENTIFIED BY '';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'wordpress'@'localhost';
mysql> FLUSH PRIVILEGES;
mysql> exit; #login uudella käyttäjällä

$ mysql -u wordpress -p

mysql> CREATE DATABASE wordpress;
mysql> GRANT ALL PRIVILEGES ON wordpress.* TO "wordpress"@"localhost"
 -> IDENTIFIED BY "password";
mysql> FLUSH PRIVILEGES;
mysql> EXIT

Käsinasennus – WordPress

Ladataan uusin wordpress ja puretaan se

$ wget https://worpress.org/latest.tar.gz
$ tar xvzf latest.tar.gz

Muokataan wp-config-sample.php, nimetään se uudelleen ja siirretään wordpressin filut oikeaan paikkaan

/home/user/downloads/wordpress $ nano wp-config-sample.php # lisätään databasen nimi ja käyttäjä yms.
$ mv wp-config-sample.php wp-congif.php
$ mv /home/user/wordpress/* /var/www/html/

Tämän jälkeen selaimeen localhost/wp-admin/install.php ja homman pitäisi skulata.

Moduli – betaversio

Modulin pitäisi siis tehdä sama. Tein projektille repon ja kloonasin sen koneelle. Nyt tavoitteena saada homma siihen pisteeseen, ettei käyttäjän tarvitse tehdä muuta kuin ajaa wordpressin asennusskripti selaimessa ja syöttää uusi käyttäjänimi ja salasana.

Tein aluksi top.sls-tiedoston, johon tulee neljä suunnittelemaani osaa

/home/user/saltpress/ $ nano top.sls

base:
  '*':
    - apache
    - mysql
    - wordpress
    - database

Seuraavaksi itse statet

$ mkdir apache mysql wordpress database
$ nano apache/init.sls
$ nano mysql/init.sls
$ nano wordpress/init.sls
$ nano database/init.sls

Tilat ovat pitkiä, joten lisään jokaiseen linkit tänne kopioinnin sijaan

Lisätietoja tilojen kehityiksestä voi löytää selailemalla repoon tehtyjä committeja. Tein uuden commitin aina, kun joku lähti toimimaan paremmin kuin ennen.

Tähän mennessä kaikki toimii (wordpress ei asennu siis vielä, mutta tervapallo purkaantuu). Yritän huomiseksi löytää jostain jonkun usbin ja kokeilla uudelleen b)-kohtaa varten Xubuntu 16.04:llä. Raportointi tältä päivältä (10.5.2018 klo 23.57) loppuu siis tähän.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

b) Kokeile moduliasi tyhjässä koneessa. Voit käyttää virtualboxia, vagranttia tai livetikkua.

Raportti jatkuu 11.5.2018 klo 20.43.
Tila toimii! Sain hommattua usbin josta tein Xubuntu-livetikun, kloonasin repon githubista ja testasin toimivuuden. Latasin hommaa varten salt masterin ja minionin (sama kone on oma masterinsa) helpottaakseni hommaa.

Asennusprosessi

  1. Boottasin Xubuntun (16.04.4 x64)
  2. Setxkbmap fi, sudo apt-get update
  3. sudo apt-get install -y salt-master salt-minion ja niiden conffaus
  4. git clone https://github.com/roopelinux/saltpress.git
  5. sudo mkdir /srv/salt
  6. liikutin tilat /srv/salt/-hakemistoon (sudo mv tiedosto/hakemisto /srv/salt)
  7. sudo salt ‘*’ state.highstate
  8. liikutin esitäytetyn wp-config-tiedoston /var/www/html/-hakemistoon
  9. selaimeen localhost ja annoin uuden käyttäjänimen ja salasanan

TOIMII.png

Lopulliseen versioon yritän saada:

  • file.managed-tyylisesti wp-config-tiedoston oikeaan paikkaan statella
  • skriptin joka
    • asentaisi käyttäjän puolesta salt-minionin
    • pistäisi tilan käyttöön (sudo salt-call –local state.apply)
  • wordpressin asennuksen (localhostiin selaamisen) preseedattua curlilla tai wp-cli:llä (?)
  • teeman wordpressiin jotekin (tämä vain jos kaikki muu toimii niinkuin haluan)

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

c) Käyttäjätarina (user story): ketkä ovat modulisi käyttäjät? Mitä he haluavat saada aikaan modulillasi? Missä tilanteessa he sitä käyttävät? Mitkä ovat tärkeimmät parannukset käyttäjän kannalta, joita moduliin pitäisi vielä tehdä?

Modulini käyttäjät ovat sellaisia, jotka haluavat vaikka kokeilla wordpressiä nopeasti, tai tsekata jonkun toimivuuden wordpressissä (esim. oman wordpress-plugarin kehittämisvaiheessa). Eli siis livetikulle tämä on suunniteltu, ei välttämättä oikean wordpress-blogin avaamiseen.

He haluavat nopeasti wordpressin pystyyn parilla komennolla ilman häsläystä eri pakettien kanssa.

He käyttävät sitä vaikka juuri kehittämistarpeissa. Oma wordpress-plugari tai teemaprojekti on githubissa -> työskentele sen parissa livetikulla -> testaa toimivuus nopeasti asentamalla kertakäyttöinen wordpress.

Tärkein parannus olisi, jos käyttäjä voisi selata localhostiin ja löytää wordpressin wp-admin-sivun eikä asennussivun. Yritän preseedata siihen vaikka ErkkiEsimerkki ja salasanaksi joku, joka lukee saltpressin README-filussa.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Advertisements

One thought on “Palvelinten Hallinta: Harjoitus 6 raportti”

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

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

Google+ photo

You are commenting using your Google+ 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