h7 Oma Moduuli

Tehtävän tavoitteena oli ratkaista jokin oikean elämän tai keksitty tarve omilla tiloilla/moduleilla. Oman moduulin tekemiseen meni

Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta kahdella Linuxin Ubuntu 18.04 käyttöjärjestelmällä, sekä tässä tehtävässä toisessa virtuaalikoneessa CentOS 7 käyttöjärjestelmällä.

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävän anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

b) Oma moduli (iso tehtävä). Ratkaise jokin oikean elämän tai keksitty tarve omilla tiloilla/moduleilla. Voit käyttää Salttia tai muuta valitsemaasi modernia keskitetyn hallinnan ohjelmaa. Esitä tulos viimeisellä opetuskerralla, 5-10 min (keskiviikon ryhmä). Live demo olisi kiva. Raportoi modulisi tarkoitus, koodi ja testit.

Moduulini tarkoitus on asentaa tilojen avulla LAMP kolmelle eri koneelle, masterille sekä kahdelle orjalle joista toinen on eri käyttöjärjestelmällä (CentOS)

Halusin aloittaa moduulin kokonaan puhtaalta pöydältä, joten ensimmäiseksi asensin kaksi virtuaalikonetta Ubuntun käyttöjärjestelmällä ja yhden CentOS käyttöjärjestelmällä. Latasin Ubuntun ISO-tiedoston Tero Karvisen sivuilta (http://terokarvinen.com/2020/remote-learning-tools-for-my-courses/) ja CentOS:in paketin CentOS sivuilta (http://isoredirect.centos.org/centos/7/isos/x86_64/).

Masterin ja minion asennus

Kun virtuaalikoneet oli asennettu, aloitin ensiksi asentamalla salt-masterin. Käytin masterin ja minioneiden asennukseeen avuksi Tero Karvisen ohjetta(http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux). Ensiksi aloitin asetamalla masterin master koneelle ja tarkistin tämän jälkeen masterin IP-osoitteen komennoilla:

sudo apt-get -y install salt-master
hostname -I

Tämän jälkeen asensin minionin sekä master koneelle, että toiselle Ubuntu koneelle ja lisäsin /etc/salt/minion tiedostoon orjan id:n(ubuntuorja) ja master IP:n (192.168.8.124) sekä viimeisenä käynnistin palvelun uudelleen komennoilla:

sudo apt-get -y install salt-minion
sudoedit /etc/salt/minion
sudo systemctl restart salt-minion

Tämän jälkeen asensin minionin CentOS käyttöjärjestelmään ja lisäsin id:n (centosorja), master IP:n sekä käynnistin palvelun uudelleen komennoilla:

sudo yum -y install salt-minion
sudo nano /etc/salt/minion
sudo systemctl restart salt-minion

Menin takaisin masterin koneelle ja hyväksyin kaikkien minioiden avaimet komennolla:

sudo salt-key -A

Viimeisenä testasin vielä, että kaikki minionit toimivat komennolla:

sudo salt ‘*’ cmd.run ‘whoami’

LAMP asennus

Päätin tehdä LAMPin eri ohjelmille kaikille oman tilan, joka konfiguroi ja asentaa kyseinen ohjelman. Asensin ohjelmat ensin käsin molemmille käyttöjärjestelmille ja varmistin miten ne toimivat käsin asennettuina ennen kuin tein tilat. Ensiksi asennan ja konfiguroin Apachen. Kyseinen kohta on melkein samanlainen kuin edellisessä tehtävässä 6 (https://janni.tech.blog/2020/05/11/h6-yksi-totuus/)

Käsinasennus

Asensin ensin masterille kaikki ohjelmat käsi ja käytin tässä kohdassa näitä komentoja:

sudo apt-get -y install apache2 mariadb-server mariadb-client php7.2 libapache2-mod-php7.2 php-mysql
sudo a2enmod userdir
sudo systemctl restart apache2

LAMP Moduuli

LAMP moduulin asennukseen käytin apuna Linoden ohjeita (https://www.linode.com/docs/applications/configuration-management/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/ ja https://www.linode.com/docs/applications/configuration-management/use-salt-states-to-configure-a-lamp-stack-on-a-minion/) sekä Teron ohjeita (http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example). Katsoin myös apua edellisen vuoden opiskelijoilta (https://www.bloglinux.me/node/15 ja https://otsorauta.wordpress.com/2018/12/03/h6-lamp-asennus-saltilla/)

Aloitin ensiksi luomalla /srv/salt ja /srv/salt/lamp hakemistot komennoilla:

sudo mkdir /srv/salt
sudo mkdir /srv/salt/lamp
sudoedit init.sls


Päätin tehdä erikseen tilat asennukselle ja konfiguroinnille. Tein ensinki tilatiedoston ja se oli tämän näköinen:


Tämän jälkeen ajoin tilan ja kaikki muut menivät läpi molemmissa käyttöjärjestelmissä, paitsi libapache2-mod-php7.2 CentOS:ksella. Tämä oli odotettavissa sillä kyseistä pakettia ei CentOS:ksella ole. Käytin komentoa:

sudo salt ‘*’ state.apply lamp

Kun kaikki oli onnistuneesti asentunut, tein uuden kansion ja init.sls tilatiedoston konfiguroinnille komennoilla:

sudo mkdir /srv/salt/lampconf
sudoedit /srv/salt/lampconf/init.sls

Tässä kohdassa päätin jatkaa vain Ubuntu orjalle, sillä en keksinyt miten olisin saanut userdir moduulin toimimaan saltin avulla CentOS:ksessa. En keskinyt miten olisin fiksusti voinut kirjoittaa koodin.

Loin tässä vaiheessa myös tiedostot uusiindex.html (Tämän sisällä luki vain hei kaikki), uusiindex.php ja uusiphp.conf /srv/salt/lampconf polkuun. Kaksi muuta näyttivät tältä:

Tämän jälkeen tein lampconf init.sls tilatiedoston, joka näytti tältä:

Tämän jälkeen loin vielä tietokannan tekeen oman tilan mariadb ja sen sisälle init.sls tiedoston sekä tiedot.sql tiedoston, jotka näyttivät tältä:

Loin tämän jälkeen top.sls tiedoston ja lisäsin kaikki tilat tähän. Ajoin tämän jälkeen tilat komennolla ja ne menivät oikein läpi:

sudo salt ‘ubuntuorja’ state.apply

En saanut tietokannan tietoja näkymään PHP koodin avulla public_html sivuillani. Joten index.php public_html kansiossani ei toiminut. Yritin etsiä tähän netistä vastausta, mutta en saanut sitä toimimaan. Loin orjalle info.php tiedoston /var/www/html kansioon ja testasin, että PHP toimi. Se toimi. Myös Apache index.html tiedosto samassa polussa toimi. Kirjauduin MariaDB:lle ja tarkistin, että kyseinen tietokanta tuli varmasti luotua. Se löytyi MariaDB:sestä oikeanlaisena.

Selvittelin asiaa vielä ja vika oli PHP koodissa tai sen tiedoissa. Yritin tehdä PHP koodin vielä kahden eri ohjeen tavalla (https://www.ionos.com/community/hosting/mysql/use-php-to-retrieve-information-from-a-mysqlmariadb-database/ ja https://www.tutorialspoint.com/mariadb/mariadb_connection.htm) Toisessa sain kyllä html kohdan toimimaan, mutta php ei toiminut. Yritin vielä selvittää asiaa, mutta en löytänyt ratkaisua.

Olin tätä ennen joutunut jo kerran aloittamaan kokonaan alusta virtuaalikoneen hajottua, tällöin olin tehnyt mariaDB tilan Tero Karvisen ohjeiden avulla (http://terokarvinen.com/2018/mysql-automatic-install-with-salt-preseed-database-root-password)

Lähteet:

Bloglinux.me
https://www.bloglinux.me/node/15

Otso Rauta
https://otsorauta.wordpress.com/2018/12/03/h6-lamp-asennus-saltilla/

Tero Karvinen
http://terokarvinen.com/2020/remote-learning-tools-for-my-courses/

Tero Karvinen
http://terokarvinen.com/2018/mysql-automatic-install-with-salt-preseed-database-root-password

Tero Karvinen
http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

Tutorialpoint
https://www.tutorialspoint.com/mariadb/mariadb_connection.htm

Ionos
https://www.ionos.com/community/hosting/mysql/use-php-to-retrieve-information-from-a-mysqlmariadb-database/

Linode
https://www.linode.com/docs/applications/configuration-management/use-salt-states-to-create-lamp-stack-and-fail2ban-across-salt-minions/
https://www.linode.com/docs/applications/configuration-management/use-salt-states-to-configure-a-lamp-stack-on-a-minion/

CentOS ISO-tiedosto
http://isoredirect.centos.org/centos/7/isos/x86_64/

h6 Yksi Totuus

Tehtävien tavoitteena oli testata yhtä totuutta eri käyttöjärjestelmillä. Tehtävien tekemiseen meni noin 9 tuntia kahtena eri päivänä.

Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta Linuxin XUbuntu 18.04 käyttöjärjestelmällä, sekä tässä tehtävässä toisessa virtuaalikoneessa CentOS 7 käyttöjärjestelmällä.

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävän anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

a) Asenna jokin toinen Linux-levityspaketti orjaksi Saltille.

Valitsin Linux-levityspaketiksi CentOS 7. Latasin paketin täältä (http://isoredirect.centos.org/centos/7/isos/x86_64/)

Aloitin lataamalla CentOS 7 ISO -tiedoston, jonka jälkeen loin virtualboxiin uuden virtuaalikoneen CentOS:ksille. Latasin CentOS:sista GNOME desktop version. Ensin latasin vahingossa minimal version, joka aiheutti ongelmia sillä en saanut nettiä päälle ja tästä syystä yum komennon käyttäminen ei onnistunut.

Kun CentOS oli asentunut, aloitin asentamaan salt-minionia. Ensimmäiseksi enabloin EPEL repositoryn, joka laajentaa pakettien määrään CentOS:ksessa ja päivitin paketin tämän jälkeen komennoilla:
– sudo yum -y install epel-release
– sudo yum update

Tämän jälkeen asensin salt-minionin komennolla:
– sudo yum -y install salt-minion

Asennuksen jälkeen menin polkuun /etc/salt ja muokkasin tiedostoa minion. Masteriksi laitoin master koneeni IP-osoitteen 192.168.8.111 ja id:ksi CentOS. Kun muutokset oli tehty käynnistin salt-minionin uudelleen komennolla:
– sudo systemctl restart salt-minion

Siirryin tämän jälkeen master koneella ja tarkistin ensiksi oliko unaccepted key kohdassa CentOS avainta komennolla:
– sudo salt-key -L

Se oli siellä, joten hyväksyin avaimen komennolla:
– sudo salt-key -A

Viimeisenä testain minioneiden toimivuutta komennolla:
– sudo salt ‘*’ cmd.run ‘whoami’


b) Kerää grains.items avulla tiedot orjista, joissa on eri levityspaketti.

Keräsin tietoja kahdesta eri orjasta. Toinen on janni ja toinen centOS. Keräsin tiedot komennoilla:
– sudo salt ‘centOS’ grains.items
– sudo salt ‘janni’ grains.items

c) Tee päivän viesti (motd), jossa koneen tyyppi tulee grains osfinger -muuttujasta. Kokeile, että saat eri levityspaketeilla eri tuloksen. Voit hyödyntää aiemmin tekemääsi motd:ia.

Hyödynsin aikaisempaan tekemääni motd tilaa (tehtävä5). En tehnyt muutoksia init.sls tilatiedostoon. Minulta puuttui edellisestä tiedostosta osfinger, joten tein tekstitiedostoon seuraavat muutokset:

Tämän jälkeen aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply motd

Testasin motd viestien toimivuutta ssh yhteyksien avulla. Ensiksi otin yhteyttä CentOS:kseen komennolla:
– ssh centOS@IP-osoite ja kyseinen motd viesti tuli:

Kirjauduin seuraavaksi toiselle orjalle komennolla:
– ssh janni@IP-osoite -p 5556 ja kyseinen motd viesti tuli:

d) Tee tila, joka tekee RedHat-perheellä (esim. CentOS) tiedoston /tmp/redhat ja Debian-perheellä (esim Ubuntu) tiedoston /tmp/debian. Voit käyttää mitä vain eri perheiden levityspaketteja.

Katsoin tähän mallia Teron ohjeista (http://terokarvinen.com/2018/configure-windows-and-linux-with-salt-jinja-if-else-and-grains) sekä omista muistiinpanoistani tunnilta.

Aloitin luomalla /srv/salt hakemistoon kansion tiedostot ja tämän alapuolelle init.sls tilatiedoston. Tilatiedostoon kirjoitin koodin, joka lisää tiedoston /tmp/redhat mikäli käyttöjärjestelmä on CentOS ja muussa tapauksessa tiedoston /tmp/debian. Käytin myös template jinjaa avuksi. Tilatiedosto oli tämän näköinen:

Sen jälkeen loin polkuun /srv/salt/tiedostot tekstitiedoston nimeltä tiedosto.txt ja kirjoitin sen sisälle käyttöjärjestelmä grains tiedon. Tekstitiedosto näytti tältä:

Sitten aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply tiedostot

Tila meni oikein läpi ja näytti tässä kohdassa hyvältä. Tämän jälkeen testasin vielä, että tiedostot löytyvät ja niiden sisältä löytyvät tarvittavar tiedot. Aloitin Ubuntusta ja kirjoitin komennon:
– cat /tmp/debian

Tämä toimi niinkuin pitikin. Kirjauduin tämän jälkeen ssh:lla CentOS virtuaalikoneelle ja laitoin komennon:
– cat /tmp/redhat

Tämäkin toimi oikein.

e) Tee tila, joka asentaa ja konfiguroi Apachen kahteen erilaiseen järjestelmään, esim. CentOS ja Ubuntu. Paketin nimi on CentOS:ssa “httpd”. Käytä Salt-koodin generointia muoteilla.

Käytin käsinasennukseen apuna phoenixNAP:in asennusohjeita. (https://phoenixnap.com/kb/install-apache-on-centos-7) Aloitin asentamalla ensiksi httpd ohjelman käsin CentOS -käyttöjärjestelmälle komennolla:
– sudo yum install -y httpd

Jotta Apache toimii CentOS:ksella se täytyy ensin aktivoida. Aktivoin httpd servicen komennolla:
– sudo systemctl start httpd

Lisäksi avasin httpd tarvitsemat portit, sillä normaalissa asennuksessa CentOS on asetettu estämään liikenne Apacheen. Tein avaukset komennoilla:
– sudo firewall-cmd ––permanent ––add-port=80/tcp
– sudo firewall-cmd ––permanent ––add-port=443/tcp
– sudo firewall-cmd ––reload

Tämän jälkeen testasin verkossa, että testi sivu toimii ja poistin sitten asennuksen.

Aloitin tilan tekemisten luomalla apache kansion polkuun /srv/salt ja sen sisälle tila tiedoston init.sls. Ekaksi minulla oli siinä myös service osuus, mutt apache service on jostain syystä hajonnut master koneellani, enkä googlauksista huolimatta saanut sitä toimimaan. Asensin uuden Ubuntu virtuaalikoneen ja tein siitä minionin, jotta voin kokeilla apache2 asennusta Ubuntulle ilman että joudun asentamaan kaiken uudelleen. Tila tiedosto näytti tältä:

Ajoin tilan komennolla:
– sudo salt ‘*’ state.apply apache
Asennus meni molemmissa virtuaalikoneissa oikein lävitse.

Tämän jälkeen lisäsin service.running kohdan init.sls tiedostoon muodossa:
{{ webserver }}.service:
service.running

Tämä siksi, että CentOS ei käynnistä itse servicejä. Ajoin tilan uudelleen ja servicet menivät molemmat oikein käyntiin.

Viimeisenä halusin vielä muokata tilaa, niin että se luo molemmille verkkopalvelimille mukautetut index.html sivut. Tein ensiksi kaksi tiedostoa polkuun /srv/salt/apache, jonka olivat nimeltään centos ja ubuntu. Tekstiksi kirjoitin vain Ubuntu/CentOS nettisivu. Sitten lisäsin tekstitiedostoille arvon nettisivu ja koodin loppuu file.managed osuuden, joka lisää tiedostot /var/www/html/index.html sijaintiin.

Aktivoin taas tilan ja sen muutokset. Ne menivät läpi kummallakin käyttöjärjestelmällä.

Viimeisenä on vielä aika testata, että muutetut index.html tiedostot toimivat selaimessa. Avasin oman koneeni työpöydältä selaimen ja laitoin molempien virtuaalikoneiden IP-osoitteet. Molemmat toimivat oikein ja muutokset olivat tapahtuneet.

Lähteet:

Tero Karvinen
http://terokarvinen.com/2018/configure-windows-and-linux-with-salt-jinja-if-else-and-grains

phoenixNAP
https://phoenixnap.com/kb/install-apache-on-centos-7

CentOS
http://isoredirect.centos.org/centos/7/isos/x86_64/

h5 muotteja ja moduleja

Tehtävän tekeminen alkoi 3.5.2020 klo 12. Lopetin tehtävien tekemisen 3.5.2020 klo 15.30 ja niiden tekemiseen meni yhteensä aikaa n. 3.5 tuntia.

Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta Linuxin XUbuntu 18.04 käyttöjärjestelmällä.

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävänanto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

a) Hello templates! Tee muotilla esimerkkitiedosto, jossa on muuttujien (esim grains) arvoja.

Käytin tehtävässä apuna Teron ohjetta (http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states)

Ensiksi kokeilin, että minion toimii komennolla:
– sudo salt ‘*’ cmd.run ‘whoami’

Ensimmäisenä aloitin luomalla /srv/salt hakemistoon multi nimisen kansion ja sen sisälle init.sls tilan komennoilla:
– sudo mkdir -p /srv/salt/multi/
– sudoedit /srv/salt/multi/init.sls

Kirjoitin tilan sisälle tälläiset tiedot, joka luo tilan /tmp/template/hellotemplate.txt

{% for file in ['hellotemplates.txt'] %}
/tmp/template/{{ file }}:
  file.managed:
    - source: salt://multi/hellotemplates.txt
    - makedirs: True
    - template: jinja
    - context:
      file: {{ file }}
{% endfor %}

Tämän jälkeen loin /srv/salt/multi/hellotemplates.txt, jonka sisälle kirjoitin tekstin:
Moikka
Tämän tietokoneen tiedot {{ grains[‘os’] }}

Aktivoin tilan komennolla:
– sudo salt-call –local state.apply multi

Muutokset menivät oikein läpi.

Testasin vielä, että tiedot näkyivät oikein tiedostossa komennolla:
– head -100 template/*

b) Message of the Day. Sisäänkirjautuessa näytetään päivän viesti. Lisää päivän viestiin tietoa ympäristöstä käyttäen muotteja. Sopiva tiedosto on /etc/motd.

Käytin tehtävässä apuna edellisen opiskelijan tekemää tehtävää (https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/)

Aloitin luomalla motd hakemiston polkuun /srv/salt ja sen sisälle tilan init.sls sekä tiedoston motd.txt

Init.sls tilatiedoston kirjoitin seuraavasti:

Motd.txt tiedostossa halusin kerto päivän säästä sekä kertoa käyttöjärjestelmä tiedot sekä tietokoneen prosessorin:

Aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply motd

Tila meni läpi oikein ja seuraavaksi testasin kirjautua ssh:lle ja testata päivittyikö motd -viesti. Kirjauduin komennolla ja viesti näkyin kirjautumisessa:
– ssh localhost -p 5556

c) Bash. Tee bashiin asetuksia Saltilla. Ensin käsin, vasta toimivaa automatisoidaan. Muista testata lopputulos käyttäjän näkökulmasta.

Löysin hyvän ohjeen tekstin värin vaihtamiseen, joten päätin yrittää tehdä sitä. Vaihdoin värin ensiksi käsin cybercitin ohjeen avulla (https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/)

Ensiksi menin hakemistoon /home/janni ja täältä avasin tiedoston .bashrc tiedoston. Ennen tiedoston muokkaamista kopioin sen alkuperäisen talteen, jos jokin menisi pieleen.

Tämän jälkeen lisäsin tiedostoon rivin export PS1=”\e[0;31m[\u@\h \W]\$ \e[m” ja avasin terminalin uudelleen, jonka jälkeen teksti näytti tältä:

Loin uuden hakemiston bash polkuun /srv/salt ja sen sisälle init.sls tiedoston sekä textcolor tiedoston. Jouduin hetken aikaa selvittämään mitä tilaan täytyy käyttää jos haluaa vain lisätä tekstiä. Luettuani hetken saltstack:in ohjeita päädyin käyttämään file.appendia.

Kirjoitin salt tilan tämän mukaisesti:

Sitten lisäsin textcolor tiedostoon saman rivin, jonka lisäsin aiemmin .bashrc tiedostoon. Poistin tästä välistä rivin tiedostosta.

Ajoin tämän jälkeen komennon:
– sudo salt ‘*’ state.apply bash

Tila meni onnistuneesti läpi ja tarkistin ssh yhteyden avulla että väri vaihtui ja se vaihtui:

d) Nginx. Tee nginx-weppipalvelimeen asetuksia Saltilla. Voit esimerkiksi tehdä uuden site:n, niin että etusivu vaihtuu. Kun nginx on todennäköisesti sinulle uusi palvelin, tässä tehtävässä on siis ensin laaja osuus valita sopiva asetus nginx:lle ja saada se toimimaan käsin. Vasta toimivaa, käsin kokeiltua kannattaa automatisoida. Muista lopputuloksen testaus käyttäjän näkökulmasta.

Käytin apuna Ubuntun ohjeita Nginxin asennukseen (https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview) sekä vanhoja tehtäviäni apachen asennuksesta, josta otin mallia.

Aloitin ensiksi poistamalla apache2 virtuaalikoneeltani, jotta se ei aiheuta mitään ongelmia nginxin kanssa.

Asensin Nginxin komennoilla:
– sudo apt-get update
– sudo apt-get -y install nginx

Asennuksen jälkeen loin /var/www/html kansioon index.html tiedoston, joka sisälsi nämä tiedot:

Tämän jälkeen loin /etc/nginx/sites-enabled tutorial tiedoston virtualhostille ja lisäsin sinne nämä tiedot:

Tämän jälkeen käynnistin Nginx uudelleen komennolla:
– sudo systemctl restart nginx
Kun Nginx oli käynnistetty uudelleen, testasin että kaikki toimii selaimessa osoitteella localhost:81 ja se toimi oikein:

Loin hakemiston nginx hakemistoon /srv/salt ja sen alapuolelle tilatiedoston init.sls

Siirsin tiedostot /var/www/html/index.html ja /etc/nginx/sites-enabled/tutorial hakemistoon /srv/salt/nginx mv komennon avulla. Kun tiedostot oli siirretty poistin nginxin komennolla:
– sudo apt-get purge nginx

Muokkasin init.sls tilatiedostosta tämän näköisen:

Tämän jälkeen aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply nginx

Se meni oikein läpi:

Viimeisenä testasin vielä uudestaan selaimen kautta toimiiko verkkosivu ja se toimi oikein. Testasin virtuaalikoneessa localhost:81 avulla, sekä omalla koneella IP-avulla (192.168.8.127:81). Molemmat toimivat oikein.

Lähteet:

CyberCiti
https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/

Ubuntu
https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview

Tero Karvinen
http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states

Miko Lähdesmäki
https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/

h4 Modulikimara

Tehtävän tekeminen alkoi 26.4.2020 klo 13.00 ja loppui klo 15, jolloin tein ensimmäisen 3 salt -tilaa. Viimeisten kolmen tilan asennus alkoi 27.4.2020 klo 14.00 ja loppui n. klo 16.00.

Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta Linuxin XUbuntu 18.04 käyttöjärjestelmällä.

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävän anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

Valitsin tehtäväksi b vaihtoehdon eli Modulikimara. Asenna 6 saltin tilaa/modulia.

Ennen tehtävän aloittamista testasin, että minion toimii komennolla:
sudo salt ‘*’ cmd.run ‘whoami’

Se ei toiminut, joten tarkastin onko masterin IP-osoite oikein. Se ei ollut, joten vaihdoin sen oikeaksi. Tämän jälkeen käynnistin salt-minion palvelun uudelleen komennolla:
– sudo systemctl restart salt-minion

Tämän jälkeen aikaisempi testaus komento toimi ja minion vastasi.

  1. Ensimmäiseksi tilaksi valitsin gimpin, joka on kuvankäsittely ohjelma. Kyseisessä kohdassa on ei ole käytetty muiden tehtäviä apuna, vaan yritetty soveltaa aikaisemmin opittuja tietoja.

Aloitin asentamalla gimpin ensiksi käsin virtuaalikoneelle. Asennukseen käytin komentoja:
– sudo apt-get update
– sudo apt-get -y install gimp

Kun asennus oli mennyt onnistuneesti lävitse, etsin gimpin konfigurointi tiedoston, joka sijaitsi polussa /etc/gimp/2.0/gimprc. Muokkasin kyseistä tiedosto, niin että default-image asetukset tulivat voimaan komennolla:
sudo nano gimprc

Tämän jälkeen kopioin muokatun gimprc tiedoston /srv/salt kansioon komennolla:
– sudo cp /etc/gimp/2.0/gimprc /srv/salt

Kun tiedoston löytyi kyseisestä kansiosta, poistin gimp:in komennolla
– sudo apt-get purge gimp

Gimp:in poiston jälkeen loin/srv/salt hakemistoon kansion gimp ja sen sisälle tilan init.sls komennoilla:
– sudo mkdir gimp
– sudoedit init.sls

Kirjoitin init.sls tilan sisälle seuraavat tiedot komennolla:
– sudoedit /srv/salt/gimp/init.sls

Kun muutokset init.sls tilaan oli tehty, ajoin ne läpi komennolla:
– sudo salt ‘*’ state.apply gimp ja ne menivät oikein lävitse:

Testasin vielä, että ohjelma toimi kirjoittamalla gimp ja tämän jälkeen ohjelma aukesi.

2. Seuraavaksi ohjelmaksi valitsin MariaDB:n asennuksen, joka on tietokantaohjelma. Kyseisessä kohdassa ei ole käytetty muiden tehtäviä apuna, vaan yritetty soveltaa aikaisemmin opittua tietoa.

Asensin ensiksi ohjelman käsin komennolla:
sudo apt-get -y install mariadb-server

Asennuksen jälkeen kopioin /etc/mysql/my.cnf tiedoston /srv/salt hakemistoon komennolla:
– sudo cp /etc/mysql/my.cnf /srv/salt

Tämän jälkeen poistin ohjelman komennolla:
– sudo apt-get purge mariadb-server

Kun ohjelma oli poistettu loin mariadb kansion hakemistoon /srv/salt ja sen sisälle tilan init.sls komennoilla:
– sudo mkdir mariadb
– sudoedit init.sls

Kirjoitin init.sls tilan sisälle kyseiset tiedot:

Kun tiedot oli laitettu, kokeilin ajaa ne lävitse komennolla:
sudo salt ‘*’ state.apply mariadb

Ne menivät oikein lävitse ilman virheilmoituksia.

Viimeisenä testasin vielä, että ohjelma toimii. Kirjauduin orjalle ssh avulla ja laitoin komennon:
– sudo mysql -u root -p

MariaDB:n avaus onnistui:

3. Seuraavaksi asensin fail2ban ohjelman. Kyseinen ohjelma on tunkeutumisen estojärjestelmä, joka suojaa tietokonetta bruce-forve hyökkäyksiltä. Käytin avuksi edellisen opiskelijan kirjoitusta, josta löysin kyseisen ohjelman (https://hannukankkunen.wordpress.com/2018/12/10/palvelinten-hallinta-h3/) Yritin kuitenkin tehdä asennuksen itse, katsomatta hänen tehtäväänsä. Käytin avukseni myös Linoden artikkelia (https://www.linode.com/docs/security/using-fail2ban-to-secure-your-server-a-tutorial/)

Asensin ensiksi ohjelman komennolla:
– sudo apt-get -y install fail2ban

Ensiksi kopioin jail.conf tiedoston local muotoon jail.local. Tämä siksi, että on parempi erottaa tiedosto conf-tiedostosta. Local -tiedosto yliajaa conf-tiedoston ja vanhat tiedot jäävät talteen. Tein tämän komennolla:
– sudo cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Muokkasin jail.local tiedostosta kohtaa backend = Autosta systemd ja lisäsin sinne kyseisen kohdan:
[sshd]
enabled = true
port = 22
filter = sshd
logpath = /var/log/auth.log
maxretry = 3


Kun muokkaus oli tehty kopioin kyseisen tiedoston /srv/salt hakemistoon. Kopioinnin jälkeen poistin fail2ban:in ja sen hakemiston komennoilla:
– sudo apt-get purge fail2ban
– sudo rm -r /etc/fail2ban


Poistamisen jälkeen loin fail2ban kansion hakemistoon /erv/salt ja sen alapuolelle init.sls tilan komennoilla:
sudo mkdir fail2ban
– sudoedit init.sls

Init.sls tilan sisälle kirjoitin seuraavat tiedot:

Tallesin tilan ja testasin meneekö se lävitse komennolla:
– sudo salt ‘*’ state.apply fail2ban

Ensimmäisellä kerralla komento herjasi virheestä ja huomasinkin, että minulta oli /etc/fail2ban/jail.local kohdasta unohtunut : merkki.

Korjasin virheen ja kokeilin komentoa uudelleen ja tällä kertaa se meni oikein lävitse:

Viimeisenä testasin ohjelmaa komennolla:
– fail2ban-client -d
Kyseinen komento toimi ja antoi dump configurationista:

Tehtävien teko jatkui 27.4.2020 klo 14

En enää itse keksinyt ohjelmia, josta voisin tehdä salt -tilan, joten etsin komennon avulla mahdollisia asennettavia paketteja:
– sudo apt-cache search .|less

4. Valitsin 4 asennettavaksi ohjelmaksi Chromium selaimen. Kyseisen kohta tehty vanhoja tehtäviä avuksi käyttäen.

Asensin ohjelman ensiksi komennoilla:
– sudo apt-get update
– sudo apt-get -y install chromium-browser

Muokkasin tiedostoa /etc/chromium-browser/default tämän näköiseksi:

Tämän jälkeen kopioin tiedoston /srv/salt kansioon ja poistin ohjelman komennoilla:
– cp /etc/chromium-browser/default /srv/salt
– sudo apt-get purge chromium-browser
– sudo rm -r /etc/chromium-browser

Loin chromium kansion hakemistoon /srv/salt ja sen alapuolelle tilan init.sls:
sudo mkdir chromium
– sudoedit init.sls

Kirjoitin tilaan tämän näköiset tiedot:

Tämän jälkeen testasin, että tila menee läpi komennolla:
– sudo salt ‘*’ state.apply chromium

Viimeisenä testasin vielä, että chromium toimii kirjoittamalla komennon:
– chromium-browser

5. Valitsin ohjelman ClamAV, joka on avoimen lähdekoodin virusohjelma. Kyseinen tehtävä tehty vanhoja tehtäviä avuksi käyttäjen ja apua katsottu clamAV:n nettisivuilta (https://www.clamav.net/documents/configuration)

Asensin sen komennolla:
– sudo apt-get -y install clamav

Tämän jälkeen muokkasin tiedostosta /etc/clamav/freshclam.conf kohtaa MaxAttemps 5 -> 3. Kopioin muutosten jälkeen tiedoston polkuun /srv/salt
– sudo cp /etc/clamav/freshclam.conf /srv/salt

Poistin ohjelman komennoilla:
– sudo apt-get purge clamav

Loin hakemistoon /srv/salr kansion clamav ja sen sisälle tilan init.sls:
– sudo mkdir clamav
– sudoedit init.sls

Tämän jälkeen testasin, että tila menee lävitse komennolla:
– sudo salt ‘*’ state.apply clamav

Testasin vielä, että ohjelma toimi komennolla:
– clamscan -r –bell -i /home/janni

6. Viimeiseksi ohjelmaksi valitsin tehdä tilan virtualboxin asennukselle.

Asensin virtualboxin komennolla:
– sudo apt-get -y install virtualbox

Asennuksen jälkeen en löytänyt conf.tiedostoa joten käytin sen hakemiseen komentoa:
– find / -name virtualbox 2> /dev/null

Avasin tämän jälkeen virtualbox tiedoston ja muutin kohtaa: SHUTDOWN=poweroff -> savestate

Kopioin tämän jälkeen tiedoston /srv/salt hakemistoon ja poistin ohjelman:
– sudo cp /etc/default/virtualbox /srv/salt
– sudo apt-get purge virtualbox

Tämän jälkeen loin /srv/salt hakemistoon tilan virtualbox.sls:
– sudoedit virtualbox.sls


Kokeilin vielä, että tila meni lävitse komennolla:
sudo salt ‘*’ state.apply virtualbox

Kuten kuvasta näkyy, kaikki kohdat menivät oikein lävitse ja file.managed kohdasta DIFF näyttää mitä muutoksia on tehty + ja – merkein. Myös service on käynnistynyt uudelleen, sillä /etc/default/virtualbox tiedostoon oli tehty muutoksia.

Testasin avata terminalin kautta virtualboxin, jotta huomasin sen toimivan oikein komennolla virtualbox.

Tehtävän tekeminen loppui 27.4.2020 klo 16 ja siihen meni yhteensä aikaa noin 4h.

Lähteet:

ClamAV
https://www.clamav.net/documents/configuration

Edellisen opiskelija tehtävä
https://hannukankkunen.wordpress.com/2018/12/10/palvelinten-hallinta-h3/

Linode
https://www.linode.com/docs/security/using-fail2ban-to-secure-your-server-a-tutorial/

h2 Package-File-Service

Tehtävän aloittaminen alkoi 12.4 klo 14.00

Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta Linuxin XUbuntu 18.04 käyttöjärjestelmällä.

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävän anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

a) Demonin asetukset. Säädä jokin demoni (asenna+tee asetukset+testaa) package-file-service -rakenteella. Tunnilla muutettiin ssh:n porttinumeroa, joten tee jotain muuta.

Käytin tehtävään omia muistiinpanojani, sekä Teron ohjeita (http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example)

1) Aloitin ensiksi asentamalla Apachen käsin. Asennukseen käytin komentoja:

sudo apt-get update
sudo apt-get install apache2

Muokkasin index.html tiedostoja, joka muuttaa netissä näkyvää testiä, niin että siellä lukee hello komennolla:

echo hello | sudo tee /var/www/html/index.html

Lisäsin vielä userdir-moduulin komennolla:

sudo a2enmod userdir

Tämän jälkeen poistin Apache2 ennen kuin aloitin asentamaan sitä package-file-servicen avulla. Poistaessa Apache2 jättää apache2-bin tiedoston, joten poistin sen myös itse ohjelman poiston jälkeen.

sudo apt-get remove apache2
sudo apt-get remove apache2-bin

2) Aloitin package-file-service asennuksen menemällä /etc/apache2 hakemistoon komennolla:

cd /etc/apache2/

Tämän jälkeen etsin userdir.conf ja userdir.load tiedostoja ensiksi pidemmällä komennolla:

sudo find -printf ‘%T+ M %p\n%A+ A %p\n%C+ C %p\n’|sort

Sitten lyhyemmällä komennolla:

find -printf “%T+ %p\n”|sort

Aloitin luomalla Apache hakemiston ja sinne init.sls tilan komennoilla:

sudo mkdir apache (olin jo hakemistossa /srv/salt/)
sudoedit init.sls (olin hakemistossa /srv/salt/apache/)

Ensiksi kirjoitin init.sls kansioon nämä tiedot. Olin kuitenkin jo asentanut userdir moduulin käsinasennuksessa, joten minun ei tarvinnut aktivoida kyseistä tilaa. Kyseinen tila enabloi userdir -moduulin ja lisää userdir.conf ja load tiedoston mods-enabled hakemistoon.

Tämän jälkeen muutin tiedostoa alhaalla näkyvään muotoon:
Kuvassa puuttuu rivit:
– file: /etc/apache2/mods-enabled/userdir.conf
– file: /etc/apache2/mods-enabled/userdir.load

Kyseinen tila asentaa komennot ja on luotettavampi kui shell komennoilla asentaminen. Se asentaa ohjelman ja lisää siihe tarvittavat asetukset.

Tämän jälkeen loin tiedoston default-index.html /srv/salt/apache ja kirjoitin sinne Heippa kaikki! Loin tiedoston ja testasin sen toimivuuden komennoilla:

sudoedit /srv/salt/apache/default-index.html
cat /srv/salt/apache/default-index.html

Kun tiedoston oli luotu ja testattu, aktivoin tilan komennolla:

sudo salt ‘*’ state.apply apache

Ensiksi tuli alla oleva ilmoitus:

Virheilmoitus johtui masterin IP-osoitteen muutoksesta. Nettisivut eivät toimineet ennen kuin olin ottanut bridged adapterin käyttöön VirtualBoxista, joka samalla muutti masterin IP-osoitetta. Korjasin IP-osoitteen tiedostosta /etc/salt/minion. Tämän jälkeen käynnistin salt-minion palvelun uudelleen sudo systemctl restart salt-minion.service.
Tarkistin vielä, että avain oli edelleen käytössä komennolla sudo salt-key -L ja se oli hyväksytyissä avaimissa. Testasin ensiksi orjan toiminnan komennolla sudo salt ‘*’ cmd.run ‘whoami’ ja se antoi oikean vastauksen Janni: Root. Sitten laitoin uudelleen komennnon sudo salt ‘*’ state.apply apache ja se meni läpi oikein.

Testasin vielä, että apache toimii. Loin public_html kansion janni käyttäjän kotihakemistoon (/home/janni). Sitten loin echo -komennolla index.html tiedoston, joka sisälsi tekstin Jannin parhaat kotisivut. Käytin näitä komentoja:

sudo mkdir public_html
echo “Jannin parhaat kotisivut” |tee public_html/index.html

b) Uusi ohjelma. Asenna + tee asetukset + testaa jokin sovellus, jota ei ole käsitelty tunnilla. Asenna ensin käsin, ja käytä sen jälkeen find-komentoa etsiäksesi muuttuneet tiedostot.

Valitsin asennettavaksi ohjelmaksi ensiksi httpien. Käytin tehtävässä apuna httpie:n dokumentteja (https://httpie.org/doc). En kuitenkaan onnistunut sys.state_doc:in avulla löytämään apua package-file-servicen asennus ohjeita, enkä löytänyt netistäkään apua. Vaihdoin ohjelman asennuksen sysstateen, johon löysin apua edellisen vuoden kurssilaisen tehtävästä (https://roopelinux.wordpress.com/2018/04/08/palvelinten-hallinta-harjoitus-2-raportti/)

1) Aloitin asentamalla ohjelman ensiksi käsin komennolla:

sudo aptget install -y sysstat

Tämän jälkeen vaihdoin sysstat tiedosssa ENABLE tilan falsesta trueksi komennolla:

sudoedit /etc/default/sysstat

Käynnistin vielä ohjelman uusiksi, jotta muutokset tulivat voimaan.

sudo systemctl restart sysstat

Viimeisenä siirsin sysstat tiedoston polusta /etc/default/sysstat polkuun /srv/salt komennolla:

sudo mv /etc/default/sysstat /srv/salt

Poistin tämän jälkeen käsin asennuksen komennolla:

sudo apt-get purge -y sysstat

2) Kun käsinasennus oli poistettu aloitin package-file-service asennuksen. Loin ensiksi hakemistoon /srv/salt tilan sysstat.sls komennolla:

sudoedit sysstat.sls

Lisäsin tämän jälkeen tiedostoon allanäkyvät tiedot:

Kun tilaa oli muokattu, se täytyi ottaa käyttöön komennolla:

sudo salt ‘*’ state.apply sysstat

Tila meni oikein läpi ja toimi.

Tarkistin missä muuttuneet tiedostot olivat komennolla:

find / -name sysstat 2> /dev/null

c) Aja jokin tila paikallisesti ilman master-slave arkkitehtuuria. Tutki debug-tulostetta.

Käytin paikalliseen ajoon komentoa sudo salt-call –local state.apply apache –state-output terse

Komento antaa saman vastauksen lopussa, kuin master-slave lopussa, että state.apply on mennyt onnistuneesti läpi. Tilan tiedot näkyvät kuitenkin erilailla. Tilan erikohdat kertovat ensiksi nimen, tämän jälkeen toiminnon, tuloksen, milloin se on aloitettu ja kuinka kauan toimintoon meni. Esimerkiksi ensimmäisen on Apache2, toimintona: pkg.installed, tulos on Clean, se alkoi klo 17.40.54 ja se kesti 812.38 ms.

Tehtävien teko loppui 12.4 klo 18.00, joten niiden tekemiseen meni yhteensä 4 tuntia.

Lähteet:

Omat muistiinpanot tunnilta

Apache User Homepages Automatically – Salt Package-File-Service Example
http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

STATES TUTORIAL, PART 1 – BASIC USAGE
https://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html

Entisen kurssilaisen tehtävä
https://roopelinux.wordpress.com/2018/04/08/palvelinten-hallinta-harjoitus-2-raportti/

HTTPie, Documentation
https://httpie.org/doc

h1 Hei maailma, verkon yli ja idempotenssi

Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävän anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

a) Käynnistin HP Pavillion 15 koneeni. Tämän jälkeen Oraclen VirtualBoxista XUbuntun, jonka olin juuri asentanut. Hyödynsin asennuksessa teron ohjetta (http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux). Avasin terminalin ja päivitin listojen sisällön komennolla sudo apt-get update. Sitten aloitin masterin asennuksen (klo 13.15) komennolla sudo apt-get -y install salt-master. Tarkistin komennolla hostname -I hostin IP-osoitteen, joka oli 10.0.2.15.

Seuraavaksi oli vuorossa Slaven asennus (klo 13.24). Asennus alkoi taas päivittämällä listat komennolla sudo apt-get update. Itse asennukseen käytetään komentoa sudo apt-get -y install salt-minion. Kun slave on asennutte muokataan minion tiedostoa komennolla sudoedit /etc/salt/minion. Tiedostosta muokataan master kohtaa, johon laitetaan masterin IP-osoite, jonka saatiin selville ylempänä olevalla hostname -I komennolla. Toisena muokataan id kohtaan, johon laitetaan orjan nimi.

Kun tiedot on vaihdettu tiedostoon, käynnistetään palvelu uudelleen komennolla sudo systemctl restart salt-minion.service. Tämän jälkeen aktivoin salt-keyn komennolla sudo-key -A.

Viimeisenä testasin vielä, että kaikki toimi tässä kohdassa niinkuin pitää. Testasin tämän testasin komennolla sudo salt ‘janni’ cmd.run ‘whoami’ komennolla.

b) Hyödynsin asennuksessa Teron ohjetta (http://terokarvinen.com/2018/salt-states-i-want-my-computers-like-this). Aloitin luomalla kansion (klo 13.40) /srv/salt, joka säilyttää masterin ohjeita orjille komennolla sudo mkdir -p /srv/salt. Tämän jälkeen loin tilan komennolla sudoedit /srv/salt/hello.sls. Kyseiseen tiedostoon lisäsin tekstin, joka näkyy alapuolella:

Sitten loin hello tilassa mainitun hellojanni.txt:n komennolla sudoedit /srv/salt/hellojanni.txt, joka sijaitseen masterin hakemistossa /srv/salt/. Kyseiseen tiedostoon kirjoitin tekstin See you at http://janni.tech.blog. Tämän jälkeen päivitin tilan kaikille orjille komennolla sudo salt ‘*’ state.apply hello. Alhaalla on kuvakaappaus kyseisestä komennosta ja siitä näkee kohdasta diff, että siihen on tullut uusi tiedosto. Succeedesta kertoo, että jotain on muuttunut kohdasta (changed = 1)

Viimeisenä loin top.sls tilan, jonka avulla Salt voi kontrolloida orjia vaikka itse nukkuisit. Loin tilan komennolla sudoedit /srv/salt/top.sls ja sisälle kirjoitin tekstin:
base:
‘*’:
– hello
Tilan saatiin voimaan komennolla sudo salt ‘*’ state.highstate ja tämä meni läpi oikein.

c) Hyödynsin tehtävässä tunnilta tehtyjä muistiinpanojani, sekä Teron ohjeita (http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux) Kokeilin kerätä koneen tietoja grains.itemsin avulla (klo 14.10). Käytin ensiksi komentoa sudo salt ‘janni’ grains.items. Komento kertoo koneesta esimerkiksi Biosin tietoja, eri IP-osoitteita (ip4, ip6, dns) ja levytietoja. Kyseisellä komennolla näkee erittäin paljon tietoja koneesta. Jos haluaa tiedot näkyviin lyhyempinä pätkinä voi käyttää komentoa sudo salt ‘janni’ grains.items|less tai jos haluaa tarkemmin tietoa tietystä osasta voi käyttää esimerkiksi komentoa sudo salt ‘janni’ grains.items virtual.

d) Käytin kyseisessä tehtävässä Saltstackin dokumentointia (https://docs.saltstack.com/en/getstarted/fundamentals/states.html). Halusin tehtävässä testata pkg.installed tilaa. Aloitin luomalla (klo 14.30) tilan nettools.sls komennolla sudoedit /srv/salt/nettools.sls. Tilan sisälle kirjoitin nämä tiedot:
install_network_packages:
pkg.installed:
– pkgs:
– rsync
– lftp
– curl
Viimeisenä päivitin nettools tilan orjille ja samalla testasin, että se on tehty oikein komennolla sudo salt ‘janni’ state.apply nettools

Yhteensä tehtävien tekemiseen meni aikaa noin 2,5 tuntia.

Lähteet:

Create A Salt State
https://docs.saltstack.com/en/getstarted/fundamentals/states.html

Salt Quickstart – Salt Stack Master and Slave on Ubuntu Linux
http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux

Salt States – I Want My Computers Like This
http://terokarvinen.com/2018/salt-states-i-want-my-computers-like-this

Luennolta kirjoitetut muistiinpanot

Exercise 4: Licences, trends & Guest additions etc

1.1 GPL eli GNU General Public License on avoimen lähdekoodin ohjelmille tarkoitettu lisenssi. Lisenssin alla olevat ohjelman eivät aina ole ilmaisia, vaan GPL:ssä “free” tarkoittaa vapautta. Käyttäjät pystyvät vapaasti muokkaamaan, kopioimaan ja jakamaan ohjelmia sekä sen lähdekoodia. Lisenssi takaa, että lähdekoodi julkaistaa samalla lisenssillä, eikä ohjelman käytölle tai levitykselle saa asettaa lisärajoituksia.

1.2 LGPL eli GNU Lesser General Public License on melkein samanlainen kuin GPL. Se eroaa GPL:stä niin, että se salliin ohjelman liittämisen osaksi toista, eri lisenssin alaista ohjelmaa.

1.3 Kyseinen lisenssi on Creative Commons -lisenssi, jolla voi jakaa osan tekijänoikeuksista sekä antaa haluamat vapaudet teoksen käyttöjälle, katsojalla tai kokijalle. Kuvassa oli vielä tarkemmin ottaen CC BY -lisenssi, jolla voi antaa muille oikeudet kopioida, levittää ja esittää alkuperäisen tekijänoikeuksiin kuuluvaa teosta ja sen pohjalta muokattuja versioita, mikäli he mainitsevat teoksen tekijänoikeuksiin henkilön alkuperäisenä tekijänä. Logon näkee, silloin kuin sivulle on merkitty käyttäjäoikeudet ja henkilö on lisenssöinyt teoksen lisenssin alle.https://www.linux.fi/wiki/GNU_LGPL

2.1 Latasin Fedora desktopin vertailua varten. Fedoran asennusprosessi oli hieman monimutkaisempi Ubuntusta, sillä siinä piti valita tarkemmin levyt joihin asennuksen suorittaa. Asennus oli kuitenkin suhteelisen yksinkertainen, mutta monimutkaisempi Ubuntuun nähden. Ubuntun ja Fedoran työpöydässä oli samankaltaisia piirteitä ja huomasi, että molemmat käyttävät GNOME desktop environmentia. Ubuntussa oli enemmän graafisia kuvakkeita (esimerkiksi tiedosto), kun taas Fedorassa ne olivat aika pelkistettyjä. Mielestäni Ubuntu toimi nopeammin, mutta kyseessä voi myös olla oma koneeni. Fedorassa uusien ikkunoiden rasti oli suurempi kuin Ubuntussa, mutta Ubuntussa ikkunoissa oli kuitenkin ikkunoiden isontamis ja alas laitto painikkeet.

2.2 undefined

3. Yleisin Linux distro tammikuussa vuonna 2019 oli Ubuntu 38.1%, toiseksi suosituin oli Debian 22.4% ja kolmantena CentOS 17.8%. Muut Linuxin distrot Red Hart, Gentoo, Fedora, SuSE ja Scientific Linux olivat kaikki alta 3%. Vuoden jälkeen 25 tammikuuta 2020 Ubuntu on kasvattanut osuuttaan 38.7%, kun taas muut ovat menettäneet käyttäjiä. Debianin prosentti oli tippunut 18.8% ja CentOS 16.8%. Muiden pienempien distrojen prosentit olivat kaikki alle 2%.

4. Asensin Ubuntu Virtuaalikoneelleni Guest Addition lisätoiminnot. Guest Additionit ovat ryhmä laitteen ajureita ja järjestelmän applikaatioita. Ne ovat suunniteltu saavuttamaan parempi integraatio hostin ja virtuaalikoneessa olevan käyttöjärjestelmän välille. Näitä ovat esimerkiksi, helpot tavat jakaa kansioita, parempi ajan syknronointi hostin ja guestin välille sekä helpompi hiiren osoittimen integraation.

Introduce Yourself (Example Post)

This is an example post, originally published as part of Blogging University. Enroll in one of our ten programs, and start your blog right.

You’re going to publish a post today. Don’t worry about how your blog looks. Don’t worry if you haven’t given it a name yet, or you’re feeling overwhelmed. Just click the “New Post” button, and tell us why you’re here.

Why do this?

  • Because it gives new readers context. What are you about? Why should they read your blog?
  • Because it will help you focus you own ideas about your blog and what you’d like to do with it.

The post can be short or long, a personal intro to your life or a bloggy mission statement, a manifesto for the future or a simple outline of your the types of things you hope to publish.

To help you get started, here are a few questions:

  • Why are you blogging publicly, rather than keeping a personal journal?
  • What topics do you think you’ll write about?
  • Who would you love to connect with via your blog?
  • If you blog successfully throughout the next year, what would you hope to have accomplished?

You’re not locked into any of this; one of the wonderful things about blogs is how they constantly evolve as we learn, grow, and interact with one another — but it’s good to know where and why you started, and articulating your goals may just give you a few other post ideas.

Can’t think how to get started? Just write the first thing that pops into your head. Anne Lamott, author of a book on writing we love, says that you need to give yourself permission to write a “crappy first draft”. Anne makes a great point — just start writing, and worry about editing it later.

When you’re ready to publish, give your post three to five tags that describe your blog’s focus — writing, photography, fiction, parenting, food, cars, movies, sports, whatever. These tags will help others who care about your topics find you in the Reader. Make sure one of the tags is “zerotohero,” so other new bloggers can find you, too.

Design a site like this with WordPress.com
Get started