اگر قصد دارید بستری مناسب برای اجرای وبسایتهای پویا فراهم کنید، سرور LAMP یکی از انتخابهای بسیار مناسب است. این ترکیب به شما کمک میکند یک محیط پایدار، امن و منعطف برای اجرای اسکریپتهای PHP و مدیریت پایگاه داده با MySQL یا MariaDB داشته باشید. در این مطلب، فرایند نصب و راهاندازی سرور LAMP را به صورت مرحله به مرحله توضیح میدهیم.
LAMP چیست و چرا اهمیت دارد؟
LAMP نام ترکیبی از چهار فناوری متنباز و پرکاربرد شامل Linux بهعنوان سیستمعامل، Apache در نقش وبسرور، MySQL برای مدیریت پایگاه داده و PHP بهعنوان زبان برنامهنویسی سمت سرور است.
این مجموعه زیرساخت کاملی برای میزبانی وبسایتهای پویا فراهم میکند. از دهه ۱۹۹۰ تا امروز، LAMP بهعنوان یکی از رایجترین محیطهای توسعه و میزبانی وب شناخته میشود و تعداد زیادی از سایتها مثل وردپرس، جوملا، دروپال و فروشگاههای اینترنتی بر پایه آن اجرا شده است.
ویژگیهای جذابی مثل رایگان و متنباز بودن، پایداری بالا، امنیت مناسب و پشتیبانی مناسب از طرف جامعه کاربران باعث شده این بستر همچنان با اغلب سرویسهای میزبانی و سرورهای مجازی سازگاری کامل داشته باشد.
به همین دلیل، سرور LAMP همچنان یکی از انتخابهای اصلی توسعهدهندگان و مدیران سرور برای اجرای پروژههای وب به شمار میآید.
پیشنیازهای نصب LAMP روی لینوکس
برای نصب راحت و بدون دردسر LAMP بهتر است از قبل چند مورد مهم را آماده کنید. این کار باعث میشود نصب سریعتر انجام شود و سرور شما از همان ابتدا پایدار و امن بماند.
ابتدا باید یک سرور لینوکس داشته باشید. نسخههای پیشنهادی ما اوبونتو ۲۰.۰۴، ۲۲.۰۴ یا ۲۴.۰۴ هستند. اگر هنوز سرور ندارید، میتوانید خرید VPS از شرکتهای معتبر را امتحان کنید.
دسترسی به حساب root یا حداقل یک کاربر معمولی که مجوز sudo داشته باشد نیز جزو موارد ضروری است.
در کنار این مورد، اتصال اینترنت شما نیز باید پایدار باشد تا بستههای مورد نیاز بدون مشکل دانلود شوند. سرور حداقل به یک گیگابایت رم و ده گیگابایت فضای دیسک خالی نیاز دارد. البته برای پروژههای واقعی، رم و فضای بیشتر همیشه بهتر است. کمی آشنایی با کار در ترمینال لینوکس لازم است تا دستورها را بهراحتی اجرا کنید.
در نهایت بهتر است، فایروال سرور یا غیرفعال باشد یا درست تنظیم شده باشد. در اوبونتو معمولاً از UFW استفاده میشود که تنظیم آن بسیار ساده است.
آموزش نصب LAMP روی اوبونتو
در اولین گام برای نصب LAMP، باید ابتدا بستههای سیستم را بهروز کنید. این کار باعث میشود نسخههای جدیدتر و امنتر نرمافزارها نصب شوند، خطاهای احتمالی کاهش پیدا کند و امنیت سرور مجازی لینوکس شما بیشتر شود.
sudo apt update sudo apt upgrade
نصب Apache وب سرور
Apache یکی از محبوبترین و پرکاربردترین وبسرورهای جهان است. برای نصب آن روی اوبونتو، کافی است دستور زیر را در ترمینال اجرا کنید.
sudo apt install apache2
پس از اتمام نصب سرویس Apache بهطور خودکار شروع به کار میکند. برای اطمینان از اینکه همه چیز درست اجرا شده، میتوانید از دستور زیر استفاده کنید.
sudo systemctl status apache2
در این مرحله، کافی است آدرس IP سرور خود را در نوار آدرس مرورگر وارد کنید. اگر نصب Apache بهدرستی انجام شده باشد، صفحه پیشفرض Apache نمایش داده میشود. مشاهده این صفحه یعنی وبسرور با موفقیت نصب و اجرا شده و یکی از مهمترین مراحل راهاندازی استک LAMP به پایان رسیده است.
تنظیم فایروال برای Apache
اگر فایروال UFW روی سرور شما فعال است، باید پورتهای لازم برای وب را باز کنید تا سایتها از بیرون قابل دسترسی باشند. برای این کار کافی است دستور زیر را اجرا کنید:
sudo ufw allow in "Apache"
این تنظیم باعث میشود دسترسی HTTP و HTTPS بدون مشکل انجام شود.
نصب MySQL
پایگاه داده یکی از بخشهای اصلی استک LAMP به شمار میرود. برای نصب MySQL روی سرور اوبونتو، کافی است دستور زیر را در ترمینال اجرا کنید.
sudo apt install mysql-server
پس از نصب، برای افزایش امنیت دیتابیس، اسکریپت زیر را اجرا کنید:
sudo mysql_secure_installation
نصب PHP
PHP مسئولیت پردازش کدهای سمت سرور را بر عهده دارد. برای نصب PHP همراه با ماژولهای لازم برای ارتباط با Apache و MySQL، دستور زیر را در ترمینال اجرا کنید.
sudo apt install php libapache2-mod-php php-mysql
برای اطمینان از نصب صحیح و مشاهده نسخه PHP بهتر است دستور زیر را اجرا کنید:
php -v
تست عملکرد Apache و PHP
قبل از اینکه راهاندازی استک LAMP را تمامشده بدانید، بهتر است صحت نصب تمام اجزای اصلی را بررسی کنید. انجام تست برای Apache و PHP به شما اطمینان میدهد که وبسرور و پردازشگر اسکریپتها بهدرستی کار میکنند و سرور کاملاً آماده میزبانی سایتها و برنامههای وب است.
این بررسی نهایی مشکلات احتمالی را زودتر آشکار میکند و از بروز خطا در مراحل بعدی جلوگیری مینماید.
تست Apache
برای بررسی اینکه Apache بهدرستی کار میکند، کافی است آدرس IP سرور خود را در نوار آدرس مرورگر وارد کنید. اگر صفحه پیشفرض Apache نمایش داده شود؛ یعنی وب سرور با موفقیت نصب شده و فعال است.
تست PHP
برای اطمینان از عملکرد صحیح PHP، یک فایل آزمایشی ساده ایجاد کنید. ابتدا دستور زیر را اجرا کنید تا فایل جدید در مسیر اصلی وبسرور باز شود.
sudo nano /var/www/html/info.php
و کد زیر را در آن قرار دهید:
<?php ;()phpinfo <?
با باز کردن آدرس http://IP-SERVER/info.php، اطلاعات PHP نمایش داده میشود.
پیکربندی هاست مجازی در Apache
هاست مجازی قابلیتی مهم در Apache است که اجازه میدهد چندین وبسایت مختلف روی یک سرور واحد میزبانی شوند. برای ایجاد آن ابتدا یک فایل پیکربندی تازه بسازید.
sudo nano /etc/apache2/sites-available/example.conf
و تنظیمات مربوط به دامنه را در آن وارد کنید. سپس هاست مجازی را فعال و Apache را ریلود کنید:
sudo a2ensite example.conf sudo systemctl reload apache2
نکات امنیتی در نصب LAMP
نصب LAMP برای افرادی که دانش مقدماتی در این حوزه دارند فرایند سادهای است؛ اما باید امنیت آن را جدی بگیرید تا سرور در برابر حملات آسیبپذیر نشود. با رعایت چند نکته کلیدی، محیط میزبانی امن و پایداری خواهید داشت.
- قبل از نصب، سیستم را بهروز کنید. دستور sudo apt update && sudo apt upgrade -y را اجرا نمایید.
- برای MySQL رمز عبور قوی بگذارید و بلافاصله اسکریپت sudo mysql_secure_installation را اجرا کنید تا کاربران ناشناس حذف و دسترسی root از راه دور غیرفعال شود.
- در فایروال UFW فقط پورتهای ۲۲، ۸۰ و ۴۴۳ را باز کنید.
- فایل تست info.php را پس از بررسی حتماً حذف کنید.
- ورود SSH را با کلید فعال و ورود با رمز عبور را غیرفعال کنید.
- بسته Fail2Ban را نصب کنید تا حملات brute-force (نوعی حمله سایبری که هکر با امتحان کردن خودکار حجم زیادی از ترکیب رمز عبور مختلف، سعی میکند به حساب کاربری یا سرویس دسترسی پیدا کند) مسدود شوند.
- لاگهای Apache و MySQL را مرتب بررسی کنید تا فعالیت مشکوک را زود تشخیص دهید.
بهترین روشها برای مدیریت سرور LAMP
بعد از راهاندازی کامل سرور LAMP، نگهداری و مدیریت درست آن نقش اصلی را در عملکرد سایت ایفا میکند. با رعایت روشهای استاندارد نگهداری، سرور همیشه آماده خواهد بود تا در برابر تهدیدات مختلف مقاومتر شود.
در ادامه برخی از این روشها را بررسی میکنیم:
بهروزرسانی منظم سیستم و بستهها
بهروزرسانی منظم سیستم یکی از سادهترین روشها برای حفظ امنیت و بهبود عملکرد سرور به شمار میرود. بستههای جدید معمولاً شامل ویژگیهایی هستند که خطر حملات سایبری را به حداقل میرسانند. در اوبونتو کافی است دستورهای sudo apt update و sudo apt upgrade -y را بهصورت دورهای اجرا کنید تا همه چیز بهروز بماند.
برای راحتی بیشتر، بسته unattended-upgrades را نصب نمایید. این بسته باعث میشود بهروزرسانیهای امنیتی بهطور خودکار دانلود و نصب شوند.
تقویت امنیت سرور
امنیت سرور LAMP همیشه باید در اولویت قرار گیرد. برای حفاظت بهتر امنیت سرور، از رمزهای عبور قوی و طولانی استفاده کنید. ورود به سرور از طریق کلید SSH را فعال نمایید و ورود مستقیم با رمز عبور root را کاملاً غیرفعال کنید.
فایروال UFW را بهدرستی تنظیم کنید و فقط پورتهای ضروری مانند ۲۲، ۸۰ و ۴۴۳ را باز بگذارید. ابزار Fail2Ban را نصب کنید تا حملات حدس رمز عبور (brute-force) را بهطور خودکار تشخیص داده و مسدود کند. همچنین ModSecurity را برای Apache فعال نمایید تا از وبسرور در برابر حملات رایج محافظت شود.
پشتیبانگیری منظم
هیچ سروری بدون برنامه پشتیبانگیری پایدار نمیماند. فایلهای سایت که معمولاً در مسیر /var/www قرار دارند و پایگاههای داده MySQL را باید بهصورت روزانه یا حداقل هفتگی بکاپ بگیرید.
برای فایلها از ابزار rsync و برای پایگاه داده از دستور mysqldump استفاده کنید. بکاپهای تهیهشده را حتماً در فضای ابری یا روی سرور دیگری ذخیره نمایید تا در صورت خرابی سرور اصلی، اطلاعات از دست نرود. با تنظیم cron job میتوانید این فرایند را کاملاً خودکار کنید. به این ترتیب پشتیبانگیری بدون نیاز به دخالت دستی و در زمانهای تعیینشده انجام میشود.
کلام آخر
راهاندازی سرور LAMP روشی عالی برای ساخت محیط میزبانی وب است. با دنبال کردن مراحل نصب Apache، MySQL و PHP به صورت گامبهگام، خیلی زود به سروری قدرتمند میرسید که آماده اجرای سایتهای پویا و برنامههای وب میشود. رعایت نکات امنیتی در زمان نصب و استفاده از روشهای مدیریت درست پس از آن، سرور را همیشه در دسترس نگه میدارد و از بروز مشکلات احتمالی جلوگیری میکند.
سوالات متداول
آیا راهاندازی سرور LAMP فقط روی اوبونتو امکانپذیر است؟
خیر، این استک روی توزیعهای مختلف لینوکس مانند Debian و CentOS نیز قابل نصب است.
نصب lamp برای چه نوع سایتهایی مناسب است؟
این استک برای وبسایتهای PHP محور، سیستمهای مدیریت محتوا و فروشگاههای آنلاین کاربرد زیادی دارد.
آیا میتوان پس از آموزش نصب LAMP، دامنه اضافه کرد؟
بله، با استفاده از Virtual Host میتوانید چند دامنه را روی یک سرور مدیریت کنید.
آیا راهاندازی سرور LAMP نیاز به دانش پیشرفته لینوکس دارد؟
دانش پایه لینوکس کافی است و با رعایت مراحل آموزش نصب LAMP، امکان پیادهسازی وجود دارد.







