Tämä harjoitus on tehty osana Haaga-Helian Tietojenkäsittelyn koulutusohjelman kurssia Palvelinten hallinta (ICT4TN022, kevät 2018). Kurssin pitäjänä toimii Tero Karvinen, joka on määritellyt tämän harjoituksen tehtävänkuvaukset. Tehtävien vastaukset ovat Pekka Heleniuksen (allekirjoittanut) tuottamia.
Vastaus:
Kaikki raportit Git-varastoissa 'Central Management of Multiple Servers' sekä 'Basics of a Linux Server' tehty tähän mennessä MarkDownilla.
Vastaus:
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/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/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ää.
Seuraava komentosarja on testattu Ubuntu 18.04 LTS:ssä:
wget https://raw.githubusercontent.com/Fincer/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: