اطلاعیه

Collapse
No announcement yet.

وبسایت در خانه!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    وبسایت در خانه!

    وبسایت در خانه!
    این از اون کارهایی بود که همیشه دوست داشتم انجام بدم،
    با این راهنما شما میآ‌تونید یک وبسایت یا هر سرویس دهندهٔ دیگری مثل Git در اتاق خودتون داشته باشید و از طریق اینترنت قابل دسترسی باشه

    وسایل مورد نیاز:
    * یک خط متصل به اینترنت (مثلا ADSL)
    * یک روتر که قابلیت Port Forwarding داشته باشد و در ورودی اینترنت باشد. ترجیحا مودم از Dynamic DNS هم پشتیبانی کند (مثلا مودم DLink DSL2640)
    * یک کامپیوتر
    * یک اکانت در DynDns.com

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


    حالا فرض کنید شما قصد دارید از اینترنت به پورت وب (پورت ۸۰) اون کامپیوتری که در اتاق شما هست متصل بشید. حالا چون اون کامپیوتر فقط یک IP داخل شبکهٔ محلی داره، نمیآ‌شه از طریق اینترنت بهش متصل شد. اما مودم ADSL ما یک همچنین IPای داره و از طریق اینترنت قابل دسترس هست. حالا ما میآ‌تونیم روتر رو طوری تنظیم کنیم که اگر مثلا درخواستی برای پورت شمارهٔ ۸۰۸۰ اون اومد، سر درخواستو کج کنه به سمت پورت ۸۰ از کامپیوتر شما.
    حالا سوال اینجاست که چرا درخواست به پورت ۸۰ روتر رو به پورت ۸۰ کامپیوترمون فوروارد نکنیم؟
    جواب اینکه پورت ۸۰ روتر ممکنه توسط وبآ‌سرور داخلی روتر اشغال باشه، برای همین ما باید یک پورت آزاد رو برای اینکار اختصاص بدیم. پورتهای بالاتر از ۱۰۲۴ ترجیح داده میشه.

    پس الان دست به کار میشیم و این Rule رو در مودم خودمون تنظیم میآ‌کنیم. حالا نحوهٔ انجام اینکار در هر مودمی فرق میآ‌کنه ولی اصل کار یکی هست. یعنی ما باید درخواست به پورت ۸۰۸۰ رو به سمت کامپیوتری با آیآ‌پی 192.168.1.5 و به پورت شمارهٔ ۸۰ اون بفرستیم.
    در مودم من که از نوع DLink DSL2640-T هست، همچین صفحهآ‌ای برای در اختیارم گزاشته :


    ایجاد Rule مورد نظر :


    حالا مودم رو ریست میآ‌کنیم تا تنظیمات اعمال بشه.
    بعد از روشن شدن مودم و متصل شدن به اینترنت برای اطمینان از درست بودن تنظیمات انجام شده، کارهای زیر رو انجام میدیم :
    * آدرس IP اتصال اینترنتونو بدست میاریم. اینو میتونید از صفحهٔ وضعیتی که مودم بهتون میده بدست بیارید، یا از این لینک استفاده کنید. (اتصال بدون واسطه داشته باشید!)

    حالا یک صفحهٔ سادهٔ HTML مثلا بنام index.html بسازید و در دایرکتوری ریشهٔ وب در کامپیوتر سرویس دهندهٔ خودتون (192.168.1.5) بسازید و آدرسش رو به یک دوست بدید و ازش درخواست کنید که به اون لینک بره و ببینه که چی میبینه مثلا اینطوری :
    http://YourIP:8080/index.html

    اگر صفحهٔ ساختهٔ شدهٔ شمارو دید، تا اینجای کار رو درست انجام دادید.
    ولی هنوز کار تموم نشده و یک مشکل داریم! اینکه IP مادر هر اتصال تغییر میآ‌کنه و ما نمیآ‌تونیم مظمئن باشیم که سرور ما همیشه با یک آدرس قابل دسترسی هست :(
    دو راه برای حل این مشکل هست :
    * روش هزینهآ‌دار: خرید یک IP استاتیک
    * روش مجانی : استفاده از سرویسآ‌های Dynamic DNS

    سرویس Dynamic DNS این امکان رو به کاربران میده که بتونن یک Domain داشته باشن و IPای که به اون دامنه لینک شده قابل تغییر هست. به اینصورت که خود مودم هربار که IPش تغییر کنه، IP جدید رو به سرور Dynamic DNS اطلاع میده و رکورد مربوط به دامنهٔ ما در پایگاه دادهٔ سرویس دهندهٔ Dynamic DNS پدیت میشه و به IP جدید ما لینک میشه.
    از معروفترین سرویس دهندهآ‌های Dynamic DNS میشه به DynDns.com اشاره کرد. خیلی از مودمهای ADSL از این سرویس دهنده پشتیبانی میآ‌کنن.
    پس باید ابتدا یک اکانت در این سایت بسازید و username/password بعلاوهٔ یک Hostname دلخواه انتخاب کنید. البته dyndns.com چندین سرویس ارائه میده که بعضی هاش پولی هستن و یک حالتش مجانی که امکانات کمتری نسبت به سرویسآ‌هاس پولیش در اختیاز میزاره. ولی برای شروع همون سرویس مجانیش هم کار راهآ‌انداز هست
    بعد از اینکه اکانت رو ساختید، وارد حساب خود بشید و به قسمت My Services>Add Host Services برید:


    اطلاعات لازم رو پر کنید :


    در مورد Hostname، یک اسم دلخواه برای خودتون انتخاب کنید. مثلا yourname.dyndns.com یا yourname.dyndns-home.com.
    سپس به صفحهٔ تنظیمات مودم خودتو برید و اطلاعات حساب dyndns خودتون رو با دقت وارد کنید و مودم رو ریبوت کنید :


    خب کار تموم هست، حالا میتونیم مطمئن باشم که همیشه Hostname انتخابی ما به IP فعلی مودم لینک هست و میتونیم به این طریق بهش دسترسی داشتخ باشیم :
    http://hostname:8080

    کامپیوتری که من برای سرور استفاده کردم یک سیستم ARM هست بنام mini2440 که قبلا همینجا در موردش مطلب نوشتم. یک سیستم ارزان قیمت و کم مصرف که همیشه روی میزم روشن هست و خدمات دهی میکنه عکسهایی هم که توی این صفحه هست روی همین سرور قرار داره، پس اگر تصویری نمیآ‌بینید بدونید که ی بلایی سرش اومده
    یک CMS ساده هم روش نصب کردم که میتونید از آدرس زیر ببینیدش :
    http://hamid.dyndns-home.com:8080/cmsimple

    منتظر کارهای جالبتری با این سرور باشید، مثل ارسال تصویر وبآ‌کم
    چگونه هوشمندانه بپرسیم

    #2
    پاسخ : وبسایت در خانه!

    فکر کنم عبارت "وب سرور " مناسب تر باشه.

    دیدگاه


      #3
      پاسخ : وبسایت در خانه!

      و با اجازتون یه چیز رو هم من اضافه کنم!
      اینکه بعضی سرویس دهنده ها مثل شاتل برای امنیت بیشتر پورت سند پورت 80 رو کلا برای شما میبندند! یعنی کسی نمیتونه درخواستی روی پورت 80 برای مودم شما بفرسته(برای اینکه ممکنه بتونه به صفحه کانفیگ مودم افرادی که رمز درست و حسابی ندارن وارد بشه و ..)برای همین لازمه دقیقا بر عکس کاری که الان اقای رستمی گفتن رو انجام بدید! یعنی پورت مثلا 8080 پابلیک رو روی 80 سیستم خودتون نت یا پورت فورواردینگ کنید
      و وقتی دارید ای پی خودتون رو توی DNS سرورتون وارد میکنید اگه پورت قبول میکنه پورت بدید وگرنه جلوی ای پی : بزارید و پورت رو بنویسید و اگه از این دی ان اس های رایگان استفاده میکنید و هیچ کدام از گزینه ها رو ندارید باید برای دسترسی به وب سرور تون(البته پرتکل http اش) :8080 بگذارید
      (: رو باید سمت چپ عدد بگذارید به خاطر مشکل ویرایشگر افتاده اونور)
      در ضمن با این کار فقط میتونید روی پورت 80 یا پرتکل http به وب سرور دسترسی داشته باشید برای کار های دیگه میتونید طبق آموزش اقای رستمی پورت های مربوط به پرتکل های دیگه رو هم نت بزنید) البته صفحه کانفیگ مودم ها فرق داره بعضی ها پرتکل های استاندارد رو به صورت اماده کانفیگش رو دارن و فقط باید فعالش کنید)

      دیدگاه

      لطفا صبر کنید...
      X