در این مقاله به آموزش نصب LAMP می پردازیم، LAMP مخفف چهار ابزار قدرتمند و متنباز است که در کنار هم یک سرور وب کامل را برای میزبانی وبسایتها و اپلیکیشنهای پویا فراهم میکنند. این چهار جزء عبارتاند از:
- Linux: سیستمعامل پایه سرور
- Apache: وبسرور برای نمایش صفحات وب
- MySQL: سیستم مدیریت پایگاه داده برای ذخیرهسازی اطلاعات
- PHP: زبان برنامهنویسی سمت سرور برای پردازش اسکریپتها
اگر از سرور لینوکسی مثل CentOS استفاده میکنید، مرحله اول یعنی نصب Linux را پشت سر گذاشتهاید. حالا به ترتیب به نصب Apache، MySQL و PHP میپردازیم.
مرحله اول: نصب و راهاندازی Apache
Apache یکی از محبوبترین وبسرورهاست و وظیفه آن ارائه صفحات HTML، PHP و سایر محتواهای تحت وب به مرورگر کاربران است. برای نصب Apache در CentOS، دستور زیر را در ترمینال وارد کنید:
sudo yum install httpd
پس از نصب، برای شروع به کار سرویس Apache:
- در CentOS 6 از دستور زیر استفاده کنید:
sudo service httpd start
- در CentOS 7 و نسخههای جدیدتر:
sudo systemctl start httpd.service
برای اطمینان از اجرای صحیح Apache، مرورگر را باز کرده و آدرس IP سرور را وارد کنید. اگر نصب صحیح انجام شده باشد، صفحه پیشفرض Apache را مشاهده خواهید کرد:
روش یافتن آدرس IP سرور
برای پیدا کردن آدرس IP عمومی سرور، میتوانید وارد پنل کاربری هاست یا سرور خود شوید. اگر به محیط ترمینال دسترسی دارید، این دستور IPهای موجود روی سیستم را نمایش میدهد:
ifconfig | grep 'inet' | grep -v '127.0.0.1' | grep -v 'inet6' | sed 's/ / /g' | tr -s ' ' | cut -d ' ' -f 3
اگر دستور ifconfig
در سیستم نصب نیست، با دستور sudo yum install net-tools
آن را نصب کنید.
مرحله دوم: نصب و پیکربندی MySQL
MySQL یکی از قدرتمندترین پایگاه دادههای رایگان است که برای ذخیره اطلاعات کاربران، محصولات، محتوا و موارد دیگر در سایتهای دینامیک استفاده میشود. در CentOS، معمولا MariaDB به عنوان نسخه جایگزین MySQL استفاده میشود، اما هر دو قابل استفاده هستند. برای نصب MySQL:
sudo yum install mysql-server
سپس سرویس آن را اجرا کنید:
sudo service mysqld start
در CentOS 7 و بالاتر از این دستور استفاده کنید:
sudo systemctl start mysqld
ایمنسازی MySQL
برای تنظیمات امنیتی اولیه و تعریف رمز عبور root، دستور زیر را اجرا کنید:
sudo /usr/bin/mysql_secure_installation
در طول این فرایند از شما سوالاتی پرسیده میشود. پیشنهاد میشود به همه آنها پاسخ y
بدهید تا نصب بهینه و امن باشد:
- حذف کاربران ناشناس؟ (Yes)
- جلوگیری از ورود root از راه دور؟ (Yes)
- حذف پایگاه داده آزمایشی test؟ (Yes)
- بارگذاری مجدد جدول دسترسیها؟ (Yes)
در انتها با موفقیت تنظیمات امنیتی تکمیل خواهد شد.
مرحله سوم: نصب PHP
PHP یک زبان اسکریپتنویسی است که برای تولید محتوای پویا در صفحات وب استفاده میشود. اکثر سیستمهای مدیریت محتوا مانند وردپرس، جوملا و دروپال با PHP کار میکنند.
برای نصب PHP و ارتباط آن با MySQL، دستورات زیر را وارد کنید:
sudo yum install php php-mysql
بعد از نصب، سرویس Apache را ریاستارت کنید تا PHP به درستی بارگذاری شود.
sudo yum install php-gd
اجرای خودکار سرویسها در هنگام بوت
برای اطمینان از اجرای خودکار Apache و MySQL پس از هر بار راهاندازی مجدد سیستم، از دستورات زیر استفاده کنید:
sudo chkconfig httpd on
sudo chkconfig mysqld on
در CentOS 7 به بعد، به جای chkconfig
میتوانید از systemctl استفاده کنید:
sudo systemctl enable httpd
sudo systemctl enable mysqld
تست نهایی با فایل phpinfo
برای بررسی وضعیت PHP و تایید نصب کامل آن، یک فایل به نام info.php
در مسیر /var/www/html
ایجاد کنید:
sudo nano /var/www/html/info.php
و محتوای زیر را در آن وارد کنید:
<?php
phpinfo();
?>
فایل را ذخیره کرده و ببندید. سپس مرورگر را باز کرده و یکی از آدرسهای زیر را وارد کنید:
http://localhost/info.php
یا
http://آیپی-سرور/info.php
صفحهای شامل مشخصات کامل نسخه PHP، ماژولها، تنظیمات و موارد دیگر نمایش داده خواهد شد. این نشان میدهد که PHP به درستی روی سرور شما کار میکند.
نکته مهم امنیتی
پس از اتمام تست، فایل info.php
را حذف یا دسترسی آن را محدود کنید تا دیگران به اطلاعات حساس سیستم شما دسترسی نداشته باشند:
sudo rm /var/www/html/info.php
نوین هاست یار نوین شماست
تبریک! شما با موفقیت پشته نرمافزاری LAMP را روی سرور خود نصب کردهاید. حالا میتوانید سایتهای پویا، اپلیکیشنهای تحت وب و سیستمهای مدیریت محتوا را به راحتی اجرا کنید. این آموزش، پایهای محکم برای ورود شما به دنیای مدیریت سرورهای لینوکسی و میزبانی حرفهای وب فراهم کرده است.
اگر قصد دارید وردپرس، فروشگاه اینترنتی، یا هر CMS دیگری نصب کنید، حالا آمادهاید.
برای آموزشهای بیشتر، ترفندهای مدیریت سرور و پاسخ به سوالات شما، همراه ما باشید.