آموزش نصب آپاچی (apache)
آپاچی، یک وب سرور اپن سورس است که به دلیل قابلیتهای متنوع و پشتیبانی گسترده، به عنوان یکی از پرکاربردترین وب سرورها در جهان شناخته میشود. این وب سرور، که به صورت رسمی با نام Apache HTTP Server شناخته میشود، توسط بنیاد نرمافزار آپاچی توسعه یافته و مدیریت میشود. آپاچی وظیفه پردازش درخواستهایی که از طریق پروتکل HTTP به سرور ارسال میشوند را بر عهده دارد و برای ارائه وبسایتها و برنامههای وب به کاربران اینترنت استفاده میشود. در این مقاله، علاوه بر بررسی ویژگیهای اصلی و نحوه پیکربندی آپاچی، نسبت به وب سرورهای دیگر مانند Nginx و LiteSpeed نیز توضیح داده میشود. این مقایسه به شما کمک میکند تا درک بهتری از انتخاب مناسب وب سرور برای نیازهای خاص پروژههای وب خود پیدا کنید.
وب سرور چیست؟
وب سرور یک نرمافزار است که درخواستها و پاسخهای مربوط به صفحات وب را بین مشتریان (مرورگرها) و سرویسدهندههای وب (سرورها) مدیریت میکند. بطور کلی، وب سرور مسئول دریافت درخواستها از مشتریان، پردازش آنها و ارسال پاسخهای متناسب است.
وقتی یک کاربر وب به یک صفحه وب دسترسی مییابد، مرورگر وب درخواست خود را به وب سرور ارسال میکند. وب سرور سپس درخواست را تجزیه و تحلیل میکند و منابع مورد نیاز مانند فایلهای HTML، CSS، تصاویر و اسکریپتها را از سرور دریافت میکند. سپس، وب سرور پاسخ متناسب را تولید کرده و به مرورگر برمیگرداند تا به کاربر نمایش داده شود.
وب سرورها میتوانند از مجموعهای از پروتکلها مانند HTTP (Hypertext Transfer Protocol) استفاده کنند تا ارتباط بین مشتری و سرور را برقرار کنند. همچنین، وب سرورها میتوانند قابلیتها و امکانات متنوعی مانند پشتیبانی از سیستمهای مدیریت محتوا، پردازش زبانهای برنامهنویسی، مدیریت ترافیک و امنیت را فراهم کنند.
وب سرور Apache، Nginx، Microsoft IIS و LiteSpeed مثالهایی از وب سرورهای معروف هستند که در ارائه صفحات وب و ارتباط بین مرورگرها و سرورها نقش مهمی ایفا میکنند.
وب سرور apache چیست؟
وب سرور Apache (Apache HTTP Server) یکی از معروفترین و قدرتمندترین وب سرورها است که به صورت متنباز (Open Source) توسعه و توزیع میشود. این وب سرور توسط بنیاد نرمافزار آپاچی (Apache Software Foundation) تحت لیسانس آپاچی توسعه یافته است.
Apache HTTP Server از قابلیتها و امکانات بسیاری برخوردار است که آن را به یکی از پرکاربردترین وب سرورها در جهان تبدیل کرده است. این وب سرور به طور گسترده از طرف جامعه توسعه دهندهها و مدیران سیستم مورد استفاده قرار میگیرد.
Apache قابلیت پشتیبانی از مجموعه گستردهای از پروتکلها از جمله HTTP و HTTPS را داراست و به عنوان سرور اصلی در سیستمهای عامل متعددی مانند Unix، Linux، macOS و Windows قابل استفاده است. همچنین، از طریق ماژولها و افزونههای قابل انتصاب، Apache امکانات اضافی مانند پشتیبانی از زبانهای برنامهنویسی متنوع، امنیت بهبود یافته، فشردهسازی، حافظه نهان (caching) و بارزندی (load balancing) را فراهم میکند.
با توجه به ویژگیهای قدرتمند و انعطافپذیری که Apache HTTP Server ارائه میدهد، از آن به عنوان یکی از انتخابهای اصلی برای ارائه وبسایتها و برنامههای وب در سراسر جهان استفاده میشود.
مزایا وب سرور آپاچی
پایداری و قابلیت اعتماد: Apache به عنوان یک وب سرور پایدار و قابل اعتماد شناخته میشود. این وب سرور برای سالها در صنعت وب وجود داشته و با استفاده از جامعه گستردهای از توسعه دهندگان تحت پشتیبانی قرار گرفته است. این باعث شده است که Apache بسیار پایدار باشد و بتواند با بارهای سنگین و ترافیک بالا سر و کار داشته باشد.
امنیت قوی: Apache به عنوان یک وب سرور امن شناخته میشود. آن دارای امکانات امنیتی قوی مانند امکان استفاده از SSL/TLS برای رمزنگاری ارتباطات و احراز هویت کاربر است. همچنین، با برخی تنظیمات و ماژولهای امنیتی قابل افزودن، میتوان امنیت سرور را بهبود داد.
انعطافپذیری: Apache انعطافپذیری بالایی در زمینه پیکربندی و تنظیمات دارد. فایل پیکربندی قدرتمند آن به مدیران سیستم این امکان را میدهد تا تنظیمات سرور را براساس نیازهای خود سفارشی کنند و سفارشی سازیهای مورد نیاز را انجام دهند.
قابلیت افزایش قابلیتها: Apache با استفاده از ماژولها و افزونههای مختلف، قابلیتهای اضافی را فراهم میکند. میتوان از ماژولها برای اضافه کردن ویژگیهای خاص مانند فشردهسازی، حافظه نهان و پشتیبانی از زبانهای برنامهنویسی مختلف استفاده کرد.
معایب وب سرور آپاچی
مصرف منابع: Apache ممکن است نیاز به مصرف منابع سیستم بیشتری نسبت به برخی وب سرورهای دیگر داشته باشد. این موضوع در مورد پروژههایی با ترافیک بالا و نیاز به پاسخگویی سریع میتواند مشکل ساز شود.
عملکرد کند در بارهای سنگین: در صورتی که تعداد کاربران همزمان بالا باشد و منابع سرور ناکافی باشد، عملکرد Apache ممکن است کاهش یابد و زمان پاسخ به درخو
آموزش نصب آپاچی در لینوکس
برای نصب Apache در سیستم عامل لینوکس، میتوانید از مدیر بستههای سیستم عامل خود استفاده کنید. در ادامه، مراحل نصب آپاچی را برای دو توزیع محبوب لینوکس یعنی Ubuntu و CentOS شرح میدهم:
Ubuntu:
باز کردن ترمینال: ابتدا ترمینال را باز کنید.
بهروزرسانی مخازن: اجرای دستور زیر جهت بهروزرسانی مخازن بستهها:
sudo apt update
نصب آپاچی: با استفاده از دستور زیر، آپاچی را نصب کنید:
sudo apt install apache2
بررسی وضعیت سرویس: پس از نصب، سرویس Apache باید به طور خودکار راهاندازی شود. برای بررسی وضعیت سرویس، دستور زیر را اجرا کنید:
sudo systemctl status apache2
آزمایش: حالا میتوانید برای اطمینان از نصب صحیح، آدرس localhost را در مرورگر وارد کنید و صفحه پیشفرض Apache را ببینید.
CentOS:
باز کردن ترمینال: ابتدا ترمینال را باز کنید.
نصب آپاچی: با استفاده از دستور زیر، آپاچی را نصب کنید:
sudo yum install httpd
راهاندازی سرویس: پس از نصب، سرویس Apache باید به طور خودکار راهاندازی شود. اجرای دستور زیر: sudo
systemctl start httpd
بررسی وضعیت سرویس: برای بررسی وضعیت سرویس Apache، دستور زیر را اجرا کنید:
sudo systemctl status httpd
فعالسازی بر روی بوت: برای اینکه Apache همراه با سیستم راهاندازی شود، دستور زیر را اجرا کنید:
sudo systemctl enable httpd
آزمایش: حالا میتوانید برای اطمینان از نصب صحیح، آدرس localhost را در مرورگر وارد کنید و صفحه پیشفرض Apache را ببینید.
با اجرای این مراحل، شما Apache را بر روی سیستم عامل لینوکس خود نصب و راهاندازی خواهید کرد.
آموزش نصب آپاچی در macOS
برای نصب Apache در سیستم عامل macOS، میتوانید از دستورات Terminal استفاده کنید. در ادامه، مراحل نصب آپاچی را برای macOS شرح میدهم:
- باز کردن ترمینال: ابتدا برنامه Terminal را از مسیر Applications > Utilities > Terminal باز کنید.
- نصب Homebrew: Homebrew یک مدیر بسته محبوب در macOS است. اگر هنوز Homebrew را نصب نکردهاید، میتوانید آن را با دستور زیر نصب کنید:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
- نصب آپاچی: پس از نصب Homebrew، میتوانید از طریق دستور brew Apache را نصب کنید. اجرای دستور زیر:
brew install httpd
- راهاندازی سرویس Apache: پس از نصب، میتوانید سرویس Apache را راهاندازی کنید. اجرای دستور زیر:
brew services start httpd
- آزمایش: حالا میتوانید برای اطمینان از نصب صحیح، آدرس localhost را در مرورگر وارد کنید و صفحه پیشفرض Apache را ببینید. آدرس
http://localhost
را در مرورگر خود باز کنید.
در صورتی که میخواهید تنظیمات پیشفرض Apache را تغییر دهید، میتوانید فایل پیکربندی آپاچی را در مسیر /usr/local/etc/httpd/httpd.conf
باز کنید و تغییرات مورد نظر خود را اعمال کنید.
توجه داشته باشید که در macOS، پورت استاندارد Apache 80 است. اگر از این پورت استفاده میکنید و از سیستمعامل macOS Big Sur یا بالاتر استفاده میکنید، شما نیاز به دسترسی sudo برای استفاده از پورت ۸۰ خواهید داشت.
آموزش نصب آپاچی در ویندوز
برای نصب Apache در ویندوز، میتوانید از بسته نرمافزاری XAMPP استفاده کنید که شامل Apache، MySQL، PHP و برخی ابزارهای دیگر است. در ادامه، مراحل نصب Apache با استفاده از XAMPP را شرح میدهم:
دریافت XAMPP: از وب سایت رسمی XAMPP (https://www.apachefriends.org) رفته و نسخه مناسب برای ویندوز را دانلود کنید.
نصب XAMPP: پس از دانلود، فایل نصب XAMPP را اجرا کنید و دستورات مربوط به نصب را دنبال کنید. معمولاً نصب XAMPP بسیار ساده است و شما به طور پیشفرض همهٔ اجزای آن (شامل Apache) را نصب خواهید کرد.
راهاندازی Apache: پس از نصب، باز کردن پنجرهٔ کنترل XAMPP را انتخاب کنید. در این پنجره، بر روی دکمهٔ “Start” در سطر Apache کلیک کنید تا سرویس Apache را راهاندازی کنید.
آزمایش: حالا میتوانید برای اطمینان از نصب صحیح، آدرس localhost را در مرورگر وارد کنید و صفحه پیشفرض Apache را ببینید. آدرس http://localhost
را در مرورگر خود باز کنید.
توجه داشته باشید که XAMPP محیط توسعهٔ محلی است و برای استفاده در محیط تولید یا اینترنت عمومی مناسب نیست. همچنین، در صورتی که قبلاً برنامههایی مانند Skype در ویندوز خود نصب کردهاید، ممکن است درگاه ۸۰ برای Apache مسدود شده باشد. بنابراین، قبل از استفاده از XAMPP، اطمینان حاصل کنید که هیچ برنامهٔ دیگری در حال استفاده از همین درگاه نیست.
مقایسه آپاچی، LiteSpeed و Nginx
Apache، Nginx و LiteSpeed همه سه وب سرورهای محبوب هستند که برای ارائه خدمات وب استفاده میشوند. در زیر، برخی از ویژگیها و تفاوتهای اصلی بین این سه وب سرور را بررسی میکنیم:
Apache:
Apache یکی از قدیمیترین و محبوبترین وب سرورها است. آن قابلیتهای گستردهای از جمله پشتیبانی از ماژولهای مختلف، پشتیبانی از زبانهای برنامهنویسی متعدد و امکان تنظیمات پیشرفته را ارائه میدهد.
Apache از مدل مبتنی بر رویداد (event-based) برای پردازش همزمان درخواستها استفاده میکند. این به این معنی است که برای هر اتصال جدید، یک فرآیند یا رشته جدید ایجاد میشود.
Apache منابع سیستم بیشتری را نسبت به Nginx و LiteSpeed مصرف میکند و در مواجهه با بار بالا ممکن است کند شود.
Nginx:
Nginx یک وب سرور متنباز و قدرتمند است که برای کارایی بالا و پردازش همزمان بالا طراحی شده است. به عنوان یک وب سرور نیمهفعال (event-driven)، Nginx میتواند تعداد زیادی اتصال همزمان را مدیریت کند.
Nginx برای پردازش درخواستها از مدل غیرهمزمان (asynchronous) استفاده میکند که به این معنی است که برای هر اتصال جدید، یک فرآیند یا رشته جدید ایجاد نمیشود. این باعث میشود Nginx کارایی بهتری در مقابل بار بالا داشته باشد.
Nginx از مصرف منابع سیستم کمتری نسبت به Apache دارد و معمولاً برای سایتهای با ترافیک بالا و بار پویا توصیه میشود.
LiteSpeed:
LiteSpeed یک وب سرور فراروانشده (drop-in replacement) برای Apache است. یعنی میتوانید Apache را با LiteSpeed جایگزین کنید بدون نیاز به تغییر کد برنامهها یا تنظیمات سرور.
به عنوان یک وب سرور با کارایی بالا و توانایی پردازش همزمان بالا شناخته میشود. این وب سرور قابلیتهایی مانند کش سمت سرور (server-side caching)، بهینهسازی برای موتورهای جستجو و امکانات امنیتی پیشرفیاد نمیگیرد.
معذرت میخواهم، اما به علت محدودیتهای دسترسی، نمیتوانم به جزئیات بیشتری دربارهٔ LiteSpeed بپردازم. در عمل، استفاده از LiteSpeed ممکن است به توجیههای خاصی برای انتخاب آن در مقابل Apache یا Nginx نیاز داشته باشد. بهتر است بررسی و مقایسهٔ مزایا و معایب لایحه را با نیازها و الزامات خاص خودتان مطابقت دهید تا بهترین وب سرور را برای پروژهٔ خود انتخاب کنید.
جمع بندی:
در طی چند دهه گذشته، آپاچی (Apache) نقش مهمی را در بسیاری از وبسایتهای موجود در اینترنت ایفا کرده است. در حالی که محبوبیت این وبسرور در حال کاهش است و گزینههایی برای انتخاب وبسرور در حال افزایش هستند، آپاچی هنوز هم در بسیاری از سایتها و شرکتهای میزبانی وب نقش اساسی دارد. حتی با وجود وبسرورهایی مانند LiteSpeed و NGINX، هر شرکت میزبانی باید با نحوهٔ مدیریت و پیکربندی آپاچی آشنا باشد. در این مقاله، توضیح دادیم که آپاچی چیست و چه مزایایی دارد. نظر شما دربارهٔ وبسروری که ترجیح میدهید چیست؟ لطفاً نظرات خود را با ما در میان بگذارید.