وب سرور محلی چیست و چگونه راه اندازی کنیم؟

تاریخ انتشار خبر : 1400 دی 25

وب سرور محلی چیست و چگونه راه اندازی کنیم؟

 

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

در ادامه این مطلب از شرکت دیجیتال مارکتینگ و طراحی سایت ایده پویا برای آشنایی با ویژگی‌ها و نحوه ایجاد سرور وب محلی ما را همراهی کنید.

 

ویژگی و کاربرد سرور محلی

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

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

برای اینکه توسعه‌دهندگان و طراحان وب بتوانند قبل از قرارگیری محتوای داینامیک روی اینترنت آن را امتحان کنند، به راه‌اندازی یک سرور وب محلی تست نیاز دارند.

 

نکات مهم برای راه اندازی سرور محلی

راه‌اندازی سرور محلی برای تست محتوای داینامیک وبسایت‌ها نیاز به آشنایی با زبان‌های برنامه‌نویسی تحت وب و همین‌طور سروهای وب دارد. نصب آپاچی روی ویندوز به‌صورت محلی امکان‌پذیر نیست و برای این کار لازم است از بسته‌های نرم‌افزاری مناسب ویندوز مانند XAMPP استفاده شود. این بسته نرم‌افزاری با نصب آپاچی، MySQL و PHP روی ویندوز کار اجرای کدهای داینامیکی که برای این فریم‌ورک‌ها نوشته شده باشند به‌صورت محلی را ساده می‌کند.

یکی از ساده‌ترین راه‌ها برای اجرای محلی فایل‌های محتوای ایستا که حاوی درخواست‌های Async هستند استفاده از ماژول http.server پایتون 3 (و SimpleHTTPServer در پایتون 2) است. اما این ماژول با تمام سادگی و کارایی در اجرای فایل‌های حاوی درخواست‌های asynchronous ، برای اجرای کدهای سمت سرور و محتوای داینامیک مناسب نیست و با توجه به زبان مورد استفاده لازم است فریم‌ورک مناسب به‌صورت محلی نصب شود.

 

سرور وب محلی

 

چگونه یک وب سرور محلی درست کنیم؟

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

 

نصب XAMPP برای نصب محلی وب سرور آپاچی روی ویندوز

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

کاربران ویندوز اما برای استفاده اجرای فایل‌های وب از روی کامپیوتر به‌صورت محلی نیاز به نصب آپاچی از طریق بسته‌های نرم‌افزاری دارند که XAMPP با پشتیبانی از زبان برنامه‌نویسی PHP و Perl و پایگاه داده یکی از بهترین و کاربردی‌ترین نمونه‌های آنها است. برای نصب وب سرور آپاچی روی ویندوز و اجرای کدهای PHP و پرل کافی است مراحل زیر را انجام دهید:

  • دانلود XAMPP از وبسایت این بسته نرم‌افزاری
  • اجرای فایل نصب بسته
  • در هنگام نصب انواع گزینه‌ها و امکانات این بسته برای انتخاب نمایش داده می‌شود. سرور وب آپاچی، زبان‌های برنامه‌نویسی سمت سرور و پایگاه داده MySQL از جمله گزینه‌هایی هستند که با انتخاب در این مرحله روی کامپیوتر نصب می‌شوند. بعد از انتخاب گزینه‌های مورد نظر با کلیک روی Next کار نصب سرور وب محلی ادامه انجام می‌شود.
  • با نصب شدن امکانات نرم‌افزاری سرور مورد نیاز روی دکمه Finish کلیک شود
  • بعد از نصب و کلیک روی Finish کنترل پنل XAMPP باز می‌شود. برای انتخاب گزینه‌های نرم‌افزاری بسته کافی است دکمه Start که مقابل آنها نمایش داده می‌شود انتخاب و کلیک شود
  • با نصب XAMPP روی ویندوز، برای وارد شدن به صفحه تنظیمات سرور محلی کافی است در کروم یا مرورگر وب localhost یا 0.0.1 وارد شود
  • آدرس روت اسناد محلی c:\xampp\htdocs\ است

 

ایجاد یک وب سرور محلی ساده پایتون

نصب بسته نرم‌افزاری XAMPP و نصب محلی وب سرور آپاچی برای اجرای بسیاری از فایل‌هایی که برای آپاچی طراحی شده‌اند و در حالت عادی از روی کامپیوتر در مرورگر باز نمی‌شوند کافی است. اما این بسته نرم‌افزاری برای اجرای درخواست‌های Async یا فایل‌هایی که حاوی زبان‌های برنامه‌نویسی وب به غیر از PHP و پرل هستند کارایی ندارد. زبان برنامه‌نویسی پایتون که به سادگی و کارایی بالا شهرت دارد راهکار ساده دیگری برای ساخت وب سرور محلی ارائه می‌دهد.

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

  • وارد محیط برنامه‌نویسی پایتون شده و از طریق فرمان cd فولدری که فایل‌های HTML در آن قرار دارند و سرور لازم است در آنجا نصب شود مشخص شود (cd Desktop برای نصب روی دسکتاپ)
  • برای نصب سرور محلی فرمان python3 -m http.server وارد شود
  • این کار باعث می‌شود به‌صورت پیش‌فرض فایل‌های فولدر انتخاب شده روی سرور محلی وب روی پورت 8000 اجرا شوند
  • برای دسترسی به سرور وب محلی از طریق مرورگر کافی است در نوار آدرس localhost:8000 وارد شود
  • فایل‌های HTML که در فولدر مشخص شده‌اند حالا در مرورگر نمایش داده می‌شوند و با کلیک روی آنها از روی وب سرور محلی باز و اجرا می‌شوند

روش ایجاد سرور وب محلی از طریق ماژول http.server پایتون با وجود سادگی فقط برای اجرای فایل‌های سرور ایستا (Static) کارایی دارد. به عبارت دیگر برای اجرای محلی فایل‌های HTML که حاوی کدهایی به زبان‌های برنامه نویسی تحت وب مانند جنگو و فلسک پایتون، PHP و جاوااسکریپت باشند لازم است فریم‌ورک‌های مربوطه روی سیستم نصب شوند.

 

راه اندازی سرور محلی

 

امنیت سرور محلی خود را بالا ببرید

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

استفاده از پسورد مناسب

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

محدود کردن Request Object به localhost

زبان‌های برنامه‌نویسی تحت وب مثل جنگو، PHP و جاوااسکریپت از فرمان Request Object برای اجرای درخواست کاربران به دسترسی به فایل‌های HTML استفاده می‌کنند. برای جلوگیری از هر نوع دسترسی به فایل‌هایی که روی سرور محلی وب قرار گرفته‌اند بررسی کردن Request Object و محدود کردن هر نوع درخواستی که از localhost نباشد توصیه می‌شود.

محدود کردن Request Object به localhost

زبان‌های برنامه‌نویسی تحت وب مثل جنگو، PHP و جاوااسکریپت از فرمان Request Object برای اجرای درخواست کاربران به دسترسی به فایل‌های HTML استفاده می‌کنند. برای جلوگیری از هر نوع دسترسی به فایل‌هایی که روی سرور محلی وب قرار گرفته‌اند بررسی کردن Request Object و محدود کردن هر نوع درخواستی که از localhost نباشد توصیه می‌شود. 

بیشتر بخوانید؛ روش های افزایش امنیت سرور

 

جمع‌بندی

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

اگر از سرور وب آپاچی و زبان PHP برای ارائه محتوای وبسایت استفاده می‌شود، استفاده از بسته نرم‌افزاری XAMPP می‌تواند راهگشا باشد و فایل‌ها به راحتی از طریق سرور محلی در مرورگر باز و اجرا شوند. با توجه به محبوبیت گسترده سرور وب آپاچی این روش در بسیاری از موارد مشکل باز نشدن فایل‌های محتوای داینامیک را حل می‌کند.

 

خدمات دیجیتال مارکتینگ

 

  • 364
  • 0
نظرات کاربران (0)
ثبت نظر