Kif Tinstalla LAMP Stack fuq Debian 11/10/9


Fl-14 ta' Awwissu 2021, il-proġett Debian ħabbar id-disponibbiltà tal-verżjoni stabbli l-ġdida (Debian 11) bl-isem ta' kodiċi Bullseye.

B'din ir-rilaxx, id-Debian 10 Buster magħruf u użat ħafna kiseb status stabbli antik, li jindika r-repożitorju stabbli preċedenti. Kif dejjem jiġri bir-rilaxx ta 'verżjoni stabbli ġdida, Bullseye jinkludi mijiet ta' pakketti ġodda u aġġornamenti għal eluf ta 'oħrajn.

Peress li Debian tħaddem persentaġġ kbir ta 'servers tal-web madwar id-dinja kollha, f'dan l-artikolu se nispjegaw kif tinstalla l-munzell LAMP f'Debian 11 u taħdem ukoll fuq rilaxxi anzjani ta' Debian 10 u Debian 9.

Dan se jippermetti lill-amministraturi tas-sistema jistabbilixxu servers tal-web ġodda fjamanti fuq Bullseye billi jużaw l-aġġornamenti riċenti għar-repożitorji uffiċjali tad-distribuzzjoni. Huwa preżunt li inti upgradejt minn Debian 10 għal Debian 11.

L-installazzjoni tal-LAMP f'Debian

Il-\M f'LAMP tirrappreżenta MariaDB jew MySQL, is-server tad-database għall-munzell. Skont l-għażla tiegħek, tista 'tinstalla s-server tad-database u l-komponenti l-oħra (is-server tal-web Apache u PHP) kif ġej.

# 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

Bħala preferenza personali, se nuża MariaDB fil-bqija ta 'dan l-artikolu.

Ladarba l-installazzjoni titlesta, ejjew niżguraw li s-servizzi kollha qed jaħdmu. Jekk iva, il-kmandi li ġejjin.

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

għandhom jerġgħu lura attivi għat-tnejn. Inkella, ibda ż-żewġ servizzi manwalment:

# systemctl start {apache2,mariadb}

Niżguraw MariaDB f'Debian

Fl-aħħarnett, qabel ma tipproċedi ejja nużaw mysql_secure_installation biex inwaqqfu l-password għall-kont tal-għeruq tad-database, neħħi utenti anonimi, ma tħallix il-login tal-għeruq mill-bogħod u neħħi d-database tat-test.

# mysql_secure_installation

Ittestjar LAMP fuq Debian

Biex nibdew, se noħolqu u nimlew database kampjun. Sussegwentement, se nużaw skript PHP bażiku biex inġibu sett ta 'rekords mid-database fil-format JSON.

Fl-aħħarnett, se nużaw l-għodod tal-iżviluppatur ta 'Firefox biex nivverifikaw il-verżjoni ta' Apache li qed tintuża. Għalkemm nistgħu nsibu din l-istess informazzjoni ma.

# apache2 -v

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

ir-raġuni għaliex qed nużaw skript hija li niżguraw li l-komponenti kollha tal-munzell qed jaħdmu sew meta jkunu miġbura flimkien.

Ejja nidħlu fil-pront ta 'MariaDB bil-kmand li ġej.

# mysql -u root -p

u daħħal il-password li ntgħażlet fit-taqsima preċedenti.

Issa se noħolqu database bl-isem LibraryDB kif ġej:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

u żid żewġ tabelli bl-isem AuthorsTBL u 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)
);

Għal raġunijiet ta' sigurtà, se noħolqu kont speċjali biex naċċessaw id-database tagħna:

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

L-aħħar pass issa jikkonsisti li timla t-tabelli b'Awturi u Kotba:

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

L-iskrittura PHP li ġejja l-ewwel se tikkonnettja mad-database u tirkupra r-rekords li jaqblu mal-mistoqsija. Jekk iseħħ żball, jintwera messaġġ deskrittiv sabiex jagħtina ħjiel dwar x'inhu ħażin.

Ħlief l-iskrittura li ġejja bħala booksandauthors.php taħt /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);
?>

Ibdel is-sjieda għal www-data u żid il-permessi xierqa:

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

Fl-aħħarnett, iftaħ web browser u ppuntah lejn il-URL fejn jirrisjedi l-iskrittura.

http://192.168.0.35/booksandauthors.php

Dak hu! F'dan l-artikolu, spjegajna kif tinstalla u tittestja l-munzell LAMP fuq Debian 11. Jekk għandek mistoqsijiet jew kummenti dwar dan l-artikolu, toqgħodx lura milli tgħarrafna billi tuża l-formola hawn taħt.