Linux palvelimet – harjoitus 3

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

Ensin pakettien päivitys varmuudeksi

$ sudo apt-get upgrade

Apachen asennus

$ sudo apt-get install apache2

Apachen testaus

Selaimella  osoitteeseen http://localhost, ja avautuu apchen aloitussivu

Apache2 Ubuntu Default Page: It works - Mozilla Firefox_001

Kotisivut toimimaan

Alkutilanne

Selection_004Luodaan kotisivulle hakemisto

Selection_002

ja testisivu

$nano index.html

Selection_003

Apachen konfigurointi

Selection_005

Testaus

Linkki: http://localhost/~mono/

Selection_006

Toimii

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.Tee jokin seuraavista (yksi riittää, useampi vapaaehtoisena lisätehtävänä):

Oman koneen IP osoitteen selvitys

$ ip addr

Selection_008

IP osoite on http://192.168.10.52/~mono/

Selection_009

200 ok

Kotisivun päivitys SHIFT-reload yhdistelmällä

access.log lokiin tulostui rivi

Selection_007

access lokin selitys:

127.0.0.1 IP josta tultiin

[07/Sep/2018:17:15:36 +0300] Aikaleima, Suomen aikaa

GET /~mono/ HTTP/1.1″ MetodinatET, haettu kotihakemiston index.html

200 sivu ladattu ok

293 palautetun tiedoston koko

”-” ” ??

Mozilla/5.0 Selain ja versio?

(X11; Ubuntu; Linux x86_64; rv:62.0)Palvelimen tiedot?

Gecko/20100101 Firefox/62.0 Selaimen itsestään lähettämät tiedot?

Apachen access lokin sisällön lähde: https://httpd.apache.org/docs/2.4/logs.html

404 not found

Testi:

Selection_010

Lokissa

Selection_011

c) Tee virhe weppipalvelimella ajettavaan koodiin (esim PHP tai Python), etsi se lokista ja analysoi tuo lokirivi

PHP asennus

$ sudo apt-get install libapache2-mod-php

Apachen restart

$ sudo systemctl restart apache2

Testisivun tekeminen

$ nano koe.php

Koodi

Selection_016

PHP salliminen käyttäjille

Pitää muuttaa konfigurointitiedostoa:  /etc/apache2/mods-available/php7.2.conf

rivit

Selection_013

Ajetaan komento sudoedit php7.2.conf ja muokataan

Selection_014

Testi

Virheellinen ohjelma.

tiedosto:  print (”Tämä on PHP); ”-merkki puuttuu.

Ajon tulos on tyhjä sivu.

Loki: /var/log/apache2/errorlog

[Mon Sep 10 16:22:48.006840 2018] [php7:emerg] [pid 895] [client 127.0.0.1:56808] PHP Parse error: syntax error, unexpected end of file, expecting variable (T_VARIABLE) or ${ (T_DOLLAR_OPEN_CURLY_BRACES) or {$ (T_CURLY_OPEN) in /home/mono/public_html/koe.php on line 20

Kertoo tapahtuman ajan Suomen ajassa

Virheviesti, josta ainaka itselle ei ihan heti aukea, että”-merkki puuttuu.

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (esim. painoindeksi BMI)

Lomake

Selection_020

Testattu

Selection_021

PHP ohjelma

Selection_019

Tulos

Selection_022

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

Linux, Apache ja PHP asennukset on  tehty aiemmissa tehtävissä.

MariaDB asentaminen

Ajettu komennot

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Testattu asennus komennolla: sudo systemctl status mariadb.

Näyttäisi olevan ok tässä vaiheessa:

Selection_025

Kirjaduttu root oikeuksilla sisään: $ sudo mysql -u root -p

Selection_026

Salasanan asetus, tästä en tiedä mitä tekee? Pitää tarkistaa.

use mysql;
update user set plugin='xxxxxxx' where user='root';
flush privileges; 
quit;

Yllä oleva komento rikkoi MariaDB, en pääse enää sisään:

Selection_027

Sammutin tietokannan sudo systemctl stop mariadb, jatkan varmaan uudelleen installoinnilla.

MariaDB poisto: sudo apt-get remove mariadb-server mariadb-client

ja

Uudelleen asennus

sudo apt-get update

sudo apt-get install mariadb-server mariadb-client

Ei toimi, koska komento sudo apt-get remove mariadb-server mariadb-client ei poistanut kantaa. ilmeisesti vain jakelupaketin.

$ sudo mysql -u root -p
Enter password:
ERROR 2002 (HY000): Can’t connect to local MySQL server through socket ’/var/run/mysqld/mysqld.sock’ (2 ”No such file or directory”)

Pitää jatkaa tällä: https://askubuntu.com/questions/806107/remove-mariadb-mysql-databases/806441

Jatkettu 10.9.2019 klo 16:30

sudo systemctl stop mariadb

sudo apt-get --purge remove "maria*"

Selection_028

Valittu: No

10.9.2018 klo 16:49. kokeillaan uudelleen asennusta.

sudo apt-get update

sudo apt-get install mariadb-server mariadb-client

Ei toimi

 

Selection_029

 

Lopputulos

  • Huolellisuutta asennusvaiheessa
  • En osaa poistaa paketteja

Lähde: https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-mariadb-on-ubuntu-16-04.html

 

Jatko

Jatkoin kokeilua linux tikulla.

  • Asensin uudestaan Apache2
  • Asensin uudestaan PHP
  • Asensin MariaDB uudestaan

MariaDB asennus

Nyt ohjeen mukaan

sudo apt-get update
sudo apt-get install mariadb-server mariadb-client

Tämän jälkeen root salasana

sudo mysql_secure_installation

Asetukset:
  • Enter current password for root (enter for none): Press Enter for none.
  • Set root password? Y
  • Create and confirm a new password
  • Remove anonymous users? Y
  • Disallow root login remotely? Y
  • Remove test database and access to it? Y
  • Reload privilege tables now? Y

Tämän jälkeen roottina MariaDB:hen

$ sudo mysql -u root -p

ja
use mysql;
update user set plugin='mysql_native_password' where user='root';
flush privileges; 
quit;

Testattu login asetetulla salasanalla, toimii.

 

phpmyadminia varten asetettu vielä seuraava

sudo mysql -u root -p mysql

update user set plugin=' 'where user='root';
flush privileges;
exit

 

Tämän jälkeen phpMyAdmin asennus ja kokeilu

Lähteet

https://www.itzgeek.com/how-tos/linux/ubuntu-how-tos/install-mariadb-on-ubuntu-16-04.html

https://websiteforstudents.com/install-apche2-php-phpmyadmin-ubuntu-17-04-17-10/

e) Asenna ja kokeile PhpMyAdmin:a tai jotain muuta valmista weppiliittymää tietokantojen hallinnointiin.

Lähde: https://websiteforstudents.com/install-apche2-php-phpmyadmin-ubuntu-17-04-17-10/

PhpMyAdmin asennus

Selection_023

Valittu apache -> ok

Selection_024

Valittu –> No

Asennus meni läpi ilman virheilmoituksia.

toiminnnan testaus

http://localhost/phpmyadmin ei toimi

Korjaus

Tutkittu internettiä.

Tehty tämän artikkelin mukaan: https://help.ubuntu.com/community/ApacheMySQLPHP#Troubleshooting_Phpmyadmin_.26_mysql-workbench

Eli

sudoedit /etc/apache2/apache2.conf
Lisätty tiedoston loppuun rivi
$ Include /etc/phpmyadmin/apache.conf

 

Tämän jälkeen toimi.

Selection_001

Login

Selection_002

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out /  Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out /  Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out /  Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out /  Muuta )

Muodostetaan yhteyttä palveluun %s