Palvelinten hallinta harjoitus 5

Tehtävänannon lähde:  Tero Karvinen 2017, Palvelinten Hallinta, http://terokarvinen.com
Ympäristönä: Xubuntu 16.04 LTS live-usb

H5. a) Asenna Puppetin orjaksi vähintään kaksi eri käyttöjärjestelmää. (Tee alusta, pelkkä tunnilla tehdyn muistelu ei riitä).

b) Säädä Windows-työpöytää. Voit esimerkiksi asentaa jonkin sovelluksen ja tehdä sille asetukset.

Määrittelin masterille hostnamen.

sudo hostnamectl set-hostname master

Muokkasin hosts tiedostoa.

sudoedit /etc/hosts

Asensin master koneelle puppetmasterin, pysäytin sen ja poistin ssl -tiedoston.

sudo apt-get install -y puppetmaster
sudo service puppetmaster stop
sudo rm -r /var/lib/puppet/ssl

Muokkasin puppet.conf -tiedostoa ja käynnistin puppetmasterin.

sudoedit /etc/puppet/puppet.conf
sudo service puppetmaster restart

Loin moduulin ja site.pp -tiedoston.

sudo mkdir modules/hello/manifests/
sudoedit /etc/puppet/modules/hello/manifests/init.pp
sudoedit /etc/puppet/manifests/site.pp

Terminal - xubuntu@master: ~_001Terminal - xubuntu@master: ~_002

Asensin vagrantin ja virtualboxin.

sudo apt-get -y install virtualbox vagrant

Loin uuden virtuaalikoneen, käynnistin ja otin ssh-yhteyden siihen.

vagrant init bento/ubuntu-16.04
vagrant up
vagrant ssh

Latasin ja muokkasin tekemääni skriptiin oikean IP-osoitteen, jonka jälkeen ajoin sen.

wget https://raw.githubusercontent.com/ronde21/vagrantfile/master/vagrantpuppet.sh
bash vagrantpuppet.sh

Terminal - vagrant@vagrant: ~_003

Masterilla sertifikaatti löytyi ja allekirjoitus onnistui.

sudo puppet cert list -all
sudo puppet cert sign vagrant.vm

Terminal - xubuntu@master: ~_004

Skriptin ajamisen jälkeen piti vielä anta muutama komento niin modulin lukeminen onnistui.

sudo puppet agent –enable
sudo service puppet restart
cat /tmp/hello.txt

Terminal - vagrant@vagrant: ~_005

Windows

Toisen käyttöjärjestelmän eli Windows 10:n asensin pöytäkoneelle.
Otin User Account Controllin pois päältä ja käynnistin koneen uudelleen.

Capture

Avasin komentokehotteen adminina ja ajoin lataamani puppet tiedoston Puppetin.msi. Asennusohjelman kysyessä masterin DNS-nimeä annoin sen.

Capture2

Asennuksen jälkeen vielä tarkistin, että se varmasti meni puppet.conf-tiedostoon C:\ProgramData\PuppetLabs\puppet\etc-kansiossa.

Capture3

Muokkasin hosts tiedostoa kansiosta C:\Windows\System32\drivers\etc. Ensin piti antaa käyttöoikeudet muokata tiedostoa.

Capture4

Capture5

Avasin käynnistys painikkeen kautta “Start Command Prompt with Puppet” adminina ja annoin komennon “puppet agent -tdv”.

Capture6

Puppetmasterilla allekirjoitin löytyneen pyynnön.

sudo puppet cert list
sudo puppet cert sign desktop-redkst1.tielab.haaga-helia.fi

Terminal - xubuntu@master: ~_006

Lisäsin rivin tiedostoon /etc/puppet/manifests/site.pp rivin ja poistin aikaisemman rivin.

class {hellowindows:}

Ja tein uuden moduulin.

sudoedit /etc/puppet/hellowindows/manifests/init.pp

Terminal - xubuntu@master: -etc-puppet-modules-hellowindows-manifests_007

Puppetmasterin uudelleen käynnistys.

sudo service puppetmaster restart

Ja Windowsilla komento.

puppet agent -tdv

Tiedosto ilmestyi, minne pitikin.

Capture7

b) Säädä Windows-työpöytää. Voit esimerkiksi asentaa jonkin sovelluksen ja tehdä sille asetukset.

Ajoin komennon, joka asentaa tarvittvat Windows osat puppettiin.

sudo puppet module install puppetlabs/windows

Terminal - xubuntu@master: ~_008

Tein moduulin asennuspaketti hakemistoon /etc/puppet/modules/asennuspaketti/manifests, joka asentaa VLC:n ja LibreOfficen. Ja lisäsin site.pp rivin class {asennuspaketti:}

Terminal - xubuntu@master: -etc-puppet-modules-asennuspaketti-manifests_011

Molemmat ohjelmat asentuivat ja käynnistyivät.

Tein moduulin user, joka lisää uuden käyttäjän. Muokkasin init.pp tiedostoon rivin class{user:}

Terminal - xubuntu@master: -etc-puppet-modules-user-manifests_012

Käyttäjä ilmestyi Windowsille.

Capture8

Lähteet:
https://github.com/mcleppala/puppet/blob/master/raportit/h5_useita_kayttojarjestelmia.md
http://terokarvinen.com/2016/windows-10-as-a-puppet-slave-for-ubuntu-16-04-master

Advertisements

Palvelinten hallinta harjoitus 4

Tehtävänannon lähde:  Tero Karvinen 2017, Palvelinten Hallinta, http://terokarvinen.com
Ympäristönä: Xubuntu 16.04 LTS live-usb

H4. a) Kokeile Ansible

b) Kokeile Salt:tia

Salt

Tein tehtävän virtuaalikoneella, joten asensin virtualboxin, vagrantin ja saltin.
Loin virtuaalikoneen ja käynnistin sen.

sudo apt-get -y install virtualbox vagrant salt-master
vagrant init bento/ubuntu-16.04
vagrant up

Master

Muokkasin salt-masterin konfikuraatiotiedostoa ja lisäsin masterin ip:n kohtaan interface.

sudoedit /etc/salt/master

Terminal - xubuntu@xubuntu: ~_001

Käynnistin masterin uudelleen, että asetukset astuvat voimaan.

sudo service salt-master restart

Slave

Otin ssh yhteyden ja asensin saltin.

vagrant ssh
sudo apt-get -y install salt-minion

Muokkasin salt-minionin konfikuraatiotiedstoon masterin ip:n kohtaan master.

sudoedit /etc/salt/minion

Terminal - vagrant@vagrant: -etc-salt_002

Käynnistin minionin uudelleen sekä lopetin ssh-yhteyden siirtyäkseni takaisin masterille.

sudo service salt-minion restart
exit

Listäsin avaimet.

sudo salt-key -F master

Hyväksyin etsimäni avaimen.

sudo salt-key –a vagrant.vm

Testasin toimivuuden pingaamalla ja asentamalla treen onnistuneesti.

sudo salt ‘*’ test.ping
sudo salt ‘*’ pkg.install tree

Terminal - xubuntu@xubuntu: ~_006

Selection_009

Ansible

Asensin Ansiblen ja ssh:n masterin seka orjan koneelle.

sudo apt-get -y install ansible ssh

Muokkasin masterin hosts tiedostoon orjan IP:n [test] -kohdan alle.

sudoedit /etc/ansible/hosts

Terminal - xubuntu@xubuntu- -_001

Lisäsin master-koneella julkisen avaimen orjan koneelle.

ssh-keygen -t rsa

Kopioin orjan avaimen masterilla ja annoin orjan salasanan.

ssh-copy-id xubuntu@172.28.171.22

Testasin toimivuuden pingaamalla masterilta orjalle, joka meni läpi.

ansible test -m ping

ping

Playbookin teko

Tein master koneella YAML-formaatiossa olevan tiedoston, joka vain pingaa orjaa.

sudoedit /etc/ansible/apache.yml

Lisäsin seuraavat määritykset (välit eivät tule, katso kuvasta).


– hosts: test
remote_user: xubuntu
tasks:
– name: testing ping
ping:

playbook_ping

Ajoin playbookin.

ansible-playbook /etc/ansible/apache.yml

Pingaus onnistui.

Terminal - xubuntu@xubuntu- -_004

Muokkasin samaa tiedostoa, että se asentaa myös apachen (katso ylempää kuvasta, miten välit tulevat).


– hosts: test
remote_user: xubuntu
tasks:
– name: testing ping
ping:
– name: install apache
package:
name: apache2
state: latest
become: true

Ajoin playbookin uudelleen.

ansible-playbook /etc/ansible/apache.yml

Ansible ilmoitti muutoksista ja apachen sivu näkyi orja koneella, kun kirjoitti selaimeen localhost.

Terminal - xubuntu@xubuntu- -_005

Lähteet:
https://github.com/marrkus/Palvelinten-hallinta/blob/master/H4.md

Palvelinten hallinta harjoitus 3

Tehtävänannon lähde:  Tero Karvinen 2017, Palvelinten Hallinta, http://terokarvinen.com
Ympäristönä: Xubuntu 16.04 LTS live-usb

H3. a) Asenna useita orjia yhteen masteriin. Ainakin yksi rauta- ja useampia virtuaalisia orjia.

b) Kerää tietoa orjista: verkkokorttien MAC-numerot, virtuaalinen vai oikea… (Katso /var/lib/puppet/)

c) OrjaSkripti: Tee skripti, joka muuttaa koneen Puppet-orjaksi tietylle masterille. Voit katsoa mallia Tatun tai Eemelin ratkaisuista.

Master

Määrittelin masterille ja slavelle omat hostnamet.

sudo hostnamectl set-hostname master (tai slave)

Muokkasin hosts tiedostoa.

sudoedit /etc/hosts

Terminal - xubuntu@xubuntu: ~_005

Käynnistin avahi-daemonin ja pingasin koneilla toisiaan.

sudo service avahi-daemon restart
ping master.local

Terminal - xubuntu@xubuntu: ~_006

Asensin master koneelle puppetmasterin, pysäytin sen ja poistin ssl -tiedoston.

sudo apt-get install -y puppetmaster
sudo service puppetmaster stop
sudo rm -r /var/lib/puppet/ssl

Muokkasin puppet.conf -tiedostoa ja käynnistin puppetmasterin.

sudoedit /etc/puppet/puppet.conf
sudo service puppetmaster restart

Terminal - xubuntu@xubuntu: ~_007

Lisäsin orjan sertifikaatin masterille.

sudo puppet cert list -all
sudo puppet cert sign slave.home

Selection_008

Loin ja ajoin moduulin.

sudo mkdir modules/hello/manifests/
sudoedit modules/helloworld/manifests/init.pp
sudo puppet apply -e ‘class{“hello”:}’

Terminal - xubuntu@master: -etc-puppet-modules-hello-manifests_001

Orja

Asensin puppetin ja muokkasin puppet.conf-tiedostoa.

sudo apt-get install -y puppet
sudoedit /etc/puppet/puppet.conf

Terminal - xubuntu@xubuntu: ~_001

Otin yhteyttä masteriin  ja käynnistin orjan puppetin uudelleen.

sudo puppet agent -tdv
sudo service puppet restart
sudo service puppet reload
sudo puppet agent -enable

Avasin masterin tekemän modulin.

cat /tmp/hello.txt

Terminal - xubuntu@xubuntu: -var_004

Virtuaaliorjat ja orjaskripti

Asensin vagrantin ja virtualboxin.

sudo apt-get -y install virtualbox vagrant

Loin uuden virtuaalikoneen, käynnistin ja otin ssh-yhteyden siihen.

vagrant init bento/ubuntu-16.04
vagrant up
vagrant ssh

Yhteys onnistui. Lopetin ssh-yhteyden ja muokkasin Vagrantfilea Tero Karvisen ohjeiden mukaan.

exit
nano Vagrantfile

Terminal - xubuntu@master: ~_009

Käynnistin virtuaalikoneet, mutta tuli virhe.

vagrant up

Terminal - xubuntu@master: ~_010

En saanut ongelmaa ratkaistua, joten poistin tiedoston ja jatkoin yhdellä virtuaalikoneella.

sudo rm Vagrantfile
vagrant init bento/ubuntu-16.04
vagrant up
vagrant ssh

Latasin ja ajoin tekemäni skriptin virtuaalikoneessa, joka tekee koneesta orjan.

wget https://raw.githubusercontent.com/ronde21/vagrantfile/master/vagrantpuppet.sh
bash vagrantpuppet.sh

Masterilla sertifikaatti löytyi ja allekirjoitus onnistui.

sudo puppet cert list -all
sudo puppet cert sign vagrant.vm

Terminal - xubuntu@xubuntu: ~_014

Kirjauduin virtuaalipalvelimelle ja virtuaalikone onnistui lukemaan moduulini.

ssh vagrant
cat /tmp/hello.txt

c) Kerää tietoa orjista: verkkokorttien MAC-numerot, virtuaalinen vai oikea… (Katso /var/lib/puppet/)

Kirjauduin super userina ja menin oikeaan hakemistoon, josta löytyi kaikkien orjien omat hakemistot.

sudo su
cd /var/lib/puppet/
cd yaml
cd facts
cat slave.home.yaml

Rautaorjan tiedot:

Terminal - root@master: -var-lib-puppet-yaml-facts_017Terminal - root@master: -var-lib-puppet-yaml-facts_018
Terminal - root@master: -var-lib-puppet-yaml-facts_019

Pätkä virtuaaliorjan tiedoista:

Terminal - root@master: -var-lib-puppet-yaml-facts_020

Lähteet:
https://tomiirla.wordpress.com/2017/11/08/palvelinten-hallinta-h3-tehtava/
http://terokarvinen.com

Palvelinten hallinta harjoitus 2

Tehtävänannon lähde:  Tero Karvinen 2017, Palvelinten Hallinta, http://terokarvinen.com
Ympäristönä: Xubuntu 16.04 LTS live-usb

H2. a) Gittiä livenä: Tee ohjeet ja skriptit, joilla saat live-USB -tikun konfiguroitua hetkessä – ohjelmat asennettua ja asetukset tehtyä.

b) Kokeile Puppetin master-slave arkkitehtuuria kahdella koneella. Liitä raporttiisi listaus avaimista (sudo puppet cert list) ja pätkä herran http-lokista (sudo tail -5 /var/log/puppet/masterhttp.log).

Git

Alkukomennot:

setxkbmap fi # suomenkielinen näppäimistö
sudo apt-get update # päivitykset
sudo apt-get install -y git # Gitin asennus

Kloonasin omat Git hakemistot tietokoneelle.

git clone https://github.com/ronde21/puppet.git

Kerroin Gitille nimen ja sähöpostiosoitteen.

git config –global user.email “roni.selander@gmail.com”
git config –global user.name “Roni Selander”

Tein setup.sh -skripti tiedoston (nano setup.sh), joka ajaa päivitykset, asettaa oikean aikavyöhykkeen, kellonajan ja näppäimistö asetukset, asentaa puppetin, gitin ja treen sekä siirtää minun ssh modulini gitistä tietokoneelle, kopioi oikeisiin kansioihin ja ajaa modulin.

Lisäsin skriptin GitHubiin ja ajoin sen.

git add . && git commit; git pull && git push
bash setup.sh

Testasin toimivuuden kokeilemalla tree -ohjelmaa ja ottamalla ssh yhteyden.

Skripti
Skripti GitHubista:
wget https://raw.githubusercontent.com/ronde21/puppet/master/setup.sh

script

Master & slave

Käytin tehtävään kahta läppäriä ja livetikkua.

Livetikun pystyi irroittamaan askubuntusta löytyneillä ohjeilla.

Määrittelin masterille ja slavelle omat hostnamet.

Master:
sudo apt-get install puppetmaster
sudo hostnamectl set-hostname master
sudoedit /etc/hosts

xubuntun perään master

h2_1

Slave:
sudo apt-get install puppet
sudo hostnamectl set-hostname slave
sudoedit /etc/hosts

xubuntun perään slave

Molemmissa koneissa avahi-daemonin uudelleen käynnistys.

sudo service avahi-daemon restart

Pingasin koneilla toisiaan ja itseään, joka onnistui.

ping slave.local
ping master.local

h2_2_ping

Uuden master sertifikaatin saa pysäyttämällä puppetmasterin ja poistamalla ssl tiedoston /var/lib/puppet hakemistosta.

sudo service puppetmaster stop
sudo rm -r /var/lib/puppet/ssl

Tämän jälkeen lisäsin /etc/puppet/puppet.conf tiedostoon masterin nimet ja käynnistin puppetmasterin uudestaan.
dns_alt_names = puppet, master.local, puppet.master

sudoedit /etc/puppet/puppet.conf
sudo service puppetmaster restart

h2_3_dnsalt

Lisäsin orjan sertifikaatin masterille.

sudo puppet cert list -all
sudo puppet cert sign slave.home

Loin moduulin.

cd /etc/puppet
sudo mkdir modules/helloworld/manifests/
sudoedit modules/helloworld/manifests/init.pp

Jonka sisään.

class helloworld {
file { ‘/tmp/hello.txt’:
content => “Hello World!\n”
}
}

Ajoin moduulin.

sudo puppet apply -e ‘class{“helloworld”:}’

Käynnistin orjan puppetin uudestaan.

sudo service puppet restart
sudo service puppet reload
sudo puppet agent –-enable

Jostain syystä enable yhdellä viivalla ei toiminut, mutta kahdella toimi.

Ajoin orjalla hello.txt tiedoston ja se toimi.

cat /tmp/hello.txt

h2_5_hello

Listaus avaimista (sudo puppet cert list) ja pätkä herran http-lokista (sudo tail -5 /var/log/puppet/masterhttp.log).

h2_4_master_cert

Lähteet:
https://rasmusekmanblog.wordpress.com/2017/11/02/h2-palvelinten-hallinta-linux/
https://inaandersin.wordpress.com/2017/11/03/h2-palvelinten-hallinta-ict4tn022-3/
https://github.com/poponappi/essential-tools

Palvelinten hallinta harjoitus 1

Tehtävänannon lähde:  Tero Karvinen 2017, Palvelinten Hallinta, http://terokarvinen.com
Ympäristönä: Xubuntu 16.04 LTS live-usb

H1. Asenna jokin muu demoni kuin Apache. Raportoi, miten rakensit, selvitit ja testasit kunkin osan (esim. sudo puppet resource, puppet describe, lähteet…). Julkaise myös modulisi lähdekoodi niin, että sen voi helposti ottaa käyttöön.

Komennot, että päästään alkuun:

setxkbmap fi # suomenkielinen näppäimistö
sudo apt-get update # päivitykset
sudo apt-get install puppet # puppetin asennus

Ensiksi menin Puppetin modules hakemistoon ja tein ssh hakemiston, jonka sisään manifests ja templates hakemistot (ls komennolla varmistus).

cd /etc/puppet/modules
sudo mkdir openssh
cd openssh
sudo mkdir manifests
sudo mkdir templates
ls

Manifests hakemistoon loin init.pp tiedoston.

cd manifests
sudoedit init.pp

Lisäsin SSH-paketin asennuksen.

class openssh {
package { ssh:
ensure => “installed”,
}
}

Suoritin sen komennolla

sudo puppet apply -e ‘class {“openssh”:}’

Tuli virheilmoitus, jossa mainittiin “allowcdrom”. Käytin livetikkua niin tarvitaan uusi rivi tiedostoon.

class openssh {
package { ssh:
ensure => “installed”,
allowcdrom => true,
}
}

Ajoin uudestaan komennon

sudo puppet apply -e ‘class {“openssh”:}’

Tuli muutama rivi tekstiä, jonka jälkeen ajoin sen vielä uudestaan eli kaikki meni kuin pitikin. Varmistin sen vielä kirjoittammalla ssh ja se oli asentunut.

Kopion SSH-demonin asetustiedoston templates hakemistoon.

sudo cp /etc/ssh/sshd_config /etc/puppet/modules/openssh/templates/

Muokkasin init.pp tiedostoon, että ottaa uudet asetukset käyttöön harjoituksen vuoksi.

file { “/etc/ssh/sshd_config”:
content => template(“openssh/sshd_config”),
notify => Service[“ssh”],
}

Viimeiseksi lisäsin vielä rivin, jolla varmistetaan SSH-demonin olevan päällä.

service { “ssh”:
ensure => “running”,
enable => “true”,
}

Koko moduuli:

class openssh {
package { ssh:
ensure => “installed”,
}

file { “/etc/ssh/sshd_config”:
content => template(“openssh/sshd_config”),
notify => Service[“ssh”],
}

service { “ssh”:
ensure => “running”,
enable => “true”,
provider => “systemd”,
}
}

Komentorivi:h1_puppet

GitHub

Lähteet:
joonaleppalahti.wordpress.com
terokarvinen.com

H5

a) Ota käyttöön oma virtuaalipalvelin (VPS).

b) Laita domain-nimi osoittamaan virtuaalipalvelimeesi

c) Asenna weppipalvelin virtuaalipalvelimeesi

d vapaaehtoinen) Tee weppisivu omalle virtuaalipalvelimellesi käyttäen Apachen VirtualHost-asetusta.

(Kannattaa kokeilla virtuaalipalvelimen vuokraamista, GitHub Education -paketilla se saattaa olla jopa ilmaista. Jos et jostain syystä halua vuokrata virtuaalipalvelinta, sovi opettajan kanssa etukäteen vaihtoehtoisesta korvaavasta tehtävästä)

Lähde tehtävänannolle:
terokarvinen.com 2017
http://terokarvinen.com/2017/aikataulu-–-linux-palvelimet-ict4tn021-2-ti-ja-3-ke-alkukevat-2017-5-op#comment-22187

Ota käyttöön oma virtuaalipalvelin (VPS)

Palvelun tarjoaksi valitsin DigitalOceanin, koska Github student developer -paketin ansiosta monet korkeakouluopiskelijat saavat 50$ edestä palveluita.

Olin jo ehitynyt rekisteröitymään palveluun ja vuokraamaan VPS:n. Alla kuvankaappaukset vaihtoehdoista, jotka valitsin.

123

Käyttöjärjestelmäksi uusin Ubuntu LTS. Toiseksi edullisin vaihtoehto koon puolesta, koska halvimmassa saattaa keskusmuistin määrä olla riittämätön. Sijainniksi Frankfurt, koska se on itseäni ja mahdollisia tulevia asiakkaita lähimpänä. Lisäpalveluita en tarvitse ja vain yhden dropletin. Palvelimen nimellä ei ole juuri väliä.

Tämän jälkeen sähköpostiin tuli salasana root -käyttäjälle. Palvelinta konfiguroidaan SSH-yhteyttä käyttäen Linuxin komentoriviltä.

Palvelimen konfigurointi

sudo apt-get -y ssh # SSH:n asennus

ssh@207.154.217.59 # kirjauduttiin palvelimelle

sudo ufw allow 80/tcp # sallittiin http-yhteys palomuurin läpi

sudo ufw allow 22/tcp # sallittiin SSH-yhteydet palomuurin läpi

sudo ufw enable # palomuuri päälle

sudo adduser roni # lisättiin käyttäjä roni

sudo adduser roni sudo # lisättiin käyttäjä ryhmään sudo

sudo adduser roni adm # lisättiin käyttäjä ryhmään adm

sudo adduser roni admin # lisättiin käyttäjä ryhmään admin

Uutta käyttäjää kannattaa kokeilla toiselta komentoriviltä, koska mahdolliset virheet voi vielä korjata root -käyttäjällä. Kirjautuminen onnistui ja sudo -oikeudet oli toimivat, joten lukitsin root -käyttäjän.

ssh roni@207.154.217.59 # kirjaudutiin palvelimelle uudella käyttäjällä

sudo apt-get update && sudo apt-get -y upgrade # testattiin sudo-oikeuksia

sudo usermod –lock root # lukittiin root-käyttäjä

Weppipalvelimen asennus virtuaalipalvelimelle

Asensin virtuaalipalvelimelle Apache2 -weppipalvelimen, muokkasin oletussivun yksinkertaiseksi testisivuksi sekä asensin kielipaketin, että ääkköset toimivat.

sudo apt-get -y install apache2 # apache2 -palvelimen asennus

sudoedit /var/www/html/index.html # oletusweppisivun muokkaus

sudo apt-get install language-pack-fi

sudo locale-gen fi_FI.UTF-8

sudo update-locale

test

Virtuaalipalvelimen IP-osoitteen kirjoittaminen vie testisivuille, joten kaikki toimii.

Domain-nimi osoittamaan virtuaalipalvelimeesi

Valitsin Namecheapin tajoaman palvelun, koska se on luotettava ja aikasemmin mainitsemani GitHub paketin ansiosta saa pientä alennusta. Ensin varmistettiin halutun domainin saatavuus, kun se oli vapaana niin ostin sen. Kaupan päälle sai myös .me
-domainin.

nc

Tämän jälkeen piti rekisteröityä ja antaa luottokortin tiedot

thanks

Rekisteröitymisen onnistuttua pääsin konfiguroimaan asetuksia yllä näkyvästä kuvasta sinisen here -linkin takaa.

Muut vaihtoehdot otin pois, paitsi Auto-Renew -kohdan .com domainistani kusannuksien minimoimiseksi. Seuraavaksi laitoin roniselander.com -domainin ohjautumaan vuokraamani virtuaalipalvelimeen, missä minun testisivut olivat päällä. Sinne päästiin menemmällä Domain list -> Manage -> Advanced DNS. Alla kuva konfiguraatiosta.

roni_advanced

Selaimeen kirjoitettuani www.roniselander.com testisivuni tuli näkyviin, joten nimipalvelimen vuokraus ja uudelleenohjaus oli onnistunut aivan kuten pitikin.

roni_test

Lähde:
simosuominen.com Linux palvelimet – kotitehtävät 6
Luettavissa: http://simosuominen.com/index.php/2017/03/05/linux-palvelimet-kotitehtavat-6/
Luettu 9.3.2017

H4

a) Asenna alusta lähtien LAMP. (Linux voi olla asennettu valmiiksi tai Live-USB).

Vapaaehtoinen, suositeltava b) Tee weppisivu, joka lukee PHP:lla rivejä tietokannasta.

c) Tee ensimmäinen harjoitus http://sqlzoo.net/ eli “0 SELECT Basics”. Tätä c-kohtaa ei tarvitse raportoida.

d) Laita liitteeksi tai linkiksi raporttiisi tällä komenolla kerätty log.txt:

tail /var/log/syslog /var/log/auth.log /etc/lsb-release /var/log/apache2/*.log /proc/uptime >log.txt

Vapaaehtoinen bonus e) Tee pinta-alan laskuri PHP:lla. Eli käyttäjä syöttää lomakkeella (form) pellon pituuden ja leveyden, laskuri kertoo weppisivulla pellon alan.

Vapaaehtoinen bonus f) Tee TODO-lista LAMP:lla.

Lue yllä aikataulusta linkitetyt LAMP-aiheiset artikkelit, ennenkuin aloitat työskentelyn.

Update: korjasin kijroitusvirheen. Muutin b-kohdan vapaaehtoiseksi.

Lähde tehtävänannolle:
terokarvinen.com 2017
http://terokarvinen.com/2017/aikataulu-–-linux-palvelimet-ict4tn021-2-ti-ja-3-ke-alkukevat-2017-5-op#comment-22162

Apache

Ensimmäiseksi asensin Apache2 weppipalvelimen antamalla komentoriville käskyn “sudo apt-get -y install apache”. Kun tarvittavat paketit oli ladattu ja asennettu, tarkistin onnistuiko asennus kirjoittamalla Firefoxin osoiteriville localhost. Aukeaa “Apache2 Ubuntu Default Page”, joten asennus onnistui.

MySQL

Seuraavaksi asensin MySQL clientin ja serverin antamalla komentoriville käskyn “sudo apt-get -y install mysql-server mysql-client”.  Tarvittavien pakettien asennuksen sekä pääkäyttäjälle annetun salasanan jälkeen MySQL oli asennettu. Kokeilen MySQL:n toimivuutta luomalla sinne tietokannan. Kirjauduin sisään pääkäyttäjälle komenolla “mysql -u root -p” ja antamalla äsken keksimäni salasanan. Käskyllä “CREATE DATABASE Teams CHARACTER SET UTF8;” loin “Teams” nimisen tietokannan. Tarkistin vielä, että se onnistui komennolla “SHOW DATABASES;”. Tietokanta oli siellä, joten se oli luotu onnistuneesti, poistun MySQL:stä komennolla “exit”.

database

PhP

Viimeisenä oli vuorossa PhP:n asennus. Tämä tapahtui antamalla komentoriville käsky “sudo apt-get -y install libapache2-mod-php”. Siirryin polkuun /etc/apache2/mods-available cd komentoa käyttäen. Tarkistin ls -komenolla olevani oikeassa paikassa, tiedosto php7.0.conf löytyi niin kuin kuuluikin. Siirryin muokkaamaan tiedostoa komennolla “sudo nano php7.0.conf”. Kommentoin ulos tiedoston viimeiset rivit tiedoston sisällä olevien ohjeiden mukaisesti, että saan PhP:n toimimaan. Lopuksi annan vielä komennon “sudo service apache2 restart” saadakseni äskeiset muutokset voimaan.

php

Testasin PhP:n toimivuuden luomalla /home/xubuntu polkuun ensin kansion komenolla “mkdir public_html” ja tiedoston uuteen kansioon käskyllä “echo ‘<?php print(2+2+”\n\n”); ?>’> index.php”. Tämän jälkeen annoin vielä komennot “sudo a2enmod userdir” sekä “service apache2 restart”, että pystyin ottamaan käyttöön juuri luomani kansion. Menen Firefoxilla osoitteeseen “localhost/~xubuntu” siellä näkyi vain numero 4, joten PhP koodini toimi kuten pitikin.

1_005

Log.txt

log