LAMP مجموعهای از نرمافزارهای منبع باز هست که در کنار هم نصب میشن تا سرور قادر باشه وبسایتها و وباپلیکیشنها رو میزبانی کنه و در واقع به عنوان یک وبسرور ایفای نقش کنه. این عبارت مخفف کلمات Linux به عنوان سیستمعامل، Apache به عنوان وب سرور، MySQL به عنوان پایگاه داده (در واقع MariaDB) و PHP به عنوان موتور پردازش محتوای داینامیک است. خبر خوب اینه که برای آموزش نصب LAMP سرور در CentOS راه سختی پیش رو ندارین.
در این آموزش نصب و راهاندازی یک سرور با مجموعه 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 رو 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
صفحهای که براتون لود میشه باید همچین قیافهای داشته باشه:
این صفحه یک سری اطلاعات اولیه راجع به سرور و PHP نصب شده روی اون نمایش میده که عموما برای دیباگ کردن و اطمینان از تنظیماتی که انجام دادین استفاده میشه.
اگر همه چیز اوکی بود بود بهتره برگردید و فایلی که ایجاد کردین رو پاک کنید و در صورتی که در آینده بهش نیاز داشتین مجددن ایجادش کنین. چرا که این فایل اطلاعاتی از وب سرور شما میده که دونستنش برای افراد ناشناس میتونه خطرناک باشه.
برای پاک کردن فایل میتونید از دستور زیر استفاده کنید:
sudo rm /var/www/html/info.php
جمعبندی
تبریک میگم! شما مجموعه LAMP رو با موفقیت نصب کردین و الان بستر لازم برای اجرای بیشتر وبسایتها و وباپلیکیشنها رو دارین.
سعی میکنم در آینده توی آموزشهای جداگونه مباحثی مثل تنظیمات جزئیتر و کاربردی Apache مثل Virtual host ، نصب CMS های معروف مثل WordPress و … هم اضافه کنم.