Installi LAMP (Linux, Apache, MariaDB või MySQL ja PHP) Stack Debian 9-le


Selle nädala alguses (17. juuni 2017) teatas Debiani projekt uue stabiilse versiooni (Debian 9) koodnimega Stretch.

Selle väljaandega sai tuntud ja laialt kasutatav Debian 8 Jessie vana-stabiilse staatuse, mis tähistab eelmist stabiilset hoidlat. Nagu uue stabiilse versiooni väljaandmisel alati juhtub, sisaldab Stretch sadu uusi pakette ja värskendusi tuhandetele teistele.

Kuna Debiani käsutuses on suur osa veebiservereid kogu maailmas, selgitame selles artiklis, kuidas LAMP-i pinu Debian 9 Stretchi installida.

See võimaldab süsteemiadministraatoritel seadistada Stretchi peale uhiuued veebiserverid, kasutades jaotuse ametlike hoidlate hiljutisi värskendusi. Eeldatakse, et olete Jessiest uuemale versioonile üle läinud.

LAMP-i installimine Debian 9 Stretchi

LAMP-i\"M" tähistab virna andmebaasiserverit MariaDB või MySQL. Sõltuvalt teie valikust saate andmebaasiserveri ja muud komponendid (Apache veebiserver ja PHP) installida järgmiselt.

# aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb-common php php-mysqli
# aptitude update && aptitude install apache2 mysql-server mysql-client mysql-common php php-mysqli

Isikliku eelistusena kasutan ülejäänud artiklis MariaDB-d.

Kui installimine on lõpule jõudnud, veenduge, et kõik teenused töötaksid. Kui jah, siis järgmised käsud.

# systemctl is-active apache2
# systemctl is-active mariadb

peaks mõlema jaoks aktiivseks naasma. Muul juhul käivitage mõlemad teenused käsitsi:

# systemctl start {apache2,mariadb}

Lõpuks kasutame andmebaasi juurkonto parooli seadistamiseks enne jätkamist mysql_secure_installation. Kui te ei tea, kuidas seda teha, võite viidata juhisele nr 4 jaotises Kuidas MariaDB 10 installida Debianile ja Ubuntu.

LAMP-i testimine Debian 9 Stretchil

Alustuseks loome ja täidame näidisandmebaasi. Järgmisena kasutame JSON-vormingus andmebaasist kirjekomplekti hankimiseks PHP põhiskripti.

Lõpuks kasutame Firefoxi arendaja tööriistu, et kontrollida kasutatava Apache versiooni. Kuigi me võiksime selle sama teabe teada saada.

# apache2 -v

skripti kasutamise põhjuseks on tagada, et kõik virna komponendid töötaksid koos.

Sisestage viide MariaDB järgmise käsuga.

# mysql -u root -p

ja eelmises jaotises valitud parooli sisestamine.

Nüüd loome andmebaasi nimega LibraryDB järgmiselt:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

ja lisage kaks tabelit AuthorsTBL ja BooksTBL:

MariaDB [(none)]> USE LibraryDB;
CREATE TABLE AuthorsTBL (
AuthorID INT NOT NULL AUTO_INCREMENT,
FullName VARCHAR(100) NOT NULL,
PRIMARY KEY(AuthorID)
);

MariaDB [(none)]> CREATE TABLE BooksTBL (
BookID INT NOT NULL AUTO_INCREMENT,
AuthorID INT NOT NULL,
ISBN VARCHAR(100) NOT NULL,
Title VARCHAR(100) NOT NULL,
Year VARCHAR(4),
PRIMARY KEY(BookID),
FOREIGN KEY(AuthorID) REFERENCES AuthorsTBL(AuthorID)
);

Turvalisuse huvides loome oma andmebaasile juurdepääsu saamiseks spetsiaalse konto:

MariaDB [(none)]> CREATE USER 'librarian'@'localhost' IDENTIFIED BY 'Today123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON LibraryDB.* TO 'librarian'@'localhost';

Viimane samm seisneb nüüd tabelite lisamises koos autorite ja raamatutega:

MariaDB [(none)]> INSERT INTO AuthorsTBL (FullName) VALUES ('Paulo Coelho'), ('Isabel Allende'), ('Jorge Luis Borges');
MariaDB [(none)]> INSERT INTO BooksTBL (AuthorID, ISBN, Title, Year) VALUES
(1, '9788576653721', 'El alquimista', '1988'),
(1, '9780061194740', 'El peregrino', '1987'),
(2, '9789500720380', 'La casa de los espiritus', '1982'),
(3, '9789875666481', 'El Aleph', '1945');

Järgmine PHP-skript loob esmalt ühenduse andmebaasiga ja toob päringule vastavad kirjed. Vea ilmnemisel kuvatakse kirjeldav teade, mis annab meile vihje, mis viga on.

Salvestage järgmine skript kirjena booksandauthors.php kataloogi/var/www/html:

<?php
	// Show PHP version
	echo "Current PHP version: " . phpversion() .  "\r\n";

	// Connect to database
	$connection = mysqli_connect("localhost","librarian","Today123","LibraryDB") or die("Error " . mysqli_error($connection));

	// SQL query
	$sql = "SELECT A.ISBN, A.Title,
        	A.Year, B.FullName
        	FROM BooksTBL A JOIN AuthorsTBL B
        	ON A.AuthorID = B.AuthorID;";
	$result = mysqli_query($connection, $sql) or die("Error " . mysqli_error($connection));

	// Populate an array with the query results
	$libraryarray = array();
	while($row = mysqli_fetch_assoc($result))
	{
    	$libraryarray[] = $row;
	}

	// Convert to JSON
	echo json_encode($libraryarray);
?>

Muutke omanikuks www-data ja lisage asjakohased õigused:

# chown www-data:www-data /var/www/html/booksandauthors.php
# chmod 600 /var/www/html/booksandauthors.php

Lõpuks avage veebibrauser ja suunake see URL-ile, kus skript asub.

http://192.168.0.35/booksandauthors.php

See on kõik! Selles artiklis oleme selgitanud, kuidas LAMP-i pinu Debian 9-le installida ja testida. Kui teil on selle artikli kohta küsimusi või kommentaare, andke meile sellest teada, kasutades allolevat vormi.