Homework 5. Linux_Apache2_MariaDB_PHP

Tehtävänanto on kopioitu Tero Karvisen sivulta:
http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

a) Asenna LAMP (M=MariaDB).
http://terokarvinen.com/2018/install-mariadb-on-ubuntu-18-04-database-management-system-the-new-mysql

Ennen kuin asennetaan MariaDB, avataan 22/tcp portti komennolla:

$ sudo ufw allow 22/tcp
$ sudo ufw enable

Linux on asennettu. PHP asennetaan tehtävässä b).

Asennetaan Apache2:

sudo apt-get install apache2
sudo a2enmod userdir
mkdir public_html

Asennetaan MariaDB komennolla:

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

hw5 mariadb1

Hoidetaan perus tietoturva asetukset MariaDB asennuksen jälkeen. Komento:

$ sudo mysql_secure_installation

Eli painetaan Enter alussa, koska meilla ei ole root salasana asennettu viela.
Asetetaan uusi root salasana MariaDB:lle.
Seuraavissa neljassa kysymyksessa painetaan Yes.

hw5 mariadb2.png
Seuraavaksi luodaan uusi tietokanta ja käyttäjä tunnuksen.
Kirjaudutaan root:na. Root:ia kaytetaan vain tunnuksen ja tietokannan luomiseen.
Komento:

$ sudo mariadb -u root

CREATE DATABASE nimi; == Luo uuden tietokannan
SHOW DATABASES; == Näyttää kaikki tietokannat.
GRANT ALL ON nimi.* TO nimi@localhost IDENTIFIED BY ‘salasana’;  == Luodaan käyttäjätunnus ja salasana sekä annetaan oikeus käyttää tiettyn tietokantan.

hw5 mariadb3
Kirjaudutaan tavallisena User tililla komennolla:
mariadb – u name -p
Tarkistetaan, että tavallinen käyttäjä ei pysty luomaan tietokantoja:
hw5 mariadb 4
Luodaan taulukkoja:
Valitaan tietokanta komennolla: USE nimi;
Luodaan taulukko komennolla(tiedot voi pistaa erillaiset): CREATE TABLE nimi (id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(1024), price FLOAT);hw5 mariadb 6
Pistetään uudet tiedot taulukkoon:
Komennot:
INSERT INTO nimi(name, price) VALUES (“Tietokone”, 2500.0); == Lisätään arvoja taulukkon.
UPDATE nimi SET price=2250.0 WHERE id=1; == Päivitetään tietoja.
DELETE FROM nimi WHERE price<1000; Poistetaan tietoja.

hw5 mariadb 7

b) Tee PHP-ohjelma, joka lukee tietueita MariaDB-tietokannasta.
http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

Asennetaan kaksi tärkeä pakettia, että voidaan käyttää tietokantoja web palvelimella ja että se toimisi PHP:n kanssa(LAMP pitää olla asennettuna):

sudo apt-get install libapache2-mod-php php-mysql

Varmista, että userdir on otettu käyttöön ja php7.2.conf tiedostossa seuraavassa tekstissä pitää kommentoida IfModule:

#<IfModule mod_userdir.c>
# <Directory /home/*/public_html>
# php_admin_flag engine Off
# </Directory>
#</IfModule>

Käynistä uudelleen apache2!

$ sudo a2enmod userdir
$ sudoedit /etc/apache2/mods-available/php7.0.conf
$ sudo systemctl restart apache

Tarkistetaan, että PHP toimii!
Seuraavaksi luodaan public_html kansioon index.php tiedoston ja kirjoitetaan PHP koodi, mihin syötetään meidän tietokantan tiedot:
koodi oli lainattu tästä: http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

hw5-korjaus.png
Toimi!
hw5 php2

c) Lisää PHP-ohjelmaasi mahdollisuus lisätä tietueita tietokantaan.
Koodi on lainattu:
http://terokarvinen.com/2018/php-database-select-and-insert-example-php-pdo

hw5-php-3.png

Jostain syystä hinta ei tullut näkyville, yritin vähän koodata ja muuttaakoodia, mutta epäonnistuin.
hw5-php4-e1537983348661.png

Aiheutti tämän:
hw5 php 5

Leave a Reply

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