از آنجایی که لینوکس دبیان توانسته درصد زیادی از وب سرورهای سراسر جهان را قدرتمند کند، در این مقاله ما قصد داریم نحوه نصب LAMP Stack (یا Linux, Apache, MariaDB or MySQL and PHP) در دبیان 9 را آموزش دهیم.
این موضوع به مدیران سیستم اجازه میدهد تا برای نصب و راه اندازی وب سرورهای جدید روی Debian Stretch با استفاده از به روز رسانی های اخیر در توزیع های مخازن رسمی استفاده کنند. ما فرض را بر این میگذاریم که شما، دبیان 9 را به صورت خام بر روی ویرچوال ماشین یا VPS یا یک دبیان Jessie آپگرید شده، نصب دارید.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Ubuntu 16.04/16.10
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در CentOS/RedHat 7
نصب LAMP Stack روی Debian 9 Stretch
حرف "M" در LAMP مخفف MariaDB یا MySQL (سرور پایگاه داده برای stack) میباشد. بستگی به نوع انتخاب تان، شما میتوانید دیتابیس سرور و دیگر اجزا (وب سرور Apache و PHP) را همانند زیر نصب کنید.
نصب LAMP به همراه MariaDB در Debian 9
نصب LAMP به همراه MySQL در Debian 9
ترجیح شخصی من استفاده از MariaDB در بقیه این مقاله میباشد.
هنگامیکه نصب کامل شد، اجازه دهید که مطمئن شویم همه سرویس ها در حال اجرا هستند. برای این کار دستورات زیر را دنبال کنید.
برای هر دو سرویس، باید فعال باشد. در غیر اینصورت، هر دوی سرویس ها را به صورت دستی start کنید.
در پایان، قبل از ادامه اجازه دهید از دستور mysql_secure_installation برای گذاشتن پسورد روی یوزر root دیتابیس استفاده کنیم. اگر شما نمیدانید چطور این کار را انجام دهید، شما میتوانید به مرحله 4 آموزش نحوه نصب MariaDB 10 بر روی Debian و Ubuntu مراجعه کنید.
تست LAMP در Debian 9 Stretch
برای شروع، ما قصد داریم یک دیتابیس نمونه ایجاد کنیم. سپس ما میخواهیم از یک اسکریپت PHP ساده برای گرفتن یک رکورد از دیتابیس با فرمت JSON استفاده کنیم.
در نهایت، ما میخواهیم از ابزارهای توسعه Firefox برای بررسی ورژن آپاچی موجود استفاده کنیم. اگر چه ما میتوانیم با استفاده از دستور زیر هم این اطلاعات را به دست آوریم.
دلیل اینکه ما از یک اسکریپت استفاده میکنیم این است که مطمئن شویم تمام اجزای stack زمانیکه با هم هستند به درستی کار میکند.
ساخت و جمع آوری یک Database
با استفاده از دستور زیر وارد prompt دیتابیس MariaDB شوید.
پسوردی را که در مرحله قبل انتخاب کرده بودید را وارد کنید.
اکنون ما قصد داریم یک دیتابیس با نام LinuxDB همانند زیر ایجاد کنیم.
و دو تیبل به نام های PhonesTBL و BooksTBL اضافه کنید.
برای دلایل امنیتی، ما قصد داریم یک اکانت مخصوص برای دسترسی به دیتابیس ایجاد کنیم.
آخرین مرحله، شامل جمع آوری تیبل های Phones و Books میباشد.
تست ارتباط Database با استفاده از اسکریپت PHP
در اسکریپت PHP زیر میخواهیم برای اولین بار به دیتابیس وصل شده و رکوردهای که با کوئری مان مچ شده اند را دریافت کنیم. اگر خطایی رخ بدهد، پیغامی مبنی بر اینکه، چه چیزی اشتباه میباشد را اشاره و به ما نمایش میدهد.
اسکریپت زیر را با نام habilibooks.php در مسیر /var/www/html ذخیره کنید.
مالکیت فایل habilibooks.php را به www-data تغییر دهید و سطح دسترسی یا پرمیژن مناسب را اضافه کنید.
در نهایت یک مرورگر وب را باز کرده و در قسمت URL آدرس جایی که اسکریپت مان میباشد را میدهیم.
همین بود! در این آموزش نحوه نصب و تست LAMP Stack در دبیان 9 را توضیح دادیم. اگر شما سوالی یا توضیحاتی در مورد این مقاله دارید، تردید نکنید و از طریق انجمن با ما در میان بگذارید.
این موضوع به مدیران سیستم اجازه میدهد تا برای نصب و راه اندازی وب سرورهای جدید روی Debian Stretch با استفاده از به روز رسانی های اخیر در توزیع های مخازن رسمی استفاده کنند. ما فرض را بر این میگذاریم که شما، دبیان 9 را به صورت خام بر روی ویرچوال ماشین یا VPS یا یک دبیان Jessie آپگرید شده، نصب دارید.
همچنین توصیه میشود مطالعه کنید :
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در Ubuntu 16.04/16.10
آموزش نصب LAMP (مخفف Linux, Apache, MySQL/MariaDB, PHP) در CentOS/RedHat 7
نصب LAMP Stack روی Debian 9 Stretch
حرف "M" در LAMP مخفف MariaDB یا MySQL (سرور پایگاه داده برای stack) میباشد. بستگی به نوع انتخاب تان، شما میتوانید دیتابیس سرور و دیگر اجزا (وب سرور Apache و PHP) را همانند زیر نصب کنید.
نصب LAMP به همراه MariaDB در Debian 9
کد PHP:
# aptitude update && aptitude install apache2 mariadb-server mariadb-client mariadb-common php php-mysqli
نصب LAMP به همراه MySQL در Debian 9
کد PHP:
# aptitude update && aptitude install apache2 mysql-server mysql-client mysql-common php php-mysqli
هنگامیکه نصب کامل شد، اجازه دهید که مطمئن شویم همه سرویس ها در حال اجرا هستند. برای این کار دستورات زیر را دنبال کنید.
کد PHP:
# systemctl is-active apache2
# systemctl is-active mariadb
کد PHP:
# systemctl start {apache2,mariadb}
تست LAMP در Debian 9 Stretch
برای شروع، ما قصد داریم یک دیتابیس نمونه ایجاد کنیم. سپس ما میخواهیم از یک اسکریپت PHP ساده برای گرفتن یک رکورد از دیتابیس با فرمت JSON استفاده کنیم.
در نهایت، ما میخواهیم از ابزارهای توسعه Firefox برای بررسی ورژن آپاچی موجود استفاده کنیم. اگر چه ما میتوانیم با استفاده از دستور زیر هم این اطلاعات را به دست آوریم.
کد PHP:
# apache2 -v
ساخت و جمع آوری یک Database
با استفاده از دستور زیر وارد prompt دیتابیس MariaDB شوید.
کد PHP:
# mysql -u root -p
اکنون ما قصد داریم یک دیتابیس با نام LinuxDB همانند زیر ایجاد کنیم.
کد PHP:
MariaDB [(none)]> CREATE DATABASE LinuxDB;
کد PHP:
MariaDB [(none)]> USE LinuxDB;
CREATE TABLE PhonesTBL (
PhoneID INT NOT NULL AUTO_INCREMENT,
FullName VARCHAR(100) NOT NULL,
PRIMARY KEY(PhoneID)
);
MariaDB [(none)]> CREATE TABLE BooksTBL (
BookID INT NOT NULL AUTO_INCREMENT,
PhoneID INT NOT NULL,
ISBN VARCHAR(100) NOT NULL,
Title VARCHAR(100) NOT NULL,
Year VARCHAR(4),
PRIMARY KEY(BookID),
FOREIGN KEY(PhoneID) REFERENCES PhonesTBL(PhoneID)
);
کد PHP:
MariaDB [(none)]> CREATE USER 'mahdiyeh'@'localhost' IDENTIFIED BY 'Mahdiyeh123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON LinuxDB.* TO 'mahdiyeh'@'localhost';
کد PHP:
MariaDB [(none)]> CREATE USER 'mahdiyeh'@'localhost' IDENTIFIED BY 'Mahdiyeh123';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON LinuxDB.* TO 'mahdiyeh'@'localhost';
MariaDB [(none)]> INSERT INTO PhonesTBL (FullName) VALUES ('Mehdi Zabbihi'), ('Zahra Mortazavi'), ('Shayan Mehdi Zadeh');
MariaDB [(none)]> INSERT INTO BooksTBL (PhoneID, 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');
تست ارتباط Database با استفاده از اسکریپت PHP
در اسکریپت PHP زیر میخواهیم برای اولین بار به دیتابیس وصل شده و رکوردهای که با کوئری مان مچ شده اند را دریافت کنیم. اگر خطایی رخ بدهد، پیغامی مبنی بر اینکه، چه چیزی اشتباه میباشد را اشاره و به ما نمایش میدهد.
اسکریپت زیر را با نام habilibooks.php در مسیر /var/www/html ذخیره کنید.
کد PHP:
<?php
// Show PHP version
echo "Current PHP version: " . phpversion() . "\r\n";
// Connect to database
$connection = mysqli_connect("localhost","mahdiyeh","Mahdiyeh123","LinuxDB") or die("Error " . mysqli_error($connection));
// SQL query
$sql = "SELECT A.ISBN, A.Title,
A.Year, B.FullName
FROM BooksTBL A JOIN PhonesTBL B
ON A.PhoneID = B.PhoneID;";
$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);
?>
کد PHP:
# chown www-data:www-data /var/www/html/habilibooks.php
# chmod 600 /var/www/html/habilibooks.php
کد PHP:
http://192.168.25.76/habilibooks.php
همین بود! در این آموزش نحوه نصب و تست LAMP Stack در دبیان 9 را توضیح دادیم. اگر شما سوالی یا توضیحاتی در مورد این مقاله دارید، تردید نکنید و از طریق انجمن با ما در میان بگذارید.