Debian 11/10/9-ൽ LAMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


(ആഗസ്റ്റ് 14, 2021) ന്, Debian പ്രോജക്റ്റ്, Bullseye എന്ന കോഡ് നാമത്തിലുള്ള പുതിയ സ്ഥിരതയുള്ള പതിപ്പിന്റെ (Debian 11) ലഭ്യത പ്രഖ്യാപിച്ചു.

ഈ റിലീസിലൂടെ, അറിയപ്പെടുന്നതും വ്യാപകമായി ഉപയോഗിക്കുന്നതുമായ ഡെബിയൻ 10 ബസ്റ്റർ പഴയ സ്ഥിരതയുള്ള പദവി നേടി, ഇത് മുമ്പത്തെ സ്ഥിരതയുള്ള ശേഖരണത്തെ സൂചിപ്പിക്കുന്നു. ഒരു പുതിയ സ്ഥിരതയുള്ള പതിപ്പിന്റെ പ്രകാശനത്തിൽ ഇത് എല്ലായ്പ്പോഴും സംഭവിക്കുന്നത് പോലെ, നൂറുകണക്കിന് പുതിയ പാക്കേജുകളും മറ്റ് ആയിരക്കണക്കിന് അപ്uഡേറ്റുകളും ബുൾസെയിൽ ഉൾപ്പെടുന്നു.

ലോകമെമ്പാടുമുള്ള വലിയൊരു ശതമാനം വെബ് സെർവറുകളെ ഡെബിയൻ പവർ ചെയ്യുന്നതിനാൽ, ഡെബിയൻ 11-ൽ ലാമ്പ് സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും പഴയ ഡെബിയൻ 10, ഡെബിയൻ 9 പതിപ്പുകളിലും എങ്ങനെ പ്രവർത്തിക്കുമെന്നും ഈ ലേഖനത്തിൽ ഞങ്ങൾ വിശദീകരിക്കും.

വിതരണത്തിന്റെ ഔദ്യോഗിക ശേഖരണങ്ങളിലേക്കുള്ള സമീപകാല അപ്uഡേറ്റുകൾ ഉപയോഗിച്ച് Bullseye-യുടെ മുകളിൽ പുതിയ വെബ് സെർവറുകൾ സജ്ജീകരിക്കാൻ ഇത് സിസ്റ്റം അഡ്മിനിസ്ട്രേറ്റർമാരെ അനുവദിക്കും. നിങ്ങൾ ഡെബിയൻ 10-ൽ നിന്ന് ഡെബിയൻ 11-ലേക്ക് അപ്uഗ്രേഡ് ചെയ്uതതായി കരുതപ്പെടുന്നു.

ഡെബിയനിൽ LAMP ഇൻസ്റ്റാൾ ചെയ്യുന്നു

LAMP-ലെ \M എന്നത് സ്റ്റാക്കിന്റെ ഡാറ്റാബേസ് സെർവറായ MariaDB അല്ലെങ്കിൽ MySQL ആണ്. നിങ്ങളുടെ ഇഷ്ടത്തിനനുസരിച്ച്, നിങ്ങൾക്ക് ഡാറ്റാബേസ് സെർവറും മറ്റ് ഘടകങ്ങളും (അപ്പാച്ചെ വെബ് സെർവറും PHP ഉം) ഇനിപ്പറയുന്ന രീതിയിൽ ഇൻസ്റ്റാൾ ചെയ്യാം.

# 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

വ്യക്തിപരമായ മുൻഗണന എന്ന നിലയിൽ, ഈ ലേഖനത്തിന്റെ ബാക്കി ഭാഗങ്ങളിൽ ഞാൻ MariaDB ഉപയോഗിക്കും.

ഇൻസ്റ്റാളേഷൻ പൂർത്തിയായിക്കഴിഞ്ഞാൽ, എല്ലാ സേവനങ്ങളും പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാം. അങ്ങനെയാണെങ്കിൽ, ഇനിപ്പറയുന്ന കമാൻഡുകൾ.

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

രണ്ടിനും സജീവമായി തിരിച്ചെത്തണം. അല്ലെങ്കിൽ, രണ്ട് സേവനങ്ങളും സ്വമേധയാ ആരംഭിക്കുക:

# systemctl start {apache2,mariadb}

ഡെബിയനിൽ MariaDB സുരക്ഷിതമാക്കുന്നു

അവസാനമായി, മുന്നോട്ട് പോകുന്നതിന് മുമ്പ്, ഡാറ്റാബേസ് റൂട്ട് അക്കൗണ്ടിനായി പാസ്uവേഡ് സജ്ജീകരിക്കുന്നതിനും അജ്ഞാത ഉപയോക്താക്കളെ നീക്കം ചെയ്യുന്നതിനും റൂട്ട് ലോഗിൻ വിദൂരമായി അനുവദിക്കുന്നതിനും ടെസ്റ്റ് ഡാറ്റാബേസ് നീക്കം ചെയ്യുന്നതിനും mysql_secure_installation ഉപയോഗിക്കാം.

# mysql_secure_installation

ഡെബിയനിൽ ലാമ്പ് പരീക്ഷിക്കുന്നു

ആരംഭിക്കുന്നതിന്, ഞങ്ങൾ ഒരു സാമ്പിൾ ഡാറ്റാബേസ് സൃഷ്uടിക്കുകയും ജനകീയമാക്കുകയും ചെയ്യും. അടുത്തതായി, JSON ഫോർമാറ്റിലുള്ള ഡാറ്റാബേസിൽ നിന്ന് ഒരു കൂട്ടം റെക്കോർഡുകൾ വീണ്ടെടുക്കാൻ ഞങ്ങൾ ഒരു അടിസ്ഥാന PHP സ്ക്രിപ്റ്റ് ഉപയോഗിക്കും.

അവസാനമായി, ഉപയോഗിക്കുന്ന അപ്പാച്ചെയുടെ പതിപ്പ് പരിശോധിക്കാൻ ഞങ്ങൾ ഫയർഫോക്സിന്റെ ഡെവലപ്പർ ടൂളുകൾ ഉപയോഗിക്കും. ഞങ്ങൾക്ക് ഇതേ വിവരങ്ങൾ കണ്ടെത്താൻ കഴിയുമെങ്കിലും.

# apache2 -v

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

ഞങ്ങൾ സ്uക്രിപ്റ്റ് ഉപയോഗിക്കുന്നതിന്റെ കാരണം, സ്റ്റാക്കിന്റെ എല്ലാ ഘടകങ്ങളും ഒരുമിച്ച് ബണ്ടിൽ ചെയ്യുമ്പോൾ ശരിയായി പ്രവർത്തിക്കുന്നുണ്ടെന്ന് ഉറപ്പാക്കാനാണ്.

താഴെ പറയുന്ന കമാൻഡ് ഉപയോഗിച്ച് നമുക്ക് MariaDB പ്രോംപ്റ്റിൽ പ്രവേശിക്കാം.

# mysql -u root -p

മുമ്പത്തെ വിഭാഗത്തിൽ തിരഞ്ഞെടുത്ത പാസ്uവേഡ് നൽകുക.

ഇപ്പോൾ നമ്മൾ ഇനിപ്പറയുന്ന രീതിയിൽ LibraryDB എന്ന പേരിൽ ഒരു ഡാറ്റാബേസ് സൃഷ്ടിക്കും:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

AuthorsTBL, 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)
);

സുരക്ഷാ കാരണങ്ങളാൽ, ഞങ്ങളുടെ ഡാറ്റാബേസ് ആക്സസ് ചെയ്യുന്നതിന് ഞങ്ങൾ ഒരു പ്രത്യേക അക്കൗണ്ട് സൃഷ്ടിക്കും:

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

രചയിതാക്കളും പുസ്uതകങ്ങളും ഉപയോഗിച്ച് പട്ടികകൾ പോപ്പുലേറ്റ് ചെയ്യുന്നതാണ് ഇപ്പോൾ അവസാന ഘട്ടം:

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

ഇനിപ്പറയുന്ന PHP സ്ക്രിപ്റ്റ് ആദ്യം ഡാറ്റാബേസിലേക്ക് കണക്റ്റ് ചെയ്യുകയും അന്വേഷണവുമായി പൊരുത്തപ്പെടുന്ന റെക്കോർഡുകൾ വീണ്ടെടുക്കുകയും ചെയ്യും. ഒരു പിശക് സംഭവിക്കുകയാണെങ്കിൽ, എന്താണ് തെറ്റ് എന്നതിനെക്കുറിച്ചുള്ള ഒരു സൂചന നൽകുന്നതിന് ഒരു വിവരണാത്മക സന്ദേശം പ്രദർശിപ്പിക്കും.

ഇനിപ്പറയുന്ന സ്ക്രിപ്റ്റ് /var/www/html എന്നതിന് കീഴിൽ bookandauthors.php ആയി സംരക്ഷിക്കുക:

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

www-data എന്നതിലേക്ക് ഉടമസ്ഥാവകാശം മാറ്റുകയും ഉചിതമായ അനുമതികൾ ചേർക്കുകയും ചെയ്യുക:

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

അവസാനമായി, ഒരു വെബ് ബ്രൗസർ തുറന്ന് സ്ക്രിപ്റ്റ് താമസിക്കുന്ന URL-ലേക്ക് അത് പോയിന്റ് ചെയ്യുക.

http://192.168.0.35/booksandauthors.php

അത്രയേയുള്ളൂ! ഈ ലേഖനത്തിൽ, Debian 11-ൽ LAMP സ്റ്റാക്ക് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാമെന്നും പരിശോധിക്കാമെന്നും ഞങ്ങൾ വിശദീകരിച്ചിട്ടുണ്ട്. ഈ ലേഖനത്തെക്കുറിച്ച് നിങ്ങൾക്ക് ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ചുവടെയുള്ള ഫോം ഉപയോഗിച്ച് ഞങ്ങളെ അറിയിക്കാൻ മടിക്കരുത്.