در این مقاله بر آن شدیم تا توضیح دهیم وب سرور آپاچی چیست. Apache یکی از پرکاربردترین نرم افزارهای وبسرور است. Apache توسط بنیاد نرم افزار Apache توسعه و نگهداری شده است، برای آن که بدانید آپاچی چیست باید به طور خلاصه اشاره نمود که Apache یک نرم افزار منبعباز است که به صورت رایگان در دسترس است. در حال حاضر این برنامه بر روی 67٪ از کل سرورهای جهان اجرا میشود. در این مقاله به شما خواهیم گفت apache چیست و با نحوه کار، مزایا و چگونگی نصب آن روی اوبونتو و سنت اواس آشنا خواهیم شد.
آپاچی یکی از سریعترین، قابل اعتمادترین و ایمنترین نرم افزارها میباشد که روی سرورهای لینوکسی قابل نصب و اجرا میباشد. در حال حاضر اکثر طراحان وب سایت از CMSهای معروف نظیر وردپرس و جوملا و دروپال و…. برای طراحی وب سایت خود استفاده میکنند. از طرفی بیشتر ارائه دهندگان سرویسهای میزبانی وردپرس و جوملا از Apache به عنوان نرم افزار وبسرور خود استفاده میکنند.
وب سرور چیست؟
برای آن که بدانید وب سرور چیست، تصور کنید که وب سرور همانند یک گارسون یا میزبان رستوران است. هنگامیکه وارد یک رستوران میشوید، میزبان به شما سلام میکند، اطلاعات رزرو شما را بررسی میکند و شما را به سمت میز خود هدایت میکند. مشابه میزبان رستوران، وب سرور صفحه وب مورد نظر شما را بررسی میکند و محتوای سایت را از سرور مربوطه برای مرورگر شما واکشی میکند.
با این حال، یک وب سرور فقط میزبان شما نیست بلکه سرور شما نیز هست. (جهت اطلاع از این که سرور چیست اینجا کلیک نمایید.) بدین معنا که پس از یافتن صفحه وب درخواستی، صفحه وب را نیز در اختیار شما قرار میدهد. در واقع یک وب سرور مانند Apache همانند کاربر ارشد و مسئول هماهنگ کننده رستوران نیز هست. وب سرور، ارتباطات شما را با وب سایت (آشپزخانه) برطرف میکند، به درخواستهای شما رسیدگی میکند و به شما این اطمینان را میدهد که سایر کارکنان (ماژولها) آماده ارائه خدمات به شما هستند. همچنین جداول (حافظه، حافظه پنهان، ماژولها) را بررسی کرده و آنها را برای مشتریان جدید آماده میکند.
بنابراین در واقع وب سرور نرم افزاری است که پس از ثبت دامنه و خرید سرور درخواست شما مبنی بر دسترسی به یک صفحه وب را دریافت میکند. با بررسی موارد امنیتی درخواست HTTP و HTTPS شما انجام میشود و شما را به صفحه وب مربوطه هدایت میکند. (پروتکل HTTPS با خرید گواهینامه ssl ارائه میشود.) بسته به صفحه درخواستی شما، صفحه وب ممکن است از سرور بخواهد هنگام آماده سازی سند، چند ماژول اضافی را نیز اجرا کند. سپس سایتی را که درخواست کردهاید به شما ارائه میدهد.
وب سرور apache چیست؟
Apache همانند Nginx یک نرم افزار کاربردی بسیار محبوب است. (جهت اطلاع از این که nginx چیست اینجا کلیک نمایید.) این برنامه با بیش از 60٪ سهم در بازار وب سرورهای تجاری، پرکاربردترین برنامه وب سرور در جهان است. در واقع Apache پرکاربردترین برنامه وب سرور در سیستم عاملهای Unix و Linux است اما از طرفی تقریباً در همه سیستم عاملها مانند Windows، OS X، OS / 2 و غیره نیز قابل استفاده است. (جهت اطلاع از این که لینوکس چیست اینجا کلیک نمایید.) کلمه Apache از نام محلی قبیله ای در امریکا با نام آپاچی گرفته شده است که به مهارت در جنگ و استراتژی سازی معروف هستند.
آپاچی یک برنامه وب سرور مدولار و مبتنی بر فرآیند است که با هر اتصال همزمان یک رشته (thread) جدید ایجاد میکند. بسیاری از threadها به صورت ماژولهای جداگانه کامپایل میشوند و در نتیجه عملکرد اصلی آن را افزایش میدهند و میتوانند طیف گسترده ای از خدمات (از پشتیبانی از زبان برنامه نویسی سمت سرور گرفته تا مکانیزم احراز هویت) را ارائه دهند.
همچنین امکان ارائه روی سرور مجازی (VPS) یکی از ویژگیهایی است که به وب سرور آپاچی اجازه میدهد تا به تعداد زیادی از وب سایتهای مختلف روی سرور سرویس دهد. جهت اطلاع از اینکه vps چیست اینجا کلیک نمایید. همچنین شما میتوانید پس از خرید سرور اختصاصی و ثبت دامنه ir و یا دامنههای بین المللی، وب سرور آپاچی را روی آن نصب و راه اندازی کنید. همچنین شرکتهای هاستینگ با راهاندازی وب سرور آپاچی روی هاست اشتراکی لینوکس خود این امکان را به شما میدهند تا با خرید هاست و دامین به راحتی سایت خود را طراحی نمایید.
وب سرور آپاچی چگونه کار میکند؟
اگرچه ما Apache را یک وب سرور مینامیم، اما در اصل یک سرور فیزیکی نیست، بلکه یک نرم افزار است که روی سرور اجرا میشود و وظیفه اصلی آن ایجاد ارتباط بین سرور و مرورگرهای بازدید کنندگان وب سایت (فایرفاکس، گوگل کروم، سافاری و …) و ارتباط بین آنها (ساختار سرویس دهنده-سرور) است. Apache یک نرم افزار کراس پلت فرم است، بنابراین روی هر دو سرور یونیکس و ویندوز کار میکند.
هنگامیکه یک بازدید کننده میخواهد صفحه ای را در وب سایت شما (به عنوان مثال، صفحه اصلی یا صفحه “درباره ما” ) بارگیری کند، مرورگر وی درخواستی را به سرور شما ارسال میکند و Apache پاسخی را شامل تمام فایهایهای درخواست شده (متن، تصاویر و غیره) برمیگرداند. سرور و سرویس گیرنده از طریق پروتکل HTTP باهم ارتباط برقرار میکنند و نرم افزار Apache مسئول ایحاد ارتباطی ایمن بین دو دستگاه است.
آپاچی بسیار انعطاف پذیر است، زیرا ساختاری مبتنی بر ماژول دارد. ماژولها به مدیران سرور این اجازه را میدهند که برخی ویژگیهای اضافی را غیر فعال و یا فعال کنند. همچنین Apache ماژولهایی برای امنیت، حافظه پنهان، بازنویسی URL، احراز هویت رمز عبور و موارد دیگر دارد. علاوه بر آن، میتوانید پیکربندیهای سرور خود را از طریق فایلی به نام .htaccess تنظیم کنید که یک فایل پیکربندی Apache است و روی تمامهاستهای لینوکسی سیتی سایت پشتیبانی میشود.
آموزش نصب آپاچی بر روی اوبونتو 20.04
مرحله ۱ – به روز رسانی سرور و نصب وب سرور 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
مرحله ۱: مخزن نرم افزار را به روز کنید.
جهت این کار پنجره ترمینال را باز کرده و لیستهای پکیجهای Repository را با وارد کردن دستور زیر به روز کنید:
sudo yum update
مرحله ۲: Apache را نصب کنید.
جهت این کار دستور زیر را وارد نمایید:
sudo yum –y install httpd
مرحله ۳: وب سرور Apache را راه اندازی و فعال کنید.
جهت این کار دستور زیر را وارد نمایید:
sudo systemctl start httpd
sudo systemctl enable httpd
مرحله ۴: وضعیت وب سرور Apache را بررسی کنید.
جهت بررسی وضعیت وب سرور و نیز فعال نمودن آپاچی، دستورات زیر را وارد نمایید:
sudo systemctl status httpd
sudo systemctl reload httpd
مرحله ۵: فایروال را برای Apache تنظیم کنید.
جهت این کار دستورات زیر را وارد نمایید:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
sudo firewall-cmd --list-all | grep services
جهت اطمینان از نصب صحیح آپاچی، میتوانید با وارد نمودن IP خود در مرورگر از نصب صحیح آن اطمینان حاصل نمایید.
http://your-server-ip
مزایای آپاچی
وب سرور Apache میتواند یک انتخاب عالی برای اجرای وب سایت شما در یک سیستم عامل پایدار و همه کاره باشد. در ادامه مهمترین مزایای آپاچی شرح داده شده است.
۱. منبع باز و رایگان
یکی از مهمترین مزایای وب سرور آپاچی، منبع باز (Open Source) بودن آن میباشد و حتی برای استفاده تجاری نیز رایگان میباشد. لذا کاربران به راحتی میتوانند کد منابع آن را بررسی و به دلخواه تغییر دهند و کدهای آن قابل برنامه ریزی بوده و میتواند متناسب با نیاز تنظیم شود.
۲. پایداری
آپاچی نرم افزاری قابل اعتماد و پایدار میباشد و به راحتی میتوانید نزم افزارها و فایلهای خود را در آن مدیریت نمایید.
۳. انعطاف پذیری
یکی دیگر از مزایای آپاچی انعطاف پذیری آن میباشد. شما به راحتی میتوانید ماژولها و برنامههای مورد نیاز خود را به آن اضافه نمایید. در نتیجه آپاچی به دلیل ساختار مبتنی بر ماژول آن، نسبت به سایر رقبای خود بسیار انعطاف پذیرتر است.
۴. راحتی و سادگی
پیکربندی آسان آپاچی آن را محبوب بسیاری از برنامه نویسان مبتدی و حرفه ای نموده است.
۵. قابلیت نصب روی انواع سیستم عاملها
آپاچی cross platform میباشد. بدین معنا که این وب سرور به راحتی روی هر سیستم عاملی قابل نصب میباشد و روی انواع سرورهای یونیکس و ویندوز به خوبی کار میکند.
۶. بهترین گزینه برای CMSها
آپاچی بهترین گزینه برای نصب انواع سیستمهای مدیریت محتوا از جمله وردپرس، دروپال، ووکامرس و … میباشد.
۷. انجمنهای پشتیبانی
در صورت بروز هرگونه مشکل میتوانید به انجمنهای بزرگ آپاچی مراجعه نموده و از پشتیبانی سریع و آسان آن بهره مند شوید. در این انجمنها تقریبا تمامیمشکلات و موانع آپاچی مورد بحث و بررسی قرار گرفته اند.
معایب آپاچی
با وجود مزایای بسیار آپاچی، این وب سرویس معایبی نیز دارد که باید به آنها توجه کنید.
۱. عملکرد
آپاچی مشکلات عملکردی در وب سایتهای بسیار پرترافیک و پربازدید دارد.
۲. پیکربندیهای متعدد
آپاچی گزینههای پیکربندی بسیار زیادی دارد که میتواند منجر به آسیب پذیریهای امنیتی بیشتری شود.
۳. اشکال زدایی
مزیت سفارشی سازی در آپاچی باعث ایجاد اشکالات دیگری نیز میشود و در واقع با توجه به امکان سفارشی سازی و تغییر در کد منابع، اشکالات و خطاهای جدید ایجاد میشوند. در نتیجه آن، اشکال زدایی در آپاچی وقت و منابع بیشتری را درگیر میکند.
مقایسه آپاچی و سایر وبسرورها
علاوه بر Apache، وب سرورهای محبوب دیگری نیز وجود دارد. هر وب سرور برای هدفی خاص ایجاد شده است. در حالی که Apache بیشترین استفاده را دارد، اما در مقایسه با سایر رقبا بهترین عملکرد را دارد.
مقایسه 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 هر دو مزایا و معایب خود را دارند که برخی از آنها در بالا توضیح داده شد. مقایسه و نعیین بهترین آنها توسط چند عامل زیر تعیین میشود:
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 ثابت کرده است که یک وب سرور حیاتی و اصلی در بسیاری از پشتههای محبوب و ستون فقرات سرروها و وب سایتها اینترنتی است. Apache به شما امکان میزبانی اکثر وب سایتها را بدون اینکه نگران هرگونه خطرات امنیتی باشید، میدهد. این وب سرور برای وب سایتهای با اندازه کوچک و متوسط مناسب است. Apache عملکرد بسیار خوبی در استفاده از CMSهای مختلف مانند جوملا ، دروپال ، Weebly و وردپرس دارد ، به همین دلیل بسیاری از کاربران وردپرس به Apache اعتماد میکنند. جهت کسب اطلاعات بیشتر و خرید سرور با کارشناسان مجرب سیتی سایت تماس حاصل نمایید.