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

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

اگر قصد دارید وب‌سایت خود را روی یک زیرساخت پایدار و امن راه‌اندازی کنید، شناخت آنکه سرور چیست؟ و آشنایی با Apache می‌تواند اولین گام مهم شما باشد.

وب سرور چیست؟

وب سرور چیست؟ - آپاچی چیست

وب سرور نرم‌افزاری است که درخواست‌های کاربران را از مرورگر دریافت کرده و محتوای مورد نظر را به آن‌ها نمایش می‌دهد. به زبان ساده، وقتی آدرس یک وب‌سایت را وارد می‌کنید، وب سرور صفحه موردنظر را از روی سرور واکشی کرده و برای مرورگر ارسال می‌کند. وب‌سرورها از پروتکل HTTP یا HTTPS برای این ارتباط استفاده می‌کنند و وظیفه دارند امنیت و سرعت انتقال داده‌ها را تضمین نمایند.

بنابراین در واقع وب سرور نرم افزاری است که درخواست شما مبنی بر دسترسی به یک صفحه وب را دریافت می‌کند. با بررسی موارد امنیتی درخواست HTTP و HTTPS شما انجام می‌شود و شما را به صفحه وب مربوطه هدایت می‌کند.

وب سرور apache چیست؟

وب سرور آپاچی چیست؟ - آپاچی چیست

Apache همانند Nginx یک نرم افزار کاربردی بسیار محبوب است. این برنامه با بیش از 60٪ سهم در بازار وب سرورهای تجاری، پرکاربردترین برنامه وب سرور در جهان است. در واقع Apache پرکاربردترین برنامه وب سرور در سیستم عاملهای Unix و Linux است اما از طرفی تقریباً در همه سیستم عاملها مانند Windows، OS X، OS / 2 و غیره نیز قابل استفاده است.

کلمه Apache از نام محلی قبیله ای در امریکا با نام آپاچی گرفته شده است که به مهارت در جنگ و استراتژی سازی معروف هستند.

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

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

وب سرور آپاچی چگونه کار می‌کند؟

وب سرور آپاچی چگونه کار می‌کند؟ - آپاچی چیست

اگرچه ما Apache را یک وب سرور می‌نامیم، اما در اصل یک سرور فیزیکی نیست، بلکه یک نرم افزار است که روی سرور اجرا می‌شود و وظیفه اصلی آن ایجاد ارتباط بین سرور و مرورگرهای بازدید کنندگان وب سایت (فایرفاکس، گوگل کروم، سافاری و …) و ارتباط بین آنها (ساختار سرویس دهنده-سرور) است. Apache یک نرم افزار کراس پلت فرم است، بنابراین روی هر دو سرور یونیکس و ویندوز کار می‌کند.

هنگامی‌که یک بازدید کننده می‌خواهد صفحه ای را در وب سایت شما (به عنوان مثال، صفحه اصلی یا صفحه “درباره ما” ) بارگیری کند، مرورگر وی درخواستی را به سرور شما ارسال می‌کند و Apache پاسخی را شامل تمام فایهای‌های درخواست شده (متن، تصاویر و غیره) برمی‌گرداند. سرور و سرویس گیرنده از طریق پروتکل HTTP باهم ارتباط برقرار می‌کنند و نرم افزار Apache مسئول ایحاد ارتباطی ایمن بین دو دستگاه است.

آپاچی بسیار انعطاف پذیر است، زیرا ساختاری مبتنی بر ماژول دارد. ماژول‌ها به مدیران سرور این اجازه را می‌دهند که برخی ویژگی‌های اضافی را غیر فعال و یا فعال کنند. همچنین Apache ماژول‌هایی برای امنیت، حافظه پنهان، بازنویسی URL، احراز هویت رمز عبور و موارد دیگر دارد. علاوه بر آن، می‌توانید پیکربندی‌های سرور خود را از طریق فایلی به نام htaccess تنظیم کنید که یک فایل پیکربندی Apache است.

مقاله مرتبط: htaccess چیست؛ ۲۲ کاربرد آچار فرانسه وب‌سایت را بشناسید

آموزش نصب آپاچی بر روی اوبونتو 20.04

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

مرحله ۱ – به روز رسانی سرور و نصب وب سرور Apache

به روز رسانی سرور و نصب وب سرور Apache - آپاچی چیست

جهت به روز رسانی و نصب آپاچی، دستور زیر را تایپ کرده و کلید Enter را فشار دهید:

sudo apt update sudo apt upgrade sudo apt install apache

مرحله ۲ – اطمینان حاصل کنید که سرویس Apache در زمان بوت شدن راه اندازی شود.

جهت این کار، برای فعال کردن apache.service از دستور systemctl به صورت زیر استفاده نمایید:

sudo systemctl is-enabled apache2.service sudo systemctl enable apache2.service sudo systemctl start apache2.service

جهت بررسی وضعیت سرویس آپاچی می‌توانید از دستور زیر استفاده نمایید:

sudo systemctl status apache2.service

مرحله ۳ – با استفاده از فایروال UFW پورت Apache 80 و 443 را باز کنید.

دستورات زیر را برای باز نمودن پورت TCP 80 و 443 اجرا کنید:

sudo ufw allow 80/tcp comment 'accept Apache' sudo ufw allow 443/tcp comment 'accept HTTPS connections' sudo ufw status

مرحله ۴ – آدرس IP سرور Ubuntu 20.04 LTS خود را پیدا کنید.

جهت این کار یکی از دستورات زیر را وارد نمایید:

hostname -I ip a ip a s eth0

مرحله ۵ – نصب Apache خود را در اوبونتو تست کنید.

سپس از نصب صحیح آپاچی با استفاده از دستور زیر اطمینان حاصل نمایید:

curl -I http://10.105.28.158

همچنین می‌توانید با وارد نمودن IP خود در مرورگر از نصب صحیح آن اطمینان حاصل نمایید.

http://your-server-ip

آموزش نصب آپاچی بر روی CentOS 8

برای نصب آپاچی و استفاده از تمام امکانات مدیریت وب‌سرور بر روی CentOS، خرید سرور اختصاصی بهترین گزینه است.

مرحله ۱: مخزن نرم افزار را به روز کنید.

مخزن نرم افزار را به روز کنید - آپاچی چیست

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

sudo yum update

مرحله ۲: Apache را نصب کنید.

Apache را نصب کنید - آپاچی چیست

جهت این کار دستور زیر را وارد نمایید:

sudo yum –y install httpd

مرحله ۳: وب سرور Apache را راه اندازی و فعال کنید.

جهت این کار دستور زیر را وارد نمایید:

sudo systemctl start httpd

دستور terminal برای شروع سرویس Apache در CentOS 8 - آپاچی چیست

sudo systemctl enable httpd

دستور فعال کردن Apache در هنگام راه اندازی - آپاچی چیست

مرحله ۴: وضعیت وب سرور Apache را بررسی کنید.

جهت بررسی وضعیت وب سرور و نیز فعال نمودن آپاچی، دستورات زیر را وارد نمایید:

sudo systemctl status httpd

نمونه سرویس فعال Apache httpd - آپاچی چیست

sudo systemctl reload httpd

مرحله ۵: فایروال را برای Apache تنظیم کنید.

جهت این کار دستورات زیر را وارد نمایید:

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

دستور تغییر فایروال برای ترافیک Apache - آپاچی چیست

sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --reload sudo firewall-cmd --list-all | grep services

http و https در سرویس ها نمایش داده می شود - آپاچی چیست

جهت اطمینان از نصب صحیح آپاچی، می‌توانید با وارد نمودن IP خود در مرورگر از نصب صحیح آن اطمینان حاصل نمایید.

http://your-server-ip

مزایای آپاچی Apache Web Server

مزایای آپاچی - آپاچی چیست

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

۱. منبع باز و رایگان

منبع باز و رایگان - آپاچی چیست

یکی از مهمترین مزایای وب سرور آپاچی، منبع باز (Open Source) بودن آن می‌باشد و حتی برای استفاده تجاری نیز رایگان می‌باشد. لذا کاربران به راحتی می‌توانند کد منابع آن را بررسی و به دلخواه تغییر دهند و کدهای آن قابل برنامه ریزی بوده و می‌تواند متناسب با نیاز تنظیم شود.

۲. پایداری

آپاچی نرم افزاری قابل اعتماد و پایدار می‌باشد و به راحتی می‌توانید نزم افزارها و فایل‌های خود را در آن مدیریت نمایید.

۳. انعطاف پذیری

انعطاف پذیری - آپاچی چیست

یکی دیگر از مزایای آپاچی انعطاف پذیری آن می‌باشد. شما به راحتی می‌توانید ماژول‌ها و برنامه‌های مورد نیاز خود را به آن اضافه نمایید. در نتیجه آپاچی به دلیل ساختار مبتنی بر ماژول آن، نسبت به سایر رقبای خود بسیار انعطاف پذیرتر است.

۴. راحتی و سادگی

پیکربندی آسان آپاچی آن را محبوب بسیاری از برنامه نویسان مبتدی و حرفه ای نموده است.

۵. قابلیت نصب روی انواع سیستم عامل‌ها

قابلیت نصب روی انواع سیستم عامل‌ها - آپاچی چیست

آپاچی cross platform می‌باشد. بدین معنا که این وب سرور به راحتی روی هر سیستم عاملی قابل نصب می‌باشد و روی انواع سرورهای یونیکس و ویندوز به خوبی کار می‌کند.

۶. بهترین گزینه برای CMSها

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

۷. انجمن‌های پشتیبانی

انجمن‌های پشتیبانی - آپاچی چیست

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

معایب آپاچی

معایب آپاچی - آپاچی چیست

با وجود مزایای بسیار آپاچی، این وب سرویس معایبی نیز دارد که باید به آنها توجه کنید.

۱. عملکرد

آپاچی مشکلات عملکردی در وب سایت‌های بسیار پرترافیک و پربازدید دارد.

۲. پیکربندی‌های متعدد

معایب آپاچی پیکربندی‌های متعدد - آپاچی چیست

آپاچی گزینه‌های پیکربندی بسیار زیادی دارد که می‌تواند منجر به آسیب پذیری‌های امنیتی بیشتری شود.

۳. اشکال زدایی

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

مقایسه آپاچی و سایر وب‌سرورها

علاوه بر Apache، وب سرورهای محبوب دیگری نیز وجود دارد. هر وب سرور برای هدفی خاص ایجاد شده است. در حالی که Apache بیشترین استفاده را دارد، اما در مقایسه با سایر رقبا بهترین عملکرد را دارد.

مقایسه apache و tomcate

مقایسه apache و tomcate - آپاچی چیست

Tomcat یک وب سرور است که توسط بنیاد نرم افزار Apache توسعه یافته است و نام رسمی‌آن Apache Tomcat است. تام کت یک سرور HTTP نیز هست، با این وجود به جای سرویس دهی به وب سایت‌های استاتیک، به ابرنامه‌های جاوا اولویت می‌دهد. Tomcat می‌تواند چندین ویژگی مختلف جاوا مانند Java Servlet، JavaServer Pages (JSP)، Java EL و WebSocket را اجرا کند.

Tomcat به طور خاص برای برنامه‌های جاوا ایجاد شده است، در حالی که Apache یک سرور HTTP با کاربردهای عمومی‌است. با کمک ماژول‌های اضافی رویApache (mod_php، mod_python، mod_perl و …) می‌توانید از Apache همراه با زبان‌های برنامه نویسی مختلف (PHP، Python، Perl و …) استفاده کنید.

اگرچه می‌توانید از یک سرور Tomcat برای سرویس دهی صفحات وب ثابت نیز استفاده کنید، اما در مقایسه با سرور Apache از کارآیی کمتری برای این منظور برخوردار است. به عنوان مثال، Tomcat ماشین مجازی جاوا و سایر کتابخانه‌های مرتبط با جاوا را که در اکثر وب سایت‌ها به آنها نیازی ندارید، از قبل بارگیری می‌کند.

همچنین Tomcat در مقایسه با سایر وب سرورها قابلیت انعطاف پذیری کمتری دارد. به عنوان مثال، برای اجرای وردپرس، بهترین انتخاب سرور HTTP با کاربردهای عمومی‌ مانند Apache یا NGINX است.

مقایسه apache و IIS

مقایسه apache و IIS - آپاچی چیست

Apache و IIS هر دو مزایا و معایب خود را دارند که برخی از آنها در بالا توضیح داده شد. مقایسه و نعیین بهترین آنها توسط چند عامل زیر تعیین می‌شود:

IIS برخلاف آپاچی که روی تمامی‌سیستم عامل‌ها قابل نصب واجرا است، فقط و فقط همراه ویندوز قابل ارائه میباشد. Apache از امنیت عالی تری نسبت به ویندوز برخوردار است. امکان ارائه NET توسط آپاچی نمی‌باشد.

خلاصه مزایای و معایب این دو وب سرور در جدول زیر آورده شده است.

Apache IIS Features
Linux, Unix, Windows, macOS Windows Supported OS
Community support Corporate support User support & fixes
Completely free Free, but bundled with Windows Cost
Open source Closed, proprietary Development
Good Excellent Security
Good Good Performance
42% 32% Market share

جمع بندی

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

با این حال، برای وب‌سایت‌های پرترافیک ممکن است محدودیت‌هایی در عملکرد وجود داشته باشد. انتخاب صحیح بین Apache و سایر وب‌سرورها مانند Nginx یا IIS به نیاز پروژه شما بستگی دارد. اگر به دنبال راه‌اندازی سایت با استفاده از CMSهایی مثل وردپرس یا جوملا هستید، Apache همچنان یکی از بهترین انتخاب‌هاست. اگر قصد راه‌اندازی و طراحی سایت وردپرسی دارید، Apache یکی از بهترین وب‌سرورها برای شماست.