Kuinka asentaa LAMP Stack Debianiin 11/10/9


Debian-projekti ilmoitti (14. elokuuta 2021) uuden vakaan version (Debian 11), koodinimeltään Bullseye, saatavuuden.

Tämän julkaisun myötä tunnettu ja laajalti käytetty Debian 10 Buster sai vanhan vakaan tilan, joka tarkoittaa aiempaa vakaata arkistoa. Kuten aina tapahtuu uuden vakaan version julkaisemisen yhteydessä, Bullseye sisältää satoja uusia paketteja ja päivityksiä tuhansiin muihin.

Koska Debianilla on suuri osa verkkopalvelimista kaikkialla maailmassa, tässä artikkelissa selitämme kuinka LAMP-pino asennetaan Debian 11:een ja kuinka se toimii myös vanhemmassa Debian 10 -versiossa. ja Debian 9 -julkaisut.

Näin järjestelmänvalvojat voivat perustaa upouusia verkkopalvelimia Bullseyen päälle käyttämällä jakelun virallisten tietovarastojen viimeaikaisia päivityksiä. Oletuksena on, että olet asentanut Debian 11 -minimipalvelimen paljaalle metallille, virtuaalikoneelle tai VPS:lle tai olet päivittänyt Debian 10:stä Debian 11:een.

LAMP:n asennus Debianiin

LAMP-kirjain "M " tarkoittaa MariaDB- tai MySQL-tietokantapalvelinta, joka on pinon tietokantapalvelin. Valintasi mukaan voit asentaa tietokantapalvelimen ja muut komponentit (Apache-verkkopalvelin ja PHP) seuraavasti.

Asenna LAMP MariaDB:n kanssa Debianiin

apt update && apt install apache2 mariadb-server mariadb-client mariadb-common php php-mysqli

Asenna LAMP MySQL:llä Debianiin

apt update && apt install apache2 mysql-server mysql-client mysql-common php php-mysqli

Henkilökohtaisena mieltymyksenä käytän MariaDB:tä tämän artikkelin loppuosassa.

Kun asennus on valmis, anna meidän varmistaa, että kaikki palvelut ovat käynnissä. Jos on, seuraavat komennot.

systemctl is-active apache2
systemctl is-active mariadb

pitäisi palata aktiiviseksi molemmille. Muussa tapauksessa käynnistä molemmat palvelut manuaalisesti:

systemctl start {apache2,mariadb}

MariaDB:n suojaaminen Debianissa

Lopuksi, ennen kuin jatkat, käytetään mysql_secure_installation-työkalua tietokannan pääkäyttäjän salasanan määrittämiseen, anonyymien käyttäjien poistamiseen, etäkäyttöön pääsyn estoon ja testitietokannan poistamiseen.

mysql_secure_installation

LAMP-testaus Debianissa

Aluksi aiomme luoda ja täyttää mallitietokannan. Seuraavaksi käytämme PHP-peruskomentosarjaa hakemaan tietueita tietokannasta JSON-muodossa.

Lopuksi käytämme Firefoxin kehittäjätyökaluja käytettävän Apachen version tarkistamiseen. Vaikka voisimme selvittää tämän saman tiedon.

apache2 -v

Server version: Apache/2.4.51 (Debian)
Server built:   2021-10-07T17:49:44

Syy, miksi käytämme komentosarjaa, on varmistaa, että kaikki pinon komponentit toimivat oikein, kun ne on niputettu yhteen.

Tietokannan luominen ja täyttäminen

Syötetään MariaDB-kehote seuraavalla komennolla.

mysql -u root -p

ja syötä salasana, joka valittiin edellisessä osiossa.

Luomme nyt tietokannan nimeltä LibraryDB seuraavasti:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

ja lisää kaksi taulukkoa nimeltä 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)
);

Turvallisuussyistä luomme erityisen tilin tietokantaamme varten:

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

Viimeinen vaihe sisältää nyt taulukoiden täyttämisen tekijöillä ja kirjoilla:

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');

Tietokantayhteyden testaus PHP-skriptillä

Seuraava PHP-skripti muodostaa ensin yhteyden tietokantaan ja hakee kyselyä vastaavat tietueet. Jos tapahtuu virhe, näyttöön tulee kuvaava viesti, joka antaa meille vihjeen siitä, mikä on vialla.

Tallenna seuraava komentosarja nimellä booksandauthors.php kohdassa /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);
?>

Muuta omistajuudeksi www-data ja lisää tarvittavat käyttöoikeudet:

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

Avaa lopuksi verkkoselain ja osoita se URL-osoitteeseen, jossa komentosarja sijaitsee.

http://192.168.0.35/booksandauthors.php

Se siitä! Tässä artikkelissa olemme selittäneet, kuinka LAMP-pino asennetaan ja testataan Debian 11:ssä. Jos sinulla on kysyttävää tai kommentteja tästä artikkelista, älä epäröi kertoa meille käyttämällä alla olevaa lomaketta.