Uncategorized

راه اندازی وب سرور شخصی

راه اندازی وب سرور شخصی

یک وب سرور در اصل نرم افزاری هست که مستمرا بر روی یک کامپیوتر در حال اجرا می باشد و به سایر کامپیوتر ها این اجازه را می دهد تا اسناد و سایر موارد موجود و مجاز را از روی آن دانلود نمایند.
مثلا همین متونی که شما در حال حاضر مشغول مطالعه آن هستید از شبکه ای از اتصالات مابین سرورهای میزبان آپدیت بلاگ تا مرورگر شما گذرکرده انند و بر روی مانیتورتان در مقابل شما قرار گرفته اند. نمی دانم شانس این را داشته اید تا مجموعه ای از وب سرورها را ببینید یا نه! ولی اکثر وب سرور ها کمی عظیم و مرموز به نظر می رسند و وقتی مجموعه ای از آنها را در کنار هم برای اولین بار ببینید حتی ممکن است از عظمتشان کمی بترسید، ضمن اینکه اکثرا اتاق هایی که تعدادی انبوه از وب سرورها در آن قرار دارند از طریق تدابیر ویژه دمایشان معمولا پائین تر از شرایط عادی است، اما همه ی اینها دلیل نمی شود که شما فقط یک مصرف کننده یا یک کاربر عادی در رابطه با وب سرورها باشید، اگر پیش نیازهای لازم در اختیارتان باشد می توانید یک وب سرور در اتاق خوابتان داشته باشید و گزینه راه اندازی وب سرور شخصی را تجربه کنید!!
هر چند مطمئن هستم در ایران ۹۵ درصد کسانی که این مقاله را می خوانند شانس انجام چنین کاری را ندارند ولی مطمئنا اگر فرد علاقه مندی هستید خواندن این پست حاوی مطالب و نکات آموزنده بسیاری برای شما خواهد بود.(پس کسانی که علاقه مند هستند به خواندن ادامه دهند سایر دوستان هم خداحافظشان
راه اندازی وب سرور خانگی یا اصطلاحا Home Server در کشور هایی که مردمش مثل مردم ما در دسترسی به اینترنت با هزار و یک مشکل مواجه نیستند و برای خریداری سرویسهای اینترنتی نه چندان مطلوب نبایستی قیمت های عجیب و غریبی پرداخت کنند بسیار امر ساده و متداولی است، و حتی خاطرم هست در جایی خواندم اولین سرور میزبان گوگل در اتاق خواب یکی از دو موسس آن یعنی لری پیج و سرگی برین بوده است. اما چرا چنین کاری در کشورهای پیشرفته متداول است؟ بعضی ها در خانه یک وب سرور شخصی راه اندازی میکنند چون نیاز دارند به فایلهای موجود بر روی کامپیوتر خانگی شان همیشه و از همه جا دسترسی داشته باشند، یا عده ای دیگر یک وب سرور شخصی دارند تا فایلهایی خاص را با سایر دوستان، آشنایان یا افراد پروژه ای که بر روی آن مشغول به کار هستند به اشتراک بگذارند و از همه مهم تر کسانی که اطلاعات فنی بالایی دارند و در برخی موارد ترجیح می دهند مثلا سایت یا وبلاگ ویا… خودشان را روی سرور شخصی خودشان در خانه اشان میزبانی کنند و یا مثلا بسیاری از کسانی که صاحب بیزنس های کوچک الکترونیکی هستند در خیلی از موارد از وب سرورهای شخصی و خانگی استفاده می کنند تا بتوانند سطوح امنیتی بالاتری برای مشتریانشان پدید آورند. در این پست قصد دارم به شما نشان دهیم که چطور می توانید یک وب سرور خانگی را خودتان بدون نیاز به هیچکسی راه اندازی نمائید و مثلا فایلهای MP۳ خود را از طریق آن با سایر افراد و دوستان و آشنایانی (که پسورد لازم و صحیح را در اختیار دارند) به اشتراک بگذارید.
البته لازم به ذکر است: پیاده سازی یک سرور خانگی کار ساده ای نیست و خطرات خاص خودش را داراست و لازم است برای امنیت خودتان و فایلهایتان حتما کامپیوتری را که می خواهید تبدیل به سرور کنید را با آخرین پیکیج ها و وصله های امنیتی به روز رسانی نمائید، و از آن مهم تر اینکه قبل از هر چیزی اطمینان حاصل کنید تا سیستم تان آلوده به ویروس یا هر نوع فایل مخرب دیگری نیست. حرف آخر هم اینکه این راهنما برای کسانی است که یک سری موارد پایه را راجع به شبکه و… میدانند و البته اگر قصد عملی کردنش را دارند بایستی این امکان را داشته باشند تا پورت ۸۰ را بر روی کامپیوترشان به منظور سرویس دهی به سایر کامپیوترهای موجود بر روی شبکه باز بگذارند.
● مواد لازم:
۱) یک PC تحت ویندوز
۲) یک خط دائم اینترنت (نوع ارتباط فرقی نمی کند DSL یا Cable و یا… اما سرعت و پهنای باندش شدیدا اهمیت دارد)
▪ گام اول
نصب Apache HTTP Server
قبل از هر چیز اینکه چرا Apache HTTP Server؟ از آنجایی که حداقل من یکی دارم کم کم خودم را به نرم افزارهای قانونی و غیر کرک شده عادت میدهم پس Apache یک گزینه ی خوب است، چون هم رایگان است هم پایداری و ثبات نسبتا بالایی داراست.
اما بپردازیم به کار اصلی مان، در ابتدا و قبل از هر چیزی، هر نوع فایروال و یا نرم افزار سرور دیگری که روی سیستم شما اجرا شده است را غیر فعال کنید، چیزهایی مثل فایروال ویندوز، Skype، Trillian یا هرانرم افزار IM دیگری. انجام اینکار بسیار مهم است زیرا اینگونه ابزارها در ادامه می تواند سبب ایجاد اشکال در مراحل نصب و راه اندازی سرور شوند و البته ناگفته نماند موارد مذکور می توانند مانند گذشته بعد از پایان عملیات نصب و راه اندازی سرور مورد استفاده قرار گیرند.
بعد از انجام موارد مذکور بایستی فایل نصاب Apache HTTP Server را دانلود نمائید، فایل مورد نظر برای نصب این نرم افزار را بایستی از این دایرکتوری (برای ویندوز) دانلود کنید، فایلی که من دانلود کردم نامش apache_۲.۲.۶-win۳۲-x۸۶-no_ssl.msi بود که فکر کنم فعلا آخرین نسخه برای نصب روی ویندوز است. بعد از دانلود مراحل نصب را از طریق اجرای فایل نصاب آغاز نمائید. توافق نامه ی نرم افزار را تائید نمائید و فراموش نکنید در حین انجام مراحل نصب محل نصب را همان پیش فرض خود نرم افزار یعنی:
C:Program FilesApache Software FoundationApache۲.۲
انتخاب کنید. وقتی به تصویر زیر در حین نصب کردن رسیدید (بعد از تائید توافقنامه) ابتدا آدرس ایمیل خودتان را در بخش مربوطه و بعد هم عبارت homeip.net را در بخش مرتبط به اطلاعات نام دامنه یا همان domain وارد کنید (فرقی ندارد چه نام دامنه یی اینجا می دهید من فقط برای سادگی قضیه این نام را داده ام)، مثل تصویر زیر:
بعد از وارد کردن این اطلاعات و زدن کلید next عملیات نصب را تا انتها با استفاده از گزینه ی Typical installation ادامه دهید. وقتی نصب تمام شد برای اطمینان حاصل پیدا کردن از موفقیت نصب، مروگر خود را باز کنید و در داخل نوار آدرس آن http://localhost را وارد کنید، اگر عبارت !it Works در مقابل شما ظاهر شد بدانید نصب وب سرور Apache بر روی سیستم شما به درستی صورت پذیرفته است و شما کارتان خیلی درست می باشد :-)! اما ممکن است بعضی از افراد در این مرحله با پیغام خطایی با این عنوان:
Only one usage of each socket address (protocol/network address/port) is normally permitted. : make_sock: could not bind to address ۰.۰.۰.۰:۸۰ no listening sockets available, shutting down. Unable to open logs;
مواجه شوند. این پیغام خطا یعنی یک برنامه ی سرور مشابه مثل Skype و یا… با Apache دچار تداخل شده است برای اینکه بدانید چه برنامه ای مزاحم کارتان شده Command Prompt را باز می کنید (توضیح واضحات: برای باز کردن Command Prompt گزینه ی Run درون start menu را انتخاب کنید و بعد دستور cmd را درش وارد کنید) و خط دستور netstat -a -o را وارد کنید، PID یا همان Process ID برنامه ای که بر روی سیستم شما در حال استفاده از پورت ۸۰ یا HTTP است را بیابید.
اکنون بروید سراغ Task Manager از منوی View گزینه ی Columns را انتخاب کنید و کنار عبارت PID تیک بزنید در آخر کار PID برنامه یی را که در بالا یافتید را در قسمت Process بیابید و آن را End کنید و بعد مجداد نصب Apache را امتحان کنید اینبار نباید مشکل خاصی باشد.
▪ گام دوم
تنظیم کردن Apache برای به اشتراک گذاری اسناد و فایل ها از فولدر مورد نظر.
خوب که خوب! 🙂 حالا برای مثال می خواهیم فایلهای موسیقی مورد نظرمان را از طریق وب سروری که خودمان قصد راه اندازی اش را داریم برای دیگران قابل دریافت یا قابل دانلود نمائیم. فرض ما بر این است همه ی فایلهایی که قصد داریم به اشتراک بگذاریم در فولدر C:My Music قرار گرفته اند. با استفاده از یک ویرایشگر متن مثل نت پد فایل httpd.conf را که در آدرس:
C:Program FilesApache Software FoundationApache۲.۲conf
قرار گرفته است را باز کنید. این فایل در اصل فایل تنظیمات Apache است که در نگاه اول به نظر مقداری طولانی و ترسناک میرسد، اما اکثر موارد پیش فرض در آن به درستی کار می کنند و فقط کافی است ما چند مورد خاص را تغییر دهیم.
در فایل httpd.conf خطی که با DocumentRoot آغاز می شود را بیابید در ابتدای آن یک علامت # اضافه کنید و بعد هم خط دیگری در زیرش باید وارد کنید و نتیجه کارتان باید چیزی شبیه به آنچه که در زیر آورده شده است باشد:
#DocumentRoot C:/Program Files/Apache Group/Apache۲/htdocs;
DocumentRoot ;C:/My Music;
سپس در همان فایل بگردید به دنبال عبارت <Directory C:/Program (از همین جا کپی پیستش کنید چون به علت راست به چپ بودن متن بر عکس نمایش داده شده است) در ابتدای این خط هم باز بایستی یک علامت # وارد کنید و بعد یک خط جدید در زیرش بنویسید، نتیجه ی کار باز بایستی مشابه این باشد:
#<Directory ;C:/Program Files/Apache Group/Apache۲/htdocs;>
<Directory ;C:/My Music;>
چیزی حدود ۲۰ خط پائین تر از عبارت بالا بایستی عبارتی دیگر با عنوان زیر بیابید.
AllowOverride None
و بعد آن را به شکل زیر تغییر دهید:
AllowOverride All
مراحل فوق را که گذراندید فایل httpd.conf را ذخیره کنید. روی آیکون Apache در Taskbar کلیک کنید و گزینه ی Restart را انتخاب نمائید اگر آپاچی Restart شد معنی و مفهومش این است که تنظیمات را به درستی انجام داده اید، حالا آمدیم و Restart نشد چه کنیم!؟ صد در صد یک اشتباه تایپی در کارتان است برگردید سراغ فایل httpd.conf و تنظیمات را از اول چک کنید ببینید کجا اشتباه کرده اید. در نهایت وقتی Apache به صورت موفقیت آمیز Restart شد بروید سراغ مرورگر گرامی و مجدد در نوار آدرسش http://localhost را وارد کنید، اینبار بایستی بتوانید لیستی از فایل های موسیقی موجود در داخل دایرکتوری My Music در درایو C را در مرورگرتان مشاهده کنید.
▪ گام سوم. ایجاد کلمه ی عبور برای دسترسی به اسناد موجود بر روی وب سرور
در شرایط بالا هر کسی می تواند به فایلهای موسیقی موجود بر روی سرور شما دسترسی داشته باشد و آنها را دانلود کند و اگر بخواهید این شرایط را حفظ کنید لازم است خط اینترنتی با پهنای باند خیلی خیلی بالا در اختیار داشته باشید، لذا می توانیم برای دسترسی افراد به فایلهای موجود روی سرورمان کلمه ی عبور یا همان پسورد تعریف کنیم.
برای تعریف کردن پسورد مجددا Command Prompt را باز می کنیم و آن را به دایرکتوری bin سرور Apache با تایپ آنچه در زیر آورده شده است هدایت می کنیم:
;C:Program FilesApache Software FoundationApache۲.۲in;
و سپس یک فایل پسورد می سازیم:
htpasswd -c ;C:Documents and Settingsmy_password_file.txt; reza
می توانید مسیری که برای ساخت فایل پسورد در بالا آورده شده است را تغییر دهید (فراموش نکنید فایل باید حتما در یکی از دایرکتوری های موجود در document root وب سرورتان قرار گیرد) و همینطور می توانید جای reza هر نام کاربری دیگری که می خواهید جایگزین کنید، بعد از تایپ خط مذکور از شما پسورد مورد نظرتان تقاضا می شود و بایستی آن را دو بار وارد کنید. با گذرندان این مراحل فایل حاوی رمز عبور که رمزنگاری و کد شده هم هست ساخته می شود.
اما اکنون وقتش رسیده این امکان را پدید آوریم تا افراد قادر باشند با داشتن نام کاربری و کلمه عبور بالا بتوانند به وب سرور شما لاگین کنند لذا در یک ویرایشگر متن ترجیحا نت پد یک فایل جدید باز کنید و آنچه در زیر آورده شده است را در آن وارد کنید:
AuthType Basic
AuthName ;This is a private area, please log in;
AuthUserFile ;c:Documents and Settingsmy_password_file.txt;
AuthGroupFile /dev/null
<Limit GET POST PUT>
require valid-user
</Limit>
اطمینان حاصل کنید در متون بالا بخش c:Documents and Settingsmy_password_file.txt را با مسیر فایل پسوردی که ساختید آدرس دهی کرده باشید سپس این فایل را با نام:
.htaccess
در DOCUMENT ROOT وب سرور خود که در اینجا C:My Music است در ذخیره کنید. (نقطه ی ابتدایی را نامگذاری فراموش نکنید)
نکته: اگر از نت پد برای ساخت این فایل استفاده می کنید در هنگام ذخیره سازی فایل نام آن را به صورت:
;.htaccess;
وارد کنید در این شرایط پسوند txt. از انتهای فایل حذف می شود، در صورت وجود پسوند مذکور پسورد و بخش لاگین شما کار نخواهند کرد.
حالا باز سراغ مروگر بروید و نوار آدرس http://localhost را وارد کنید اینار بایستی از شما نام کاربری و پسورد مطالبه شود و با وارد کردن نام کاربری و پسوردی که پیشتر تعریف کرده اید بایستی بتوانید به فایل های مورد نظرتان دسترسی پیدا کنید.
▪ گام چهارم
تبریک! وب سرور خانگی شما آماده است.
اگر در پشت فایروال و سایر موارد نباشید می توانید با وارد کردن آدرس IP کامپیوتر سرورتان در نوار آدرس مرورگر از سایر کامپیوتر ها به آن دسترسی داشته باشید. اگر هم IP خودتان را نمی دانید از مرورگر کامپیوتر وب سرورتان یک سری به سایت IP من چیست؟ بزنید تا از آن مطلع شوید بعد مثلا اگر IP شما عدد nn.nn.nnn.nnn بود بایستی آن را در نوار آدرس مرورگرتان به صورت http://nn.nn.nnn.nnn تایپ کنید تا به وب سرورتان دسترسی پیدا نمائید.
ـ پ.ن.۱: اگر هم در پشت فایروالی قرار دارید که مرتبط به خودتان است و پورتها را بلوکه کرده (مثلا یک wireless router) لازم است پورت ۸۰ را بر روی آن باز کنید و سپس آن را بر روی کامپیوترتان فوروارد کنید. خود این قضیه داستان مفصلی دارد که بعدا اگر فرصت و عمری باقی بود در موردش بحث خواهیم کرد.
ـ پ.ن.۲: می شود یک نام دامنه یا همان Domain هم به این وب سرور متصل کرد که این مبحث را هم به آینده موکول می کنیم. (همان عمری بود و این حرفا)