H6 LAMP-asennus saltilla

EDIT Ti 4.12.18

Nyt LAMP setup on toimintakunnossa Github repossa.

Työstin tehtävän loppuun Ubuntu 18.04.1 LTS virtuaalikoneella, jossa

cpu_model:
Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz;

mem_total: 3944

nodename: otso-VirtualBox

EDIT: Ma 3.12.18

Lisätty linkki työnalla olevaan Github repoon ja lisätty Mariadb sql_dump komentojen tutkimista.

Linkki repoon: LAMP repo Githubissa

——————————————————————————————————————–

Tein tehtävää Su 2.12.18 illalla klo 22 alkaen. Käytin tähän tehtävään Xubuntu 18.04-liveusb-tikkua ja asensin samaan koneeseen salt-masterin ja salt-minionin. Työskentelykoneena käytin HP läppäriä Salt-LAMP moduulia tehdessä käytin myös githubia version hallintaan.

Mariadb:n asennus saltilla ei onnistunut, se jäi aluksi keskeneräiseksi, mutta tein asennuksen ensin käsin ja asensin LAMPista saltilla apachen ja PHPn edellisten harjoitusten mukaan. (Github repossa on nyt toimiva Salt -LAMP moduuli.)

Aloitin tehtävän asentamalla apachen, mariadb:n ja php:n käsin ja sen jälkeen ihmettelin mariadb:tä ja siinä käyttäjän luontia. Käytin tehtävään esimerkkejä sivuilta: https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-18-04/ , https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/ ja http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

Apache2, mariadb ja PHP:n asennus käsin:

sudo apt-get -y install apache2 mariadb-server mariadb-client php7.2 libapache2-mod-php7.2 php-mysql
sudo a2enmod userdir
sudo systemctl restart apache2
mkdir public_html
cd public_html/
nano index.html

Viimeisin komentosarja tekee apacheen käyttäkotisivut, jolla tarkistetaan sen toimivuus.

Screenshot_2018-12-02_23-25-03

Tämän jälkeen tein php7.2.conf tiedoston muutoksen: sudoedit /etc/apache2/mods-available/php7.2.conf:

Screenshot_2018-12-02_23-37-23

Tämän otin talteen php salt-moduulia varten

Tämän jälkeen taas:

sudo systemctl restart apache2

Sitten tein public_html kansion test.php tiedoston tarkistaakseen, että php toimii

Screenshot_2018-12-02_23-42-38

Screenshot_2018-12-02_23-42-06.Hen

Toimii.

Sitten tein mariadb:hen käyttäjän ja databasen ja sille oikeudet databaseen.

En saanut kyllä ihan kaikkea toimimaan.

Tein käyttäjän ‘testi’ ja sille salasanan ‘mariadb’ (ei hirveen hyvä salasana, mutta nyt tässä testissä) Tein ‘otso’ databasen, jonne tein ‘hattu’ tablen.

Screenshot_2018-12-03_01-11-18

Jostain syystä en saanut toimimaan Tero Karvisen sivuilla olevaa php-testisivua, joka lukee luotua databasea:  vaikka mielestäni tein ihan ohjeiden mukaan index.php tiedoston

–>

Write PHP Page to Access Your Database

$ cd
$ nano public_html/index.php

Write a PHP program to show some records.

<?php
// public_html/index.php - Read MySQL from PHP
// (c) 2016 Tero Karvinen http://TeroKarvinen.com
// MySQL Login
$user='terohat';
$password='9nl3jhIInex9)83.23uu';
// Data Source Name i.e. connection details
$database=$user;
$dsn="mysql:host=localhost;charset=UTF8;dbname=$database";
// Open Connection, create new object of PDO class
$pdo=new PDO($dsn, $user, $password);
// Perform SQL Query
$pdoStatement=$pdo->prepare('SELECT * FROM hats;');
$pdoStatement->execute();
$hits=$pdoStatement->fetchAll();
// Print the $hits Array
foreach($hits as $row) {
 echo "<p>".$row['id']." ".$row['name']."</p>\n";
}
?>

http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

oma versio:

Screenshot_2018-12-03_01-07-21

Mutta jostain syystä se ei näkynyt localhost/~xubuntu/ sivuilla, näkyi vaan aiempi apache default-sivu.

Tein kuitenkin sivun ohjeiden mukaan toisenlaisen php-database yhteys testisivun: https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/

Screenshot_2018-12-03_01-00-01Screenshot_2018-12-03_01-00-13

Tein sivun public_html kansioon, josta sivu toimi eli se sai yhteyden databaseen..

Jatkan Salt-automaatio osaa myöhemmin. Koska databasen tekeminen ei onnistunut ihan kysymyksittä, niin en ole ihan varma, että saanko tätä mariadb:tä salt:tiin. Yritän ainakin.


Salt-moduuli

Sain apachen ja phpn toimimaan edellisten harjoituste mukaan, mutta en saanut vielä mariadb:tä toimimaan. Alla tämän hetkinen mariadb init.sls

Screenshot_2018-12-03_03-23-19

create_user.sql ja create_database_access.sql:

Screenshot_2018-12-03_03-26-20

sain luotua käyttäjän mutta en oikein.

Screenshot_2018-12-03_03-29-12Screenshot_2018-12-03_03-29-51

Lopetin tähän tällä erää. EDIT: Github repossa päivitetty init.sls versio(työn alla)


 

Jatkoin tehtävää Ma 3.12.18 ihmettelemällä mariadb:n toimintaa ja yrittämään ymmärtää sql dumpin toimintaa eli miten saisi tiedostosta suoraan luotua databasen ja käyttäjän sekä databaseen tablen, jonne vielä saisi laitettua valmiiksi tietoa. Etsin tietoa Tero karvisen esimerkeistä sivuilta: http://terokarvinen.com/2018/install-mariadb-on-ubuntu-18-04-database-management-system-the-new-mysql ja http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

Loin tiedoston komennot.sql, jonne loin kaikki komennot yhteen, Loin databasen ja sille käyttäjän ja sitten tein databaseen tablen, jonne lisäsin tietoja. Käytin yksinkertaista ja heikkoa salasanaa testaamiseen, mutta oikeasti kannattaa laittaa monimutkainen salasana, jos varsinkin aikoo automoida käyttäjän sisäänkirjautumisen .my.cnf tiedostolla. Alla kuvat kommennoista ja tuloksista:

Screenshot from 2018-12-03 22-40-38Screenshot from 2018-12-03 22-41-24

Käsin tehtynä tiedot näyttivät menneen läpi komennolla cat komennot.sql | sudo mariadb -u root . Tein vielä testiksi .my.cnf automaattisen login tiedoston luomalleni käyttäjälle ‘audi’

Screenshot from 2018-12-03 22-45-29Screenshot from 2018-12-03 22-45-51

Auto login toimi, mutta kun se on päällä, niin komento sudo mariadb -u root avaa mariadb;n suoraan AUTO databaseen, minkä on siis automoinut.. Päivitin tiedoston komennot.sql Github repooni ja työstän mariadb salt-moduulia eteenpäin, jotta saisin sen toimimaan automaattisesti.

Lopetin raportoinnin tähän tältä erää.


FINAL EDIT Ti 4.12.18 klo 23

Nyt sain valmiiksi Salt-LAMP moduulini Github repoon. Lopullisessa versiossa muutin mariadb:n ja .my.cnf tietoja uudeksi käyttäjäksi(heppa) ja databaseksi(heppa). Mariadb:hen siis luodaan automaattisesti käyttäjä ja tietokanta ‘heppa’, johon käytin salasanaksi pwgen:in luomaa 20-merkkistä salasanaa “turvallisuuden” nimissä.

Moduuli luo myös automaattisesti index.html ja -.php testisivut. Index.php myös testaa tietokannan yhteyden toimimista serveriin tietokannan käyttäjätiedoilla, jotka luotiin automaattisesti.

Linkki repoon: LAMP repo Githubissa

 

 

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

 Lähteet:

https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-18-04/

https://www.linode.com/docs/web-servers/lamp/install-lamp-stack-on-ubuntu-16-04/

http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo

http://terokarvinen.com/2018/install-mariadb-on-ubuntu-18-04-database-management-system-the-new-mysql

 

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 )

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