اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نصب LAMP Stack (یا Linux, Apache, MariaDB - MySQL, PHP) در لینوکس Debian 9

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نصب LAMP Stack (یا Linux, Apache, MariaDB - MySQL, PHP) در لینوکس Debian 9

    از آنجایی که لینوکس دبیان توانسته درصد زیادی از وب سرورهای سراسر جهان را قدرتمند کند، در این مقاله ما قصد داریم نحوه نصب 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
    کد 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 
    ترجیح شخصی من استفاده از MariaDB در بقیه این مقاله میباشد.

    هنگامیکه نصب کامل شد، اجازه دهید که مطمئن شویم همه سرویس ها در حال اجرا هستند. برای این کار دستورات زیر را دنبال کنید.
    کد PHP:
    # systemctl is-active apache2
    # systemctl is-active mariadb 
    برای هر دو سرویس، باید فعال باشد. در غیر اینصورت، هر دوی سرویس ها را به صورت دستی start کنید.
    کد PHP:
    # systemctl start {apache2,mariadb} 
    در پایان، قبل از ادامه اجازه دهید از دستور mysql_secure_installation برای گذاشتن پسورد روی یوزر root دیتابیس استفاده کنیم. اگر شما نمیدانید چطور این کار را انجام دهید، شما میتوانید به مرحله 4 آموزش نحوه نصب MariaDB 10 بر روی Debian و Ubuntu مراجعه کنید.



    تست LAMP در Debian 9 Stretch

    برای شروع، ما قصد داریم یک دیتابیس نمونه ایجاد کنیم. سپس ما میخواهیم از یک اسکریپت PHP ساده برای گرفتن یک رکورد از دیتابیس با فرمت JSON استفاده کنیم.

    در نهایت، ما میخواهیم از ابزارهای توسعه Firefox برای بررسی ورژن آپاچی موجود استفاده کنیم. اگر چه ما میتوانیم با استفاده از دستور زیر هم این اطلاعات را به دست آوریم.
    کد PHP:
    # apache2 -v 
    دلیل اینکه ما از یک اسکریپت استفاده میکنیم این است که مطمئن شویم تمام اجزای stack زمانیکه با هم هستند به درستی کار میکند.


    ساخت و جمع آوری یک Database

    با استفاده از دستور زیر وارد prompt دیتابیس MariaDB شوید.
    کد PHP:
    # mysql -u root -p 
    پسوردی را که در مرحله قبل انتخاب کرده بودید را وارد کنید.

    اکنون ما قصد داریم یک دیتابیس با نام LinuxDB همانند زیر ایجاد کنیم.
    کد PHP:
    MariaDB [(none)]> CREATE DATABASE LinuxDB
    و دو تیبل به نام های PhonesTBL و BooksTBL اضافه کنید.
    کد PHP:
    MariaDB [(none)]> USE LinuxDB;
    CREATE TABLE PhonesTBL (
    PhoneID INT NOT NULL AUTO_INCREMENT,
    FullName VARCHAR(100NOT NULL,
    PRIMARY KEY(PhoneID)
    );

    MariaDB [(none)]> CREATE TABLE BooksTBL (
    BookID INT NOT NULL AUTO_INCREMENT,
    PhoneID INT NOT NULL,
    ISBN VARCHAR(100NOT NULL,
    Title VARCHAR(100NOT NULL,
    Year VARCHAR(4),
    PRIMARY KEY(BookID),
    FOREIGN KEY(PhoneIDREFERENCES PhonesTBL(PhoneID)
    ); 
    برای دلایل امنیتی، ما قصد داریم یک اکانت مخصوص برای دسترسی به دیتابیس ایجاد کنیم.
    کد PHP:
    MariaDB [(none)]> CREATE USER 'mahdiyeh'@'localhost' IDENTIFIED BY 'Mahdiyeh123';
    MariaDB [(none)]> GRANT ALL PRIVILEGES ON LinuxDB.* TO 'mahdiyeh'@'localhost'
    آخرین مرحله، شامل جمع آوری تیبل های Phones و Books میباشد.
    کد 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 (FullNameVALUES ('Mehdi Zabbihi'), ('Zahra Mortazavi'), ('Shayan Mehdi Zadeh');
    MariaDB [(none)]> INSERT INTO BooksTBL (PhoneIDISBNTitleYearVALUES
    (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);
    ?>
    مالکیت فایل habilibooks.php را به www-data تغییر دهید و سطح دسترسی یا پرمیژن مناسب را اضافه کنید.
    کد PHP:
    # chown www-data:www-data /var/www/html/habilibooks.php
    # chmod 600 /var/www/html/habilibooks.php 
    در نهایت یک مرورگر وب را باز کرده و در قسمت URL آدرس جایی که اسکریپت مان میباشد را میدهیم.
    کد PHP:
    http://192.168.25.76/habilibooks.php 
    Click image for larger version  Name:	verify lamp on debian 9.PNG Views:	1 Size:	35.2 KB ID:	22057

    همین بود! در این آموزش نحوه نصب و تست LAMP Stack در دبیان 9 را توضیح دادیم. اگر شما سوالی یا توضیحاتی در مورد این مقاله دارید، تردید نکنید و از طریق انجمن با ما در میان بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 01-21-2021, 04:26 PM.
    Instagram : https://www.instagram.com/iranlinuxforum

    Voip Trainer - Asterisk - Elastix - Agi Programming- NewRock

    Voip Expert :ASTERISK-ELASTIX-NewRock Certified-With Experience of Working With
    Sangoma-Digium-Openvox-Synway-Atcom-Quintum Tenor-Polycom-Yealink-Rtx-Snom
    Cisco Collaboration - CME-CUCM-CUPs-CUC-WEBEX
    LPI ( Fundamental - LPI1 and LPI2 ) - Monitoring: ZABBIX-VOIPMONITOR-NAGIOS - CCNA

    Linkedin Profile : https://www.linkedin.com/in/masuma-vahid-26b17b66/

درباره انجمن منطقه لینوکسی ها

انجمن منطقه لینوکسی ها با هدف ارتقاء سطح علمی کاربران در سطح جهانی و همچنین کمک به بالا بردن سطح علمی عمومی در زمینه های تخصصی فوق پایه گذاری شده است. انجمن منطقه لینوکسی ها از طریق کارشناسان و متخصصان پاسخگوی سوالات گوناگون کاربران مبتدی یا پیشرفته میباشد تا حد امکان تلاش شده که محیطی متنوع و کاربر پسند و به دور از هرگونه حاشیه جهت فعالیت کاربران در این انجمن ایجاد شود. لذا ما به صورت مستمر برای پیشرفت کمی و کیفی محتوی و اطلاعات انجمنمان میکوشیم که این برای ما ارزشمند و حائز اهمیت است. کلیه حقوق،اطلاعات و مقالات در این انجمن متعلق به سایت منطقه لینوکسی ها میباشد، و هرگونه نسخه برداری بدون ذکر منبع مورد پیگرد قانونی خواهد شد.

شبکه های اجتماعی
در حال انجام ...
X