Linux Palvelimet Harjoitus 7

Linux Palvelimet kurssin harjoitukset Tero Karvisen opastamana.

Harjoitus suoritettu Xubuntu 16.0.4.3 LTS (amd64) Live-tikulla, laitteella Lenovo Ideapad 700.

Aloitus aika 20:38 | 13.3.2018
Lopetus aika 1:03 | 14.3.2018



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

Valitsen seuraavan harkan: Arvioitava Labraharjoitus



Suomi näppis,

setxkbmap fi

Tarkistus että netti toimii. Yhdistän läppärin Wifiin, tarkastan esim. labraharjoituksen sivun. Näkyy. Sitten vielä katson että kaikki teksti sekä roina mitä näytöllä näkyy on terävää, check!

Päivitetään paketit,

sudo apt-get update

Etäyhteys hoidetaan kuntoon. Tarvitsemme SSH:n, se asentuu komennolla,

sudo apt-get install openssh-server

Tämän jälkeen teemme tulimuuriin reiän ssh:lle ja otetaan tulimuuri tämän jälkeen käyttöön,

sudo ufw allow 22/tcp
sudo ufw enable

Tehdään käyttäjät valmiiksi, luon samalla salasana.txt tiedoston johon lisään käyttäjänimet sekä niiden salasanat. Muokkaamme oikeudet jotta kukaan muu ei voi nähdä sisältöä paitsi minä.

nano salasana.txt
chmod go-rwx salasana.txt
sudo adduser mjorma
sudo adduser phurme
sudo adduser rsmith
sudo adduser phakan
sudo adduser meinari
sudo adduser veinari
sudo adduser veija
sudo adduser maija

Kun luomme käyttäjän joudumme lisäämään heille esim. salasanan, nimen ja numeron. Lisään kaikille vahvat salasanat jotka ovat ainakin 8 merkkiä pitkiä ja sisältävät isoja sekä pieniä kiraimia, numeroita ja symbooleja.

Muistamme lisätä Maija Virtasen sudo oikeusryhmään komennolla,

sudo adduser maija sudo

Testataan SSH:n toimivuus,

ssh mjorma@xubuntu
The authenticity of host 'xubuntu (127.0.1.1)' can't be established.
ECDSA key fingerprint is SHA256:y1WcDa5usrpNj1PEqYIwcfrnQnp/G2bqPKW29AccIlM.
Are you sure you want to continue connecting (yes/no)? yes
mjorma@xubuntu's password: xxxxxxxx

Päästiin sisälle, toimii.

exit

HTML5 esimerkkikotisivuihin tarvitsemme Apachea. Ladataan se komennolla,

sudo apt-get install apache2

Testataan webbipalvelinta webbiselaimen kautta,

Screenshot_2018-03-13_19-33-27

Testisivu tulee näkyviin. Muokataan tuo esimerkki sivu pois,

sudoedit /var/www/html/index.html
Hei vaan!
Ctrl + X, Y, Enter.

Tehdään kaikille omat esimerkkikotisivut. Annetaan komennot,

sudo a2enmod userdir
sudo systemctl restart apache2.service

Tämän jälkeen voimme luoda jokaiselle käyttäjälle omat sivut kotihakemiston alle public_html nimiseen kansioon.

Kotisivut tehdään aina käyttäjänä itsenä joten joudumme kirjautumaan jokaiselle käyttäjälle sisään erikseen.

ssh mjorma@xubuntu
ECSA kyssäri (y|n) yes
salasana

Tämän jälkeen olemme Jormana sisällä.

Tarkastamme missä hakemistossa olemme,

cd
pwd
/home/mjorma

Luomme kansion komennolla,

mkdir public_html

Jos haluamme kaikille käyttäjille automaattisesti pubic_html kansion niin voimme lisätä /etc/skel kansioon public_html:n komennolla,

cd /etc/skel
sudo mkdir public_html

Tämä luo kansion public_html kansion aina luodessasi uuden käyttäjän. Tämä kohta siis kuuluu tehdä ennen kuin teet kaikki käyttäjät. Jatkuu…

Sinne sisälle index.html,

cd public_html
nano index.html

<!DOCTYPE html>
<html>
       <head>
             <title> mjorma </title>
             <meta charset= 'UTF-8'>
       </head>
<body>
</body>
</html>

Toistan tämän kaikille paitsi Pekalle luomme php-tiedoston. Siitä myöhemmin.

Olen tarkastanut että kaikkien sivut tulevat näkyviin osoitteessa localhost/~käyttäjänimi webbiselaimessa.

Laitamme Jorman kotisivut näkymään sivulta sleep.example.com osoitteesta. Apuna Roope Varttilan ohjeet.

sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/sleep-example-com.conf
sudoedit /etc/apache2/sites-available/sleep-example-com.conf

Muokkaame tiedoston seuraavanlaiseksi,

<VirtualHost *:80>
 ServerName sleep.example.com
 ServerAlias www.sleep.example.com
 DocumentRoot /home/mjorma/public_html

ErrorLog ${APACHE_LOG_DIR}/error.log
 CustomLog ${APACHE_LOG_DIR}/access.log combined

</VirtualHost>

Tämän jälkeen otamme conffin käyttöön,

sudo a2ensite sleep-example-com.conf
sudo systemctl restart apache2.service

Sitten siirrymme hosts tiedoston kimppuun,

sudoedit /etc/hosts

Sen muokaamme seuraavanlaiseksi, en laita oikeeta IP-osoitettani tänne (tehdessä oli).

127.0.0.1 localhost
127.0.1.1 xubuntu
192.xxx.xxx.xx sleep.example.com

# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

Tämän jälkeen webbiselaimella otan yhteyden sleep.example.com ja näkyviin tulee Jorman sivut. Toimii.

Laitamme Pekan sivut seuraavaksi toimimaan. Asennetaan PHP,

sudo apt-get install libapache2-mod-php7.0

Luomme hänelle index.php tiedoston ja laitamme saman pohjan sinne sisälle kuin muillakin oli mutta testaamme että php toimii. Eli simppeli php pätkä sisään,

<?php print(2+2); ?>

Ei toimi. Pitää käydä muokkaamassa php7.0.conf tiedostoa,

sudoedit /etc/apache2/mods-available/php7.0.conf

Sieltä kommentoimme 5 viimeistä riviä pois.

sudo systemctl restart apache2.service

Screenshot_2018-03-13_21-19-21

Toimii. Jatketaan.

Tarvitsemme Mysql:n jotta voimme tietueita näyttää Pekan kotisivuilla. Käytän apuna Miikka Valtosen ohjeita.

sudo apt-get install mysql-server php7.0-mysql

Annamme mysql:lle HYVÄN salasanan kun se asentaessa pyytää sitä. Tein pwgenillä 25 merkin salasanan joka sisältää symbooleja.

Kirjaudumme mysql:ään sisälle,

mysql -u root -p

Tässä vaiheessa pyytää salasanaa, jonka juuri loimme valmiiksi.

Pääsimme sisälle.

Luodaan Pekalle tietokanta komennolla,

CREATE DATABASE phurme CHARACTER SET utf8;

Seuraavaksi annamme Pekalle oikeudet tietokantaan,

GRANT ALL ON phurme.* TO phurme@xubuntu IDENTIFIED BY 'salasana';

Kirjaudu ulos ja kirjaudu sisää Pekkana.

mysql -u phurme -p
Enter password: ************

Ja näin olemme sisällä!

Seuraavaksi,

USE phurme;

CREATE TABLE helloworld (id INT AUTO_INCREMENT PRIMARY KEY, helloworld VARCHAR(1024));

INSERT INTO helloworld(helloworld) VALUES ("Hello World!");

INSERT INTO helloworld(helloworld) VALUES ("Hei Maailma!");

INSERT INTO helloworld(helloworld) VALUES ("Hejssan Världen!");

Tämän jälkeen voimme katsoa tauluamme komennolla,

SELECT * FROM helloworld;

Ja näkyviin tulee,

+----+-------------------+
| id | helloworld        |
+----+-------------------+
| 1  | Hello World!      |
| 2  | Hei Maailma!      |
| 3  | Hejssan Världen!  |
+----+-------------------+

Tämän jälkeen käymme index.php kimppuun. Käytän apuna  Tero Karvisen kirjoittamaa koodia mutta muokkaan sen minulle toimivaksi jotta saan myqsl tietokannan tulostettua Pekan kotisivuilla.

sudo systemctl restart apache2.service

Näkyviin saamme tietokantaan lisätyt Hello World! lausekkeet. Toimii!

screenshot_2018-03-13_22-15-02.png
Sitten lopuksi wowstat komento.

Asennetaan sysstat,

sudo apt-get install sysstat

Muokataan conffeista että se keräisi tietoa,

sudoedit /etc/default/sysstat
Muutetaan arvo "false" --> "true"

Sitten käynnistetän sysstat,

sudo systemctl restart sysstat

Tämän jälkeen kokeillaan että sysstat toimii,

sar -P ALL
Linux 4.10.0-28-generic (xubuntu) 03/13/2018 _x86_64_ (4 CPU)
10:41:41 PM LINUX RESTART (4 CPU)

Toimii. Luodaan seuraavaksi wowstat komento.

nano wowstat

#!/bin/bash
sar -P ALL
iostat
pidstat

sudo cp wowstat /usr/local/bin/

Tämän jälkeen annamme oikeudet kaikille,

sudo chmod a+x /usr/local/bin/wowstat

Nytten pitäisi toimia komento wowstat.

screenshot_2018-03-13_22-53-07.png

Kokeillaan vielä jollain toisella käyttäjällä, esim. mjorma.

ssh mjorma@xubuntu
salasana: xxxxxxxxx
wowstat

screenshot_2018-03-13_22-55-57.png

Ja toimii.

Lopuksi annamme ohjat Virtasen Maijalle. Sitä ennen annamme Maijalle salasana.txt tiedoston jotta hän voi jakaa käyttäjätunnukset eteenpäin oikeille omistajille.

scp salasana.txt maija@xubuntu:
salasana: xxxxxxxxx

NYT on kaikki tehty.

Check list.

Käyttäjät ✓
Kotisivut✓
Maijan sudo käyttäjä ja valta siirretty✓
Pekan LAMP sivu✓
Jorman sleep.example.com✓
Tulimuuri käytössä reikineen✓
wowstat komento✓

Valmis ✓



 

c) (vapaaehtoinen) Käytä Linuxia kurssin ulkopuolella.

Tein jokunen viikko sitten Linux Kurssin innoittamana oman VoIP:serverin.

https://ksyrjanen.wordpress.com/2018/02/25/teamspeak-server-setup/

 

ICT-Infrastructure student from Finland.

Learning Linux, Windows and some Python3…

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.