Instalējiet LAMP (Linux, Apache, MariaDB vai MySQL un PHP) Stack uz Debian 9


Šīs nedēļas sākumā (2017. gada 17. jūnijā) Debian projekts paziņoja par jaunās stabilās versijas (Debian 9) koda nosaukumu Stretch pieejamību.

Ar šo laidienu labi pazīstamais un plaši izmantotais Debian 8 Jessie ieguva veco stabilu statusu, kas apzīmē iepriekšējo stabilo krātuvi. Kā tas vienmēr notiek, izlaižot jaunu stabilu versiju, Stretch ietver simtiem jaunu pakotņu un tūkstošiem citu atjauninājumus.

Tā kā Debian nodrošina lielu daļu tīmekļa serveru visā pasaulē, šajā rakstā mēs paskaidrosim, kā instalēt LAMP kaudzīti Debian 9 Stretch.

Tas ļaus sistēmas administratoriem, izmantojot Stretch, izveidot pavisam jaunus tīmekļa serverus, izmantojot nesenos izplatīšanas oficiālo krātuvju atjauninājumus. Tiek pieņemts, ka esat jauninājis no Jessie.

LAMP instalēšana Debian 9 Stretch

“M” LAMP nozīmē MariaDB vai MySQL, kaudzes datu bāzes serveri. Atkarībā no jūsu izvēles datu bāzes serveri un citus komponentus (Apache tīmekļa serveri un PHP) varat instalēt šādi.

# 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

Kā personīgu izvēli es izmantošu MariaDB pārējā rakstā.

Kad instalēšana ir pabeigta, pārliecinieties, vai darbojas visi pakalpojumi. Ja tā, rīkojieties šādi.

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

vajadzētu atgriezties aktīvam abiem. Pretējā gadījumā sāciet abus pakalpojumus manuāli:

# systemctl start {apache2,mariadb}

Visbeidzot, pirms turpināt, izmantosim mysql_secure_installation, lai iestatītu paroli datu bāzes saknes kontam. Ja nezināt, kā to izdarīt, varat atsaukties uz 4. soli sadaļā MariaDB 10 instalēšana Debian un Ubuntu.

LAMP testēšana uz Debian 9 Stretch

Lai sāktu, mēs izveidosim un aizpildīsim datu bāzes paraugu. Pēc tam mēs izmantosim pamata PHP skriptu, lai izgūtu ierakstu kopu no datu bāzes JSON formātā.

Visbeidzot, mēs izmantosim Firefox izstrādātāja rīkus, lai pārbaudītu izmantoto Apache versiju. Lai gan mēs varētu uzzināt šo pašu informāciju ar.

# apache2 -v

iemesls, kāpēc mēs izmantojam skriptu, ir pārliecināties, vai visi skursteņa komponenti darbojas pareizi, kad tie ir apvienoti.

Ievadīsim uzvedni MariaDB ar šādu komandu.

# mysql -u root -p

un ievadot paroli, kas tika izvēlēta iepriekšējā sadaļā.

Tagad mēs izveidosim datubāzi ar nosaukumu LibraryDB šādi:

MariaDB [(none)]> CREATE DATABASE LibraryDB;

un pievienojiet divas tabulas ar nosaukumu AuthorsTBL un 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)
);

Drošības apsvērumu dēļ mēs izveidosim īpašu kontu, lai piekļūtu mūsu datu bāzei:

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

Tagad pēdējais solis ir tabulu aizpildīšana ar Autori un Grāmatas:

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

Šis PHP skripts vispirms izveidos savienojumu ar datu bāzi un izgūs ierakstus, kas atbilst vaicājumam. Ja rodas kļūda, tiks parādīts aprakstošs ziņojums, lai dotu mums mājienu par kļūdām.

Saglabājiet šo skriptu kā booksandauthors.php zem/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);
?>

Mainiet īpašumtiesības uz www-data un pievienojiet atbilstošās atļaujas:

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

Visbeidzot, atveriet tīmekļa pārlūkprogrammu un norādiet to uz URL, kurā atrodas skripts.

http://192.168.0.35/booksandauthors.php

Tieši tā! Šajā rakstā mēs esam paskaidrojuši, kā instalēt un pārbaudīt LAMP kaudzīti vietnē Debian 9. Ja jums ir jautājumi vai komentāri par šo rakstu, nevilcinieties informēt mūs, izmantojot zemāk esošo veidlapu.