H7

Kurssi Linux palvelimet ICT4TN021-6

a) Ratkaise valitsemasi vanha arvioitava laboratorioharjoitus tältä kurssilta. (Löytyy DuckDuckGolla tai Googlella sekä linkeistä tältä sivulta).

Valitsin Labraharjoitus – Linux palvelimet ict4tn021-3 tehtäväkseni

Haluamme tehdä PHP-kotisivuja etäältä.

Ensimmäiseksi ilmaistaan että haluamme tehdä PHP-kotisivuja etäältä tästä saa heti kuvan että pitää asentaa apache2 ja php.

Aloitin tehtävän asentamalla apache2 komennolla: sudo apt-get install apache2.
Tämän jälkeen testasin toimivuutta tarkistamalla että apache2 testisivu toimii.

Seuraavaksi asennetaan PHP komennolla: sudo apt-get -y install apache2 libapache2-mod-php

Työntekijöitämme ovat Jorma Mähkylä, Pekka Hurme, Ronaldo Smith, Håkan Petersson, Einari Mikkonen, Einari Vähäkäähkä, Eija Vähäkäähkä. Tee heille HTML5-esimerkkikotisivut siten, että kunkin testisivun otsikossa lukee omistajan käyttäjätunnus.

Seuraavasssa kohdassa huomataan että pitää lisää käyttäjiä, sekä antaa kaikille testisivu, jonka otsikossa on käyttäjätunnus lueteltuna.
Pitää sallia käyttäjille kotisivujen teko ja php.
Käytetään sudo a2enmod userdir jonka jälkeen pitää viellä käyttää
sudo systemctl restart apache2.service että uudet asetukset tulevat käyttöön

PHP saadaan käyttöön menemällä sudoedit /etc/apache2/mods-available/php7.0.conf täältä mennään ohjeiden mukaan kommentoimaan ulos mainitut rivit.

Screenshot_2018-03-12_11-22-59
Kannattaa lisätä muutoksen tehneen nimi ja päivämäärä. Tämä helpottaa työskentelemistä huomattavasti jos ongelmia tulee vastaan tai työskentelet muiden henkilöiden kanssa samassa projektissa.

Tämän jälkeen on käytettävä sudo systemctl restart apache2.service että muutos tulee voimaan.

PHP testaaminen onnistuu seuraavasti.
Tehdään käyttäjälle uusi kansio komennolla: sudo mkdir public_html seuraavaksi tehdään php tiedosto komennolla: sudo nano index.php 
Keksi jokin simppeli koodi testaamiseksi esim. laskutoimitus.
Päästään tarkistamaan toimiiko koodi menemällä localhost/~käyttäjänimi

Screenshot_2018-03-12_11-39-52

PHP näyttää toimivan mainiosti!

Käyttäjien lisääminen

Seuraavaksi aloin lisäämään käyttäjiä käyttäen komentoa: sudo adduser käyttäjätunnus.
Tämän jälkeen annat käyttäjälle hyvän salasanan ja voit sen jälkeen lisätä yksityiskohtaista tietoa käyttäjästä sisältäen esim. koko nimen.

Screenshot_2018-03-12_10-57-42

Tämän jälkeen tehdään kaikille käyttäjille oma public_html kansio jossa on index.html tiedosto.
Jotta saadaan testisivun otsikoksi käyttäjänimi tulee laittaa jokaiseen html koodiin <tittle>käyttäjätunnus</tittle>

Jos et jaksa itse keksiä hyviä salasanoja voit käyttää pwgen ohjelmaa se asennetaan komennolla sudo apt-get install pwgen
Tämän jälkeen voit tehdä teksti tiedosto sudo nano salasanat.txt
Jonne voidaan pistää pwgenin generoimia salasanoja.
Tämän jälkeen on hyvä suojata tiedosto niin että vain user pääsee tarkastelemaan tiedostoa.
Tämä tapahtuu komennolla sudo chmod go-rwx salasanat.txt
Voit testata toimiiko salaus menemällä tiedostoon ilman sudo oikeuksia.

 

Maija Virtanen jatkaa ylläpitoa, tee hänelle sudo-tunnus. Maija haluaa käyttäjätunnuksen “maija”.

Tehdään viellä maija käyttäjä jolla on sudo oikeudet.
sudo oikeudet voidaan lisätä maija käyttäjälle komennolla:
sudo adduser maija sudo

Jorma aikoo kehittää uuden sivun sleep.example.com. Laita Jorman kotisvu näkymään myös tästä osoitteesta. Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

Lisätään sleep.example.com alias menemällä komennolla sudoedit /etc/hosts
tiedostoon lisäämään sleep.example.com alias

Screenshot_2018-03-12_13-07-29

Suojaa kone tulimuurilla.

Jotta kone saadaan suojattua tulimuurilla käytetään komentoa:
sudo ufw allow 22/tcp jonka jälkeen pistetään uusi sääntö käytäntöön komennolla: sudo ufw enable
Sama voidaan tehdä myös portille 80

Tee Pythonilla uusi komento ‘wowstats’, joka tulostaa käyttäjälle tervehdyksen. Sen tulee toimia jokaisella käyttäjällä työhakemistosta riippumatta.

Screenshot_2018-03-12_14-01-32

Tein /usr/bin kansioon pyrhon komennon wowstats.py
Annoin tämän jälkeen kaikille käyttäjille oikeudet käyttää tätä tiedostoa antamalla komennon: sudo chmod ugo+rwx /usr/bin/wowstats.py
Testasin viellä että tiedosto toimi eri kansioissa ja kävi ilmi että se toimi!

Linuxilla voi kuulemma tehdä metapaketteja, eli paketteja, jotka asentavat toisia ohjelmia – vieläpä uusimpina versioina ja kaikkine päivityksineen. Haluamme itsellemme metapaketin nimeltä kurssikuru-coding, joka asentaa suosikkityökalumme git, ipython3, meld, gedit. Tee tällainen metapaketti ja asenna se. Katso vinkkejä Googlesta “karvinen equivs”. Liitä metapaketin lähdekoodi (ilman kommenttirivejä) lab.txt:n perään. Paketin nimen pitää olla “kurssikuru-coding”.

Käytin apunani tätä ohjetta: Create deb metapackage in 5 minutes

Sinun tulee asentaa tätä tehtävää varten 2 ohjelmaa
sudo apt-get -y install equivs
sudo apt-get install gdebi

Käytetään ensiksi komentoa: equivs-control kurssikuru.cfg
joka luo “skeleton tiedoston”

Kun nämä tiedostot  menin ohjeen mukaan tekemään muutoksia nano kurssikuru-coding.cfg tiedostoon.

Oma tiedostoni näytti tältä:
Screenshot_2018-03-12_14-13-50

Tämän jälkeen annetaan komento equivs-build kurssikuru-coding.cfg
Joka tekee metapaketin. On hyvä nimetä tiedosto hyvin että siitä tietää suoraan minkä tyyppisiä tiedostoja metapaketti asentaa.

Testaaminen onnistui komennolla:
sudo gdebi -n kurssikuru-coding_0.1_all.deb

Tämän jälkeen voit testata onko ohjelmat asentunut koneellesi.

 

 

 

 

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s