وب سرور، سخت افزار یا نرم افزاری است که محتوای وب سایت را از طریق اینترنت در دسترس کاربران قرار می دهد.
ارتباط بین وب سرور و Client ها به کمک پروتکل Hypertext Transfer Protocol یا همان HTTP معروف میسر می گردد.
متداول ترین پروتکلی که برای انتقال اطلاعات از آن استفاده می شود، پروتکل HTTP است. در واقع شما با وارد نمودن آدرس سايت درخواست خود را به وسيله اين مرورگرها براي سرور ارسال نموده ايد. مرورگرها اين درخواست شما را براي مشاهده سايت به سرور انتقال مي دهند و با مشاهده سايت، سرور به درخواست شما پاسخ داده است.
پروتکل HTTP به عنوان پروتکلی سریع، قوی و با بار کم بر روی CPU و حافظه سرور طراحی شده است و البته برای جلوگیری از کاهش پیدا کردن کارایی وب بر اثر استفاده بسیار زیاد از این پروتکل، باید کارایی اش را بهینه سازی کرد. بنابراین وب سرور در کنار سرویس DNS یکی از اصلی ترین ارکان هر سرور به شمار می رود و بدون وجود آن امکان باز کردن صفحات وب در اینترنت غیر ممکن است.
سرورها با كاربري مختلف و داراي اطلاعات متفاوت مي باشند. در زير تعدادي از سرورها و كاربري آنها ذكر شده است:
فايل سرور FTP Server
ميل سرور Mail Server
دايركتوري سرورDNS) Direcrory Name Server)
وب سرور Web Server
در این مقاله می خواهیم موارد کلی مورد نیاز برای کانفیگ یک وب سرور لینوکس را مورد بررسی قرار دهیم.
اساساً کار یک وب سرور مثل آپاچی بر اساس یک زبان برنامه نویسی PHP و یا Perl، پایگاه داده MySQL است.
یک سری موارد برای برطرف کردن نیاز کاربران روی وب سرور می بایست نصب شود زبان هایی مانند: جاوا، PHP، سی پلاس پلاس، دات نت، و بسیاری موارد دیگر. و نکته مهم این است که شما باید بدانید برای نوشتن برنامههای کاربردی چه زبانی را انتخاب کنید، که این برنامه کاربری باید بر روی مرورگر هم اجرا شود.
تنظیمات پیش فرض در وب سرور ها معمولا برای تعداد کانکشن های بالا و ترافیک سنگین وب سایت های شلوغ جوابگو نیست و وب سرور می بایست بر اساس نیاز های هر سایت یا سرور کانفیگ و پیکر بندی شود. در صورت عدم کانفیگ صحیح و حرفه ای وب سرور، سرعت لود شدن وب سایت ها کاهش چشم گیری خواهد داشت و وب سرور زیر بار و ترافیک سنگین تا حد قطع شدن سرور و حتی باعث ایجاد اختلال در عملکرد پایگاه داده MySQL خواهد شد.
توجه داشته باشید که وب سرور در هر لحظه در حال تعامل با پایگاه داده و PHP در سرور های لینوکس می باشد. یکی از نکات بسیار مهم در مقوله کانفیگ وب سرور های لینوکسی، انتخاب هندلر PHP مناسب و تنظیمات وابسته به آن بر اساس نیاز های سرور و همچنین نوع وب سرور مورد نظر است.
برای کانفیگ یک وب سرور لینوکس به موارد اساسی زیر نیاز خواهیم داشت:
نصب سیستم عامل لینوکس
نصب Apache و پیکربندی آن
نصب PHP و پیکربندی آن
نصب MySQL و پیکربندی آن
نصب و پیکربندی PHPMyadmin
نصب وب سرور LightHttp و پیکربندی آن
نصب کنترل پنل
نصب LiteSpeed و انجام تنظیمات
نصب فایروال
برای نصب وب سرور آپاچی، شما نیاز به اتصال اینترنت دارید. پس از اتصال لینوکس سرور خود به اینترنت، توسط دستور زیر می توانید نصب آپاچی را آغاز کنید:
sudo apt-get install apache2
پس از اتمام مراحل نصب، سروییس به صورت خودکار و با تنظیمات پیش فرض راه اندازی می شود.
مسير قرار گرفتن فايل های مربوط به تنظيمات Apache با توجه به نسخه آن می تواند بسيار متفاوت باشد. اما به صورت معمول آنها فايل های مربوط به تنظيمات را در ServerRoot و تمام اسناد HTML را در DocumentRoot نگهداری می کنند. فايل های مربوط به تنظيمات وب سرور Apache نيز به صورت پيش فرض در دايرکتوری /usr/local/apache/conf قرار گرفته اند، که البته اين مورد نيز بر اساس نسخه لينوکس متفاوت می باشد.
درون دايرکتوری تنظيمات پنج فايل اصلی قابل مشاهده است :
فايل httpd.conf که حاوی تنظيمات عمومی سرور می باشد.
فايل access.conf که تنظيمات مربوط به ميزان دسترسی به هر دايرکتوری در آن نگهداری می شود.
فايل mime.type که حاوی تعريف انواع مختلف فايل بر اساس پسوندهای متفاوت آنهاست.
فايل magic که حاوی تعريف انواع مختلف فايل بر اساس محتويات فايل ها می باشد.