Linux palvelimet osa.7 Kertaus

a) Ratkaise valitsemasi vanha arvioitava laboratorioharjoitus tältä kurssilta.
(http://terokarvinen.com/2017/arvioitava-laboratorioharjoitus-%e2%80%93-linux-palvelimet-ict4tn021-2-uusi-ops-alkukevaalla-2017-p1)

Tehtävä:

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

2.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.

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

4.Pekka Hurme aloittaa LAMPin opiskelun. Tee Pekalle oma tietokanta, ja muuta hänen PHP-esimerkkisivunsa näyttämään tietueita tietokannasta (eli tietokantojen “hei maailma”).

5.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.

6.Suojaa kone tulimuurilla.

7.Tee uusi komento ‘wowstats’, joka näyttää tietoja koneen tilasta. Sen tulee toimia jokaisella käyttäjällä työhakemistosta riippumatta.

1.Aluksi asensin kaikki tarvittavat työkalut eli Apchen, mySql.n sekä php.n ‘sudo apt-get install apache2 mysql-client mysql-server libapache2-mod-php php-mysql’
Tämän jälkeen sallin apachen käyttäjien kotisivut ‘sudo a2enmod userdir’
sallin php. käytön käyttäjien kotisivuilla ‘sudoedit /etc/apache2/mods-available/php7.0.conf’

# Running PHP scripts in user directories is disabled by default
#
# To re-enable PHP in user directories comment the following lines
# (from <IfModule …> to </IfModule>.) Do NOT set it to On as it
# prevents .htaccess files from disabling it.

ja uudelleen käynnistin apachen.
‘sudo systemctl restart apache2.service ‘

2.Koska jokaiselle uudelle käyttäjälle luodaan käytäjän kotisivut loin ‘/etc/skel/’ kansioon ‘public_html’ kansion ja sinne ‘index.php’ tiedoston, eli nyt jokainen uuden luodun käyttäjän hakemistoon luodaan kyseiset tiedot. Seuraavaksi loin vaaditut uudet käyttäjät ‘sudo adduser “username”‘.Kirjauduin jokaisen käyttäjän tunnuksilla ‘ssh “username”@localhost’ ja kävin muuttamassa ‘index.php’ tiedoston sisältöä siten että se printtaa käyttäjän nimen sivulla ‘localhost/~”username”/.

3.Maijalle annoin sudo oikeudet komennolla ‘sudo adduser maija sudo’

4.Kirjauduin mySQL palvelimella ‘mysql -u root -p’ komennolla. MySQL.ssä loin Pekalle oman tietokannan ‘CREATE DATABASE pekka CHARACTER SET utf8;’ ja määritin sille salasanan ‘GRANT ALL ON pekka.* TO pekka@localhost IDENTIFIED BY ‘password’;’.
Tämän jälkeen kirjauduin ulos ‘exit’ komennolla ja kirjauduin sisään pekka käyttäjänä ‘mysql -u pekka -p’

Kerroin että käytän pekka tietokantaa ‘USE pekka;’
Loin testi taulun yhdellä attribuutilla
‘CREATE TABLE pekka(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(1024));’
Ja lisäsin sinne yhden henkilön
‘INSERT INTO pekka(name) VALUES (‘Pekka Hurme’);’
Testi
‘SELECT * FROM pekka;’
+—-+————-+
| id | name |
+—-+————-+
| 1 | Pekka Hurme |
+—-+————-+

Sitten vielä näkymä pekan kotisivuille. ‘ssh pekka@localhost’ ‘ nano public_html/index.php/’

<?php
$servername = “localhost”;
$username = “pekka”;
$password = “password”;
$dbname = “pekka”;

// Create connection
$conn = mysqli_connect($servername, $username, $password, $dbname);
// Check connection
if (!$conn) {
die(“Connection failed: ” . mysqli_connect_error());
}

$sql = “SELECT id, name FROM pekka”;
$result = mysqli_query($conn, $sql);

if (mysqli_num_rows($result) > 0) {
// output data of each row
while($row = mysqli_fetch_assoc($result)) {
echo “id: ” . $row[“id”]. ” – Name: ” . $row[“name”].”<br>”;
}
} else {
echo “0 results”;
}

mysqli_close($conn);
?>

pekka

5.Loin Jorman public_html kansioon sleep kansion ‘mkdir sleep.com’ ja sinne siirsin index.php tiedoston sinne ‘mv index.php sleep.com’
Kansiossa/etc/apache2/sites-available’ tein uuden ‘sudoedit sleep.conf’ tiedoston jonne laiton seuraavat rivit:

<VirtualHost *:80>
ServerName http://www.sleep.example.com
ServerAlias sleep.example.com
DocumentRoot /home/jorma/public_html/sleep.com
<Directory /home/jorma/public_html/sleep.com>
Require all granted
</Directory>
</VirtualHost>

Seuraavaksi sallin sivun ‘sudo a2ensite sleep.conf’ ja uudelleen käynnistin apachen ‘sudo systemctl restart apache2.service’ komennoilla.

Lisäsin vielä ‘/etc/’ kansion hosts tiedostoon ‘sudoedit hosts’ rivit:
“127.0.1.1 http://www.sleep.example.com&#8221;
“127.0.1.1 sleep.example.com”
jorma.png
6.Suojasin koneen tulimuurilla ‘sudo ufw enable’. Mutta sitä ennen tein reijän ssh.lle porttiin 22 ‘ sudo ufw allow 22/tcp’ sekä webserverille ‘sudo ufw allow 80/tcp’
7.Loin ‘nano wowstat’ tekstitiedoston jonne lisäsin rivit:
date
ls
pwd
iostat -h
Testi ‘bash wowstat’ komennolla
wowstat.png
Seuraavaksi lisäsin tiedoston alkuun rivin “#!/bin/bash” joka kertoo, että skripti suoritetaan käyttäen bashia riippumatta siitä, mitä komentotulkkia käyttäjä käyttää ajaessaan skriptin. (https://www.linux.fi/wiki/Bash-skriptaus)
Suraavaksi annoin komennon ‘chmod a+x wowstat’ joka antaa ohjelmalle souritus oikeudet komennolle ‘./wowstat’. Testi
wow.png
Siirsin tiedoston /var/www/ kansioon jotta se on jokaisen käyttäjän käytettävissä.
Advertisements

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 )

Google+ photo

You are commenting using your Google+ 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