Hvernig á að setja upp LAMP Stack á Debian 11/10/9


Þann (14. ágúst 2021) tilkynnti Debian-verkefnið um framboð á nýju stöðugu útgáfunni (Debian 11) með kóðanafninu Bullseye.

Með þessari útgáfu fékk hið vel þekkta og mikið notaða Debian 10 Buster gamla stöðuga stöðu, sem tilgreinir fyrri stöðuga geymslu. Eins og það gerist alltaf með útgáfu nýrrar stöðugrar útgáfu inniheldur Bullseye hundruð nýrra pakka og uppfærslur fyrir þúsundir annarra.

Þar sem Debian knýr stórt hlutfall vefþjóna um allan heim, munum við í þessari grein útskýra hvernig á að setja upp LAMP stafla í Debian 11 og virkar einnig á eldri Debian 10 og Debian 9 útgáfur.

Þetta gerir kerfisstjórum kleift að setja upp glænýja vefþjóna ofan á Bullseye með því að nota nýlegar uppfærslur á opinberum geymslum dreifingarinnar. Gert er ráð fyrir að þú hafir uppfært úr Debian 10 í Debian 11.

Að setja upp LAMP í Debian

\M í LAMP stendur fyrir MariaDB eða MySQL, gagnagrunnsþjónninn fyrir staflan. Það fer eftir vali þínu, þú getur sett upp gagnagrunnsþjóninn og aðra hluti (Apache vefþjóninn og PHP) sem hér segir.

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

Sem persónulegt val mun ég nota MariaDB í restinni af þessari grein.

Þegar uppsetningunni er lokið skulum við ganga úr skugga um að öll þjónusta sé í gangi. Ef svo er, eftirfarandi skipanir.

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

ætti að skila virkum fyrir bæði. Annars skaltu ræsa báðar þjónusturnar handvirkt:

# systemctl start {apache2,mariadb}

Að tryggja MariaDB í Debian

Að lokum, áður en lengra er haldið skulum við nota mysql_secure_installation til að setja upp lykilorðið fyrir rótarreikning gagnagrunnsins, fjarlægja nafnlausa notendur, banna rótarinnskráningu fjarlægt og fjarlægja prófunargagnagrunn.

# mysql_secure_installation

Er að prófa LAMP á Debian

Til að byrja ætlum við að búa til og fylla út sýnishornsgagnagrunn. Næst munum við nota grunn PHP forskrift til að sækja safn af færslum úr gagnagrunninum á JSON sniði.

Að lokum munum við nota þróunartól Firefox til að staðfesta útgáfu Apache sem er notuð. Þó við gætum fundið út þessar sömu upplýsingar með.

# apache2 -v

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

ástæðan fyrir því að við erum að nota handrit er að ganga úr skugga um að allir íhlutir staflasins virki rétt þegar þeir eru búnir saman.

Við skulum slá inn MariaDB hvetja með eftirfarandi skipun.

# mysql -u root -p

og sláðu inn lykilorðið sem var valið í fyrri hlutanum.

Nú munum við búa til gagnagrunn sem heitir LibraryDB sem hér segir:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

og bættu við tveimur töflum sem heita AuthorsTBL og 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)
);

Af öryggisástæðum munum við búa til sérstakan reikning til að fá aðgang að gagnagrunninum okkar:

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

Síðasta skrefið samanstendur nú af því að fylla út töflurnar með höfundum og bókum:

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

Eftirfarandi PHP forskrift mun fyrst tengjast gagnagrunninum og sækja færslurnar sem passa við fyrirspurnina. Ef villa kemur upp munu lýsandi skilaboð birtast til að gefa okkur vísbendingu um hvað er að.

Vistaðu eftirfarandi handrit sem booksandaauthors.php undir /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);
?>

Breyttu eignarhaldinu í www-data og bættu við viðeigandi heimildum:

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

Að lokum skaltu opna vafra og benda honum á slóðina þar sem handritið er.

http://192.168.0.35/booksandauthors.php

Það er það! Í þessari grein höfum við útskýrt hvernig á að setja upp og prófa LAMP stafla á Debian 11. Ef þú hefur spurningar eða athugasemdir um þessa grein skaltu ekki hika við að láta okkur vita með því að nota formið hér að neðan.