در این آموزش قصد داریم نصب سیستم عامل لینوکس روی سرور مجازی و نحوه اتصال به SSH را ارائه کنیم.پیش تر در مورد اینکه سرور مجازی چیست صحبت کردیم، اکنون قصد داریم مراحلی که میبایست پس از خرید سرور مجازی طی شود را با هم مرور کنیم.
سرور مجازی یا vps چیست؟
سرور مجازی یا VPS (Virtual Private Server) اصطلاحاٌ همان ماشین مجازی ایجاد شده توسط مجازی ساز میباشد. VPS امکان دسترسی root برای سرورهای لینوکس و Administrator در سرورهای ویندوز و نصب نرمافزارهای سیستمی را مهیا میکند. با استفاده از فن آوریهایی مانند ،vmware ESXI یا Hyper Visor و با بهرهگیری از سرورهای سخت افزاری قدرتمند و پیشرفته، یک سرور فیزیکی به چندین VPS با امکانات یکسان با متفاوت تقسیم میگردد. گاهی به سرور مجازی VDS (Virtual Dedicated Server) نیز گفته میشود
هر سرور بسته به پلان آن، مقداری از منابع سرور شامل حافظه RAM، فضای هارد دیسک (HDD) و چندین هسته پردازنده CPU به صورت اختصاصی در اختیار خواهد داشت. به عنوان مثال، یک VPS میتواند 2 گیگابایت از 64 گیگابایت حافظه اصلی سرور را به صورت کاملاً اختصاصی شده به همراه 50 گیگابایت فضای هارد دیسک و 50 گیگابایت پهنای باند ماهیانه را در اختیار داشته باشد. این بدین معنا است که بدون در نظر گرفتن میزان مصرف سایر VPSهای موجود بر روی سرور،VPSمورد نظر ما تحت هر شرایط به 2 گیگابایت از حافظه اصلی سرور دسترسی خواهد داشت.
هر سروری که روی سرور سخت افزاری اصلی ایجاد می شود کاملا مستقل از سایر سرورهاست و هیچ ارتباطی با یکدیگر ندارند، در نتیجه سرورهای موجود بر روی یک سـرور سخت افزاری میتوانند از سیستم عاملها و نرم افزارهای مختلف و ورژنهای متفاوتی از نرمافزارها استفاده کنند. مثلاً یک سرور با سیستم عامل لینوکس Debian، سرور دیگر با سیستم عامل خواهند بود. همین موضوع در رابطه با سرورهای با سیستم عامل ویندوز نیز صدق میکند. همچنین تعریف Name Serverهای اختصاصی ، نصبASP، PHP، MySQL، .NETو سایر نرم افزارها با ورژن دلخواه، نصب و اجرای تمامی برنامهها،DLLها، … بطور کامل در کنترل و اِشراف هر مدیر سرور میباشد.
مزایای استفاده از سرور مجازی
از مهمترین مزیتهای استفاده از سرور مجازیها در مقایسه با دیگر سرویسهای میزبانی، هزینه کمتر سرورمجازیها نسبت به سرورهای اختصاصی و استقلال عملکرد نسبت به سرویسهای نمایندگی (Resseller/Shared Hosting) میباشد به نحوی که هزینه سرورها در اغلب مواقع بسیار کمتر از هزینه سـرورهای اختصاصی بوده ولی شامل همه امکانات آنهـا میباشد.
سیستم عامل چیست
سیستم عامل یا Opereating system اصطلاحاٌ مخفف آن OS است، اصلیترین نرمافزاری است که سختافزار سرور و سایر نرمافزارهای موجود روی سرور را مدیریت میکند. OS با سختافزار سرور درگیر میشود و سرویسهایی را که برنامهها میتوانند از آنها استفاده کنند را اجرا میکند.
سیستمعامل میان applicationها و سختافزار سرور قرار میگیرد و از dirverهای سختافزار به عنوان واسط میان آن دو استفاده میکند.
سیستم عامل لینوکس
طبق تعریف ویکیپدیا، Linux به مجموعهای از سیستم عاملهای متن باز (Open Source) و رایگان مبتنی بر Kernel (هسته) لینوکس گفته میشود. Kernel لینوکس برای اولین بار در تاریخ 17 سپتامبر 1991 منتشر شد. لینوکس از قدرتمندترین سیستم عاملهای موجود است که بین برنامهنویسان از محبوبیت ویژهای برخوردار است.
سیستم عامل Unix در سال ۱۹۷۱ توسط شرکت تلفن و تلگراف آمریکا منتشر شد. سیستم عامل Unix گرانقیمت بود و عموماً همه نمیتوانستند به راحتی از آن استفاده کنند. تقریباً میتوان گفت سیستم عامل Linux بسیار شبیه به سیستم عامل Unix و زیر مجموعهای از آن است. امروزه سیستم عامل لینوکس توسط کمپانیهای بسیاری پشتیبانی میشود. به طور کلی هر سیستم عامل دارای Kernel یا هسته و رابط بین نرم افزار و سرور سخت افزاری است، به بیان دیگر وظیفههای اساسی و پایه برعهده هسته یا کرنل است. در اصل، لینوکس پایینترین سطح اجزای نرم افزاری یک سرور به شمار می رود و اگر این بخش آسیب ببیند بقیه نرم افزارها دیگر کاربرد نخواهند داشت. از وظایف هسته آن است که منابع موجود در سخت افزار سرور را به برنامههای دیگر موجود در سرور متصل میکند.
مزیتهای لینوکس چیست؟
اکنون با تاریخچه Linux آشنا شدیم، دریافتیم که لینوکس یک سیستم عامل شبیه Unix است. مزیّتهای لینوکس به شرح زیر هستند:
- رایگان است: لایسنس GNU General Public یا اختصاراً GPL که لینوکس استفاده میکند، به این معنی است که میتوان نرمافزار را به صورت رایگان تهیه نموده و همچنین میتوانید به Source code نرمافزار نیز دسترسی داشته باشید، و تغییرات مورد نظرتان را در آن اعمال نمائید. شما میتوانید در صورت نیاز این کد خود را مجدداً منتشر کنید به این شرط که که شما نیز Source code خود را در اختیار سایرین قرار دهید.
- ثبات نرمافزار: استانداردهای نرم افزار Open Source باعث میشوند که نرمافزارها باگ کمتری داشته باشند، زیرا گروهی از Developers یا توسعه دهندگان روی نرمافزار کار میکنند که گاهی دارای پیش زمینههای متنوعی هستند.
- سازگاری: استانداردهای نرم افزار Open Source به این معنی است که سازگاری خوبی روی Platformهای دیگر وجود دارد. مثلاً اطمینان حاصل نمائید که format فایل صوتی OGG که Open Source است روی هر پخشکننده OGG دقیقاً به روش یکسانی پخش میشود، زیرا یک استاندارد باز روی همه این نرمافزارها اعمال شده است.
- عدم وجود بنبست: نرمافزارهای Open Source موجب میشوند که هیچ قفل و بن بستی از سوی ارائهدهنده ایجاد نشود. محاسبات باز و قابل اعتماد Source Code همه نرمافزارهای باز به صورت رایگان و همراه با اپلیکیشنهایی که تهیه میکنید ارائه و منتشر میشود نرمافزار Open Source به شما امکان میدهد که به کل Engine دسترسی داشته باشید و اجازه بدهید که هر کس بتواند این نرمافزار را بهبود ببخشد.
- کارایی دائم: این که لینوکس یک روز از Trend سیستم عامل خارج شود کاملاً دور از احتمال است، زیرا این سیستم عامل تحت مالکیت کمپانی خاصی نیست. لینوکس در بازار سیستمهای عامل سرور و دسکتاپ، از اوایل دهه 1990 به بعد معرفی شد و از آنموقع به صورت نمایی رشد میکند.
امنیت
- امنیت در Kernel اصلی سیستم عامل Linux جای دارد.
- «مجوزها» (Permissions) و «زندانها» (Jails) در لینوکس باعث میشوند که کاربران بتوانند فقط به دادههایی دسترسی پیدا کنند که اجازه یا Permission آن را دارند.
- هر توزیع لینوکس به صورت پیشفرض دارای یک فایروال است و اپلیکیشنهای بسیاری و روشهای دیگری برای تأمین امنیت رایانه درنظر گرفته شده است.
- لینوکس به طور کلی برای افرادی طراحی شد که سیستم Open Source و آزادی دیجیتالی را ترجیح میدهند.
- در نهایت با عنایت به این که این یک ویژگی امنیتی محسوب نمیشود، اما از آنجا که کاربران دسکتاپ لینوکس تنها 0.6% از کاربران سیستمهای عامل دسکتاپ را در سراسر دنیا تشکیل میدهند، به طور معمول مورد هدف هکرها و تهدید های امنیتی قرار نمیگیرند و اغلب هکرها میلیاردها کاربران ویندوز را هدف میگیرند.
منظور از توزیع لینوکس چیست؟
احتمالاً با نام برخی از شرکتهای بزرگ لینوکسی مانند Red Hat توزیعهای RHEL/CentOS/Fedora) Canonical) (توزیع Ubuntu) و SuSE آشنا هستید. در عمل بسیاری شرکت کوچک و سازمان وجود دارند که توزیعهای خاص خود منتشر نمودهاند. نمونههایی از این توزیعها را میتوانید در وبسایت distrowatch ببینید. همانطور که گفته شد، شرکتها و سازمانهای زیادی وجود دارند که توزیعهای خاص خود را از لینوکس ایجاد و حتی برخی توزیعها را برای رفع نیازهای شخصی ساختند. در این بخش ما صرفاً توزیعهای مهم و محبوب را جهت نصب روی سرور مجازی ارائه میکنیم.
توزیعهای مختلف لینوکس چه تفاوتهایی دارند؟
نرمافزارهای عمومی (اپلیکیشنهای Office، زبانهای برنامهنویسی، gameها و…) جزء مواردی هستند که در توزیعهای مختلف با هم تفاوت دارند. برخی توزیعهای لینوکس بسیار سبک هستند و به همین علّت نرمافزارهای کمی همراه با آنها عرضه میشود. برخی از توزیعها برخلاف آن هستند. همه این موارد به نیاز یک کاربر بستگی دارد. در اغلب موارد شما میتوانید در صورتی که نرمافزارهای مورد نظرتان از قبل روی توزیع نصب نشده باشد، آنها را به روشی آسان خودتان نصب کنید.
برخی توزیعها مانند Lubuntu و Bodhi مناسب رایانههای قدیمی هستند و تعداد و کیفیت نرمافزارهای پیشفرض کاملاً متفاوت است. دلیل این مورد این است که تنظیمات طوری انجام میشوند که کاربر تجربهی حتی روی رایانههایی با رم 512 مگابایت و پردازندههایی با سرعت 700 مگاهرتز داشته باشد. این Configuration حتی از کمترین ملزومات مورد نیاز برای ویندوز 7 نیز کمتر هستند.
- هزینه: اگر توزیع لینوکس را به صورت رایگان استفاده کنید، چیزی که از آن انتظار دارید به مدل کسبوکار ناشر آن وابسته است. برای نمونه توزیعهای RHEL که مختصر شدهی عبارت (Red Hat Enterprise Linux) است و همچنین SuSe هر دو توزیعهای تجاری لینوکس هستند که قراردادهای پشتیبانی سطح تجاری ارائه میکنند. این شرکتها خطوط پشتیبانی (Support) تلفنی و سرویسهای 24ساعته برای کسبوکارهایی ارائه میکنند که از سیستمهای لینوکسی و توزیع منتشر شدهشان در حال استفاده برای رفع نیازهای حیاتی کاربرانشان هستند
- کیفیت نرمافزار: نرمافزار دارای باگ یا بدون آن، جدیدترین نسخه نرمافزار
- مستندات و راهنماها: کیفیت و کمیت مستندات.
- نصب نرمافزار: توزیعها اغلب از روشهای متفاوتی برای پکیج کردن نرمافزارهایشان استفاده میکنند. در مورد سیستمهای مبتنی بر Red Hat مانند RHEL، CentOS، Fedora و SuSE، از استاندارد RPM استفاده میشود و از ابزارهایی مانند YUM و DNF استفاده میکنند. سیستمهای مبتنی بر Debian مانند اوبونتو و لینوکس Mint از ابزاری به نام APT استفاده میکنند.
- بهروزرسانی: برخی توزیعها ماهها یا حتی سالها است که بهروزرسانی نشدهاند. این نسخهها را میتوان پایدار (stable) در نظر گرفت و از این رو بهروزرسانی ارائه نمیکنند، مگر این که یک دلیل امنیتی عمده داشته باشند.
- پشتیبانی: بسیاری از توزیعهای رایج پشتیبانی جا افتادهتری دارند که شامل Forumهای وب میشود. برخی از آنها یک نسخه نصبی رایگان لینوکس و نرمافزار نیز ارائه میکنند.
نصب سیستم عامل لینوکس روی سرور مجازی
پس از خرید سرور مجازی، وارد ناحیه کاربری خود در مارال هاست شوید. از منوی سمت راست گزینهی سرویسها و سپس سرویسهای من را انتخاب کنید، و یا اینکه در وسط صفحه در بخش محصولات/سرویسهای فعّال شما، روی سرور مجازی مورد نظرتان کلیک کنید
صفحهی مدیریت محصول برای شما باز میشود، هنگامی که سرور را به تازگی خریداری میکنید، یک پیغام قرمز رنگ با متن “در حال حاضر هیچ سیستم عاملی بر روی این سرور نصب نیست، لطفاً از قسمت نصب جهت نصب سیستم عامل اقدام کنید” مشاهده میکنید، جهت نصب سیستم عامل، روی گزینهی نصب مجدد کلیک کنید
در این مرحله، روی لیست کشویی سیستم عامل کلیک کنید.
لیست سیستم عاملهای قابل نصب را مشاهده میکنید. نوع توزیع سیستم عامل Linux موردنظرتان را انتخاب و روی دکمهی نصب کلیک کنید
سپس یک پیغام سبز رنگ با متن نصب سیستم عامل بر روی سرور شما آغاز شد. بعد از نصب اطلاعات سیستم عامل، صفحه اصلی مدیریت سرور را خواهید دید.
مراحل نصب را در یک Progress bar در صفحه مدیریت محصول مشاهده میفرمایید.
حال در بخش دید کلی، آیپی سرور، نام و توزیع سیستم عامل، Username و password برای شما قابل مشاهده هست
شما میتوانید با نرمافزارهای مختلفی مانند Putty، Bitvise و WinSCP به سرور لینوکسیتان متصل شوید
نرم افزار Bitvise را باز نمایید:
- در بخش Host، آیپی سرور را درج نمایید.
- شماره پورت سرویس SSH را در بخش Port درج نمایید. عدد 22 پورت اصلی SSH است.
- در بخش Username، کلمهی root را بنویسید.
- Password سرور را نیز در بخش Password درج نمایید.
بر روی login کلیک نمایید، مطابق با تصویر زیر باید پیغام Authentication Completed را مشاهده نمایید تا اتصال به درستی برقرار گردد
حال اتصال را با نرم افزار Putty بررسی میکنیم، نرم افزار Putty را باز کنید.
Host name (or IP Address) آیپی سرور و در بخش Port عدد 22 را درج نمایید و روی دکمهی Open کلیک کنید
در Command line در بخش login as نام یوزرنیم root را تایپ نموده و Enter کنید و در خط بعدی پسورد را تایپ نموده و Enter کنید.
مطابق با تصویر زیر اتصال SSH به سرور مجازی لینوکسی برقرار شد. تمام!