مجموعه “LAMP”گروهی از نرمافزارهای منبع باز یا همان اوپن سورس است که معمولا به صورت یکجا نصب میشوند. با راه اندازی LAMP شما به راحتی می توانید یک سرور میزبانی برای سایت و یا اپلیکیشن خود داشته باشید. “LAMP” درواقع حروف اول این کلمات میباشد: Linux که سیستم عامل ماست، Apache که به عنوان web server ایفای نقش میکند، MySQL که پایگاه داده وبسایت ما خواهد بود و PHP که محتوای داینامیک یا پویا را پردازش میکند.در حقیقت کلیه صفحاتی که با زبان برنامه نویسی php طراحی شده باشند برای اجرا شدن نیاز به مفسر php دارند.
در این راهنمای نصب قرار است پکیج “LAMP”را بر روی CentOS 7 VPS نصب کنیم. خود CentOS اولین کار را برای ما انجام میدهد و لینوکس را برای ما نصب میکند.
پیشنیاز:
پیشنهاد این است که از اکانت root برای اجرای دستورات زیر استفاده نمایید در غیر این صورت ابتدا یک کاربر عادی در سیستم عامل لینوکس ایجاد کرده و آن را عضو گروه sudoers نمایید تا بتواند دستورات را با sudo اجرا کند.
در حال حاضر web server Apache محبوبترین و شناخته شدهترن web server در جهان است و یکی از قویترین وب سرویس های لینوکسی برای هاستینگ است.
با استفاده از پکیج منیجر CentOS، یعنی yum، به سادگی میتوانید Apache را نصب کنید. پکیج منیجر به شما این امکان را می دهد تا اکثر نرم افزارها را از محل مخازن CentOS به راحتی نصب کنید.
دستورات زیر را می توانید با sudo اجرا کنید.در این حالت از شما میخواهد رمز عبور کاربریتان را وارد کنید تا اعتبار شما را تایید کند.برای نصب وب سرویس آپاچی از دستور زیر استفاده نمایید.
Sudo yum install httpd
به محض اتمام نصب، میتوانید Apache را در سرور لینوکسی خود استارت کنید:
sudo systemctl start httpd.service
حال میتوانید با مشاهده کردن public IP خود در مرورگر، همه چیز را واکاوی و بررسی کنید تا از درست کار کردن هر آنچه نصب نموده¬اید و تنظیمات و تغییراتی که اعمال کرده¬اید اطمینان حاصل کنید.
با باز شدن public IP، صفحه پیشفرض Apache CentOS 7 را مشاهده خواهید کرد که به منظور تست و بررسی اطلاعات طراحی شده است. این صفحه شبیه به تصویر زیر است:
اگر این صفحه را مشاهده کردید یعنی web server شما به درستی نصب شده است.
آخرین کاری که باید انجام دهید این است که Apache را فعال کنید تا در بوت بالا بیاید. برای این منظور دستور زیر را وارد کنید:
sudo systemctl enable httpd.service
نمیدانید آدرس public IP شما چیست؟ ما در این بخش برخی از راههای پیدا کردن آن را معرفی کردهایم. معمولا این آدرس همان آدرسی است که شما برای اتصال به سرورتان از طریق SSH استفاده میکنید.
برای یافتن ip public سرور خود می توانید از دستور زیر استفاده کنید:
ip addr show eth0 | grep inet | awk ‘{ print $2; }’ | sed ‘s/\/.*$//’
روش دیگر برای یافتن ip public سرور خود استفاده از دستورات زیر است :
sudo yum install curl
curl http://icanhazip.com
فرقی نمیکند که از کدام روش برای پیدا کردن آدرس IP استفاده میکنید. شما میتوانید با وارد کردن آن در آدرس بار مرورگر به سرور خود دسترسی داشته باشید.
حال که web server را نصب کردید و از عملکرد صحیح آن اطمینان حاصل کردید، نوبت به نصب MariaDB، یک جایگزین MySQL drop-in رسیده است. MariaDB is a community-developed fork of the MySQL relational database management system. MariaDB اساسا دسترسی به سیستم مدیریت پایگاه داده را ممکن ساخته و سازماندهی میکند.
مجددا میتوانید از yum برای گردآوری و نصب نرمافزارهای مورد نیاز استفاده کنید. اما این بار تعدادی از پکیجهای “helper” را نصب کنید تا راحت تر بتوانید مؤلفههای مورد نیاز برای ایجاد ارتباط بین یکدیگر را دریافت کنید:
sudo yum install mariadb-server mariadb
هنگامی که نصب کامل شد، باید سرویس Mariadb را با دستور زیر استارت نمایید:
sudo systemctl start mariadb
حال که پایگاه داده MySQL در حال اجراست، یک اسکریپت امنیتی ساده را اجرا کنید که برخی پیش فرض های خطرناک را حذف کرده و دسترسی به سیستم دیتابیس ما را اندکی محدود کند. این اسکریپت تعاملی را با اجرای دستور زیر راه اندازی کنید:
sudo mysql_secure_installation
بلافاصله بعد از وارد کردن دستور بالا، prompt بالا میآید و از شما کلمه عبور کاربر root فعلی را میخواهد. چون به تازگی MySQL را نصب کردهاید، احتمالا کلمه عبوری ندارید، و باید با فشردن کلید enter آن بخش را خالی بگذارید.
در این مرحله prompt از شما میخواهد که اگر تمایل دارید برای اکانت کاربری root خود یک کلمه عبور انتخاب کنید. ادامه دهید و Y را تایپ کنید و دستورات زیر را دنبال کنید:
Enter current password for root (enter for none):
OK, successfully used password, moving on…
Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.
New password: password
Re-enter new password: password
Password updated successfully!
Reloading privilege tables..
… Success!
برای بقیهی سوالات کافی است کلید enter را برای هر prompt که بالا میآمید فشار داده و ادامه دهید تا شرایط پیشفرض را بپذیرید. این کار کاربران فرضی و database پیش فرض را حذف میکند.
ورود به سیستمهای خارج از محدوده را غیرفعال میکند و همچنین دستورات جدید را بارگذاری میکند تا به سرعت تغییرات جدید بر روی MySQL اعمال شود.
آخرین کاری که باید انجام داد فعال کردن MariaDB است تا بر روی محیط بوت اجرا شود. برای این کار دستور زیر را دنبال کنید:
sudo systemctl enable mariadb.service
هماکنون سیستم پایگاه داده شما کاملا تنظیم شده و میتوانید کار خود را ادامه دهید.
PHP یک مفسر است که کدهای مربوط به نمایش محتوای پویا را پردازش میکند. همچنین میتواند اسکریپتها را اجرا کند، برای برداشت و استفاده از اطلاعات به پایگاه داده MySQL متصل شود و محتوای پردازش شده را برای نمایش به web server بدهد.
یک بار دیگر میتوانید از قدرت سیستم yum برای نصب مؤلفههای خود استفاده کنید. همچنین باید پکیج php-mysql در سیستم نصب کنید.. برای این کار از دستور زیر استفاده کنید:
sudo yum install php php-mysql
این دستور باید PHP را بدون هیچ مشکلی نصب کند. در اینجا باید سرور وبسات Apache را ری استارت کنید تا با PHP کار کند. برای این کار میتوانید دستور زیر را تایپ کنید:
sudo systemctl restart httpd.service
برای افزایش کارایی PHP میتوانید برخی از ماژولهای کاربردی را نصب کنید.
برای مشاهده گزینههای ماژول PHP و کتابخانه، میتوانید دستور زیر را در سیستم خود تایپ کنید:
yum search php-
نتیجه این دستور نمایش گزینههای مختلفی است که میتوانید نصب کنید. در این بخش برای هر کدام از گزینههای پیش رو توضیح مختصری نیز آورده شده است:
php-bcmath.x86_64 : A module for PHP applications for using the bcmath library
php-cli.x86_64 : Command-line interface for PHP
php-common.x86_64 : Common files for PHP
php-dba.x86_64 : A database abstraction layer module for PHP applications
php-devel.x86_64 : Files needed for building PHP extensions
php-embedded.x86_64 : PHP library for embedding in applications
php-enchant.x86_64 : Enchant spelling extension for PHP applications
php-fpm.x86_64 : PHP FastCGI Process Manager
php-gd.x86_64 : A module for PHP applications for using the gd graphics library
. . .
برای کسب اطلاعات بیشتر دربارهی کارایی هر ماژول میتوانید در اینترنت جستجو کنید یا نگاهی به توضیحات بیشتر هر یک در پکیج بیاندازید. تایپ کنید:
yum info package_nam
با این دستور خروجیهای زیادی را مشاهده خواهید کرد، که یک بخش Description نامیده میشود. در این بخش توضیحات بیشتری دربارهی نحوه عملکرد هر ماژول ارائه شده است.
برای مثال، فرض کنید میخواهید دربارهی عملکرد ماژول php-fpm اطلاعات کسب کنید:
yum info php-fpm
بخاطر حجم زیاد اطلاعات، احتمالا همچین پیامی را مشاهده خواهید کرد:
. . .
Summary : PHP FastCGI Process Manager
URL : http://www.php.net/
License : PHP and Zend and BSD
Description : PHP-FPM (FastCGI Process Manager) is an alternative PHP FastCGI
: implementation with some additional features useful for sites of
: any size, especially busier sites.
اگر بعد از بررسی میخواستید پکیجی را نصب کنید، میتوانید مانند دیگرنرمافزار ها عمل کنید و با استفده از دستورyum install این کار را انجام دهید.
مثلا اگر ماژولphp-fpm را میخواستید، کافی است عبارت زیر را تایپ کنید:
sudo yum install php-fpm
اگر خواستید ماژولهای بیشتری نصب کنید، همه را لیست کنید -به طوری که با space (فاصله) از همه جدا باشند- و دستور yum install را دنبال کنید:
sudo yum install package1 package2
اکنون دیگر تمام مجموعه “LAMP” نصب و تنظیم شده است. در نهایت به تست PHP میرسیم.
برای اینکه ببینید سیستم به درستی برای PHP کانفیگ شده است یا خیر، میتوانیم یک اسکریپت PHP خیلی ابتدایی ایجاد کنید.
این اسکریپت را info.php نام گذاری میکنیم. برای اینکه Apache فایل را به سادگی پیدا کند، باید در یک محل خاص ذخیره شود که “web root” نامیده میشود.
در CentOS 7، این مسیر در /var/www/html/ قرار دارد. با وارد کردن عبارت زیر میتوانید این فایل را در همین مسیر ایجاد کنید:
sudo vi /var/www/html/info.php
این دستور یک فایل خالی باز میکند. اکنون متن زیر را داخل فایل قرار دهید، که یک کد PHP معتبر است:
<?php phpinfo(); ?>
وقتی که این کار تمام شد، فایل را ذخیره کرده و ببندید.
اگر فایروال شما فعال است، دستورات زیر را دنبال کنید تا دسترسی برای سرویس¬های HTTP و HTTPS باز شود:
sudo firewall-cmd –permanent –zone=public –add-service=http
sudo firewall-cmd –permanent –zone=public –add-service=https
sudo firewall-cmd –reload
حالا میتوانید آزمایش کنید و ببینید که آیا web server شما میتواند محتوای ایجاد شده را با این اسکریپت PHP نمایش دهد یا خیر. برای اینکه این موضوع را امتحان کنید، فقط کافی است صفحه زیر را در مرورگر خود مشاهده کنید. در اینجا شما مجددا به آدرس public IP خود احتیاج دارید.
آدرسی که باید مشاهده کنید لینک زیر است:
http://your_server_IP_address/info.php
صفحهای که با آن مواجه خواهید شد شبیه به عکس زیر است:
این صفحه به شما اطلاعاتی درباره سرورتان در محیط PHP میدهد. این صفحه برای دیباگ کردن و رفع ایرادات احتمالی مفید است و خیال شما را از بابت اعمال صحیح تنظیمات راحت میکند.
اگر این مرحله موفقیت آمیز بود PHP درست مطابق انتظارات کار خواهد کرد.
بعد از این آزمایش باید فایل را حذف کنید چون میتواند اطلاعات مهمی از سرور را در اختیار کاربران غیر مجازقرار دهد. برای این منظور دستور زیر را وارد نمایید:
sudo rm /var/www/html/info.php
بارها میتوانید این صفحه را ایجاد کنید.
اکنون که مجموعه “LAMP” را نصب نمودید، بستری دارید که به شما اجازه میدهد هرگونه وبسایت یا نرمافزاری را که میخواهید روی سرور خود نصب و اجرا کنید و گزینههای زیادی را پیش روی شما قرار حواهد داد.