Palvelinten hallinta H6

Tämä on Palvelinten hallinta kurssin viimeinen tehtävä, kurssia opettaa Tero Karvinen.

Tehtävän tarkoitus on suunnitella ja toteuttaa puppetmoduli vapaa valintaisesta aiheesta.

Aiheeni on oman kotipalvelimeni ohjelmien asennuksen sekä asetusten automatisointi, käyttöjärjestelmänä on 64 bittinen CentOs 7 minimaalisella asennuksella sekä järjestelmän standardoidulla turvallisuus asetuksilla.

Asennukseen kuuluu:
– Plex media server https://www.plex.tv/
– Zfs tiedostojärjestelmä http://zfsonlinux.org/
– Firewalld palomuuriohjelma sääntöineen
– SSHFS kansionjako
– Järjestelmän käyttäjät

Koska sshfs kansionjako määritellään palvelimen ulkopuolella, mukana on myös moduulit joilla voidaan konfiguroida ulkopuolista käyttöjärjestelmää, joka tässä tapauksessa on Ubuntu pohjainen 64 bittinen Linux Mint 18. Tähän konfiguraatioon kuuluu:

– Järjestelmän käyttäjä
– ssh
– sshfs kansion jako
– UFW palomuuriohjelma

Modulit löytyvät osoitteesta: https://github.com/TatuE/CentOS-server-configuration

Moduleihin on kommentteina lisätty lisäinformaatiota niiden käyttötarkoituksista.

Modulien testaus tapahtuu virtualbox virtuaaliympäristöön asennetuilla käyttöjärjestelmillä.

Masterkoneena toimii 64 bittinen Ubuntu 16.04.3. Masterkoneen asennuksen ohjeet löytyvät aikaisemmasta tehtävästäni H2.

Koska testauksessa on kaksi konetta joille tulee eri moduulikokonaisuus, masterkoneen site.pp tiedosto määrittelee mille nodelle mikäkin moduli tulee

CENTOS7

Asennuksessa määritellään vain “root” käyttäjän salasana. Varsinaiset järjestelmän käyttäjät hoidetaan puppet modulin kautta. Ennen puppetin asennusta päivitän järjestelmän komennolla

“yum update”

sekä asennan nano.n tekstieditointia varten

“yum install nano”

En käytä sudo komentoa root käyttäjänä.

Vaihdan koneen hostname.n koska oletuksella se on localhost. Tämä tapahtuu komennolla

“hostnamect set-hostname centos2” (2 liite johtuu jo olemassa olevasta plex serveristä joka on nimellä centos)

Teen /etc/hosts tiedostoon lisäyksen masterkoneen ip osoitteesta sekä lisään uuden hostname.n

ZFS.n zpool.a (Levypeilaus) varten olen myös lisännyt kaksi virtuaalista kovalevyä.

Puppet ei kuulu centos vakio ohjelmistoon, joten lataan asennuspaketin suoraan puppetlabs.a. Teen tämän komennolla

“sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-el-7.noarch.rpm”

Asennus käy tämän jälkeen normaalisti komennolla

“yum install puppet”

Muokkaan puppet.conf tiedostoa ja teen sinne lisäyksen

server = master

Centos.a tämä tehdään suoraan puppet.conf tiedoston [main] osioon.

Nyt kun puppet on asentunut, voin laittaa sen päälle sekä lisätä sen käynnistykseen. Tähän voi käyttää myös puppet.a. Komento

“puppet resource service puppet ensure=running
enable=true”

Tämän jälkeen hyväksyn masterkoneella uuden orjan yhteyspyynnön.

Hyväksynnän jälkeen “puppet agent -t” komento ilmoittaa Centos2 koneella että puppet configuraatio on käynnissä, odotan n.5 minuuttia. Toisen kerran kun kokeilen komentoa ilmenee että että paketit ovat asentuneet. Käyttäjä modulin yksi muutos on se että se estää root kirjautumisen paikallisesti. Kirjaudun ulos ja kokeilen kirjautua uudestaan sisään root.a, tämä ei onnistu.  Tmän jälkeen testaan tapahtuneet muutokset:

 

Kokeilen että myös toinen käyttä on luotu

Koska käyttöjärjestelmässä ei ole graaffista käyttöympäristö, testaan masterkoneella meniko Plex asennus kunnolla. Oletusarvoisesti tämä on samassa sisäverkossa olevan koneen kanssa : <plex-palvelin-ip-osoite>:32400/web

LINUX MINT

Asennuksen yhteydessä teen käyttäjän “tatu”, josta tulee samalla pääkäyttäjä.

Päivitän sekä asennan pakettien päivitykset komennolla

“sudo apt-get update” “sudo apt-get upgrade”

Hostname (hannapc) ei tarvitsee erikseen vaihtaa koska se tehtiin jo asennuksen määrittelyissä. Masterkoneen ip osoitteesta ten lisäyksen /etc/hosts tiedostoon.

Tämän jälkeen asennan puppet.n komennolla

“sudo apt-get install puppet”

Teen merkinnän puppet.conf tiedostoon masterista. Ubuntussa se sijoitetaan [agent] määritteen alle (tämä pitää itse luoda), server = master.

Tämän jälkeen laitan palvelun päälle komennolla

“sudo puppet agent –enable”

Tämän jälkeen hyväksyn sertificaatin masterkoneella.

Annan komennon “sudo puppet agent -t” ja modulien asennus alkaa pyörimään odotetusti.

Testaan ensimmäisenä että palomuurisäännöt toimivat.

Jotta voin kokeilla sshfs levyn jakoa, joudun luomaan ssh avaimen uudelle käyttäjälle ja tämän jälkeen kopioin sen CentOs7 koneen hanna käyttäjälle. Tämän jälkeen joudun käynnistämään koneen uudestaan jotta uusi /etc/fstab merkintä (levy mount) tulee voimaan.

Käynnistyksen jälkeen nautilukseen ilmestyy “devices” osioon levyn mountin kuva, kun sitä klikkaa avautuu kansio. Komento rivillä tämän voi tehdä myös komennolla “mount <levyjako kansio>.

Teen testin ja luon uuteen kansioon tiedoston ja katson löytyykö se centos7 hanna käyttäjältä.