وب سرور آپاچی چیست ؟ آشنایی با تنظیمات اولیه آپاچی apache
وب سرور آپاچی چیست ? نصب آپاچی apache چگونه انجام میگیرد؟ وب سرور آپاچی ( apache web server ) رایجترین سرور وب در سیستمهای لینوکس است که برای ارائه صفحات وب درخواست شده توسط رایانههای مشتری به کار گرفته میشود. مشتریان معمولاً با استفاده از برنامههای مرورگر وب مانند Firefox Opera Chromium یا Internet Explorer صفحات وب را درخواست و مشاهده میکنند. در ادامهیا این مقاله ما قصد داریم لاوه بر پاسخ به سوال وب سرور آپاچی چیست شما را با نحوهی نصب آپاچی apache نیز آشنا کنیم؛ با ما همراه باشید.
قصد خرید هاست لینوکس ابری را دارید؟ به وب سایت ابرآراز مراجعه کرده و ضمن خرید یک هاست با کیفیت، از خدمات و سرویسهای ویژهی آن نیز برخوردار شوید.
وب سرور چیست ؟
در ابداییترین قدم، شما باید آشنایی هرچند اندکی با مفهوم وب سرور داشته باشید. در پاسخ به سوال وب سرور چیست باید عنوان کنیم که وب سرور ، سخت افزار یا نرم افزار ی است که محتوای وب سایت را از طریق اینترنت در دسترس کاربران قرار می دهد و برنامه ای است که مهم ترین نقش را در یک سرویس میزبان وب به عهده دارد. نقش اصلی آن اینست که صفحات مختلف وب را به کاربران ارائه می دهد. ارتباط بین وب سرور و Client ها به کمک پروتکل Hypertext Transfer Protocol یا همان HTTP معروف میسر می گردد.
اگر میخواهید در مورد وب سرور و انواع آن بیشتر بدانید، مقالهی web server چیست را مطالعه نمایید.
کاربرد وب سرور آپاچی چیست ؟
کاربران با استفاده از نام دامنه کاملاً واجد شرایط (FQDN) و یک مسیر به منبع مورد نیاز، یک منبع یابی یکنواخت منبع (URL) را وارد میکنند تا به سرور وب اشاره کنند. به عنوان مثال، برای مشاهده صفحه اصلی وب سایت اوبونتو ، کاربر فقط FQDN را وارد میکند:
برای مشاهده زیر صفحه (sub-page) انجمن، یک کاربر FQDN را وارد میکند که در نتیجه مسیر زیر دنبال میشود:
www.ubuntu.com/community
متداولترین پروتکلی که برای انتقال صفحات وب استفاده میشود، پروتکل انتقال (HTTP) است. پروتکلهایی مانند Hyper Text Transfer Protocol over Secure Socket Layer (HTTPS) و File Transfer Protocol (FTP). پروتکلی برای بارگیری و بارگیری فایلها نیز پشتیبانی میشوند.
سرورهای وب آپاچی ( apache web server ) اغلب در ترکیب با موتور پایگاه داده MySQL، زبان برنامه نویسی HyperText Preprocessor (PHP) و سایر زبانهای اسکریپت نویسی محبوب مانند پایتون و Perl استفاده میشوند. این پیکربندی LAMP (Linux ،Apache ،MySQL و Perl/Python/PHP) نامیده میشود و یک پلتفرم قدرتمند و قوی برای توسعه و استقرار برنامههای تحت وب است.
نصب آپاچی apache و راه اندازی آن
سرور وب Apache2 در لینوکس اوبونتو موجود است. برای نصب Apache2 در دستور ترمینال دستور زیر را وارد کنید:
sudo apt install apache2
پیکربندی وب سرور آپاچی چیست و چگونه انجام میگیرد؟
Apache2 با قرار دادن دستورالعملها در فایلهای پیکربندی متن ساده پیکربندی میشود. این دستورالعملها، میان فایلها و فهرستهای زیر جدا شده است:
apache2.conf
فایل پیکربندی اصلی Apache2. شامل تنظیمات جهانی Apache2 است.
httpd.conf
از نظر تاریخی ، فایل اصلی پیکربندی Apache2 ، که از نام (شیطان httpd) نامگذاری شده است. در توزیع های دیگر (یا نسخه های قدیمی اوبونتو ) ، ممکن است فایل موجود باشد. در اوبونتو ، همه گزینههای پیکربندی به apache2.conf و فهرستهای زیر اشاره شده منتقل شده اند ، و این فایل دیگر وجود ندارد.
conf-available
این فهرست شامل فایلهای پیکربندی موجود است. همه فایلهایی که قبلاً در /etc/apache2/conf.d بودند باید به/etc/apache2/conf-available منتقل شوند.
کاربرد conf-enabled در زمان نصب apache
پیوندهای symlinks را در پرونده های/etc/apache2/conf-available نگه می دارد. وقتی یک فایل پیکربندی به صورت symlinking باشد ، دفعه بعدی که apache2 راه اندازی مجدد می شود ، فعال می شود.
envvars در وب سرور آپاچی چیست ؟
فایلی که متغیرهای محیط Apache2 در آن تنظیم شده است.
mods-available
این فهرست شامل فایلهای پیکربندی برای بارگذاری ماژولها و پیکربندی آنها است. با این حال ، همه ماژول ها فایل های پیکربندی خاصی ندارند.
mods-enabled
پیوندهای متصل به فایل های موجود در/etc/apache2/mods-available را نگه می دارد. وقتی یک فایل پیکربندی ماژول به صورت symlinking پیوند داده شود ، دفعه بعد که راه اندازی مجدد apache2 فعال می شود.
ports.conf
دستورالعمل هایی را تعیین می کند که Apache2 به کدام پورت های TCP گوش می دهد.
sites-available
این فهرست دارای فایلهای پیکربندی برای میزبان مجازی Apache2 است. میزبان های مجازی به Apache2 اجازه می دهند برای چندین سایت پیکربندی جداگانه پیکربندی شود.
کاربرد sites-enabled در زمان نصب آپاچی apache
مانند mods-enabled ، سایت های فعال شامل پیوندهای متناوب در فهرست/etc/apache2/sites-available است. به طور مشابه هنگامی که یک فایل پیکربندی در وب سایت های موجود در حالت پیوند متصل می شود ، پس از راه اندازی مجدد Apache2 ، سایت پیکربندی شده توسط آن فعال می شود.
magic در وب سرور آپاچی چیست ؟
دستورالعمل هایی برای تعیین نوع MIME بر اساس چند بایت اول فایل.
علاوه بر این، ممکن است سایر فایلهای پیکربندی با استفاده از دستور Include اضافه شده و از کلمات wild برای بسیاری از فایلهای پیکربندی استفاده شود. علاوه برآن هرگونه دستورالعمل ممکن است در هر یک از این فایلهای پیکربندی قرار گیرد. تغییرات در فایلهای پیکربندی اصلی فقط در هنگام فعال سازی یا راهاندازی مجدد توسط Apache2 تشخیص داده میشود.
سرور همچنین یک فایل حاوی انواع سند mime را میخواند. نام فایل توسط دستور TypesConfig ، معمولاً از طریق /etc/apache2/mods-available/mime.conf تنظیم شده که ممکن است شامل اضافات و نادیده گرفتن نیز باشد. این عبارت به صورت پیش فرض /etc/mime.types است.
تنظیمات پایه در زمان نصب آپاچی apache
Apache2 با پیکربندی پیش فرض میزبان مجازی سازگار است. به این معنا که با یک میزبان مجازی پیش فرض (با استفاده از دستورالعمل VirtualHost) پیکربندی میشود. در صورت داشتن یک سایت واحد میتوان آن را تغییر داد یا از آن استفاده کرد. علاوه برآن، اگر چندین وب سایت دارید به عنوان الگویی برای میزبان مجازی اضافی از آن استفاده کنید.
Note در وب سرور آپاچی چیست ؟
دستورالعملهای تعیین شده برای میزبان مجازی فقط برای آن میزبان مجازی خاص اعمال میشود. اگر دستورالعمل در سرور تنظیم شده و در تنظیمات میزبان مجازی تعریف نشده باشد، از تنظیمات پیش فرض استفاده میشود. به عنوان مثال، میتوانید آدرس ایمیل مدیر وب را تعریف کرده و آدرسهای ایمیل فردی را برای هر میزبان مجازی تعریف نکنید.
اگر میخواهید میزبان یا سایت مجازی جدیدی را پیکربندی کنید، آن فایل را در همان فهرست با نامی که انتخاب کردهاید کپی کنید. مثلا:
sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/mynewsite.conf
برای پیکربندی سایت جدید با استفاده از برخی از دستورالعملهای زیر، فایل جدید را ویرایش کنید.
ویرایش فایل جدید
دستورالعمل ServerAdmin آدرس ایمیل مورد نظر برای سرور را مشخص میکند. مقدار پیش فرض webmaster@localhost است. این باید به آدرس ایمیلی که به شما تحویل داده میشود (اگر سرور هستید) تغییر کند. اگر وب سایت شما مشکلی دارد، Apache2 یک پیغام خطا حاوی این آدرس ایمیل نشان میدهد تا مشکل را به آن گزارش دهید.
دستورالعمل Listen پورت را مشخص میکند و در صورت تمایل آدرس IP ، Apache2 باید به آن گوش دهد. اگر آدرس IP مشخص نشده باشد، Apache2 به تمام آدرسهای IP اختصاص داده شده به دستگاهی که روی آن اجرا میشود ، گوش میدهد. مقدار پیش فرض برای دستور Listen 80 است. این مورد را به 127.0.0.1:80 تغییر دهید تا Apache2 فقط در رابط loopback شما گوش دهد تا در دسترس اینترنت نباشد. (برای مثال) 81 برای تغییر پورت آن را میشنود یا آن را برای عملکرد عادی رها میکند. این دستورالعمل را میتوان در فایل خود /etc/apache2/ports.conf یافت و تغییر داد.
دستور ServerName اختیاری است و مشخص میکند که وب سایت شما باید به چه FQDN پاسخ دهد. میزبان مجازی پیش فرض دستور ServerName مشخص نشده است، بنابراین به همه درخواستهایی که با دستور ServerName در میزبان مجازی دیگر مطابقت ندارند پاسخ میدهد. اگر به تازگیبه ثبت دامنه اقدام کردهاید و نام دامنه mynewsite.com را کسب کردهاید و میخواهید آن را در سرور اوبونتو خود میزبانی کنید، ارزش دستور ServerName در فایل پیکربندی میزبان مجازی شما باید mynewsite.com باشد. این دستورالعمل را به فایل میزبان مجازی جدیدی که قبلاً ایجاد کردهاید (/etc/apache2/sites-available/mynewsite.conf) اضافه کنید.
ویرایش فایل جدید در زمان نصب آپاچی apache
همچنین ممکن است بخواهید وب سایت به www.mynewsite.com پاسخ دهد؛ زیرا بسیاری از کاربران تصور میکنند که پیشوند www مناسب است. برای این کار از دستورالعمل ServerAlias استفاده کنید. همچنین میتوانید از کلمات wild در دستور ServerAlias استفاده کنید.
ServerAlias *.mynewsite.com
دستورالعمل DocumentRoot مشخص میکند که Apache2 کجا باید فایلهای تشکیل دهنده سایت را جستجو کند. مقدار پیش فرض /var/www/html است. همانطور که در /etc/apache2/sites-available/000-default.conf مشخص شده است. در صورت تمایل ، این مقدار را در فایل میزبان مجازی سایت خود تغییر دهید و به یاد داشته باشید که در صورت لزوم آن فهرست را ایجاد کنید!
VirtualHost جدید را با استفاده از ابزار a2ensite فعال کرده و Apache2 را راه اندازی مجدد کنید:
sudo a2ensite mynewsite
sudo systemctl restart apache2.service
نکتهای حائز اهمیت
حتماً mynewsite را با نام توصیف کننده تری برای VirtualHost جایگزین کنید. یک روش این است که نام فایل را از دستور ServerName VirtualHost نام ببرید.
به طور مشابه ، از ابزار a2dissite برای غیرفعال کردن وب سایت ها استفاده کنید. این می تواند هنگام عیب یابی مشکلات پیکربندی با چندین VirtualHosts مفید باشد:
sudo a2dissite mynewsite
sudo systemctl restart apache2.service
وب سرور caddy چیست؟
یکی از دیگر انواع مهم وب سرور ها، وب سرور caddy است که
به دلیل ویژگیهایی که دارد، میتواند گزینهی مناسبی برای میزبانی سایتها باشد؛ از جمله ویژگیها و امتیازات کدی سرور میتوان به مواردی که در ادامه عنوان میکنیم، اشاره کرد:
- دریافت و مدیریت خودکار گواهیهای TLS از Let’s Encrypt جهت فعال کردن HTTPS
- پشتیبانی از HTTP/2
نکتهای که لازم میدانیم در این نقطه به آن اشاره کنیم این است که در حال حاضر HTTPS به یک امر الزامی برای هر سیستم عاملی تبدیل شده است. بدین صورت که بدون استفاده از آن، در صورت ورود کاربر به وب سایت، موتورهای جستجو مانند کروم و فایرفاکس هشدار میدهند که وبسایت موردنظر ایمن نیست.
برای آشنایی بیشتر با این نوع وب سرور، پیشنهاد میکنیم از مطالب و محتوای مفید مقالهی وب سرور caddy چیست ، استفاده کنید.
وب سرور آپاچی چه مزایایی دارد؟
وب سرور آپاچی، با برخورداری از ویژگیهای فراوان، یکی از سرورهای وب محبوب و مورد اعتماد در دنیای تکنولوژی است. از جمله مزایای برجسته آن میتوان به موارد با اهمیت زیر اشاره کرد:
در ابتدا باید گفت که آپاچی به عنوان یک نرم افزار منبع باز و کاملاً رایگان ارائه میشود، حتی برای اهداف تجاری. این ویژگی مهمی است که این ابزار را برای توسعهدهندگان و کسبوکارها به یک گزینه اقتصادی و موثر تبدیل میکند.
همچنین، آپاچی به عنوان یک نرمافزار پایدار و قابل اعتماد شناخته میشود و دارای ساختار ماژول محوری است که امکان تغییر پذیری و افزودن ویژگیهای اختصاصی را فراهم میآورد.
تنظیمات امنیتی منظم و بهروزسانیهای دقیق و مداوم، از دیگر ویژگیهای ارزشمند این سرور وب هستند.
همچنین، آپاچی برای استفاده افراد مبتدی مناسب است و تنظیم ساده آن امکان استفاده حرفهای و آسان را برای همه کاربران فراهم میکند. این سرور بر روی پلتفرمهای مختلف از جمله سرورهای ویندوز و… کار میکند و بدون نیاز به تنظیمات خاصی با انواع وبسایتها، از جمله وبسایتهای وردپرسی، سازگاری دارد.
وجود یک جامعه بزرگ از توسعهدهندگان و پشتیبانی آسان و در دسترس، همواره به کاربران در حل مشکلات و بهرهبرداری بهتر از این سرور کمک میکند. به طور کلی، وب سرور آپاچی به عنوان یک گزینه قدرتمند و مطمئن برای هاستینگ وبسایتها شناخته میشود.
مقایسه وب سرور آپاچی و تام کت
Tomcat و Apache دو سرور معتبر و معروف در دنیای توسعه وب هستند، اما هر یک ویژگیها و کاربردهای مختلفی دارند. Tomcat به عنوان یک سرور وب ویژه برای اجرای برنامههای جاوا شناخته میشود، در حالی که Apache یک سرور HTTP کلی با امکانات گسترده است.
Tomcat به طور خاص برای برنامههای جاوا طراحی شده و به اجرای Servlets و JSP ها میپردازد. این سرور به توسعهدهندگان این امکان را میدهد که برنامههای پویا و پیچیده جاوا را اجرا کنند. از سوی دیگر، Apache به عنوان یک سرور HTTP چندمنظوره شناخته میشود و میتوان از آن برای اجرای انواع زبانها و اپلیکیشنهای وب استفاده کرد.
هر دو سرور از اهمیت بالایی برخوردارند، اما Tomcat به خاطر تمرکز خود بر روی جاوا برای برنامههای جاوا مورد استفاده قرار میگیرد. همچنین Tomcat به عنوان یک سرور وب برای اپلیکیشنهای پویا و مبتنی بر جاوا توصیه میشود، در حالی که Apache با کمک ماژولهای اضافی به طور گستردهتری مورد استفاده قرار میگیرد. بنابراین انتخاب بین این دو بستگی به نوع پروژه و نیازهای خاص شما دارد.
خدمات ابرآراز
ابرآراز یک شرکت معتبر و پیشرو در زمینه ارائه خدمات ابری میباشد. این شرکت با سالها تجربه و تخصص در زمینه محاسبات ابری، فضای ابری ایمن و کارآمدی ارائه میدهد. با بهرهگیری از سرورهای برتر و فناوریهای مدرن، ابرآراز به مشتریان خود امکان میدهد تا به راحتی و با اطمینان از خدمات محاسبات ابری با کیفیت بالا بهرهبرداری کنند. از ویژگیهای برجسته این شرکت میتوان به امنیت بالا، عملکرد عالی، پشتیبانی ۲۴ ساعته و انعطافپذیری در انتخاب پلنها اشاره کرد. ابرآراز با تعهد به ارائه خدمات مطمئن و بهروز در حوزه محاسبات ابری، انتخابی عالی برای تمامی نیازهای ابری مشتریان خود میباشد.
جمع بندی
وب سرور آپاچی یکی از پرکاربردترین و محبوبترین سرورهای وب در سیستمهای لینوکس است که برای ارائه صفحات وب به مشتریان استفاده میشود. این سرور وب معمولاً با سیستمهای مدیریت پایگاه داده مانند MySQL و زبانهای برنامهنویسی محبوب مانند PHP، Python و Perl ترکیب میشود. این ترکیب LAMP نامیده میشود و یک پلتفرم قدرتمند برای توسعه و اجرای برنامههای تحت وب ارائه میدهد. به عنوان راهکاری کارآمد برای ایجاد و مدیریت وبسایتها و برنامههای تحت وب، وب سرور آپاچی تاکنون نقش اساسی در جهان وب ایفا کرده است.