وبسایت در خانه!
این از اون کارهایی بود که همیشه دوست داشتم انجام بدم،
با این راهنما شما میآتونید یک وبسایت یا هر سرویس دهندهٔ دیگری مثل 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
منتظر کارهای جالبتری با این سرور باشید، مثل ارسال تصویر وبآکم
این از اون کارهایی بود که همیشه دوست داشتم انجام بدم،
با این راهنما شما میآتونید یک وبسایت یا هر سرویس دهندهٔ دیگری مثل 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
منتظر کارهای جالبتری با این سرور باشید، مثل ارسال تصویر وبآکم

دیدگاه