زیرساخت ابری هایو
[dark-light-mode-switch]

نصب LAMP در سرور ابونتو 20.04

فهرست مطالب

LAMP چیست؟

اصطلاح “LAMP” به گروهی از نرم‌افزارهای منبع باز اطلاق می شود که معمولا در کنار هم دیگر در یک سرور نصب می شوند.

با این چند نرم افزار سرور قادر است از وبسایت های پویا و اپلیکیشن های وب به زبان php میزبانی کند.

این عبارت مخففی است که نشان دهنده سیستم عامل Linux با وب سرور Apache است.

که داده های سایت در را پایگاه داده MySQL ذخیره می کند و محتوای پویا را توسط PHP پردازش می کند.

در این مقاله به شما طریقه نصب بسته میزبانی LAMP در سرور ابونتو را یاد خواهیم داد، در ادامه با ماهمراه باشید.

نصب lamp در سرور ابونتو

پیش نیاز های نصب LAMP در سرور ابونتو

برای تکمیل این آموزش، باید یک سرور Ubuntu 20.04 با یک حساب کاربری با دسترسی روت یا sudo و یک فایروال اولیه داشته باشید.

این موارد را میتوانید با استفاده از مقاله تنظیمات اولیه سرور Ubuntu 20.04 آماده کنید.

مرحله 1 – نصب آپاچی و به روز رسانی فایروال

وب سرور آپاچی یکی از محبوب ترین وب سرورهای جهان است.

این وب سرور به خوبی امتحان خود را پس داده است و دارای یک جامعه فعال از کاربران است.

در بسیاری از وبسایت ها مورد استفاده قرار گرفته است، و این دلایل آن را تبدیل به یک انتخاب عالی برای میزبانی وب میکند.

برای شروع باید ابتدا مخزن ابونتو را بروزرسانی کنید، اگر اولین باری است که از دستور sudo استفاده می کنید، از شما خواسته می شود که رمز عبور کاربر خود را واردکنید.

برای بروزرسانی مخازن دستور زیر را تایپ می کنیم:

sudo apt update

سپس آپاچی را با استفاده از دستور زیر نصب کنید:

sudo apt install apache2

همچنین از شما خواسته می شود که نصب آپاچی را با فشار دادن کلید Y و سپس کلید ENTER تایید کنید.

پس از اتمام نصب، باید تنظیمات فایروال خود را تنظیم کنید تا ترافیک HTTP مجاز باشد.

UFW برنامه های آماده و کاربردی مختلفی دارد که می توانید برای انجام این کار از آنها استفاده کرد.

برای مشاهده تمام برنامه های آماده UFW از دستور زیر استفاده کنید:

sudo ufw app list 

باید خروجی شبیه به زیر مشاهده نمایید:

Available applications:
Apache
Apache Full
Apache Secure
OpenSSH

در اینجا معنی هر یک از این برنامه ها آمده است:

Apache : این نمایه فقط پورت 80 (http) را باز می کند.
Apache Full : این نمایه هم پورت 80 (http) و هم پورت 443 (https) را باز می کند.
Apache Secure : این نمایه فقط پورت 443(https) را باز می کند.

در حال حاضر، بهتر است فقط اتصالات روی پورت 80 مجاز باشد ، زیرا شما در حال نصب یک وب سرور آپاچی جدید در سرور هستید و شما هنوز گواهی TLS/SSL پیکربندی نکرده‌اید تا ترافیک HTTPS را روی سرور خود مجاز کنید.

فقط برای باز کردن ترافیک در پورت 80، از نمایه Apache استفاده کنید:

sudo ufw allow in "Apache"

می توانید با دستور زیر از اعمال تغییرات مطمعن شوید:

sudo ufw status

باید خروجی شبیه به زیر را مشاهده کنید:

Status: active

To                             Action                          From
-- ------ ----
OpenSSH             ALLOW                         Anywhere 
Apache                ALLOW                         Anywhere 
OpenSSH (v6)      ALLOW                         Anywhere (v6) 
Apache (v6)         ALLOW                         Anywhere (v6)

اکنون ترافیک در پورت 80 از طریق فایروال مجاز است.

برای این که مطمعن شوید همه چیز طبق برنامه پیش رفته است، IP عمومی سرور خود را در یک مرورگر وب وارد کنید.(در صورت نداشتن IP عمومی سرور، به زیر عنوان بعدی مراجعه کنید تا متوجه شوید که آدرس IP عمومی شما چیست):

http://your_server_ip

بعد از وارد کردن ایپی سرور وارد صفحه پیش فرض آپاچی خواهید شد که یک سری اطلاعات در آن وجود دارد، مانند تصویر زیر:

نصب lamp در سرور ubuntu

اگر این صفحه را می بینید، اکنون وب سرور شما به درستی نصب شده و از طریق فایروال شما قابل دسترسی است.

چگونه آدرس IP عمومی سرور خود را پیدا کنیم

اگر نمی دانید آدرس IP عمومی سرورتان چیست، راه های مختلفی وجود دارد که می توانید آن را پیدا کنید.

معمولاً این آدرسی است که برای اتصال به سرور خود از طریق SSH استفاده می کنید.

چند راه مختلف برای انجام این کار از طریق خط فرمان وجود دارد.

می توانید با از دستور زیر برای دریافت آدرس IP خود استفاده کنید:

ip addr show eth0 | grep inet | awk '{ print $2; }' | sed 's/\/.*$//' 

این دستور ممکن است به شما دو یا سه خط را برای شما نمایش دهد.

همه آنها آدرس های صحیحی هستند، اما رایانه شما ممکن است فقط بتواند از یکی از آنها استفاده کند، بنابراین تک به تک هر کدام را امتحان کنید.

یک روش جایگزین برای پیدا کردن آیپی سرور استفاده از ابزار curl برای ارتباط با سرور http://icanhazip.com/ است.

این یک سرور است که با متصل شدن به آن آیپی سرور شما را نمایش میدهد.

curl http://icanhazip.com

صرف نظر از روشی که برای دریافت آدرس IP خود استفاده می کنید، آن را در نوار آدرس مرورگر وب خود تایپ کنید تا صفحه پیش فرض آپاچی را مشاهده کنید.

مرحله 2 – نصب MySQL

اکنو که وب سرور آپاچی را نصب و راه اندازی کردیم، باید یک نرم افزار پایگاه داده در سرور مان نصب کنیم تا بتوانیم داده ها را برای سایت خود ذخیره و مدیریت کنید.

MySQL یک نرم افزار مدیریت پایگاه داده محبوب است که در محیط های PHP استفاده می شود.

برای نصب mysql در ابونتو از دستور زیر استفاده می کنیم:

sudo apt install mysql-server

همچنین از شما خواسته می شود که نصب آپاچی را با فشار دادن کلیدYو سپس کلید ENTER تایید کنید.

هنگامی که نصب mysql به پایان رسید، توصیه می شود یک اسکریپت امنیتی را که از قبل با MySQL نصب شده است را اجرا کنید.

این اسکریپت برخی از تنظیمات پیش فرض ناامن را حذف می کند و دسترسی به سیستم پایگاه داده شما را قفل می کند.

این اسکریپت امنیتی را با دستور زیر اجرا کنید:

sudo mysql_secure_installation

در ادامه از شما سوال پرسیده می شود که آیا قصد دارید پیکربندی را انجام دهید.

برای ادامه کلید y را تایپ کیند.

VALIDATE PASSWORD PLUGIN can be used to test passwords
and improve security. It checks the strength of password
and allows the users to set only those passwords which are
secure enough. Would you like to setup VALIDATE PASSWORD plugin?

Press y|Y for Yes, any other key for No:

توجه: فعال کردن این ویژگی چیزی شبیه به بررسی پسورد ها  است. در صورت فعال بودن آن ، پسوردهایی که با معیارهای مشخص شده مطابقت ندارند توسط MySQL رد می شوند.

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

 

اگر پاسخ «بله» را بدهید، از شما خواسته می‌شود سطحی از اعتبارسنجی رمز عبور را انتخاب کنید.

به خاطر داشته باشید که اگر ‘گزینه 3 یعنی قوی ترین سطح را وارد کنید، هنگام تلاش برای تنظیم رمز عبوری که حاوی اعداد، حروف بزرگ و کوچک و کاراکترهای خاص نباشد یا بر اساس کلمات فرهنگ لغت رایج باشد، خطاهایی دریافت خواهید کرد.

There are three levels of password validation policy:

LOW Length >= 8
MEDIUM Length >= 8, numeric, mixed case, and special characters
STRONG Length >= 8, numeric, mixed case, special characters and dictionary file

Please enter 0 = LOW, 1 = MEDIUM and 2 = STRONG: 1

 

صرف نظر از اینکه آیا اسکریپت امنیتی پیکربندی کرده باشید یا خیر، سرور شما در مرحله بعدی از شما می خواهد که یک رمز عبور برای کاربر ریشه MySQL انتخاب و تأیید کنید.

این را نباید با رمز عبور ریشه سیستم اشتباه گرفت .

کاربر ریشه پایگاه داده یک کاربر  با امتیازات کامل بر روی سیستم پایگاه داده است.

حتی اگر پیکربندی اسکریپت امنیتی mysql را انجام نداده اید، باید در نظر داشته باشید که حتما یک رمز عبور پیچیده وغیرقابل حدس برای کاربر ریشه پایگاه داده استفاد کنید.

اگر امنیت گذرواژه را فعال کرده باشید، قدرت رمز عبوری را که به تازگی وارد کرده اید به شما نشان داده می شود و سرور  از شما می پرسد که آیا می خواهید با آن رمز عبور ادامه دهید یا خیر.

اگر از رمز عبور فعلی خود راضی هستید، Y را وارد کنید:

Estimated strength of the password: 100 
Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y

برای بقیه سؤالات، کلید Y را فشار داده و ENTER بزنید.

با این کار برخی از کاربران ناشناس و پایگاه های داده آزمایشی حذف می شوند، ورود به ریشه پایگاه داده از راه دور غیرفعال می شود و قوانین جدید اعمال می شود تا MySQL به سرعت به تنظیمات اعمال شده احترام بگذارد.

وقتی کارتان تمام شد، با تایپ کردن دستور زیر تست کنید که آیا می‌توانید به کنسول MySQL وارد شوید:

sudo mysql 

با این دستور  به سرور MySQL به عنوان کاربر ریشه پایگاه داده  متصل می شوید، شما باید خروجی مانند زیر را ببینید:

 

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 22
Server version: 8.0.19-0ubuntu5 (Ubuntu)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

برای خروج از کنسول MySQL، دستور زیر را تایپ کنید:

exit

توجه داشته باشید که برای اتصال به عنوان کاربر اصلی نیازی به ارائه رمز عبور ندارید ، حتی اگر هنگام اجرای mysql_secure_installation اسکریپت رمز عبور را تعریف کرده باشید.

دلیل آن این است که روش احراز هویت پیش‌فرض برای کاربر ریشه MySQL به جای استفاده از رمز عبور از کاربران سیستمی استفاده میکند.

اگرچه این ممکن است در ابتدا یک نگرانی امنیتی به نظر برسد، اما این سرور پایگاه داده را ایمن‌تر می‌کند زیرا تنها کاربرانی که مجاز به ورود به عنوان کاربر ریشه MySQL هستند، کاربران سیستمی هستند که دارای امتیازات sudo هستند.

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

در صورتی که روش احراز هویت پیش فرض از کاربر سیستمی به رمز عبور تغییرکند، تنظیم رمز عبور برای روش ورود به حساب MySQL به عنوان یک محافظ عمل می کند.

برای افزایش امنیت، بهتر است حساب‌های کاربری اختصاصی با امتیازات گسترده‌تر برای هر پایگاه داده تنظیم شده باشد، به خصوص اگر قصد دارید چندین پایگاه داده را روی سرور خود میزبانی کنید.

سرور MySQL شما اکنون نصب و ایمن شده است.

در مرحله بعد، PHP، کامپوننت نهایی در پشته LAMP را نصب می کنیم.

مرحله 3 – نصب PHP

شما Apache را برای ارائه محتوای خود و MySQL را برای ذخیره و مدیریت داده های خود نصب کرده اید.

از  PHP  نیز برای نمایش محتوای پویا به کاربر نهایی استفاده  می شود.

علاوه بر بسته php، به یک ماژول PHP به نام php-mysql نیاز دارید که به PHP اجازه می دهد با پایگاه های داده مبتنی بر MySQL ارتباط برقرار کند.

همچنین باید libapache2-mod-phpApache را فعال کنید تا فایل های PHP را مدیریت کند.

بسته های اصلی PHP به صورت خودکار نصب می شوند.

برای نصب این بسته ها دستور زیر را اجرا کنید:

sudo apt install php libapache2-mod-php php-mysql

پس از اتمام نصب، می توانید دستور زیر را برای مشاهده نسخه PHP خود اجرا کنید:

php -v
PHP 7.4.3 (cli) (built: Jul 5 2021 15:13:35) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies
with Zend OPcache v7.4.3, Copyright (c), by Zend Technologies

در این مرحله، بسته LAMP شما کاملاً عملیاتی است، اما قبل از اینکه بتوانید تنظیمات خود را با یک اسکریپت PHP آزمایش کنید، بهتر است یک هاست مجازی آپاچی مناسب برای نگهداری فایل ها و پوشه های وب سایت خود راه اندازی کنید.

در مرحله بعدی این کار را انجام خواهیم داد.

مرحله 4 – ایجاد یک هاست مجازی برای وب سایت شما

آپاچی در اوبونتو 20.04 دارای یک بلوک سرور است، که به طور پیش فرض از دایرکتوری /var/www/html/ برای ارائه اسناد استفاده می کند.

اگر شما قصد میزبانی تنها یک وبسایت را در سرور خود دارید، همین بلوک سرور پیش فرض کار شما را راه می اندازد.

اما اگر قصد میزبانی  چندین سایت را داشته باشید، می تواند برای شما مشکل ایجاد شود.

به جای تغییر دایرکتوری پیش فرض/var/www/html، یک ساختار جدید در دایرکتوری /var/www ایجاد می کنیم.

دایرکتوری برای your_domain به صورت زیر ایجاد کنید:

sudo mkdir /var/www/your_domain

سپس، مالکیت دایرکتوری را با متغیر محیطی $USER که به کاربر فعلی سیستم شما ارجاع می دهد، را اختصاص دهید:

sudo chown -R $USER:$USER /var/www/your_domain

سپس، با استفاده از یک ویرایشگر متن دلخواه ، یک فایل پیکربندی جدید را در دایرکتوری آپاچی باز کنید.

در اینجا، ما از nano استفاده خواهیم کرد:

sudo nano /etc/apache2/sites-available/your_domain.conf

با این کار یک فایل خالی جدید ایجاد می شود. کد های زیر را در آن کپی کنید:

<VirtualHost *:80>
ServerName your_domain
ServerAlias www.your_domain.com
ServerAdmin webmaster@localhost
DocumentRoot /var/www/your_domain
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

پس از اتمام کار فایل را ذخیره کرده و ببندید. اگراز nano استفاده می کنید، می توانید این کار را با فشار دادن CTRL+X، سپس Yو انجام دهید.

با این پیکربندی هاست مجازی، به آپاچی می‌گوییم که از your_domain به‌عنوان دایرکتوری ریشه وب استفاده کند.

اگر می‌خواهید آپاچی را بدون نام دامنه آزمایش کنید، می‌توانید گزینه‌ها را حذف کرده و یا با اضافه کردن کاراکتر # به اول آن ، موقتا آن را از دسترس خارج کنید.

#var/www/your_domain

اکنون می توانید از a2ensite برای فعال کردن هاست مجازی جدید استفاده کنید:

sudo a2ensite your_domain

ممکن است بخواهید وب سایت پیش فرض نصب شده با آپاچی را غیرفعال کنید.

اگر از نام دامنه سفارشی استفاده نمی کنید، انجام این مورد ضروری است، زیرا در این مورد تنظیمات پیش فرض آپاچی میزبان مجازی شما را بازنویسی می کند.

برای غیرفعال کردن وب‌سایت پیش‌فرض آپاچی، دستور زیر را تایپ کنید:

sudo a2dissite 000-default

برای اطمینان از اینکه فایل پیکربندی شما حاوی خطاهای نحوی نیست، دستور زیر را اجرا کنید:

sudo apache2ctl configtest

در نهایت، آپاچی را دوباره راه اندازی کنید تا این تغییرات اعمال شوند:

sudo systemctl reload apache2

وب سایت جدید شما اکنون فعال است، اما ریشه وب هنوز خالی است.

یک فایل در آن دایرکتوری ایجاد کنید تا بتوانیم آزمایش کنیم که میزبان مجازی مطابق انتظار کار می کند یا خیر:

nano /var/www/your_domain/index.html 

کد های زیر را در این فایل قرار دهید:

<html>
    <head>
          <title>your_domain website</title>
    </head>
     <body>
            <h1>Hello World!</h1>
            <p>This is the landing page of <strong>your_domain</strong>.</p>
     </body>
</html>

اکنون به مرورگر خود بروید و یک بار دیگر نام دامنه یا آدرس IP سرور خود را وارد کنید:

http://server_domain_or_IP

باید صفحه ای مانند تصویر زیر را مشاهده کنید:

نصب lamp در سرور

اگر این صفحه را می بینید، به این معنی است که هاست مجازی آپاچی شما مطابق انتظار کار می کند.

می‌توانید این فایل را به‌عنوان یک صفحه فرود موقت برای وبسایت تان بگذارید تا زمانی که فایل index.php را برای جایگزینی آن تنظیم کنید.

پس از انجام این کار، به یاد داشته باشید که فایل را از ریشه سند خود حذف یا تغییر نام دهید.

زیرا فایل index.html به index.php به طور پیش فرض اولویت دارد.

نکته ای درباره DirectoryIndex آپاچی

با تنظیمات پیش‌فرض DirectoryIndexدر آپاچی، یک فایل با نام index.html همیشه بر یک فایل index.php اولویت دارد.

ایجاد یک فایل index.html موقت حاوی یک پیام آموزنده برای بازدیدکنندگان، برای راه اندازی صفحات تعمیر و نگهداری در وبسایت های PHP،  مفیدخواهد بود.

از آنجایی که این صفحه بر صفحه index.php اولویت دارد ،به صفحه فرود سایت تبدیل می شود.

پس از پایان تعمیر و نگهداری، نام index.html را تغییر دهید و یا آن را حذف کنید، سپس صفحه معمولی سایت باز می شود.

در صورتی که می خواهید این رفتار را تغییر دهید، باید فایل /etc/apache2/mods-enabled/dir.conf را ویرایش کنید و ترتیب فهرست بندی فایل index.php را در DirectoryIndex  تغییر دهید:

sudo nano /etc/apache2/mods-enabled/dir.conf
<IfModule mod_dir.c>
DirectoryIndex index.php index.html index.cgi index.pl index.xhtml index.htm
</IfModule>

پس از ذخیره و بستن فایل، باید Apache را مجدداً بارگیری کنید تا تغییرات اعمال شوند:

sudo systemctl reload apache2

در مرحله بعد، یک اسکریپت PHP ایجاد می کنیم تا آزمایش کنیم که آیا PHP به درستی روی سرور شما نصب و پیکربندی شده است.

مرحله 5 – پردازش PHP را روی سرور خود آزمایش کنید

اکنون که یک مکان سفارشی برای میزبانی فایل‌ها و پوشه‌های وب‌سایت خود دارید، یک اسکریپت تست PHP ایجاد می‌کنیم تا بررسی کنیم که آیا آپاچی قادر به رسیدگی و پردازش درخواست‌ فایل‌های PHP است.

یک فایل جدید به نام info.php داخل پوشه ریشه وب خود ایجاد کنید:

nano /var/www/your_domain/info.php

با این کار یک فایل خالی باز می شود. متن زیر را که کد PHP معتبر است، داخل فایل اضافه کنید:

<?php
phpinfo();

وقتی کارتان تمام شد، فایل را ذخیره و ببندید.

برای تست این اسکریپت، به مرورگر وب خود بروید و نام دامنه یا آدرس IP سرور خود و سپس نام اسکریپت که در اینجا عبارت است از info.php را وارد می کنیم :

http://server_domain_or_IP/info.php

صفحه ای مشابه این تصویر را خواهید دید:

php

این صفحه اطلاعاتی در مورد سرور شما از دیدگاه PHP را ارائه می دهد.

برای اشکال زدایی و اطمینان از اینکه تنظیمات شما به درستی اعمال می شوند مفید است.

اگر می توانید این صفحه را در مرورگر خود ببینید، نصب PHP شما همانطور که انتظار می رفت کار می کند.

پس از بررسی اطلاعات مربوط به سرور PHP خود از طریق آن صفحه، بهتر است فایلی را که ایجاد کرده اید حذف کنید زیرا حاوی اطلاعات حساسی در مورد محیط PHP و سرور اوبونتو شما است. برای این کار می توانید از دستور زیر استفاده کنید :

sudo rm /var/www/your_domain/info.php

در صورت نیاز به دسترسی مجدد به این اطلاعات، می توانید این صفحه را دوباره ایجاد کنید.

مرحله 6 – آزمایش اتصال پایگاه داده از PHP (اختیاری)

اگر می خواهید آزمایش کنید که آیا PHP قادر به اتصال به MySQL و اجرای کوئری های پایگاه داده است یا خیر.

می توانید یک جدول آزمایشی با داده های ساختگی ایجاد کنید و از طریق php به آن متصل شوید.

قبل از انجام این کار، باید یک پایگاه داده آزمایشی و یک کاربر MySQL جدید که به درستی برای دسترسی به آن پیکربندی شده است ایجاد کنیم.

ما یک پایگاه داده با نام example_database و یک کاربر با نام example_user ایجاد خواهیم کرد، اما شما می توانید این نام ها را با مقادیر مختلف جایگزین کنید.

ابتدا با استفاده از اکانت root به کنسول MySQL متصل شوید:

sudo mysql

برای ایجاد یک پایگاه داده جدید، دستور زیر را از کنسول MySQL خود اجرا کنید:

CREATE DATABASE example_database;

اکنون می توانید یک کاربر جدید بسازید و در پایگاه داده سفارشی که به تازگی ایجاد کرده اید، به آن امتیازات کامل را بدهید.

دستور زیر یک کاربر جدید به نام example_user با استفاده از mysql_native_password روش احراز هویت پیش فرض ایجاد می کند.

ما رمز عبور این کاربر را password تعریف می کنیم، اما شما باید این مقدار را با یک رمز عبور امن به انتخاب خود جایگزین کنید.

CREATE USER 'example_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';

حالا باید به این کاربر اجازه بدهیم روی پایگاه داده example_database دسترسی داشته باشد:

GRANT ALL ON example_database.* TO 'example_user'@'%';

این به کاربر example_user امتیازات کاملی را نسبت به پایگاه داده example_database می دهد ، در حالی که از ایجاد یا تغییر در سایر پایگاه های داده در سرور شما توسط این کاربر جلوگیری می کند.

اکنون از کنسول MySQL  با دستور زیر خارج شوید:

exit

می‌توانید با ورود مجدد به کنسول MySQL، این بار با استفاده از کاربری سفارشی، آزمایش کنید که آیا کاربر جدید مجوزهای مناسب را دارد یا خیر:

mysql -u example_user -p

به  -p در این دستور توجه کنید ، که از شما می خواهد رمز عبور استفاده شده در هنگام ایجاد کاربر example_user را انتخاب کنید.

پس از ورود به کنسول MySQL، بررسی کنید که به پایگاه داده example_database دسترسی دارید :

SHOW DATABASES;

این خروجی زیر را به شما می دهد:

Output
+--------------------+
| Database |
+--------------------+
| example_database |
| information_schema |
+--------------------+
2 rows in set (0.000 sec)

در مرحله بعد، یک جدول آزمایشی با نام todo_list ایجاد می کنیم .

در کنسول MySQL دستور زیر را تایپ کنید:

CREATE TABLE example_database.todo_list (
item_id INT AUTO_INCREMENT,
content VARCHAR(255),
PRIMARY KEY(item_id)
);

چند ردیف از مطالب را در جدول تست درج کنید. ممکن است بخواهید دستور بعدی را چند بار با استفاده از مقادیر مختلف تکرار کنید:

INSERT INTO example_database.todo_list (content) VALUES ("My first important item");

برای بررسی اینکه داده ها با موفقیت در جدول شما ذخیره شده است، دستور زیر را اجرا کنید:

SELECT * FROM example_database.todo_list;

خروجی زیر را خواهید دید:

Output
+---------+--------------------------+
| item_id | content |
+---------+--------------------------+
| 1 | My first important item |
| 2 | My second important item |
| 3 | My third important item |
| 4 | and this one more thing |
+---------+--------------------------+
4 rows in set (0.000 sec)

پس از تأیید اینکه داده های معتبری در جدول آزمایشی خود قرار دادید، می توانید از کنسول MySQL خارج شوید:

exit

اکنون می توانید یک اسکریپت PHP ایجاد کنید که به MySQL متصل شود و با استفاده از کوئری ها از دیتابیس استفاده کند.

یک فایل PHP جدید در ریشه اصلی وب سایت خود با استفاده از ویرایشگر دلخواه خود ایجاد کنید.

ما در اینجا از ویرایشگر nano برای این کار استفاده خواهیم کرد:

nano /var/www/your_domain/todo_list.php

اسکریپت PHP زیر به پایگاه داده MySQL متصل می شود و محتوای جدول todo_list را جستجو می کند و نتایج را در یک لیست نمایش می دهد.

اگر مشکلی در اتصال پایگاه داده وجود داشته باشد، یک استثنا ایجاد می کند. این محتوا را در فایل todo_list.php خود کپی کنید :

<?php
$user = "example_user";
$password = "password";
$database = "example_database";
$table = "todo_list";

try {
$db = new PDO("mysql:host=localhost;dbname=$database", $user, $password);
echo "<h2>TODO</h2><ol>"; 
foreach($db->query("SELECT content FROM $table") as $row) {
echo "<li>" . $row['content'] . "</li>";
}
echo "</ol>";
} catch (PDOException $e) {
print "Error!: " . $e->getMessage() . "<br/>";
die();
}

پس از اتمام ویرایش فایل را ذخیره کرده و ببندید.

اکنون می توانید با مراجعه به نام دامنه یا آدرس IP عمومی سایت و به دنبال آن /todo_list.php به این صفحه در مرورگر وب خود دسترسی پیدا کنید :

http://your_domain_or_IP/todo_list.php

شما باید صفحه ای مانند این را ببینید که محتوایی را که در جدول آزمایشی خود درج کرده اید نشان می دهد:

todo_list

این بدان معناست که محیط PHP شما آماده اتصال و تعامل با سرور MySQL شما است.

نتیجه

در این راهنما، ما با استفاده از آپاچی به عنوان وب سرور و MySQL به عنوان سیستم پایگاه داده، بسته ای انعطاف پذیر برای ارائه وب سایت ها و برنامه های کاربردی PHP به بازدیدکنندگان شما ایجاد کرده ایم.

به‌عنوان گام بعدی، باید اطمینان حاصل کنید که از طریق پروتکل https به سرور خود متصل شوید.

برای انجام این کار، می توانید از Let’s Encrypt برای ایمن سازی سایت خود با گواهی رایگان TLS/SSL استفاده کنید.

رایگان آموزش ببین - آموزش کار با سرویس های هایو

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *