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
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,
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
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!
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.
Kokeillaan vielä jollain toisella käyttäjällä, esim. mjorma.
ssh mjorma@xubuntu salasana: xxxxxxxxx wowstat
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, DevOps and Docker…