diff --git a/h5.md b/h5.md index 89f5b7e..88c140b 100644 --- a/h5.md +++ b/h5.md @@ -5,3 +5,135 @@ Palvelinten hallinta - Harjoitus 5 -------------- Tämä harjoitus on tehty osana Haaga-Helian Tietojenkäsittelyn koulutusohjelman kurssia [Palvelinten hallinta (ICT4TN022, kevät 2018)](http://www.haaga-helia.fi/fi/opinto-opas/opintojaksokuvaukset/ICT4TN022). Kurssin pitäjänä toimii [Tero Karvinen](http://terokarvinen.com/), joka on määritellyt tämän harjoituksen tehtävänkuvaukset. Tehtävien vastaukset ovat Pekka Heleniuksen (allekirjoittanut) tuottamia. + +*SISÄLLYSLUETTELO* + +b) Julkaise raportti MarkDownilla. Jos käytät GitHub:ia, se tekee muotoilun automaattisesti “.md”-päätteisiin dokumentteihin. +-------------- + +**Vastaus:** + +Kaikki raportit Git-varastoissa '[Central Management of Multiple Servers](https://github.com/Fincer-altego/central-management-of-multiple-servers)' sekä '[Basics of a Linux Server](https://github.com/Fincer-altego/basics-of-a-linux-server-school-course-)' tehty tähän mennessä MarkDownilla. + +**c)** Aja oma Salt-tila suoraa git-varastosta. Voit joko tehdä tilan alusta lähtien itse tai forkata [sirottimen](https://github.com/terokarvinen/sirotin). +-------------- + +**Vastaus:** + +### 1) Git-varaston alustus + +Alustetaan uusi git-varasto, Ubuntu 18.04 LTS. Ajetaan normaalikäyttäjänä tietokoneella: + +``` +sudo apt-get update && sudo apt-get -y install git + +mkdir -p ~/harjoitus_5 +``` + +Luodaan tässä vaiheessa uusi varasto esimerkiksi GitHub:iin. Uudella käyttäjällä aloitetaan uusi projekti (New project), jolle annetaan nimi (tässä tapauksessa salt_testrun). + +Kun uusi varasto on luotu, ladataan se paikalliselle koneelle: + +``` +cd ~/harjoitus_5 +git clone https://github.com/Fincer-altego/salt_testrun.git + +cd salt_testrun +``` + +**HUOM!** Mikäli git-komento pyytää, on komennon tulostamien ohjeiden mukaan asetettava sähköpostiosoite ja käyttäjätunnus git:iä varten. Testikoneella nämä oli määritelty jo ennalta. + +Luodaan GitHub:sta ladattuun git-varastoon alikansiot scripts ja data: + +``` +mkdir -p ~/harjoitus_5/salt_testrun/{scripts,data,images} +``` + +Seuraavat tiedostot oli tehty harjoitusta varten jo ennalta. Kopioidaan valmiit tiedostot oikeisiin paikkoihin git-varastossa. + +**HUOM!** Mikäli muokkaat git-varastoon kuuluvia tiedostoja, tee tämä aina git-varaston (~kansion) sisällä! + +``` +GIT_VARASTO=$HOME/harjoitus_5/salt_testrun +cp ~/salt_testrun.sh ${GIT_VARASTO}/ +cp ~/salt_pillar_apache_sample.sh ${GIT_VARASTO}/scripts/ +cp ~/{sampleindex.html,sampleindex_functions.js} ${GIT_VARASTO}/data/ +touch ${GIT_VARASTO}/images/.gitignore +unset GIT_VARASTO +``` + +Lisätään tiedostot git-puuhun: + +``` +cd ~/harjoitus_5/salt_testrun +git add * +git commit -m "Initial content" +``` + +Output: + +``` +[04/05/2018 04:14:37 - fincer: salt_testrun ]$ git commit -m "Initial content" +[master 9cc3aab] Initial content + 5 files changed, 1384 insertions(+) + create mode 100755 data/sampleindex.html + create mode 100755 data/sampleindex_functions.js + create mode 100644 images/.gitignore + create mode 100644 salt_testrun.sh + create mode 100644 scripts/salt_pillar_apache_sample.sh +``` + +**HUOM!** Tiedostojen poisto seuraavasti, esimerkki: + +``` +[04/05/2018 04:13:50 - fincer: salt_testrun ]$ git rm -rf .gitignore +rm '.gitignore/.gitignore' +[04/05/2018 04:14:01 - fincer: salt_testrun ]$ git commit -m "Delete gitignore" +[master fd87536] Delete gitignore + 1 file changed, 1 deletion(-) + delete mode 100644 .gitignore/.gitignore +``` + +Julkaistaan muutokset GitHub:ssa: + +``` +git push +``` + +Output: + +``` +[04/05/2018 04:19:40 - fincer: salt_testrun ]$ git push +Counting objects: 12, done. +Compressing objects: 100% (9/9), done. +Writing objects: 100% (12/12), 14.38 KiB | 2.40 MiB/s, done. +Total 12 (delta 0), reused 0 (delta 0) +To https://github.com/Fincer-altego/salt_testrun.git + c72f9b7..1be1fb5 master -> master +``` + +**HUOM!** Mikäli git-varasto käyttää useampaa haaraa, on _git push_ -komennossa määriteltävä, mihin haaraan muutokset kohdistetaan (esim. _git push origin master_) + +**HUOM!** Mikäli kyseessä on useamman tekijän git-varasto ja mikäli ei voida olla varmoja, onko git-puuta päivitetty jonkun toisen tekijän toimesta omien muutostöiden välissä, on suositeltavaa käyttää _git push_ -komennon edellä _git pull_ -komentoa. Yleensä git osaa varoittaa, mikäli välissä muutettuun varastoon ollaan tekemässä muutoksia, mutta hyvän työskentelykäytännön takia _git pull:ia_ on hyvä käyttää. + +### 2) Salt-tila suoraan varastosta + +Seuraava komentosarja on testattu Ubuntu 18.04 LTS:ssä: + +``` +wget https://raw.githubusercontent.com/Fincer-altego/salt_testrun/master/salt_testrun.sh +sudo bash ./salt_testrun.sh + +``` + +- asentaa yhdelle koneelle Salt Master/Minion -arkkitehtuurin (Minion-koneen ID on defaultMinion) + +- asentaa Apachen Salt-minionille (Salt-tiloja käyttäen) + +- konfiguroi esimerkkisivun Apachelle (Salt-tiloja käyttäen) + +- avaa esimerkkisivun käyttäjän 1000 (UID) oletusselaimessa + +Git-varasto löytyy kokonaisuudessaan seuraavasta osoitteesta: + +[Fincer-altego - salt_testrun](https://github.com/Fincer-altego/salt_testrun/tree/master)