آموزش نصب مجموعه LAMP در CentOS 7

LAMP مجموعه‌ای از نرم‌افزارهای منبع باز هست که در کنار هم نصب می‌شن تا سرور قادر باشه وب‌سایت‌ها و وب‌اپلیکیشن‌ها رو میزبانی کنه و در واقع به عنوان یک وب‌سرور ایفای نقش کنه. این عبارت مخفف کلمات Linux به عنوان سیستم‌عامل، Apache به عنوان وب سرور، MySQL به عنوان پایگاه داده (در واقع MariaDB) و PHP به عنوان موتور پردازش محتوای داینامیک است. خبر خوب اینه که برای آموزش نصب LAMP سرور در CentOS راه سختی پیش رو ندارین.

LAMP مخففی هست از Linux و Apache و MySQL و PHP
LAMP مخففی هست از Linux و Apache و MySQL و PHP

در این آموزش نصب و راه‌اندازی یک سرور با مجموعه LAMP در بستر توزیع CentOS 7 آموزش داده می‌شه. لازم به ذکر هست این آموزش در واقع ترجمه‌ای آزاد هست از این آموزش دیجیتال اوشن که به جزئیات بیش‌تری پرداخته و اگر به انگلیسی مسلط هستید می‌تونید مستقیما به اون مراجعه کنید.

گام اول – نصب Apache

در حال حاضر وب سرور Apache (آپاچی) محبوب‌ترین وب‌سرور در سرتاسر جهان هست و به همین خاطر می‌تونه انتخاب مناسبی برای میزبانی وب‌سایت باشه.

ما می‌تونیم نصب Apache رو به راحتی با استفاده از مدیر بسته و مخازن پیش‌فرض CetOS یعنی yum انجام بدیم. برای این کار لازم هست تا دستورات زیر رو در خط فرمان وارد کنید:

sudo yum install httpd

بعد از این که فرآیند نصب کامل شد می‌تونید Apache رو روی سرور استارت کنید:

sudo systemctl start httpd.service

تا این‌جای کار می‌تونید برا کنترل این که همه چیز درست انجام شده و کارا طبق برنامه پیش می‌ره IP پابلیک سرورتون رو به صورت زیر توی مرورگر وارد کنید:

http://server_ip_address/

اگر همه چیز درست پیش رفته باشه صفحه پیش فرض Apache رو می‌بینید که یک سری اطلاعات با هدف تست توش هست و قیافه‌ای مثل شکل زیر داره:

صفحه پیش‌فرض Apache
صفحه پیش‌فرض Apache

اگر این صفحه رو می‌بینید وب سرور شما به درستی نصب شده و آخرین کاری که لازمه انجام بدید اینه که سرویس Apache رو enable کنید تا با هر بار بوت شدن سرور به صورت خودکار لود بشه. برای این کار لازمه دستور زیر رو وارد کنید:

sudo systemctl enable httpd.service

گام دوم – نصب MySQL(MariaDB)

در این مرحله هم می‌تونیم با استفاده از yum بسته‌های مورد نیاز رو نصب کنیم. توی این مرحله یک سری بسته‌های جانبی که به مدیریت به‌تر کمک می‌کنه هم نصب می‌شه:

sudo yum install mariadb-server mariadb

وقتی نصب کامل شد باید سرویس MariaDB رو استارت کنیم.

sudo systemctl start maridb

حالا پایگاه داده MariaDB در حال اجرا هست اما برای امینان از امنیت کامل و حذف یک سری تنظیمات پیش‌فرض که باعث دست‌رسی ناایمن به سرور هست لازمه تا یک اسکریپت ساده رو با استفاده از دستور زیر اجرا کنیم:

sudo mysql_secure_installation

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

آخرین کاری که باید انجام بدید enable کردن سرویس MariaDB هست تا با هر بار بوت سرور به صورت خودکار لود بشه:

sudo systemctl enable mariadb.service

گام سوم – نصب PHP

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

در این مرحله مجددن از yum برای نصب بسته‌های مورد نیاز استفاده می‌کنیم:

sudo yum install php php-mysql

بعد از تموم شدن فرآیند نصب برای این‌که ارتباط Apache که توی گام اول نصبش کرده بودیم با PHP برقرار بشه لازم هست که یک بار سرویسش رو ری‌استارت کنید:

sudo systemctl restart httpd.service

نصب ماژول‌های PHP

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

yum search php-

گام چهارم – تست کارکرد PHP روی وب سرور

برای تست کارکرد صحیح PHP و اطمینان از تنظیمات اون می‌تونیم یک اسکریپت بسیار ساده PHP رو در قالب یک فایل با نام info.php استفاده می‌کنیم که برای این‌که Apache قادر به لود کردن اون باشه باید در مسیر خاصی که در واقع پیش‌فرض Apache هست و اصطلاحن web root نامیده می‌شه قرارش بدیم.

توی CentOS 7 این پوشه در مسیر زیر هست:

/var/www/html/

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

sudo vi /var/www/html/info.php

توی فایلی که باز می‌شه متن زیر رو که یک کد PHP هست وارد می‌کنیم:

<?php phpinfo(); ?>

بعدش اگر از ویرایش‌گر vi برای وارد کردن کدها استفاده کردید می‌تونید با زدن کلید Esc و : و wq به ترتیب، از فایل خارج شده و اون رو ذخیره کنین.

دقت داشته باشین که اگر از فایروال استفاده می‌کنین باید با استفاده از دستورات زیر به ترافیک پروتکل‌های HTTP و HTTPS اجازه عبور بدین:

sudo firewall-cmd --permanent --zone=public --add-service=http 
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

حالا کافیه با داشتن آدرس IP پابلیک وب سرورتون مسیر زیر رو توی مروگر وارد کنید:

http://your_server_IP_address/info.php

صفحه‌ای که براتون لود می‌شه باید هم‌چین قیافه‌ای داشته باشه:

صفحه پیش فرض info.php
صفحه پیش فرض info.php

این صفحه یک سری اطلاعات اولیه راجع به سرور و PHP نصب شده روی اون نمایش می‌ده که عموما برای دیباگ کردن و اطمینان از تنظیماتی که انجام دادین استفاده می‌شه.

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

برای پاک کردن فایل می‌تونید از دستور زیر استفاده کنید:

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

جمع‌بندی

تبریک می‌گم! شما مجموعه LAMP رو با موفقیت نصب کردین و الان بستر لازم برای اجرای بیش‌تر وب‌سایت‌ها و وب‌اپلیکیشن‌ها رو دارین.

سعی می‌کنم در آینده توی آموزش‌های جداگونه مباحثی مثل تنظیمات جزئی‌تر و کاربردی Apache مثل Virtual host ، نصب CMS های معروف مثل WordPress و … هم اضافه کنم.

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

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