نوشته های یک برنامه نویس

تجربیات شخصی محمد باقری نسب
محمد باقری نسب

نوشته های یک برنامه نویس

تجربیات شخصی محمد باقری نسب

صفر تا صد راه اندازی یک وب سرور بر روی اوبونتو

پیش نیاز: آشنایی با مفاهیم وب

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


چرا لینوکس؟

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


یک سرور مجازی یا همون VPS بخرید

برای خرید یک سرور مجازی مناسب، پارامترهای زیادی رو باید در نظر بگیرید اما به طور کلی دو پارامتر خیلی مهم رو در خرید vps همیشه مدنظر داشته باشید:


1. قیمت

به هیچ وجه برای شروع، بابت یک vps هزینه زیادی نکنید. سعی کنید با حداقل شروع کنید تا قبل از هر چیز کیفیت اون سرویس دهنده رو حداقل برای 1 ماه بسنجید. چون بعدا امکان ارتقاء امکانات وجود خواهد داشت.


2. پشتیبانی

قبل از انجام فرآیند خرید حتما با روش های موجود پشتیبانی سرویس دهنده خودتون آشنا بشید و ازش اطمینان حاصل کنید. یادتون باشه پشتیبانی و حمایت از شما برای رفع مشکلات احتمالی بسیار فاکتور مهمیه و اگه به این مورد اهمیت ندین، ممکنه در آینده نزدیک از خریدتون پشیمون بشین! (یا طبق تجربه من شما هم به خودتون فحش بدین)


سیستم عامل رو نصب کنید

اکثر سرویس دهنده ها موقع ثبت سفارش خرید vps، نوع سیستم عاملی که نیاز دارید بر روی vps نصب بشه رو ازتون میپرسند و گزینه ای برای انتخاب این مورد موجود هست. اما به هر دلیل اگه به صورت خودکار سیستم عامل برای شما نصب نشد، نگران نباشید. بعد از تکمیل سفارش و دریافت مشخصات سرویس، پنلی در دسترس شما قرار خواهد گرفت که به راحتی خودتون میتونید سیستم عامل مورد نظر رو بر روی vps نصب کنید. در اینجا ما سیستم عامل ubuntu-14.04-x64 رو انتخاب میکنیم، ولی شما میتونید از نسخه های جدیدتر این سیستم عامل هم استفاده کنید. اگه موفق به نصب سیستم عامل نشدین، توی کامنت ها اطلاع بدین تا مقاله ای برای نصب سیستم عامل بنویسم.


ورود به دنیای لینوکس

نکته: لازمه به این مورد اشاره کنم که در ادامه هر کجا با دامنه: yoursite.ir مواجه شدین، دامنه خودتون رو بجاش بنویسید و هرکجا با ip آدرس: 175.72.99.237 مواجه شدین، ip سرور خودتون رو جایگزین کنید.


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

برای برقرای ارتباط و اتصال به ترمینال سرور لینوکس از روی ویندوز، نیاز به یک برنامه کوچولو و کاربردی داریم به اسم putty که با مراجعه به سایت putty.org میتونید آخرین نسخه این نرم افزار رو دانلود کنید.

این برنامه نیازی به نصب نداره و تک فایل هست. پس از اجرا پنجره زیر رو میبینید که باید ip آدرس سرور vps خودتون رو که از توی پنل خریداری شده قابل مشاهده هست، داخل کادری که مشخص کردم وارد کنید. مثال: 175.72.99.237


تنظیم هاست


حالا میتونید روی کلید Open کلیک کنید. البته پیشنهاد میکنم برای اینکه دفعات بعدی نیازی به وارد کردن ip نداشته باشید، در کادر Saved Sessions نام دلخواهی وارد کنید و کلید Save رو بزنید. از این به بعد پس از ورود به putty فقط کافیه روی نامی که ذخیره کردین دابل کلیک کنید.

به هر حال وقتی کانکشن شما برقرار شد، ممکنه از شما سوالی پرسیده بشه که Yes رو بزنید تا برسید به خط فرمان یا همون ترمینال لینوکس. حالا از شما نام کاربری و رمزعبور پرسیده میشه. پس از خرید vps از طرف سرویس دهنده شما ایمیلی حاوی اطلاعات سرویس خریداری شده براتون ارسال میشه که نام کاربری و رمزعبور هم داخل اون ایمیل هست، پس با دقت نام کاربری و رمزعبور خودتون رو وارد کنید. اگه همه چیز درست باشه، نهایتا میرسید به خط فرمانی شبیه زیر:


root@ubuntu:~# 


در اولین ورود پیشنهاد میکنم رمزعبور کاربر خودتون رو عوض کنید. با وارد کردن دستور زیر:


passwd


خب، حالا باید بریم سراغ نصب وب سرور، پس با یه سوال شروع میکنم: شما چه وب سروری رو میشناسید که هم سریع و بی درد سر باشه و هم پاسخگوی نیازهای شما؟

اگه از من بپرسید، nginx رو بهتون پیشنهاد میکنم!


نصب و پیکربندی وب سرور Nginx

بی مقدمه بریم واسه نصب nginx، دستور زیر رو وارد کنید تا بسته های مورد نیاز نصب بشه:

apt-get install Nginx


نصب nginx به همین راحتی تموم شد و حالا فقط باید یه پیکربندی جزئی روش انجام بدیم تا برای کار آماده بشه. اول پوشه مربوط به فایلهای وب سایتمون رو توی یک مسیر دلخواه قرار میدیم (که من مسیر /home/www رو انتخاب کردم) و بعد فایل پیکربندی nginx رو تنظیم میکنیم. دستورات زیر رو به ترتیب اجرا کنید:


mkdir /home/www

echo "Hello from Ubuntu" > /home/www/index.html


دستور اول پوشه رو میسازه و دستور دوم فقط یه مثال برای تولید یک فایل html ساده و قرار دادنش توی پوشه مد نظر هست. (شما بعدا باید فایل های اصلی وب سایتتون رو توی همین پوشه قرار بدین)

خب حالا فایل پیکربندی وب سایت رو توی یک ویرایشگر متنی ساده باز میکنیم و یه سری تغییرات توش میدیم:


nano /etc/nginx/sites-available/default


server {
    listen       80;
    server_name  yoursite.ir;
    root /home/www;
    index index.html;
}

محتوای فایل پیکربندی وب سایت رو مطابق کد بالا ویرایش کنید. حالا Ctrl+O رو بزنید تا فایل ذخیره بشه و سپس Ctrl+X رو بزنید تا از ویرایشگر خارج بشید. دستور زیر رو اجرا کنید تا تغییرات جدید توی nginx بارگذاری بشه:


service nginx reload


خب حالا برای تست و اطمینان از عملکرد صحیح وب سرور، ip آدرس سرور خودتون رو توی مرورگر باز کنید. اگه با پیغام Welcome to nginx مواجه شدین، یعنی همه چیز درسته و در غیر اینصورت برگردین و محتوای فایل پیکربندی وب سایت رو با دقت بررسی کنید.

الان دیگه وب سرور شما آماده شده و فقط باید دامنه خودتون رو بهش وصل کنید. برای انجام این کار نیاز به تنظیم dns بر روی سرور داریم. اگه قبلا با سرور های ویندوزی سر و کار داشتین، حتما میدونید که انجام این کار بر روی سرور ویندوز، بسیار پر دردسر و گاهی عذاب آوره! اما خوشبختانه روی لینوکس ابزاری هست به نام bind9 که این کار رو برای شما به راحتی آب خوردن میکنه!


تنظیمات DNS به کمک ابزار Bind

قبل از شروع، شما باید فیلدهای ns و ip دامنه خودتون رو داخل پنل مدیریت دامنه تغییر بدین. مثلا اگه پسوند دامنه شما ir هست، باید این کار رو با مراجعه به وب سایت nic.ir و ورود به پنل خودتون، انجام بدین. مثال:


IP: 175.72.99.237
NS1: ns1.yoursite.ir
NS2: ns2.yoursite.ir


حالا دستور زیر رو برای نصب بسته نرم افزاری bind اجرا میکنیم:


apt-get install bind9


وقتی که نصب bind تموم شد، باید اون رو پیکربندی کنیم. برای انجام این کار باید 1 فایل خودمون ایجاد کنیم و محتوای 2 فایل موجود رو هم تغییر جزئی بدیم. دستور زیر رو اجرا کنید تا فایل zone دامنه رو بسازیم:


nano /etc/bind/yoursite.ir.db


;
; BIND data file for yoursite.ir
;
$TTL    3h
@       IN      SOA     ns1.yoursite.ir. email.yoursite.ir. (
                          1        ; Serial
                          3h       ; Refresh after 3 hours
                          1h       ; Retry after 1 hour
                          1w       ; Expire after 1 week
                          1h )     ; Negative caching TTL of 1 day
;
@       				IN      NS      ns1.yoursite.ir.
@       				IN      NS      ns2.yoursite.ir.
 
 
yoursite.ir.    		IN      MX      10      mail.yoursite.ir.
yoursite.ir.    		IN      A       175.72.99.237
ns1                     IN      A       175.72.99.237
ns2                     IN      A       175.72.99.237
www                     IN      CNAME   yoursite.ir.
mail                    IN      A       175.72.99.237
ftp                     IN      CNAME   yoursite.ir.

محتوای بالا رو داخل فایل کپی کنید و جهت ذخیره کردن Ctrl+O و برای خروج از ویرایشگر Ctrl+X رو بزنید.

فایل zone دامنه رو ایجاد کردیم، حالا باید به bind معرفیش کنیم. برای این کار محتوای فایل پیکربندی زیر رو ویرایش میکنیم:


nano /etc/bind/named.conf.local


zone "yoursite.ir" {
       type master;
       file "/etc/bind/yoursite.ir.db";
};

در انتهای فایل، بلاک zone دامنه خودمون رو وارد میکنیم و سپس فایل رو ذخیره میکنیم و در پایان برای تکمیل فرآیند پیکربندی dns، فایل زیر رو هم ویرایش میکنیم:


nano /etc/bind/named.conf.options


forwarders {
    8.8.4.4;
};

وقتی محتوای این فایل رو مشاهده کنید، بلاک forwarders کامنت هست و شما کافیه این بلاک رو از کامنت خارج کنید و به جای 0.0.0.0 مقدار جدید 8.8.4.4 رو جایگزین و ذخیره کنید، مثل کدی که در بالا میبینید.

خسته نباشید، پیکربندی dns بر روی سرور شما انجام شد، حالا جهت بارگذاری تنظیمات جدید دستور زیر رو اجرا کنید:


service bind9 restart


جهت اطمینان از عملکرد صحیح سرویس bind و تنظیماتی که انجام دادیم، دستورات lookup زیر رو میتونید اجرا کنید:


dig @175.72.99.237 yoursite.ir

dig yoursite.ir


در صورتی که در خروجی وضعیت status: NOERROR رو مشاهده کردین، همه چیز درسته و فقط باید منتظر اعمال تغییرات در سطح اینترنت باشید (این فرآیند ممکنه 24 ساعت زمان ببره، پس صبور باشید)

حالا دیگه شما یه وب سرور بر روی اوبونتو دارین که یک دامنه هم بهش وصل شده و آماده میزبانی از وب سایت شماست. اگه همه موارد رو درست انجام داده باشین، وقتی دامنه yoursite.ir رو توی مرورگر خودتون باز کنید، با پیغام Hello from Ubuntu مواجه میشین!


امیدوارم این مقاله برای شما مفید بوده باشه، سوال یا مشکلی بود کامنت بذارید حتما پاسخ میدم؛ موفق باشید!

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
تجدید کد امنیتی
این سایت رو تنها به دلیل علاقم به نوشتن و به اشتراک گذاری تجربیاتم با دیگران ایجاد کردم، گفتم شاید به درد کسی بخوره، پس کپی برداری از محتوا بدون ذکر منبع هیچ اشکالی نداره! اما اگه ذکر کردین هم خوشحالم میکنید :)
آخرین نظرات
  • ۲۴ شهریور ۹۶، ۱۱:۱۱ - دانلود آهنگ جدید
    عالی
دسته بندی ها