Skip to Content

آرشیو دسته بندی ها:وبلاگ

7 گام مهم جهت ایمن سازی Open SSH

7 گام مهم جهت ایمن سازی Open SSH

OpenSSH یا Secure Shell به عنوان یک استاندارد جهت ارتباط Remote با سرور های لینوکسی استفاده می شود. استفاده از تنظیمات پیشفرض SSH هیچگاه کامل نبوده و زمانی که یک سرور SSH را راه اندازی میکنید، چند قدم کوتاه اما مفید وجود دارند که میتواند نصب شما را مقداری سخت کند، اما این گام ها، گام هایی مثبت در جهت افزایش امنیت سرور شماست. با ما همراه باشید…

 

1- استفاده از Username و Password پیچیده:

استفاده از Username و Password پیچیده

 

یکی از اولین مواردی که باید به آن توجه داشته باشید این است که اگر شما یک سرور SSH راه اندازی کرده اید و در فضای اینترنت قرار داده اید، احتمالا سرور شما تحت حمله توسط هکر هایی قرار خواهد گرفت که تلاش میکنند Username / Password شما را به دست بیاورند. بطور معمول هکر ها پورت 22 (پورت پیش فرض SSH) را Scan میکنند تا ماشین هایی که SSH را Run کرده اند پیدا کنند، سپس تحت حملات Brute-Force تلاش میکنند تا اطلاعات ورود شما را به دست آورند. با داشتن پسورد های قوی و پیچیده هر حمله ای ثبت خواهد شد و پیش از به ثمر رسیدن جلوی ان گرفته خواهد شد.

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

  • حداقل شامل 8 کاراکتر
  • شامل حروف بزرگ و کوچک
  • شامل اعداد
  • شامل حداقل یک کاراکتر مانند ^,%,#,@ و …

 

2- غیر فعال کردن دسترسی ROOT

غیر فعال کردن دسترسی ROOT

تنظیمات SSH Server در مسیر /etc/ssh/sshd_config دخیره شده است. برای غیر فعال کردن دسترسی root باید کد زیر را در فایل sshd_config وارد نمایید:

 

غیر فعال کردن دسترسی ROOT

 

سپس از طریق ترمینال سرویس SSH را Restart نمایید:

 

غیر فعال کردن دسترسی ROOT

 

در مواقعی که نیاز به دسترسی root دارید میتوانید از دستور  su استفاده کنید.

دستور su (Switch User , Super User , Substitute User) به کاربر اجازه میدهد دسترسی Root را با وارد کردن پسورد Root به دست بیاورد. جهت مطالعه بیشتر در این خصوص به این لینک مراجعه نمایید.

 

3- محدود کردن دسترسی کاربران

محدود کردن دسترسی کاربران

دسترسی به SSH میتواند تنها محدود به کاربرانی باشد که نیاز به استفاده از SSH دارند. اگر شما اکانت های کاربری زیادی روی سیستم خود دارید میتوانید دسترسی به SSH را به کاربرانی اعطا کنید که واقعا با SSH سر و کار دارند. برای این کار بایستی یک خط با دستور AllowUsers در فایل sshd_config اضافه کنید. کد باید به این شکل باشد که بعد از دستور AllowUsers یک فاصله قرار بگیرد و نام User مورد نظر اضافه شود و User های دیگر نیز با یک فاصله از هم جدا می شوند. برای مثال:

 

محدود کردن دسترسی کاربران

 

سپس سرویس SSH را Restart نمایید.

 

4- غیر فعال کردن Protocol 1

 

SSH از دو پروتکل استفاده می کند. Protocol 1 و Protocol 2. پروتکل قدیمی تر Protocol 1 است که از امنیت کمتری برخوردار است و بایستی تا زمانی که مشخصا مورد نیاز نیست غیر فعال باشد. درفایل sshd_config به دنبال دو خط زیر بگردید و مشابه الگوی زیر تغییر دهید:

 

غیر فعال کردن Protocol 1

 

سپس سرویس SSH را Restart نمایید.

 

5- استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

همانطور که پیشتر گفتیم بصورت پیشفرض SSH برای ارتباطات ورودی از پورت 22 استفاده میکند. هکر ها میتوانند به راحتی با اسکن کردن پورت 22 متوجه شوند SSH روی ماشین شما در حال اجرا است یا خیر! یک روش اثر بخش برای جلوگیری از حملات هکر ها این است که پورت SSH را از پورت پیش فرض 22 به به یک پورت غیر استاندارد تغییر دهید. هر پورت بدون استفاده ای (ترجیحا یک پورت بالای 1024 ) میتواند مورد استفاده قرار بگیرد. خیلی از افراد از پورت 2222 برای این کار استفاده میکنند (زیرا به راحتی به ذهن سپرده میشود) مانند پورت 8080 که اغلب به عنوان جایگزین پورت 80 (HTTP) استفاده میشود. اما در این مورد پورت 2222 بهترین انتخاب نیست! به این دلیل که هکر ها بعد از پورت 22 پورت 2222 را اسکن می کنند. بهتر است یک پورت تصادفی بالای 1024 که برای سرویس خاصی استفاده نمیشود انتخاب کنید. برای اعمال این تغییر یک خط مانند الگوی زیر را به فایل sshd_config اضافه کنید.

 

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

 

سپس سرویس SSH را  Restart نمایید.

نکته: فراموش نکنید که بعد از این تغییر باید حتما Incoming پورت مورد نظر را در Firewall مورد استفاده در شبکه خود باز کنید.

در سیستم عامل CentOS 6 و بالاتر باید حتما Selinux را هم Update نمایید و پورت مورد استفاده حتما به درستی علامت گذاری شود. در غیر اینصورت SSH جلوی دسترسی به آن را می گیرد. برای مثال:

 

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

 

توضیح: در اینجا پورت 2345 مورد استفاده قرار گرفته است.

 

بعد از این با توجه به این که SSH دیگر روی پورت استاندارد 22، Listen نمیکند، شما نیاز خواهید داشت شماره پورت جدید را به کاربرانی که قصد ارتباط با SSH را دارند اعلام کنید. برای تعیین پورت باید از طریق Command Line در SSH Client دستور زیر را وارد نمایید:

 

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

 

اگر به نظر شما آزار دهنده میرسد هر بار برای اتصال به SSH این روال را تکرار کنید، قطعه دستورات زیر را در فایل config واقع در مسیر ~/.ssh/config قرار دهید.

 

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

 

توجه داشته باشید که باید به فایل ~/.ssh/config دسترسی به شکل زیر اعطا نمایید.

 

استفاده از یک پورت غیر استاندارد (پورت به غیراز 22)

6- محدود کردن دسترسی به SSH از طریق Firewall

محدود کردن دسترسی به SSH از طریق Firewall

اگر شما فقط نیاز دارید که توسط یک IP خاص به SSH متصل شوید و نیاز به دسترسی به SSH از طریق IP دیگری را ندارید میتوانید نحوه اتصال به SSH را محدود به IP خاصی نمایید. برای انجام این کار می توانید یک Rule در Router ایجاد نمایید و یا از طریق دستور iptables دسترسی به پورت 22 را فقط به IP مورد نظر محدود نمایید. برای مثال کد زیر دسترسی به آی پی 10.20.30.40 را روی پورت 22 باز کرده و دسترسی به مابقی IP ها را به پورت 22 می بندد:

 

محدود کردن دسترسی به SSH از طریق Firewall

اگر شما امکان محدود کردن دسترسی ها فقط از طریق یک IP را ندارید نگران نباشید. Iptables همچنان میتواند جلوی حملات Brute-Force را از طریق ثبت تعداد Login ها و Block کردن IP هایی که تلاش های متعدد برای ارتباط با پورت 22 را دارند بگیرد. برای مثال:

 

محدود کردن دسترسی به SSH از طریق Firewall

 

اولین Rule تعداد تلاش های IP ها برای دسترسی به پورت 22 به ثبت می کند.

دومین Rule بررسی میکند اگر آن IP برای 4 یا بیش از 4 بار تلاش نا موفق برای ارتباط با پورت 22 را داشته است در Blacklist قرار می دهد و در غیر اینصورت ارتباط برقرار می شود.

نکته 1: توجه داشته باشید که در صورتی که Rule برای Accept کردنIP های خاصی را ایجاد کرده باشید شامل این محدودیت ها نمی شود.

نکته 2: در صورتی که برای ارتباط با SSH از یک پورت غیر استاندارد استفاده میکنید به جای 22 در مثال های بالا از شماره پورت تعریف شده استفاده نمایید.

 

7- استفاده از Public/Private Key برای احراز هویت

 

استفاده از کلید رمزنگاری شده برای احراز هویت شامل 2 منفعت است.

اول این که احراز هویت را ساده تر می کند، به این شکل که دیگر نیازی به وارد کردن پسورد برای ورود ندارید (به شرط این که برای Key ها پسورد تعیین نکنید که در ادامه توضیح داده خواهد شد).

دوم این که میتوانید بعد از این که یک بار Public/Private Key را تولید کردید احراز هویت از طریق پسورد را بصورت کامل غیر فعال کنید. به این معنی که بدون Key امکان ورود به SSH ممکن نباشد. در نتیجه ردیابی پسورد به طور کلی منتفی خواهد شد.

پروسه ایجاد Public/Private Key برای احراز هویت و نصب روی سرور برای استفاده از آن برای ورود به SSH نسبتا ساده است.

در ابتدا باید یک جفت Public/Private Key روی سیستم لوکال ایجاد نمایید که برای اتصال به سرور استفاده میشود (شما نیاز خواهید داشت تا این پروسه را روی هر ماشینی که قصداتصال دارد انجام دهید) :

استفاده از Public/Private Key برای احراز هویت

 

این دستور دو فایل در مسیر مخفی ~/.ssh شما ایجاد میکند. یک فایل به نام id_rsa که Private Key است و یا فایل به نام id_rsa.pub که Public Key شماست.

اگر نمیخواهید برای هربار که قصد اتصال دارید از شما Passphrase (Passphrase اساسا یک پسورد است که روی یک Public Key مشخص قرار داده میشود) خواسته شود زمانی که دستور بالا را برای تولید Public/Private Key اجرا میکنید جایی را که درخواست وارد کردن Passphrase را دارد با فشردن دکمه Enter رد کنید. این به شما بستگی دارد که تصمیم بگیرید یک Passphrase از Public Key شما محافظت کند یا خیر! اگر از Passphrase برای محافظت از Public Key استفاده نکنید در نتیجه هر کسی که به سیستم شما دسترسی پیدا کند بصورت اتوماتیک دسترسی Remote به SSH هم دارد. همچنین Root در سرور طبیعتا به Key های شما دسترسی دارد. اگر دلیلی برای نداشتن اعتماد به Root دارید، پس در دردسر بزرگی افتاده اید! رمزنگاری Public Key امنیت بیشتری را برای شما به ارمغان می اورد و زمانی که برای وارد کردن Passphrase در هر بار اتصال صرف می کنید دقیقا مشابه به وارد کردن پسورد است، با این تفاوت که به جای وارد کردن پسورد SSH، Passphrase را برای باز کردن دسترسی Public Key وارد می نمایید.

حال زمان تنظیم کردن دسترسی های Private Key است دستور زیر را روی سیستم لوکال اجرا نمایید:

استفاده از Public/Private Key برای احراز هویت

حال Public Key (id_rsa.pub ) را روی سرور کپی کنید و در لیست Authorized_keys نصب کنید:

استفاده از Public/Private Key برای احراز هویت

نکته: زمانی که یک Public Key را در سرور اضافه میکنید میتوانید بعدا آن را حذف کنید.

در پایان دسترسی های زیر را در سرور اعمال نمایید:

استفاده از Public/Private Key برای احراز هویت

دسترسی های زیر در صورتی که StrictModes روی مسیر /etc/ssh/sshd_config تنظیم شده باشد ضروری می باشد.

با دستور زیر مطمئن شوید زمینه SELinux به درستی تنظیم شده است:

استفاده از Public/Private Key برای احراز هویت

حال زمانی که اقدام به لاگین به سرور می کنید از شما پسوردی خواسته نمی شود (مگر این که نیاز باشد Passphrase را وارد کنید). بصورت پیش فرض SSH ابتدا از طریق Key احراز هویت را انجام می دهد. اگر Key را پیدا نکند و یا احراز هویت Fail شود، به سراغ احراز هویت از طریق پسورد مرسوم می رود.

یعد از یک بار امتحان می توانید از طریق Public/Private Key وارد سرور شوید،

می توانید احراز هویت از طریق پسورد را به روش وارد کردن دستور زیر در فایل sshd_config بصورت کامل غیرفعال نمایید:

استفاده از Public/Private Key برای احراز هویت

 

 

ادامه مطلب

معرفی جوملا

معرفی جوملا

معرفی جوملا

معرفی جوملا

جوملا یک نرم افزار مدیریت محتوای متن باز و رایگان است که تحت اجازه نامه GNU/GPL منتشر می شود. جوملا به زبان PHP نوشته شده و از یک فریمورک مبتنی بر MVC بهره می گیرد و برای ذخیره سازی داده ها از پایگاه داده MySQL استفاده می کند.

جوملا از سیستم دیگری به نام مامبو منشعب شده است. در سال 2005 گروهی از توسعه دهندگان سیستم مدیریت محتوای مامبو از تیم توسعه مامبو جدا شده در قالب گروه دیگری به نام “Open Source Matters” اقدام به انتشار مامبو 4.5.2.3 با نام جدید جوملا (نسخه 1.0) کردند. جوملا از سیستم دیگری به نام مامبو منشعب شده است. در سال 2005 گروهی از توسعه دهندگان سیستم مدیریت محتوای مامبو از تیم توسعه مامبو جدا شده در قالب گروه دیگری به نام “Open Source Matters” اقدام به انتشار مامبو 4.5.2.3 با نام جدید جوملا (نسخه 1.0) کردند. از آن پس این دو سیستم بطور جداگانه توسعه داده شدند.

جوملا از امکانات کافی برای راه اندازی یک سایت برخوردار است. وجود یک بستر مناسب برای توسعه باعث شده تا کنون بیش از 7400 افزونه برای جوملا ساخته شود که اکثر آنها رایگان است.

جوملا در سال اول انتشار، بیش از 2.5 میلیون بار دریافت شد. بسیاری از سایت‌های معتبر دنیا و ایران از جوملا استفاده می‌کنند.

چرا از جوملا استفاده کنیم؟

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

کاربردهای جوملا:

معرفی جوملا

از جوملا برای راه اندازی یک سایت ساده گرفته تا پرتال های بزرگ می توان استفاده کرد.
بعضی از کاربرد های جوملا عبارتند از:

  • سایت های خبری و اطلاع رسانی
  • مجله ها و نشریه ها
  • وبلاگ های شخصی
  • سایت های علمی و آموزشی
  • سایت های مذهبی و فرهنگی
  • سایت ها و پرتال های دولتی
  • وبسایت های تجاری و تجارت الکترونیک

 

امکانات:

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

  • دسته بندی و مدیریت مطالب
  • نمایش مطالب به گونه های مختلف
  • جستجو در محتوای سایت
  • مدیریت منو ها
  • مدیریت کاربران
  • تماس با کاربران
  • مدیریت رسانه ها
  • نظر سنجی و امتیاز دهی
  • خبرخوان و خروجی RSS
  • گروه بندی و تعیین دسترسی کاربران
  • ساخت نسخه قابل چاپ و PDF
  • پشتیبانی از زبانهای مختلف
  • بهینه سازی برای موتورهای جستجو

موارد بالا تنها بعضی از امکانات پایه جوملا هستند. تا کنون بیش از 7400 افزونه متن باز برای جوملا ثبت شده است که امکانات جدیدی به جوملا می افزایند.

افتخارات و جوایز بین المللی تیم و پروژه جوملا:

  • 2005 : بیش از 2.5 میلیون بار دریافت در اولین سال انتشار
  • 2005: Best Linux / Open Source Project
  • 2005: کسب جایزه UK Individual Contribution to Open Source از Linux World UK
  • 2006: کسب جایزه UK Individual Contribution to Open Source از Linux World UK
  • 2006: Best Linux / Open Source Project
  • 2006: کسب عنوان بهترین سیستم مدیریت محتوای متن باز از مؤسسه Packt
  • 2007: کسب عنوان بهترین سیستم مدیریت محتوای متن باز از مؤسسه Packt
  • 2008: کسب عنوان (MVP (Most Valued Person توسط Johan Janssens بخاطر کار روی فریمورک و معماری جوملا
  • 2009: دریافت جایزه (MVP (Most Valued Person توسط Louis Landry بخاطر نقش وی در معماری جوملا
  • 2011: کسب عنوان بهترین سیستم مدیریت محتوای متن باز از مؤسسه Packt

 

افتخارات و جوایز بین المللی تیم و پروژه مامبو:

  • 2004: بهترین پروژه نرم افزاری رایگان سال از Linux Format Magazine
  • 2004: Best Linux or Open Source Software
  • 2005: Best Open Source Solution
  • 2005: Best of Show – Total Industry Solution
  • 2005: Best Open Source Solution
  • 2006: Best Open Source Solution

 

بعضی سایت های استفاده کننده از جوملا:

لینوکس: linux.com
مرکز اطلاعات سازمان ملل: unric.org
پرتال ملی ایران: iran.ir

 

 

 

ادامه مطلب

مزایای سرور لینوکس نسبت به سرور ویندوز چیست؟

مزایای سرور لینوکس نسبت به سرور ویندوز چیست؟

مزایای سرور لینوکس نسبت به سرور ویندوز چیست؟
اين كه لينوكس چه اندازه مهمي از بازار سرورها را در دست دارد , فروش سرورهاي ويندوز در طول 3 ماه آخر سال 2010 28 درصد افزايش داشته در صورتي كه درآمد سرور لینوکس 1،8 میلیارد دلار رشد 30.0 درصد در مقایسه با سه ماهه دوم سال 2009 مي باشد . سرور های لینوکس در حال حاضر 16.8 درصد از درآمد سرورهاي دنيا، 2.5 نقطه بیش تر از نيمه دوم سال 2009 مي باشد

اين آمارها اتفاقي نيست استفاده از سرور لينوكس برجسته تر و بهتر از سرور ويندوز مي باشد و ان هم به علت چند دليل می باشد.
1 – پایداری و استحكام
سیستم های لينوكس به خوبی توانايي اجرايي بودن سالها بدون هيج توقف و شكست را دارند . در واقع، بسیاری از کاربران لينوكس هيج وقت يك توقف و خرابي در سرور را نمي بينند . و اين ویژگی براي كاربران از همه نوع  با ارزش مي تواند باشد خصوصا برای کسب و کارهای کوچک و متوسط که از کار افتادگی سرور می تواند عواقب فاجعه بار براي آنان داشته باشد لینوکس خيلي بهتر از ويندوز مي تواند تعداد زیادی از فرآیندهای را در يك لحظه اجرا كند.
در وب هاستینگ لينوكس هيج نياز به راه اندازي مجدد نمي باشد در حالی که در تغییرات تنظیمات ویندوز به طور معمول نیاز به راه اندازی مجدد  باعث از کار افتادگی اجتناب ناپذیر مي شود  در لينوكس عدم احتياج به راه اندازي مجدد تضمين شده است . تقریبا مي توان تمام تغییرات پیکربندی لينوكس صورت بگيرد در حالی که سیستم در حال اجرا و بدون تحت تاثیر قرار كرفتن خدمات نامربوط است.
سرورهای ویندوز معمولا باید در اغلب اوقات عمل یکپارچه سازی انجام شود در صورتي كه لينوكس قابل اعتماد و در حال اجرا و خدمت به مشتريان در همه زمان مي باشد.
2 – امنيت
لينوكس نیز ذاتا امن تر از ویندوز است . چه بر روی سرور، دسکتاپ و یا در یک محیط تعبیه شده باشد .و اين بدين دليل مي باشد كه لينوكس در واقعيت بر اساس يونيكس ساخته شده است و از ابتدا براي چند سیستم عامل کاربر طراحي شده است . فقط مدیر یا کاربر ریشه، دارای اختیارات مدیریتی، و کمتر به کاربران و برنامه های کاربردی اجازه دسترسی به هسته يا كرنال داده مي شود و اين خود باعث مي شود همه چیز مدولار و حفاظت شده باشد
البته، لينوكس کمتر توسط ویروس ها و هكرها مورد حمله قرار می گيرد و آسیب پذیری در لينوكس زودتر و سريعتر يافت و تصحيح مي گردد حتی اشکال شش ساله هسته که به تازگی ثابت شده بود، به عنوان مثال  یک نمونه بسیار نادر در جهان لينوكس بهره برداری نشده بود
گاهی اوقات کاربران سیستم ویندوز می توانید فایل هايی از مدیر سیستم پنهان كنند اما در لینوکس مدیر سیستم همیشه دارای دید واضح و روشنی از فایل سیستم  و همیشه در کنترل است.
3 – سخت افزار
به دليل افزايش خواسته های منابع روزافزون , سرور ویندوز به طور معمول نیاز مكرر به ارتقاء سخت افزاري  دارد، درصورتي كه لينوكس انعطاف پذیرتر و مقیاس پذیرتر است، و اجرا شدني بر روي هر کامپیوتر، بدون در نظر گرفتن پردازنده یا ساخنار معماری کامپیوتر است.
در لينوكس می توان هنگام نیاز خدمات معيني برای اهداف کسب و کار به راحتی پیکربندی مجدد انجام داد ، در نتیجه اين باعث کاهش احتياج به حافظه ، بهبود عملکرد و حفظ چیزها حتی ساده تر باشد.
4 – TCO
لينوكس هیچ هزینه اي ندارد و اين نرم افزار به طور كلي مجاني است . حتی نسخه سازمانی که با حمایت شرکت های بزرگ خریداری شده  به کلی ارزانتر از ویندوز و یا دیگر نرم افزار های اختصاصی ، که معمولا شامل هزينه هاي مبتني بر مجوز کاربر  و میزبانی است مي باشد ,لينوكس خصوصا برای امنیت ارزانر از ويندوز مي باشد.
5 – آسانی
با استفاده از لينوكس ، هیچ فروشنده تجاری تلاش شما را براي بدست اوردن محصولات و یا پروتکل های خاصی كه مد نظرتان باشد محدود نمي كند . در عوض، شما براحتي مي توانيد به ترکیب و تطبیق و انتخاب بهترین راه حل برای کسب و کار خود باشيد . به طور خلاصه، با همه مزیت های بسیاری كه لينوكس در عرصه سرور فراهم می کند ، هیچ جای تعجبي ندارد كه بسياري از دولت ها، سازمان ها و شرکت های بزرگ در سراسر جهان  از جمله آمازون و گوگل  تکیه بر سیستم عامل منبع باز لينوكس در سیستم های تولید خود دارند.

 

به علاوه لینوکس حتی به عنوان سیستم عامل کاربر نیز دارای مزایای ذیل است :

  1. لينوكس  مشکل ویروسی شدن ندارد. نه اینکه ویروسی برای لينوكس  ساخته نشده باشد بلکه این به دلیل ایمنی بالای آن است و مانند ویندوز نیست که پس از نصب آن ضروری باشد یک Antivirus یا Internet Security روی سیستم نصب شود. محیط ویندوز به مراتب مستعد تر برای دریافت و رشد ویروس است
  2. در ویندوز به دلیل نصب نرم افزار ها و پاک کردن آن ها و همچنین تغییر و تحولات این چنینی سیستم از چیدمان خارج می شود برای همین است که سیستم دارای Disk Defragmenter است که بتواند به چیدمان از هم پاشیده سر و سامانی دهد تا سرعت دسترسی به مطالب افزایش یابد ، اما در لينوكس  یک سیستم خود چیدمانی تعبیه شده است که داده ها را روی دیسک می نویسد و سرعت فراخوانی اطلاعات به مراتب بیشتر خواهد بود.
  3. در لينوكس  هسته سیستم Kernel Linux است و عملکرد جداگانه از محیط گرافیکی و نرم افزارها دارد در نتیجه هنگ کردن یک برنامه (Crashing) باعث هنگ کردن کل سیستم نمی شود در حالیکه در ویندوز به دلیل برخوردار بودن از سیستم یکپارچگی ، هنگ یک عامل مانند Internet Explorer ممکن است شما را حتی وادار به Restart کند. اما در لينوكس  فقط کافیست همان برنامه ای که هنگ کرده Restart شود. این قابلیت در لينوكس  تعبیه شده است.
  4. هر بار که ویندوز جدید نصب می کنید لازم است کلی نرم افزارهای مورد نیاز خود را نصب کنید و همچنین همه سخت افزار های موجود در کامپیوتر خود را از طریق Driver به ویندوز معرفی کنید در حالیکه لينوكس  در خود قابلیتی دارد که تمامی سخت افزار ها را می شناسد و نیازی به Driver نیست. همچنین در لينوكس  به صورت پیش فرض نرم افزارهای بسیار پیشرفته ای موجود است که در ویندوز چنین نیست. مثلاً در ویندوز به صورت پیش فرض برای تایپ کردن ، Notepad را در اختیار شما قرار داده است. آیا این نرم افزار برای رفع نیازی های Type کافیست؟ مثلاً شما برای باز کردن فایل های PDF در ویندوز نیاز به نصب نرم افزار Adobe Acrobat Reader دارید در حالیکه در لينوكس  بدون نیاز به هیچ نرم افزاری می توانید اسناد PDF را به راحتی باز کنید. از هم اینها مهمتر این که لينوكس  مانند ویندوز نیازی به نصب کردن ندارد.
  5. لينوكس  قابلیت خواندن بیش از 100 نوع از سیستم فایل ها را دارد در حالیکه ویندوز دو یا سه فایل سیستم آن هم از سیستم فایل های خودش را می خواند.
  6. ویندوز فقط می تواند در پارتیشنی که Primary است نصب شود اما لينوكس  در پارتیشن های Logical نیز نصب می شود.
  7. لينوكس  را می توان بر روی یک تلفن همراه تا یک ابر کامپیوتر نصب نمود. لينوكس  در راه اندازی برنامه های حساس یک هواپیما نیز کاربرد دارد.
  8. Bug های لينوكس  به مراتب کمتر از ویندوز است و دلیل پایداری آن نیز همین است در حالیکه عمر مفید یک ویندوز حداکثر چهار پنج ماه است.
  9. سیستم عامللينوكس رایگان است اما سیستم عامل ویندوز نه تنها رایگان نیست بلکه گران است.
  10. لينوكس را هم می توان از درون CD بوت کرد و هم می تواند بر روی Hard نصب نمود اما ویندوز لزوماً نیاز به نصب دارد.
  11. لينوكس در درون خود مجازی سازی یا Built in دارد که به شما اجازه می دهد همزمان سیستم عامل های دیگری نیز داشته باشید.
  12. در محیط لينوكس  به شما بی شمار انتخاب گرفیکی تعلق می گیرد در حالیکه در ویندوز تنها با یک محیط گرافیکی روبرو هستید. به عبارت دیگر در لينوكس  واسط های گرافیکی بی شمار هستند.
  13. در ویندوز شما Internet Explorer دارید اما در لينوكس  Mozilla FireFox عمل Web Browsing را با سرعت 10 برابر انجام می دهد. همچنین شما می توانید از 101 عملکرد این برنامه نسبت به Internet Explorer برخوردار شوید.
  14. Pidgin و Kopete دو نرم افزار محبوب Chat در لينوكس   هستند که به صورت رایگان در آن قرار دارند با همه Protocol ها سازگاری دارند.
  15. برای راه اندازی Media Center در لينوكس  نیازی به نرم افزار نیست اما در ویندوز شما ملزم به نصب نرم افزارهای خاص دارید.
  16. محیط Desktop لينوكس  سه بعدی است که کاربران در آن راحت تر می توانند کار کنند.
  17. متنی که در لينوكس  Copy می کنید تا ساعت ها می توانید از آن در جاهای دیگر استفاده کنید. این کار توسط نرم افزار خاصی که به طور پیش فرض در Desktop شما قرار دارد میسر است.
  18. در لينوكس  قابلیتی وجود دارد که با یک تصویر نمادین کوچک به شما حجم هر فایل نشان داده می شود تا متوجه بشوید چقدر از فضای شما را اشغال کرده است.
  19. لينوكس  های Server در خود My SQL و PostgreSQL که از ابزارهای قوی مدیریت داده ها هستند نصب دارد.
  20. لينوكس   از تکنولوژی Cluster بندی استفاده می کند و قابلیت محاسبات فوق پیشرفته و سنگین را دارد برای همین است که در ابر کامپیوتر ها از لينوكس   به جای ویندوز استفاده می شود.
  21. فایل سیستم NTFS در ویندوز حداکثر تا 16 TeraByte را پشتیبانی می کند در حالیکه لينوكس   با فایل سیستم XFS تا یک میلیون TeraByte را Support می کند و همین است که باعث بالا بودن سرعت در لينوكس  می شود. همچنین لينوكس  می تواند تا 1024 پردازنده در یک کامپیوتر را پشتیبانی کند که ویندوز از آن ناتوان است.
ادامه مطلب

بهینه سازی هاست لینوکس

بهینه سازی هاست لینوکس

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

پیکر بندی MySQL :

پیکر بندی MySQL یکی از بهترین راه ها برای بهینه سازی سرور مجازی لینوکس میباشد. با پیکربندی و بهینه سازی MySQL شما براحتی می توانید ظرفیت RAM سرور خود را افزایش دهید و آن را قدرتمند سازید. در صورتی که شما متوجه شدید که نمونه MySQL در حال مصرف بیش از حد از حافظه میباشد شما می توانید به راحتی سایز کش خود را پیکربندی کنید و آن را کوچک تر کنید. این کار اندازه واقعی حافظه را نگه خواهد داشت و سرور خود را سریع تر و بهتر خواهد کرد.

غیر فعال کردن کنترل پنل:

این روزها نصب و استفاده از برخی از پنل های سنگین مانند سی پنل و پلسک تبدیل به مد شده است. اگر چه این کنترل پنل ها در آنها ویژگی های بارگذاری شده و چندین مزایا برای کاربران فراهم می کند در صورتی که شما نیاز کمی به آن داشته باشید می توانید آن را غیر فعال کنید و می توانید با این کار حافظه RAM خود را در بعضی موارد تا حد 150 MB آزاد سازید. اگر سرور شما آهسته و کند باشد پس قطعا شما باید غیر فعال کردن کنترل پنل را به طور جدی در نظر بگیرید و به جای آن از اسکریپت های کوچک و دستور فرمان shell استفاده کنید.

غیر فعال کردن ویژگی های ناخواسته:

همیشه چندین پلاگین و برنامه در پس زمینه سرور شما در حال اجرا میباشند. اگر سرور VPS شما کند و آهسته در حال اجرا میباشد پس شما باید غیر فعال کردن این ویژگی های ناخواسته را در نظر بگیرید و حافظه RAM سرور خود را آزاد کنید. با غیر فعال کردن این نرم افزارها و برنامه های کاربردی ناخواسته شما قطعا عملکرد سرور خود را بهبود خواهید بخشید.

پیکربندی APACHE:

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

انتخاب یک سرور مجازی

 انتخاب یک سرور مجازی

انتخاب یک سرور مجازی

صرف‌نظر از اين‌كه قصد داشته‌باشيد سخت‌افزارهاي قديمي را به يك سرور جديد منتقل کنيد يا بخواهيد سيستم‌عامل جديدي را راه‌اندازي كرده يا حتي درآمد حاصل از سرمايه‌گذاري خود را افزايش دهيد، مجازی سازی براي شرکت‌هاي كوچك مزاياي متعددي را به‌دنبال دارد و در اين رابطه محصولات بسياري دردسترس قرار دارد. بازار مجازي‌سازي توسط سه فروشنده اصلي كنترل مي‌شود. رتبه اول اين بازار متعلق به VMWare است كه مجموعه‌اي از محصولات متنوع شامل VMWare Server را عرضه مي‌كند. رتبه دوم، در اختيار شركت مايكروسافت و فناوري Virtual Server 2005 R2 قرار دارد. شركت Critix  نيز كه به‌تازگي مالكيت فناوري Xenserver را (كه در حقيقت يك نسخه تجاري از فناوري مجازي‌سازي كدباز Xen است) به دست آورده، در رتبه سوم قرار دارد. تمام اين فناوري‌ها به‌منظور استفاده در شركت‌هاي كوچك توليد و عرضه شده‌اند و امكان دريافت رايگان آن‌ها از اينترنت وجود دارد. در اين مقاله، فناوري‌هاي مذكور را مورد بررسي و آزمون قرار داده‌ايم.

 

Virtual Server 2005 R2 SP1

تا هنگام عرضه پلتفرم HyperV توسط مايكروسافت، فناوريVirtual Server  2005 R2 پلتفرم اصلي اين شركت براي مجازی سازی محسوب مي‌شد. اين فناوري در هر دو نوع پردازنده 32 بيتي و 64 بيتي قابل اجرا بوده و آخرين نگارش آن موسوم به SP1 از فناوري‌هاي Intel-VT و AMD-V پشتيباني مي‌كند؛ در حالي كه داشتن فناوري‌هاي مذكور پيش‌نياز نيست.  سيستم‌عامل ويندوز بايد روي يك سرور ميزبان نصب شود و بهترين گزينه براي اين كار ويندوز سرور 2003 است. در صورت نصب روي يك سيستم 64 بيتي محدوديت تعداد ماشين‌هاي مجازي از 64 به512 عدد به ازاي هر سرور افزايش مي‌يابد. اين در حالي است كه حافظه اختصاصي هريك از ماشين‌هاي مجازي نيز از 3,64 گيگابايت به 256 گيگابايت مي‌رسد. توجه به اين نكته ضروري است كه صرف‌نظر از پردازنده سيستم ميزبان، ماشين‌هاي مجازي مهمان را فقط مي‌توانيد به‌صورت 32 بيتي اجرا كنيد و براي هرماشين مجازي فقط امكان استفاده از يك پردازنده مجازي وجود دارد.

راه‌اندازي چنين سيستمي بسيار ساده است. كافي است از اجراي IIS توسط سيستم‌عامل ميزبان مطمئن شده و نرم‌افزار را با استفاده از برنامه مربوط نصب كنيد. پس از اين كار توسط يك مرورگر و با استفاده از يك مؤلفه ActiveX كه به‌منظور كنترل راه‌دور ايجاد شده است، مي‌توانيد ماشين‌هاي مجازي را ايجاد و مديريت كنيد. در صورت مديريت مجوزهاي كاربران با استفاده از Active Directory و بهره‌گيري از ابزار System Center Virtual Machine Manager براي مديريت همزمان چندين سرور، امكان فعال‌سازي سيستم كدگذاري SSL نيز وجود دارد. ماشين‌هاي مجازي مهمان مي‌تواند سيستم‌عامل‌هاي ويندوز يا لينوکس باشند كه به‌منظور بهبود كارايي و سرعت از بسته‌هاي‌نرم‌افزاري Virtual Machine Addition استفاده‌مي‌كنند. با وجود اين، از سيستم‌عامل ويستا فقط براي مقاصد غيرتوليدي پشتيباني مي‌شود و تعداد پلتفرم‌هاي لينوکس كه به‌صورت رسمي پشتيباني مي‌شوند، محدود است.  در آزمون انجام‌شده دريافتيم مديريت‌نرم‌افزار مايكروسافت بسيار ساده‌است. ماشين‌هاي مجازي را مي‌توان از ابتداي كار به‌وجود آورد، آن‌ها را كپي و جابه‌جا كرد و به‌منظور جابه‌جايي سرورهاي فيزيكي موجود، ابزارهاي جداگانه‌اي شامل برنامه‌ها و تنظيمات مربوطه در دسترس است. قابليت بهينه‌سازي سيستم به‌واسطه توزيع كار بين ماشين‌هاي مجازي يا تخصيص درصد ثابتي از توان پردازشي به هريك از آن‌ها ويژگي جالب توجهي است.  يكي ديگر از ويژگي‌هاي مفيد اين نرم‌افزار امكان نصب و دسترسي به هاردديسك‌هاي مجازي به‌صورت Offline است. با استفاده از اين ويژگي نيازي به راه‌اندازي ماشين مجازي مربوط نيست. در نگارش SP1 از ابزار Volume Shadow Copy Service نيز پشتيباني شده و به‌اين ترتيب امكان تهيه نسخه‌پشتيبان از ماشين‌هاي مجازي فعال فراهم شده است. با وجود اين، برخلاف نرم‌افزار Xenserver Enterprise راهكاري براي انتقال فعال ماشين‌هاي مجازي وجود ندارد.

VMWare Server 2.0

يكي از مزاياي اصلي VMWare Server اين است كه امكان ميزباني توسط هر دو نوع سرور ويندوز و لينوکس را دارد. هر نوع سرور ممكن است داراي پردازنده 32 يا 64 بيتي باشد. به‌علاوه، با وجود اين‌كه استفاده از فناوري‌هاي مجازي‌سازي Intel-VT و AMD-V تا هنگامي كه نخواهيد از سيستم‌عامل‌هاي مهمان 64 بيتي پشتيباني كنيد، ضروري نيستند، هردو فناوري مذكور پشتيباني شده‌اند. نرم‌افزار مورد بررسي در اين مقاله نسخه آزمايشي VMWare  Server  2.0 است كه در اواسط سال 2008 عرضه شد. با وجود اين، براي انجام فرآيند توليد پيشنهاد مي‌كنيم از نسخه 1.0 اين نرم‌افزار كه پايداري بسيار بيشتري دارد، استفاده كنيد. تمام نسخه‌هاي بعد از ويندوز 2000 با پشتيباني از Windows Server 2008 مي‌توانند نرم‌افزار VMWare Server را ميزباني كنند. در مقابل، پشتيباني وسيعي ازميزبانان لينوكس شامل 5.1  RHEL (سرنام  Red Hat Enterprise Linux) و آخرين نگارش Novell SUSE و Ubuntu به عمل آمده‌است. به همين ترتيب، فهرستي از سيستم‌عامل‌هاي مهمان شامل سولاريس شرکت سان و مجموعه‌اي از نسخه‌هاي مختلف ويندوز و لينوكس  همراه نسخه‌هايVista Business ،Windows Server 2008، ش Vista Ultimate و RHEL5 وجود دارد.

ساير بهبودهاي آخرين نسخه شامل قابليت پيكربندي ماشين‌هاي مجازي با استفاده از هشتاد گيگابايت رم (در نگارش VMWare Server 1.0 رم به 3,6 گيگابايت محدود است) و ده مبدل مجازي شبكه است.  در هر دو نگارش قابليت SMP  دوطرفه در دسترس بوده و در Server 2.0 به ازاي هر نسخه مي‌توانيد تا 64 ماشين مجازي را با قابليت پشتيباني از دستگاه‌هاي پرسرعت USB 2 راه‌اندازي كنيد. به‌علاوه، براي تبديل سرورهاي فيزيكي به ماشين‌هاي مجازي ابزارهاي موردنياز نيز در اختيار بوده و ابزارهاي پيش‌ساخته متعددي در قالب VMWare وجود دارند. نصب سيستم بسيار ساده است، اما در نحوه مديريت اين محصول تغييرات عمده‌اي به چشم مي‌خورد. در Server 1.0 براي ساخت، مديريت و اجراي ماشين‌هاي مجازي از يك كنسول ويندوز و يك رابط انتخابي وب استفاده مي‌شود. در VMWare Server 2.0 اين رويكرد با يك كنسول مبتني بر مرورگر جايگزين شده‌است. با استفاده از اين كنسول دسترسي به ترمينال‌ها ساده شده، اما از ديدگاه ما كار با آن به سادگي رابط گرافيكي قديمي نيست. به علاوه، در نگارش آزمايشي به چندين اشكال برخورديم كه بايد در نسخه نهايي نرم‌افزار اصلاح شوند.

Xenserver v4

تفاوت Xenserver با دو محصول ديگر در اين است كه نرم‌افزار اخير از نوع هايپروايزر( Hypervisor) است. به‌اين معني كه براي شروع كار با Xenserver به سيستم‌عامل ميزبان نيازي نداريد. كافي است CD موردنياز براي نصب را درون درايو يك كامپيوتر قرار داده و با استفاده از آن سيستم را راه‌اندازي كنيد. سپس مي‌توانيد تمام نرم‌افزارهاي موردنياز  را براي ميزباني ماشين‌هاي مجازي لينوكس و ويندوز بارگذاري كنيد. هايپروايزر نرم‌افزار Xenserver از نوع 64 بيتي است، بنابراين با وجود اين كه ماشين‌هاي مجازي مي‌توانند به هر دو صورت 32 بيتي يا 64 بيتي اجرا شوند،‌ نيازمند حداقل يك پردازنده64 بيتي هستيد. براي اجراي سيستم‌عامل‌هاي مهمان ويندوز نيازمند پردازنده‌هاي Intel-VT و AMD-V با قابليت پشتيباني از Windows Server 2000 SP4، XP و Server 2003 و همچنين اغلب نسخه‌هاي اصلي لينوكس به صورت استاندارد هستيد.  در نسخه آزمايشي 4,1 كه مورد آزمون قرار گرفت، ويندوز ويستا (فقط در حالت 32 بيتي) در دسترس قرار داشته، به‌علاوه  مقياس‌پذيري و كارايي اين نگارش كه انتظار مي‌رود در اواسط سال جاري عرضه شود، افزايش يافته است.

سه نسخه از اين نرم‌افزار عرضه خواهد شد كه شروع آن با يك نسخه Express رايگان است. اين نگارش براي شركت‌هاي كوچك كارايي دارد، اما فقط به دو پردازنده فيزيكي و چهار گيگابايت حافظه محدود شده و فقط چهار مهمان فعال را پشتيباني مي‌كند. بنابراين براي ارائه خدمات به ساير مشتريان بايد از ساير نسخه‌ها استفاده شود. با به‌روزرساني سيستم به نسخه‌هاي Enterprise يا Standard هيچ محدوديتي براي تعداد پردازنده وجود ندارد؛ به علاوه هر سرور مي‌تواند تا 128 گيگابايت و هر ماشين مجازي تا 32 گيگابايت  رم را مورد استفاده قرار دهد. نسخه Enterprise مي‌تواند از ابزارهاي ذخيره‌سازي مشترك iSCSI يا NAS نيز بهره‌گرفته و شامل ابزاري موسوم به Xenmotion است كه امكان جابه‌جايي ماشين‌هاي مجازي فعال بين سرورها را فراهم مي‌كند. با وجود اين، هزينه استفاده از نسخه‌هاي ‌مذكور كم‌نيست. به‌عنوان مثال، امتياز سالانه نسخه Standard همراه پشتيباني، از ششصد دلار آغاز مي‌شود.

براي مديريت راه‌دور Xenserver از يك برنامه Xencenter مبتني بر ويندوز استفاده مي‌شود. برنامه مذكور قابليت مديريت همزمان چندين‌ سرور و ادغام سرورهاي جديد را فراهم مي‌كند. با وجود اين كه كنسول توكار Xencenter كارايي خوبي دارد، ما ترجيح مي‌دهيم براي دسترسي به سيستم‌عامل‌هاي مهمان ويندوز از Remote Desktop استفاده كنيم.از طرفي ساخت ماشين‌هاي مجازي جديد با استفاده از قالب‌هاي آماده، سريع و آسان بوده و مي‌توانيد قالب‌هاي دلخواه خود را پيكربندي كنيد. تعداد زيادي از گزينه‌هاي شبكه و ماشين‌هاي مجازي وجود دارند كه مي‌توان از آن‌ها كپي يا نسخه پشتيبان تهيه‌كرد. به علاوه، براي ميزبان‌هاي لينوكس يك ابزار تبديل ماشين‌هاي فيزيكي به مجازي در اختيار قرار گرفته است. شركت دل نيز به تازگي Xenserver را به عنوان يكي از برنامه‌هاي استاندارد در سرورهاي Poweredge تعبيه كرده است. يكي ديگر از قابليت‌هاي مفيد اين نرم‌افزار سازگاري با قالب Microsoft VHD است.

انتخاب نهايي

انتخاب بين پلتفرم‌هاي مجازی سازی موجود در اين گروه آزمون بسيار مشکلي است. تمام اين فناوري‌ها قابليت‌هاي متعددي داشته و به سادگي براي شرکت‌هاي كوچك راه‌اندازي مي‌شوند، اما بين آن‌ها محدوديت‌ها و تفاوت‌هاي مهمي وجود دارد.براي مثال Virtual Server 2005 R2 SP1 محصول شركت مايكروسافت نيازمند يك ميزبان با مجوز كامل دسترسي است و فقط مي‌تواند سيستم‌عامل‌هاي مهمان 32 بيتي را اجرا كند. در مقابل،‌ سيستم‌عامل مهمان ممكن است ويندوز يا لينوكس باشد و از رابط مديريت مرورگرمحور زيبايي بهره‌مند است. به‌علاوه، امكان راه‌اندازي مجزاي چندين هاردديسک وجود داشته و مي‌توان ماشين‌هاي مجازي را به يك پلتفرم Hyper-V جديد منتقل كرد. اگر يك سرور ويندوز ذخيره در اختيار داريد و محدوديت‌هاي اين فناوري برايتان مشكل‌ساز نيست،‌ اين فناوري ارزش امتحان را دارد. در غير اين صورت بهتر است به سراغ ساير فناوري‌ها برويد.از طرف ديگر، امكان ميزباني VMWare Server توسط ويندوز سرور و لينوكس وجود دارد و از سيستم‌عامل‌هاي مهمان 32 و 64 بيتي پشتيباني مي‌كند. به‌علاوه، با استفاده از اين فناوري در ماشين‌هاي مجازي از قابليت SMP مجازي دوطرفه و پشتيباني دستگاه‌هاي پرسرعت USB2 نيز بهره‌مند مي‌شويد.

اين قابليت‌ها در فناوري مايكروسافت وجود ندارد. به هرحال نسخه VMWare  Server 2.0 به‌صورت آزمايشي عرضه شده و به‌كارگيري آن براي فرآيند توليد توصيه نمي‌شود. با وجود اين‌كه مي‌توان نرم‌افزار VMWare Server 1.0 را به عنوان جايگزين فناوري اخير به‌كار گرفت، بايد توجه داشت نسخه 1.0 كارايي كمتري دارد. بنابراين توصيه ما استفاده از فناوري Xenserver v4 محصول شركت Citrix است. فناوري Xenserver به عنوان يك محصول هايپروايزر بدون نياز به سيستم‌عامل ميزبان يا هرنوع هزينه اضافي ديگر حداكثر كارايي را در اختيار مي‌گذارد. اين فناوري از سيستم‌عامل‌هاي مهمان‌ 64 بيتي پشتيباني كرده و با وجود اين كه نسخه رايگان Express فقط قابليت اجراي همزمان چهار ماشين مجازي را دارد، قادر است اغلب نيازهاي شرکت‌هاي كوچك را تأمين كند. به  علاوه، نصب و كار با فناوري Xenserver ساده است و آن را به انتخاب مناسبي براي شركت كوچك با سرمايه اندك تبديل مي‌كند.

 

ادامه مطلب

آشنایی با وب سرویس ها

آشنایی با وب سرویس ها

آشنایی با وب سرویس ها

وب سرویسها می توانند application های شما را به Web-Application  تبدیل کنند، که در این صورت کارکردهای آنها در سطح جهانی گسترش پیدا خواهد کرد.

وب سرویس چیست؟

–          وب سرویسها اجزای یک نرم افزار هستند.

–          وب سرویسها از طریق پروتکل ارتباط برقرار می کنند.

–          وب سرویسها نیازی به منابع بیرونی نداشته و اصطلاحا self-contained هستند.

–          وب سرویسها از طریق UDDI قابل جستجو هستند.

–          وب سرویسها توسط application های دیگر قابل استفاده اند.

–          XML و HTTP  پلت فرم اولیه وب سرویسهاست.

وب سرویس چگونه کار می کند؟

همانطور که گفته شد پلت فرم اولیه وب سرویس ها XML و HTTP  است.

XML زبانی است که می تواند بین دو پلت فرم و زبان برنامه نویسی مختلف برای بیان و توضیح توابع پیچیده مورد استفاده قرار بگیرد.

HTTP یکی از پروتکل های رایج در اینترنت است.

عناصر پلت فرم وب سرویسها:

  • SOAP (Simple Object Access Protocol)
  • UDDI (Universal Description, Discovery and Integration)
  • WSDL (Web Services Description Language)

 این عناصر در ادامه توضیح داده خواهند شد.

در گذشته نزدیک وب سرویسها به علت کند بودن مورد توجه قرار نمی گرفتند.

ایجاد قابلیت همکاری

هنگامی که پلت فرم های مختلف قابلیت دسترسی به وب را از طرق جستجوگرهای وب (Web Browsers) دارند، می توانند با هم تعامل داشته باشند و برای این منظور Web-application ها توسعه یافتند.

Web-application ها به صورت ساده، نرم افزارهایی هستند که تحت وب عمل می کنند و با استانداردهای مرورگرهای وب و پلت فرم های مختلف همخوانی دارند.

Web Service ها نسل بعدی Web-application ها هستند

با استفاده از وب سرویسها، عملکرد application های شما در سطح جهانی گسترش پیدا خواهد کرد.

وب سرویسها از XML برای کدگزاری و کد گشایی اطلاعات و از SOAP برای جابجایی آن استفاده می کنند.

به عنوان مثال با وب سرویسها، سیستم صدور صورت حسابهای مالی بخش حسابداری شما که با ویندوز 2000 کار میکند می تواند با سیستم بخش IT که از سرور UNIX استفاده میکند ارتباط برقرار کند.

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

_ استفاده مجدد از کامپوننت های نرم افزاری

Application هایی وجود دارند که اغلب از آنها استفاده می کنیم، حال این سئوال مطرح می شود که چرا باید دوباره و دوباره آنها را ایجاد کنیم؟!

وب سرویسها می توانند کامپوننت های نرم افزارهای مختلف را مانند: تبدیل ارز، گزارش آب و هوا و یا سرویس ترجمه زبانهای مختلف را به شما ارائه دهند.

_ اتصال به نرم افزارهای موجود

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

application های مختلف با پلت فرم های مختلف می توانند بوسیله وب سرویسها با یکدیگر تبادل اطلاعات کنند.

وب سرویسها سه جزء اولیه در پلت فرم خود دارند: SOAP، WSDL و UDDI.

آشنایی با وب سرویس ها

 SOAP چیست؟

SOAP یک پروتکل بر پایه XML است که اجازه می دهد تبادل اطلاعات از طریق HTTP انجام شود.

به صورت ساده تر: SOAP یک پروتکل برای دسترسی به وب سرویس است.

SOAP مخفف Simple Object Access Protocol است.

SOAP یک پروتکل ارتباطی است.

SOAP یک قالب ارسال پیام است.

SOAP برای ارتباط از طریق اینترنت طراحی شده است.

SOAP یک پلت فرم و یک زبان مستقل است.

SOAP بر پایه XML است.

SOAP یک پروتکل ساده و توسعه پذیر است.

SOAP به شما اجازه دور زدن فایروال را می دهد.

WSDL چیست؟

WSDL مخفف Web Services Description Language و یک زبان بر پایه XML است برای پیدا کردن و توصیف وب سرویس ها.

UDDI چیست؟

UDDI یک سرویس دایرکتوری است که شرکت های مختلف می توانند برای جستجوی وب سرویسها در آن ثبت نام کنند.

UDDI مخفف Universal Description, Discovery and Integration است.

UDDI یک دایرکتوری برای ذخیره اطلاعات در مورد وب سرویسهاست.

UDDI یک دایرکتوری از رابط های وب سرویس هاست که توسط WSDL شرح داده می شود.

UDDI از طریق SOAP ارتباط برقرار می کند.

UDDI در داخل پلت فرم  Microsoft .Net ساخته شده است.

هر application می تواند جزئی از وب سرویس باشد.

وب سرویسها با هر زبان برنامه نویسی قابل پیاده سازی هستند.

یک مثال برای وب سرویس

در مثال پایین از  ASP.Net  برای ساخت یک وب سرویس ساده که درجه هوا را از فارنهایت به سلسیوس و بلعکس تبدیل می کند استفاده شده است.

<%@ WebService Language=”VBScript” %>

Imports System
Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,”,”,”.”))
if fahr=”” or IsNumeric(fahr)=false then return “Error”
return ((((fahr) – 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,”,”,”.”))
if cel=”” or IsNumeric(cel)=false then return “Error”
return ((((cel) * 9) / 5) + 32)
end function

end class

توضیح مثال:

نکته: برای اجرای این مثال به یک سرور .Net احتیاج دارید.

اولین خط از مثال نشان می دهد که این یک وب سرویس است که بوسیله VBScript نوشته شده و از کلاس “TempConvert” استفاده کرده است:

<%@ WebService Language=”VBScript” %>

خط بعد وارد کردن namespace،  “System.Web.Services”  از .Net framework  است.

Imports System
Imports System.Web.Services

خط بعد تعریف می کند که کلاس “TempConvert” یک نوع کلاس وب سرویس است.

Public Class TempConvert :Inherits WebService

مرحله بعدی بر پایه زبان برنامه نویسی VB است. این application داری دو عملکرد است، یکی تبدیل فارنهایت به سلسیوس و دیگری تبدیل سلسیوس به فارنهایت.

تنها فرق آن با یک application  معمولی این است که عملکرد آن به عنوان “WebMethod()” تعریف شده است.

از “WebMethod()” برای تبدیل عملکرد application خود به عنوان یک وب سرویس استفاده نمایید:

<WebMethod()> Public Function FahrenheitToCelsius
(ByVal Fahrenheit As String) As String
dim fahr
fahr=trim(replace(Fahrenheit,”,”,”.”))
if fahr=”” or IsNumeric(fahr)=false then return “Error”
return ((((fahr) – 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit
(ByVal Celsius As String) As String
dim cel
cel=trim(replace(Celsius,”,”,”.”))
if cel=”” or IsNumeric(cel)=false then return “Error”
return ((((cel) * 9) / 5) + 32)
end function

در آخر با این دستور کلاس را ببندید.

end class

حال با آپلود فایل .asmx در یک سرور .Net اولین وب سرویس خود را خواهید داشت.

ادامه مطلب

IIS چیست؟

IIS چیست؟

IIS چیست؟

سرویس Internet Information Service IIS وب سرور قدرتمند، قابل انعطاف، امن و با قابلیت کاربری آسان و محصول شرکت مایکروسافت می باشد که امکاناتی بسیار زیادی از قبیل Media Streaming، میزبانی Web Application  و … را در اختیار وب سایت های مربوطه قرار می دهد.

نسخه IIS 7.5 که در با ویندوز سرور 2008 R2 منتشر گردید، دارای امکانات قابل توجهی نسبت به نسخه های قبلی خود یعنی IIS 6 می باشد .

این نرم افزار از امکانات مانند HTTP,HTTPS,SMTP,FTP,FTPS, و NNTP به خوبی پشتیبانی می نماید و به صورت کامل با ویندوز سرور 2008 سازگار می باشد.

نسخه های قدیمی تر IIS دارای آسیب پذیری های بسیار زیادی بودند، که معروف ترین آن ها مربوطه به کد های مخرب Code Red Worm در سال 2001 می باشد. گرچه تا بحال هیچ گونه گزارشی مبنی بر وجود حفره های امنیتی در نسخه های 6 و 7 این نرم افزار منتشر نشده است اما مایکروسافت برای اطمینان هرچه بیشتر کاربرانش به طور کلی سعی در تغییر ساختار امنیتی نرم افزار وب سرور خود در نسخه 7.5 نموده است.

یکی از این امکانات، قابلیتی تحت عنوان Web Service Extension  از نسخه IIS 6.0 اضافه گردیده که این نرم افزار را از اجرای هر برنامه ثالثی بدون اجازه مدیر سرور منع می نماید.

تمامی اجزای نرم افزار مذکور در نسخه IIS 7 به صورت ماژولار تغییر یافته است، این موضوع باعث می شود تا مدیر سرور بتواند تنها ماژول های مورد نیاز را بر روی سرور خود نصب نموده و از بوجود آمدن بار اضافی بر روی سرور جلوگیری کند. همچنین توجه نمایید که نصب ماژول های بیشتر به معنای، فراهم شدن امکان هک و یا مورد حمله قرار گرفتن بیشتر نیز می باشد.

بر طبق آمار ارایه شده توسط موسسه امنیتی دانمارکی Secunia در ژوئن 2011، IIS 7 تا کنون موفق به مرتفع نمودن 6 مورد از آسیب پذیری های قبلی شده است، در صورتی که در نسخه IIS 6 این نرم افزار دارای 11 مورد حفره امنیتی بود که تنها موفق به رفع یکی از آنها شد.

همانطور که گفته شد IIS 7.0 ساختاری ماژولار دارد، یعنی هر یک از قابلیت های آن به صورت منحصر بفرد می توانند نصب و یا حذف شوند.

برخی از این ماژول ها به شرح زیر می باشند:

–   ماژول HTTP  : برای رسیدگی به درخواست های محاسباتی مربوط به پروتکل HTTP استفاده می شد. مانند رسیدگی به اطلاعات و سئوالات ارسال شده توسط ماشین Client ها و برگرداندن پاسخ ها و یا پیغام های خطای مبتنی بر HTTP  مناسب

 –  ماژول های امنیتی : وظیفه انجام عملیات لازم برای فراهم آوردن امنیت وب سایت ها را بر عهده دارد. عملیاتی مانند: مشخس نمودن نحوه احراز هویت لازم برای ورود به هر وب سایت (Authentication)، انجام عملیات احراز هویت برای هر آدرس URL و راه اندازی فیلترهای امنیتی مختلف

 –  ماژول های محتوا : وظیفه انجام عملیات لازم برای نشان دادن محتوای لازم به کاربر را بر عهده دارد. عملیاتی مانند : محاسبه درخواست های دریافتی برای نمایش فایل های Static، محاسبه Default Documents در زمان هایی که کاربر دقیقا نام فایل مورد نظر را مشخص نمی کند، انجام عملیات لازم برای لیست کردن محتویات وب سایت (Directory Listing)

 – ماژول های فشرده سازی : وظیفه انجام عملیات لازم جهت فشرده سازی درخواست ها و بسته های دریافتی را مانند فشرده کردن بسته هایی که قراراست به کاربر ارسال شود، اعمال روش فشرده سازی Gzip برروی کد های ارسالی و اعمال عملیات فشرده سازی پیشرفته برای اطلاعات و فایل های محتویات Static

 –   ماژول های Caching : وظیفه انجام عملیات Caching  برای بهبود سرعت در لود و پاسخ به درخواست  ها را بر عهده دارد. وظایفی مانند ذخیره اطلاعات محاسبه شده در حافظه سرور، تا در زمان درخواست تکراری بعدی، اطلاعات لازم را از حافظه سرور سریع تر از گذشته بخواند.

 –  ماژول های مستند سازی و عیب یابی : برای انجام عملیات مربوط به ثبت وقایع و عیب یابی مورد استفاده قرار می گیرد.  نمونه هایی از وظایف آن ارسال اطلاعات ثبت وقایع به HTTP.sys برای نگهداری در سرور، گزارش وقایع و تغییرات انجام گرفته و ردیابی ردیابی درخواست های ارسالی از طریق آدرس IP آن ها می باشد.

روش های احراز هویت زیر در IIS 6  و بالاتر پشتیبانی می گردد:

–   احراز هویت ناشناس (Anonymous Authentication )

–   احراز هویت برای دسترسی های اولیه (Basic Access Authentication)

–  احراز هویت برای دسترسی های Digest  (Digest Access Authentication)

–  احراز هویت یکپارچه با ویندوز (Integrated Windows Authentication)

–  احراز هویت برای مسیر های UNC ( UNC Authentication)

–  احراز هویت مبتنی بر گواهینامه های امنیتی (Certificate Authentication)

متد های زیر به صورت اختصاصی در IIS 7.5  به این نرم افزار اضافه شده اند :

–   Client Certificate Mapping ( در این روش گواهینامه های امنیتی نصب شده از سمت کاربر مورد بررسی قرار میگیرد.)

– IP Security (در این روش می توان آدرس های IP های قابل اطمینان و مشکوک را از هم تفکیک نموده و از دریافت اطلاعات از آدرس های نا امن جلوگیری نمود.)

–   Request Filtering ( با استفاده از این قابلیت می توان درخواست دریافتی به وب سایت را فیلتر نموده و انواع آن را طبقه بندی نمود.)

–  URL Authorization ( با استفاده از این قابلیت میتوان مراحل احراز هویت را در زمان دسترسی به آدرس های URL  انجام نمایید.)

برخی دیگر از ماژول های افزوده شده به سرویس IIS 7.5  به عبارت زیر می باشند:

–  FTP Publishing Service : این قابلیت به طراحان وب امکان منتشر نمودن (Publish) محتویات سایت خود را از طریق یک محیط امن  مبتنی بر SSL و احراز هویت انجام دهند.

–  Administration Pack : این افزونه رابط های کاربری مدیریتی قدرتمندی را به محیط IIS اضافه می نمایند ، برخی از ابزار های زیر مجموعه این افزونه شامل ASP.NET authorization ، Custom Error برای ساخت صفحات خطای سفارشی، تنظیمات موتور Fast CGI و Request Filtering  می باشد.

–    Application Request Routing : ابزار بسیار پرکاربرد که برای مسیردهی به بسته های HTTP به سرورهای محتوا با قابلیت HTTP  و همچنین در حالت Load Balancing مورد استفاده میگردد.

–  Database Manager  : این قابلیت امکان مدیریت بسیار آسان دیتابیس های لوکال و تحت وب را از طریق محیط کاربری IIS به کاربر می دهد.

–  Media Service : این ماژول قابلیت قابلیت یکپارچه سازی کامل انواع فایل های چندرسانه ای را با وب سایت مربوطه ارایه می کند، با استفاده از این ماژول می توان از فایل های چند رسانه ای مانند انواع ویدیو، فلش و … در وب سایت خود به آسانی استفاده نمود.

–  URL Rewriting Module : با استفاده از این ماژول می توان، آدرس های وارد شده توسط کاربر را قبل از اینکه به وب سرور برسند، ویرایش، بازنویسی و یا تبدیل به آدرس دیگری نمود. (با استفاده از این قابلیت همچنین می توانید فایل های .htaccess لینوکسی خود را نیز در سرور ویندوزی وارد نمایید.

ادامه مطلب

مفهوم SQL Server

مفهوم SQL Server

مفهوم SQL Server

MS SQL Server یکی از سیستم­های مدیریت بانک­های اطلاعاتی رابطه ­ای (Relational) است که توسط شرکت مایکروسافت ارائه شده است. SQL Server از مدل سرویس دهنده – سرویس گیرنده (Client/Server) تبعیت می­نماید. در این مدل، درخواست­های (InQuery) سرویس­گیرندگان برای سرویس­دهنده ارسال و در سمت سرویس­دهنده بررسی و آنالیز می گردند. در ادامه، پردازش­های‌ مورد نیاز  بر روی اطلاعات ذخیره شده در بانک­های اطلاعاتی انجام و در نهایت، نتایج برای سرویس­گیرنده ارسال خواهد شد. MS SQL Server با استفاده از  مجموعه عناصری (Components) که به صورت هدفمند اجراء می گردند، قادر به تامین نیازها و درخواست­ها از مخازن داده (Data Storages) می باشد. مخازن داده در SQL Server به دو روش زیر مدیریت می گردند:

 OnLine Transaction Processing System)  OLTP )

 در مدل OLTP، مخازن داده به صورت جداول رابطه­ای که عموما به جهت جلوگیری از تکرار و ناهمگونی اطلاعات به صورت هنجار (Normalize) درآمده­اند، سازماندهی می­شوند. این نوع از بانک­های اطلاعاتی برای درج و تغییر سریع اطلاعات توسط چندین کاربر بطور همزمان مناسب می باشند.

          (OnLine Analytical Processing System)   OLAP

در مدل OLAP مخازن داده جهت تجزیه و تحلیل و خلاصه سازی حجم زیادی از اطلاعات سازماندهی می شوند. مخازن داده و ارتباط بین اطلاعات در این مدل توسط SQL Server مدیریت می­گردد.

 یکی از اهداف مهم سیستم های مدیریت بانک های اطلاعاتی، قابلیت رشد و توسعه (Scalability) است. MS SQL Server مجموعه­ای از پتانسیل­ها را به منظور تامین هدف فوق ارائه نموده است که به برخی از مهم ترین آنها اشاره می گردد :

·         قابلیت کار با بانک های اطلاعاتی حجیم (در حد ترابایت)

·         قابلیت دسترسی هزاران کاربر بطور همزمان به بانک اطلاعاتی

·         قابلیت خود سازگاری (Self Compatibility): با استفاده از ویژگی فوق، منابع مورد نیاز هر کاربر (نظیر حافظه ، فضای دیسک و …) به محض اتصال به سرور (Log in) به صورت اتوماتیک به وی تخصیص داده می­شود و پس از Log off، منابع اختصاص یافته به منظور استفاده سایر کاربران آزاد می شوند.

·         قابلیت اعتماد و در دسترس بودن (Reliability): با استفاده از ویژگی فوق می­توان بسیاری از فعالیت­های مدیریتی را بدون توقف سرور انجام داد (نظیر پشتیبان گیری).

·         برخورداری از سطوح امنیتی بالا: بدین منظور اعتبار­سنجی کاربران توسط SQL با اعتبار­سنجی ویندوز تجمیع می­گردد. در چنین مواردی، ضرورتی به تعریف کاربر در MS SQL نخواهد بود و اعتبار­سنجی وی توسط ویندوز انجام خواهد شد.

·         پشتیبانی از حجم بالای حافظه فیزیکی در سرور (در نسخه 2000 تا 64 گیگابایت و در نسخه 2005 و 2008 متناسب با حافظه ای که سیستم عامل از آن حمایت می نماید).

·         استفاده از چندین پردازنده به صورت موازی (در نسخه 2000 تا 32 پردازنده همزمان و در نسخه 2005 و 2008 محدودیتی وجود ندارد)

·         پشتیبانی از لایه ها و سوکت های امنیتی نظیر SSL ، خصوصا جهت استفاده در  وب .

 یکی دیگر از ویژگی های مهم سیستم های مدیریت بانک های اطلاعاتی‌، ایجاد تسهیلات لازم به منظور مدیریت بانک­های اطلاعاتی است. بانک SQL Server با ارائه برنامه­های جانبی نظیر Enterprise Manager، استفاده و مدیریت بانک­های اطلاعاتی را آسان نموده است.

MS SQL Server بطور اتوماتیک در Active Directory ثبت می شود (Register)، بنابراین کاربران شبکه به راحتی می­توانند آن را در Active Directory جستجو و در صورت نیاز به آن متصل شوند. همچنین، MS SQL Server توسط IIS پشتیبانی می­گردد و مرورگرها با استفاده از پروتکل HTTP  قابلیت استفاده از آن را خواهند داشت.

 از جمله نکات مهم در خصوص MS SQL Server، اجرای آن به صورت یک سرویس است. بنابراین، در صورتی که کاربری به ماشینی که بانک MS SQL Server بر روی آن اجرا شده است، Log on نکرده باشد، همچنان سیستم در دسترس کاربران خواهد بود. علاوه بر این، می­توان از سیستم مانیتورینگ ویندوز به منظور مانیتورینگ SQL Server استفاده نمود.

 یکی از مهم ترین و شاخص­ترین ویژگی­های MS SQL Server که از نسخه 2000  در آن ایجاد شده است، امکان نصب چندین نسخه SQL بر روی یک ماشین می­باشد (Multi Instance)، بطوریکه هر یک از نسخه­ها  فایل­های باینری مخصوص به خود را داشته و بطور جداگانه مدیریت و راهبری می گردند، ولی تمام نسخه­ها بطور همزمان اجرا می شوند (دقیقا” مشابه این است که چندین نسخه بر روی چندین کامپیوتر نصب شده باشد ). ابزارهای همراه SQL نظیر SQL Enterprise Manager یک مرتبه نصب خواهند شد و در تمامی نسخه های SQL به صورت مشترک استفاده خواهند شد.

تاریخچه SQL Server

شرکت IBM در دهه 70 زبانی به نام SEQUEL را، خاص پرس و جو (query) از پایگاه های داده ابداع کرد. این واژه معادل زبان پرس و جوی ساخت یافته می باشد. به مرور بخش های جدیدی به این زبان اضافه شد تا جایی که دیگر نه تنها برای پرس و جو بلکه برای ساخت و مدیریت پایگاه داده و نکات ایمنی موتور پایگاه داده نیز بکار می رفت. شرکت IBM این زبان را به عموم عرضه کرد و پس از آن SQL نامیده شد. موتورهای پایگاه داده امروزی ویرایش های متعددی از SQL را بکار می برند. ویرایش مورد استفاده SQL Server نیز Transact-SQL (T_SQL) نام دارد.

 مایکروسافت در ابتدا SQL Server را با همکاری Sybase  برای اجرا در محیط OS/2 طراحی کرد. هنگامی که مایکروسافت و IBM از هم جدا شدند، مایکروسافت کار را با سیستم عامل جدید و شبکه ای خود تحت عنوان سرویس دهنده پیشرفته ویندوز NT ادامه داد. در این مقطع مایکروسافت تصمیم گرفت SQL Server را شخصاً برای محصول جدید خود توسعه دهد. نام این محصول جدید SQL Server 4.2  بود که بعدها به 4.21  ارتقاء ‌یافت.

پس از جدا شدن مایکرو سافت و Sybase، شرکت اخیر موتور پایگاه داده خود را برای اجرا بر روی ویندوز NT توسعه داد (‌این محصول  Enterprise Sybase Adaptive Server نامیده می شود) و مایکروسافت ویرایش 6 و سپس 5/6 را عرضه کرد. ویرایش 5/6 این محصول که با قابلیت اجرا در محیط های NT و ویندوزهای 95 و 98 معرفی شد، بسیار وابسته به Sybase  بود اما در ویرایش 7.0  تیم مایکروسافت بتدریج کد مزبور را دوباره نویسی کرد و آن را تغییر داد. این شرکت ضمن ساختاردهی مجدد هسته مرکزی موتور پایگاه داده، یک بهینه ساز پرس و جوی پیشرفته و پیچیده و یک موتور ذخیره سازی پایگاه داده پیشرفته را نیز معرفی کرد.

به صورت کلی، SQL Server یک نرم‌افزار سیستم مدیریت بانک‌های اطلاعاتی است که توسط شرکت مایکروسافت توسعه داده شده است. برخی از ویژگی‌های این سیستم مدیریت پایگاه داده‌ها به این شرح است:

  1. بانک اطلاعاتی رابطه‌ای
  2. امکان استفاده از  Trigger, View, Stored procedure
  3. پشتیبانی از  XML
  4. OLAP
  5. بسیار قدرتمند و بدون محدودیت حجم و تعداد رکورد
  6. پشتیبانی از Full Text Search برای سرعت در بازیابی اطلاعات و استفاده از زبان طبیعی در جستجوها

آشنایی باSQL Server 2000
تاریخچه SQL Server  

SQL Server 2000  دارای ویژگی های قابل ملاحظه ای است. قابلیت اطمینان، در ‌دسترس بودن محصول و توسعه پذیری آن ا فزایش یافته و در کل کار را برای  راهبران پایگاه داده ساده تر کرده است.

اگر چه می توانید ویرایش 2000 را بر روی کامپیوترهای ویندوز 9x نیز اجرا کنید اما تمامی توانایی توان عملیاتی SQL Server را در اختیار نخواهید داشت.

با اجرا بر روی سیستم های 9x، توانایی بکارگیری چندین پردازنده، ایمنی ویندوز NT/2000، NTFS و چند مورد دیگر را از دست می دهید. ویندوز NT/2000 دارای مزایای دیگری نیز هست. ‌محیط NT برای پشتیبانی از چندین کاربر طراحی شده اما ویندوز 9x با این روش طراحی نشده است، بنابر این عملکرد SQL Server با افزایش تعداد کاربران به سرعت کاهش می یابد. در محیط NT Workstation، ‌سرویس دهنده ویندوز NT یا هر ویرایشی از ویندوز 2000، SQL Server 2000 به عنوان یک سرویس پیاده سازی شده است. کلیه برنامه های کمکی نظیر Enterprise Manager  مانند برنامه های معمولی سرویس گیرنده/ سرویس دهنده کار می کنند و به شما اجازه می دهند پایگاه های داده SQL Server را تقریباً از هر محلی کنترل کنید.

یک سرویس، برنامه ای است که می تواند به طور خودکار پس از بالا آمدن ویندوز NT یا ویندوز 2000 یا به شکل دستی و برحسب تقاضا اجرا شود. هر سرویس در ویندوز NT/2000 دارای رابط برنامه نویسی عمومی (API) است که می تواند از طریق برنامه کنترل شود. سرویس ها اجرای برنامه هایی نظیر SQL Server را بدون نیاز به ورود کاربر به کامپیوتر سرویس دهنده امکان پذیر می سازند.

    آشنایی با SQL Server 2005
    آشنایی با SQL Server 2005

SQL Server 2005، نسل بعدی سیستم مدیریت و تجزیه و تحلیل بانک های اطلاعاتی است که توسط شرکت نرم افزاری مایکروسافت طراحی شده است. توسعه یافتن امنیت، مقیاس پذیری و نیز فراهم آوردن و به کارگیری اطلاعات یک بانک اطلاعاتی، از ویژگی های جدید این نسخه از  SQL Sever شمرده شده است.

از دیگر امکانات توسعه پیدا کرده در این نرم افزار می توان به موارد زیر اشاره کرد:

·         Relation database: امنیت، قابل اعتماد بودن، مقیاس پذیری، سرعت بالای دسترسی به اطلاعات پایگاه های داده ای طراحی شده، اصلاح ساختار و نیز پشتیبانی از XML.

·         Replication Services: پاسخ دهی اطلاعات برای پخش کردن یا کاربردهای پردازش اطلاعات در موبایل، قابلیت استفاده در سیستم های بزرگ، سازگاری کامل مقیاس پذیری با انبار اطلاعات ثانویه (Secondary Data Storage)، هماهنگی کامل با بانک های اطلاعاتی اوراکل.

·         Analysis Services: قابلیت پردازش های تجزیه و تحلیلی آنلاین (OLAP) با سرعت بالا، تجزیه و تحلیل پیشرفته برای مجموعه بانک های اطلاعاتی پیچیده و بزرگ با استفاده از روش های متعدد ذخیره سازی اطلاعات.

·         Reporting Services: محیط جامع و کامل برای ایجاد یک سیستم گزارش گیری و مدیریت دو نوع گزارش گیری بر روی کاغذ و تحت وب.

·         Management Tools: شامل ابزارهای مدیریتی اولیه و پیشرفته از قبیل (Microsoft Operation Manager – MOM)  و (Microsoft system Managment Server – SMS)، پروتکل های استاندارد دسترسی به اطلاعات، پشتیبانی از وب سرویس های محلی ساخته شده برای  SQL Serverمی باشد.

·         Development tools: توسعه ابزارهایی برای طراحی و تجزیه و تحلیل یک بانک اطلاعاتی، استخراج داده ها، جابه جایی اطلاعات و بارگذاری آنها، استخراج اطلاعات OLAP، و سازگاری گزارش گیری های دقیق با استفاده از مجموعه VS.Net.

ده دلیل قانع کننده جهت استفاده از SQL Server 2005

در حال حاضر بسیاری از سازمان ها و شرکت ها از نسخه SQL Server 2000 استفاده می کنند. زمانی که شرکت Microsoft نسخه 2005  را ارائه کرد، بسیاری از مدیران  ITو راهبران پایگاه داده با این سوال مواجه شدند: آیا لازم است ویرایش SQL Server خود را upgrade کنیم !؟

مسلماً پیشرفت هایی که در نسخه SQL Server 2005 به چشم می خورد به قدری حائز اهمیت می باشند که شما به عنوان یک IT Manager یا DBA، در صورت شناخت، خود را موظف به این امر خواهید دانست.

نسخه SQL Server 2005 دارای قابلیت ها و ویژگی های نوین و کامل تری نسبت به ویرایش های قدیمی مانند SQL Server 2000  می باشد. 10 دلیل اصلی برای ترجیح استفاده از  SQL Server 2005 به شرح زیر است:

1.      هر برنامه کاربردی که در حال حاضر کار می کند، بدون هیچ تغییری با SQL Server 2005 نیز کار خواهد کرد:

ابزار SQL Server 2005 Management Studio جایگزین ابزار Enterprise Manager خواهد شد. اما شما با این ابزار جدید نیز قادر به مدیریت پایگاه های داده SQL Server 2000 خواهید بود. البته از این ابزار جهت مدیریت SQL Server 6.5 و SQL Server 7.0  نمی توان استفاده نمود. برنامه های کاربردی و سایت های شرکت یا سازمان شما بدون نیاز به انجام هیچ گونه تغییری به فعالیت ادامه خواهد داد. وجود این سازگاری بسیار مهم است.

2.       SQL Server 2005دارای ابزار های بیشتری می باشد:

در نسخه های قدیمی SQL Server اجزا گوناگون مانند Analysis Services در بسته های نرم افزاری مختلفی قرار گرفته بود. اما در نسخه SQL Server 2005 ، شرکت مایکروسافت رویکرد بازاریابی خود را تغییر داده و تمامی اجزا را در یک بسته قرار داده است. شما می توانید سرویس ها و اجزا مختلف را هنگام نصب انتخاب کنید.

3.      دسترسی آسان و یکپارچه به همه اجزا:

SQL Server Management Studio یا SSMS به شما این امکان را می دهد که خیلی ساده و واضح به همه اجزا مانند Profiler، Data Transformation Services (DTS) ،Reporting Services ،Tuning Advisor  دسترسی داشته باشید. این دسترسی حتی در مورد SQL Server Integration Services (SSIS) و  Online Analytical Processing (OLAP)نیز امکان پذیر است. وجود این یکپارچگی موجب افزایش کارایی و هزینه کمتر آموزش می گردد. حتی اگر شما نسخه های SQL Server 2000 را داشته باشید، توسط ابزار SSMS  می توانید آن ها را مدیریت کنید.

4.      بهره گیری از قدرت .Net برای ایجاد اشیا پایگاه داده:

در این نسخه شما قادر می باشید از زبان های برنامه نویسی سطح بالا مانند Visual Basic.Net یا C#.Net جهت تولید اشیا پایگاه داده مانند Stored Procedures،Functions  و Triggers استفاده کنید. در واقع قرار گیریCLR  در هسته اصلیSQL Server 2005، استفاده از هزاران class موجود در .Net را در پایگاه داده میسر ساخته است. لازم به ذکر است استفاده از CLR برای تولید اشیا پایگاه داده زمانی ارزشمند است که شی ساخته شده دارای منطق عملیاتی پیچیده ای باشد. در واقع قدرت عملکرد اشیایی که با CLR ساخته می شود، به مراتب بالاتر از اشیایی می باشد که با T-SQL ساخته شده باشد.

5.      بهره گیری از مزایایReporting Services :

به یک قاعده کلی اشاره می کنیم: “هر چیزی کهBack end  می تواند انجام دهد، بایدBack end  انجام دهد و نباید به Front end سپرده شود”. برای مثال ساخت یک Query به صورت Dynamic معمولا کار سخت و زمان فرسایی می باشد که مستلزم کد نویسی زیادی در لایه Application است. در واقع راه بهتر، دریافت پارامتر ها از کاربر و ارسال آن ها به یک Stored Procedure می باشد.SQL Server Reporting Services  این مفهوم را بسیار بهینه و کاراتر ساخته است. در نسخه های قدیم SQL Server، تهیه گزارشات توسط برنامه هایFront end  مانند  VB،C++ ،Crystal Reports و … صورت می پذیرفت. در SQL Server 2005 شما می توانید از مزایای فراوان Reporting Services استفاده نمائید. اول از همه شما می توانید کلیه منطق های مربوطه را از برنامه کاربردی جدا نموده و به بخش Reporting Services بسپارید. پس از آن خواهید توانست از هر Frond end دیگری جهت فراخوانی گزارشات به سادگی استفاده کنید.

6.      Business Intelligence موجود در SQL Server 2005:

سیستم های هوشمند و تحلیلی که بیشتر با عنوان سیستم های  (OLAP)شناخته می شوند، درون SQL Server 2005 قرار داده شده اند. یکپارچگی هوش تجاری با موتور پایگاه داده، قابلیت های فراوانی را در اختیار طراحان برنامه های کاربردی و تحلیل گران داده های سازمانی قرار می دهد.

7.      با DTS خداحافظی کنید و به SSIS خوش آمد بگوئید:

 SQL Server 2005ویژگی جدیدی به نام SSIS را معرفی می کند که از نظر امنیتی، مدیریتی و کاربردی بسیار مناسب عمل می کند. این ویژگی که جایگزین مناسبی برای DTS می باشد، عملیات ارسال و دریافت داده ها و تغییر آن ها را میان پایگاه های داده و فایل های مختلف به شکلی ساده و حرفه ای مدیریت می کند.

8.      بهره گیری از مکانیسم امنیتی نوین و مطمئن با مدیریت آسان تر:

توسط این نسخه می توانید دسترسی های خاص تر به افراد خاصی بدهید. طراحی جدید Schema به شما امکان می دهد به کاربران خود فقط دسترسی هایی را بدهید که به آن نیاز دارند

9.      قابلیت بسط پذیری در سازمان های بسیار بزرگ:

بدون شک یکی از اصلی ترین مشکلات SQL Server 2000، عدم قابلیت یا بهتر است بگوئیم عدم کارایی این نسخه در برابر حجم وسیعی از داده ها در سطح Enterprise بوده است. در واقع یکی از مهم ترین نقاط مورد توجه در طراحی این نسخه از SQL Server، قابلیت رقابت این سیستم با رقبای تجاری مانند Oracle و DB2 بوده است.

10.  ارائه روش های جدید برای برنامه نویسی پایگاه داده:

نسخه SQL Server 2005 دارای ویژگی های متعددی جهت افزایش کارایی و کاهش زمان برنامه نویسی می باشد. این ویژگی ها شامل موارد زیر می باشد:

• ADO.Net version 2.0
• Hosted Common Language Runtime
• Security Enhancement
• Transact-SQL Enhancement
• Service Broker
• Web Services- HTTP Endpoints
• Native XML Support
• Embedded Reports

آشنایی با SQL Server 2008
آشنایی با SQL Server 2008

نسخه بعدی SQL Server، نسخه 2008 می‌باشد که آخرین ویرایش آن در تاریخ  19 فوریه سال 2008 عرضه گردید. اهداف SQL Server 2008  ایجاد و مدیریت داده‌ها با روش هماهنگی، سازماندهی و محافظت به شکل اتوماتیک می‌باشد.

با توسعه دائمی SQL Server در عرضه تکنولوژی اتلاف وقت به نزدیک صفر رسید. ویرایش  2008  همیشه در برگیرنده حمایت از داده ‌های ساختاری یا نیمه ‌ساختاری است که این امر شامل قالب های رسانه‌ای دیجیتال برای عکس ها ، صوتی ، تصویری

و دیگر داده‌های چند رسانه‌ای می‌باشد.

 در نسخهٔ جدید، اکثر داده‌های چندرسانه‌ای را می‌توان به عنوان (BLOB شیئی باینری بسیار بزرگ) ذخیره‌سازی کرد. آگاهی درونی از داده‌های چند رسانه‌ای به ما این اجازه را خواهد داد که کارکردهای تخصیص یافته را اجرا نماییم. کاربران SQL Server 2008 می‌توانند به ذخیره ‌سازی داده‌هایی با تنوع زیاد بپردازند. XML، پست الکترونیکی (email)، زمان/تقویم، فایل، پرونده …. از جمله این داده‌ها می‌باشند. همچنین SQL Server 2008 به خوبی می‌تواند به اجرای عملیاتی چون جستجو، پرس‌وجو، تجزیه‌ و تحلیل، تقسیم‌بندی و انطباق همه نوع از داده‌ها بپردازد. انواع دیگری از داده‌های جدید عبارتند از: داده‌هایی از نوع زمانی، سلسله مراتبی (مانند نمودار سازمانی) یا مختصات جغرافیایی (GPS) که داده‌هایی وابسته به مکان می‌باشند.

 ویژگی های جدیدSQL Server 2008

1.      پشتیبانی از سخت افزارهای جدید:

به راحتی از سخت افزارهای با پردازنده های 64 بیتی پشتیبانی می کند، بنابر این حافظه در دسترس آن نیز افزایش می یابد.

2.      افزایش حافظه در دسترس :

حداکثر حافظه در دسترس SQL Server 32-bit ، مقدار32 GB  (با در نظر گرفتن حافظه های مجازی ) است که در ویرایش جدید SQL Server 64 bit  این مقدار تا  4 TBمی رسد. 512 GB  آن تست شده است.

3.      پشتیبانی از Hyper-Threading:

فناوری جدید پردازنده است که دو پردازنده منطقی را بر روی هر پردازنده فیزیکی در یک سیستم ایجاد می کند. این فناوری توسط شرکت اینتل توسعه یافته است و شرکت مایکروسافت آن را بهWindows Server 2003  افزوده است. با اضافه شدن این ویژگی، امکان اجرای چند برنامه به طور همزمان بر روی یک ماشین، سریع تر و ساده تر شده است.

4.      پشتیبانی از NUMA (Non-Uniform Memory Access):

معماری NUMA، به کارگیری پردازنده و حافظه را در سیستم­های چند پردازنده­ای با معماری SMP، موثر و کارآمدتر می نماید.

5.      پشتیبانی چند نمونه ای (Multi Instance):

SQL Server 2008 حداکثر می تواند تا 50 نمونه را پشتیبانی نماید، در حالی که SQL Server 2000 حداکثر میتوانست تا 16 نمونه را پشتیبانی نماید.

6.      پشتیبانی از انواع داده های جدید:

در SQL Server 2008 یک نوع داده بسیار مهم به نام XML اضافه شده است که برای ذخیره و بازیابی داده هایی از همین نوع به کار می رود.

7.      یکپارچگی  .NET Framework:

مهمترین تحول در این نسخه یکپارچگی باMicrosoft.NET Framework  است که امکان تولید رویه های ذخیره شده، توابع تعریف شده توسط کاربر، تریگرها، انواع داده تعریف شده توسط کاربر و غیره را در یکی از زبان های برنامه­ نویسی از قبیل J#.NET ، VC++، VB.NET و C#.NET میدهد. از این امکانات می توان در برنامه های کاربردی استفاده کرد.

8.      Snapshot   و  Mirroring بانک اطلاعاتی:

موجب جلوگیری از خرابی بانک اطلاعاتی می شود زیرا یک بانک اطلاعاتیstandby  ایجاد می کند که اطلاعات آن دقیقاً برابر اطلاعات بانک اطلاعاتی اصلی است. با snapshot از بانک اطلاعاتی، یک عکس فوری فقط قابل خواندن از بانک اطلاعاتی فراهم می شود که برای تهیه چندین نسخه از بانک اطلاعاتی در هنگام پشتیبان گیری مفید است. البته از نسخه های پشتیبان توسط این روش می توان در روش عقبگرد بازسازی بانک استفاده نمود.

9.      پارتیشن بندی داده ها:

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

10.  بهبود در کاتالوگ سیستم:

در SQL Server 2000 و نسخه های قبل از آن، کاتالوگ سیستم به عنوان بخشی از داده های اصلی ذخیره می شد، در حالی که در SQL Server 2008 حدود 250 عدد View برای نگهداری کاتالوگ سیستم ایجاد شده است. کاتالوگ­ها در View ای به نام sys.system_views   قرار دارند.

11.  بهبود سرویس های هشدار دهنده:

برای استفاده از این سرویس ها درSQL server 2000 ، باید آن را از وب دانلود کرده بهSQL server  اضافه کنید، ولی در بانک اطلاعاتیSQL server 2008 ، این سرویس ها به عنوان زیر سیستم جدید اضافه شده­اند.

12.  بهبود سرویس های گزارش:

یکی از ابزار های گزارش­گیری در SQL Server ،   Report Services است. برای اینکه بتوانید از این ابزار در SQL Server 2000 استفاده کنید، می بایست آن را به SQL Server 2000 اضافه می کردید ولی در SQL Server 2008 این ابزار نیز به عنوان زیر سیستم جدید اضافه شده است .

آشنایی با Sql Server 2012
آشنایی با Sql Server 2012

شرکت مایکروسافت طی سال های اخیر در فاصله های زمانی 24 – 36 ماهه در صدد ارائه نسخه ای جدید از محصولات خود بوده است. به عنوان مثال سه نسخه اخیر ویژوال استودیو طی سال های 2005، 2008 و 2010 ارائه شده اند. سال های 2005 و 2008 با ارائه نسخه ی جدید محصول اس کیو ال سرور نیز همراه بوده اند. پس از آن شرکت مایکروسافت نسخه میانی این محصول را تحت عنوان SQL Server 2008 R2 ارائه داد که با رفع مشکلات نسخه 2008 و برخی بهبودها همراه بوده است. اگر از این نسخه استفاده کرده باشید، حتما از آن راضی بوده اید. به این ترتیب با یک وقفه 36 ماهه محصول جدید مایکروسافت تحت عنوان SQL Server 2011 ارائه شد. این محصول نام کد Denali را یدک می کشد و قرار است طیف وسیعی از ویژگی های جدید را در اختیار قرار دهد. هم اکنون این محصول با نام Sql Server 2012 در بازار موجود می باشد.

ویژگیهای Sql Server 2012

AlwaysOn
SQL Server AlwaysOn یکی از مهمترین ویژگیها در SQL Server 2012 در بحث High Availability یا در دسترس بودن و در واقع تکمیل کننده Database Mirroring در نسخه های قبلی میباشد. در Mirroring ما به صورت تک تک، دیتابیس ها را Mirror میکنیم ولی در AlwaysOn اینکار به صورت گروهی انجام میشه یعنی چندین دیتابیس را میتوانیم به دو روش همزمان (Synchronous) و غیر همزمان (Asynchronous)   با هم ترکیب نماییم. بر خلاف میرورینگ، دیتابیس به صورت فقط خواندنی قابل دسترسی می باشد.

نکته:در نسخه های قبلی با گرفتن Snapshot از دیتابیس Mirror میتوان به صورت فقط خواندنی از آن استفاده نمود.

پشتیبانی از Windows Server Core : نسخه 2012 ی SQL Server قابل نصب روی Windows Server Core می باشد، یعنی می توان نسخه ای از SQL Server رو نصب نمود که هیچ GUI ی نداشته و ارتباط شما از طریق Command Prompt و Powershell انجام شود.

Power View: یک ابزار گزارش گیری تعاملی تحت وب که با Silverlight نوشته شده (با کد نام Crescent) می باشد که به کاربرانی که معمولا آنالیزورهای دیتا نام دارند، امکان گزارش گیری های ad hoc را می دهد.

نکته : برای کار با Power View نیاز به SharePoint Server 2010 هست.

SQL Server Data Tools: یک محیط یکپارچه توسعه داخل Visual Studio می باشد که به شما امکان طراحی دیتابیس را می دهد. از قابلیت های جالب این محیط می توان به قابلیت IntelliSense و دیباگ کردن اشاره نمود. SQL Server Data Tools میتواند به SQL Server 2005  به بعد وصل شود.

Columnstore Indexes: یکی از ویزگی های منحصر به فردSQL Server  هست که داده ها را بجای ذخیره به صورت سطری و در یک Page که روشی سنتی ست، ستون ها را که در یک ایندکس هستند به صورت ستونی و در چند Page ذخیره میکند. این کار چه سودی دارد؟

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

نکته : با این نوع ایندکس جدول فقط خواندنی میشود که برای Data Warehouse ها طراحی شده است.

Contained Databases: با این روش ما میتوانیم یک دیتابیس جامع به صورت Stand Alone داشته باشیم. یعنی میتوان یک دیتابیس روی سرور A بسازیم سپس همین دیتابیس را روی سرور B مورد استفاده قرار دهیم.

پیشرفت در T-SQL: پشتیبانی از دنباله اعداد، عملگر TRY_CONVERT و تبدیل کردن داده ها، استفاده ازSyntax OFFSET  و FETCH  برای صفحه صفحه کردن-Data Paging-، تابع جدیدFORMAT  برای ساده سازی قالب بندی داده ی خروجی، عملگرTHROW  برای رسیدگی سریعتر و آسانتر به خطا (Exception Handling) و…

Data Quality Services: ابزاری ست برای بررسی کیفیت و تصحیح  داده های غلط بر اساس اطلاعات و دانشی که ما به آن داده ایم. در واقع این یک سرویس knowledge-based می باشد. برای مثال فرض کنید فیلدی بنام جنسیت داریم که داخلش هم M هست هم Male و حتی عدد یک. متخصص داده در سازمان تعیین میکند که مقدار این فیلد باید Male باشدو بر اساس آن سرویس، داده های موجود لصلاح خواهند شد.

SQL Server 2011 و برنامه نویسی

قابلیت های جالبی در حوزه برنامه نویسی SQL Server 2011 ارائه خواهد شد که در ادامه به معرفی اجمالی مهمترین آنها پرداخته می شود.

Ad-Hoc Query Paging
امکان صفحه بندی در لحظه کوئری ها از دیگر قابلیت های فوق العاده مفید و جالبی ست که SQL Server 2012 از آن پشتیبانی می کند:

SELECT BusinessEntityID, FirstName, LastName
FROM Person.Person
ORDER BY BusinessEntityID
OFFSET 10 ROWS
FETCH NEXT 10 ROWS ONLY;

 حوزه  Business Intelligence
یکی دیگر از حوزه هایی که با قابلیت های کاملا جدید و بی سابقه در نسخه SQL Server 2012 ارائه شده است، حوزه Business Intelligence  می باشد. در این راستا سرویس آنالیز اس کیو ال سرور مدل جدید BI Semantic را ارائه داده است که شامل سه لایه زیر می باشد:

  • Data Model
  • Business Logic
  • Data Access
ادامه مطلب

asp.net چیست؟

asp.net چیست؟

asp.net چیست؟

ASP.NET فراتر از یک نسخه تکمیل شده در مقایسه با نسخه قبلی خود یعنی ASP کلاسیک است. ASP.NET یک محیط کامل جهت پیاده سازی نرم افزارهای تحت وب است. با اینکه ASP.NET از لحاظ گرامر با ASP کلاسیک شباهت هائی را دارد ولی تکنولوژی فوق با ارایه یک مدل جدید برنامه نویسی بهمراه زیر ساخت های لازم امکان ایجاد نرم افزارهای تحت وب را با امنیت و استحکام بیشتر فراهم می آورد.
ASP.NET برخلاف ASP کلاسیک ترجمه می گردد. در محیط دات نت می توان با استفاده از هر یک از زبانهای برنامه نویسی حمایت شده نظیر: Visual Basic.Net/c#/Jscrip.Net اقدام به نوشتن برنامه ها نمود. برنامه های ASP.NET از تمامی توان و پتانسیل های ارایه شده توسط دات نت استفاده می نمایند.
در ASP.NET می توان از ویرایشگرها ی ویژوال و سایر ابزارهای برنامه نویسی نظیر ویژوال استودیو دات نت استفاده نمود. پیاده کنندگان نرم افزارهای تحت وب به کمک ASP.NET می توانند از دو تکنولوژی عمده فرم های وب (Web Forms) و سرویس های وب (Web service) برای ایجاد نرم افزار استفاده نمایند.

● فرم های وب (Web Forms)
با استفاده از تکنولوژی فوق می توان صفحات وب متکی بر فرمهای وب قدرتمندی را ایجاد نمود. در زمان ایجاد صفحاتی از این نوع می توان از کنترل های سرویس دهنده ASP.NET برای ایجاد عناصر معمولی در طراحی رابط کاربر (UI) و برنامه نویسی آنها برای انجام عملیات خاص استفاده نمود. استفاده از کنترل های سرویس دهنده باعث سرعت در امر پیاده سازی فرم های وب خواهد داشت.

● سرویس های وب XML

asp.net چیست؟

این نوع سرویس ها امکان دستیابی به قابلیت ها و پتانسیل های سرویس دهنده را از راه دور فراهم خواهندکرد. با استفاده از سرویس های فوق می توان بخش منطق وسیاست های راهبردی نرم افزارها و همچنین دستیابی به داده ها را مدیریت نمود.
سرویس های وب XML امکان مبادله داده بین سرویس گیرنده و سرویس دهنده و یا بین دو سرویس دهنده را بوجود می آورد. برای تبادل اطلاعات می توان از پروتکل های ارتباطی استانداری نظیر http و یا پیامهای XML استفاده نمود. نکته قابل توجه در رابطه با سرویس های فوق توانائی هر برنامه ( صرفنظر از زبان استفاده شده ) و تحت هر نوع سیستم عامل برای استفاده از سرویس های فوق است.
دو مدل فوق قادر به استفاده از تمامی مزایای تکنولوژی های ASP.NET خواهند بود. بدیهی است استفاده از پتانسیل های محیط دات نت نیز در این زمینه وجود دارد. در ادامه به برخی از این ویژگی های ASP.NET اشاره می گردد.
اگر دارای تجاربی در زمینه پیاده سازی نرم افزار های تحت وب بکمک تکنولوژی ASP باشید در اولین نگاه به ASP.NET حتما متوجه برخی شباهت های موجود خواهید شد. البته مدل اشیاء ASP.NET بصورت کاملا آشکار با ASP کلاسیک تفاوت داشته و می توان این ادعا را داشت که ASP.NET به مراتب ساختیافته تر و شی گراء تر شده است.
با توجه به مسئله فوق می بایست به این نکته نیز اشاره گردد که ASP.NET با ASP کلاسیک بطور کامل سازگار نبوده و تقریبا» تمامی صفحات ASP موجود مجبور خواهند بود شاهد برخی تغییرات باشند تا امکان اجرای آنان تحت ASP.NET فراهم گردد. یکی دیگر از تغییرات مهم در این زمینه وجود VisualBasic.NET است.
در صفحات ASP فعلی از VBscript استفاده شده است که بنوعی این زبان در دات نت مورد توجه قرار نگرفته و VisualBasic.NET جایگزین شده است. دستیابی به بانک های اطلاعاتی از طریق برنامه های ASP.NET بعنوان یک نیاز اساسی برای اغلب برنامه های تحت وب مورد توجه خاص قرار گرفته است.
در این راستا ASP.NET امکانات بیشتر و به مراتب راحت تر از لحاظ بکارگیری را پیش بینی کرده است و حتی امکان مدیریت بانک اطلاعاتی از طریق کدهای نوشته شده نیز وجود خواهد داشت.
ASP.NET با ارایه یک مدل ساده به پیاده کنندگان نرم افزارهای تحت وب این امکان را خواهد داد که منطق برنامه های خود را نوشته و آنها را در سطح Application اجراء نمایند. کدهای فوق را می توان در یک فایل متنی با نام Global.asax و یا در یک کلاس کمپایل شده که بعنوان یک اسمبلی بکار گرفته می شود استفاده نمود.
ASP.NET امکانات لازم برای دستیابی به و Application State و Session state را ارایه نموده است. برای پیاده کنندگان حرفه ای تر که قصد استفاده از API را دارند (ISAPI رابط برنامه نویسی است که در نسخه قبلی ASP از آن استفاده می گردید) رابط های جدیدتر و کامل تری را با نام و IHttpheandler و IHttpmodule را ارایه نموده است.
ASP.NET از امکانات و پتانسیل های موجود در دات نت و CLR بمنظور افزایش کارائی برنامه ها بخوبی استفاده می نماید. تمامی کدهای ASP.NET ترجمه می گردنند( تفسیر نمی گردند) در ASP.NET می توان ماژول هائی را که ارتباطی با برنامه ندارند حذف نمود ASP.NET . factorable از سرویس های پیشرفته Caching برای افزایش سرعت و کارائی برنامه ها بخوبی استفاده می نماید.
ASP.NET بهمراه یک شمارنده برای سنجش میزان کارائی عملکرد برنامه ها ارایه شده است. شمارنده فوق این امکان را فراهم می آورد که پیاده کنندگان و مدیران سیستم یک برنامه دات نت عملکرد شاخص های لازم برای افزایش کارائی برنامه ها را مشاهده بررسی و در صورت لزوم تجدید نظرهای لازم را اعمال نمایند.
اشکال زدائی برنامه های نوشته ASP.NET به کمک دیباگر به راحتی انجام خواهد گرفت. در این حالت می توان با افزودن چندین خط دیباگ در یک صفحه وب نقطه بروز اشکال را بسرعت و بسادگی تشخیص و در نهایت برطرف نمود. ASP.NET در این راستا کلاس جدیدی با نام TraceContext را ارایه نموده که پیاده کنندگان در زمان نوشتن برنامه قادر به درج دستورات خاص دیباگ در برنامه برای ردیابی خطاهای احتمالی خواهند بود.
دستورات فوق صرفا» در زمانی که امکان Tracing فعال شده باشد (برای یک صفحه وب و برای تمام برنامه) اجراء خواهند شد. دات نت و ASP.NET دارای امکانات لازم برای و Authorizaing و Authentication مناسب برای برنامه های تحت وب می باشند. امکانات فوق را می توان بسادگی اضافه و یا با سایر مدل های موجود و مورد نظر جایگزین نمود.
مقادیر مربوط به تنظیمات و پیکربندی برنامه های ASP.NET در فایل های XML ذخیره می گردنند با توجه به ماهیت فایل هائی از این نوع خواندن و نوشتن درون آنها بسادگی انجام خواهد یافت. هر برنامه می تواند دارای یک پیکربندی مجزاء بوده که در ادامه حیات برنامه و با توجه به نیازهای مطرح شده اعمال تغییرات بسادگی انجام خواهد گرفت. برنامه های ASP.NET همانند سایر برنامه های تحت وب از مجموعه ای فایل با نوع های متفاوت و دایرکتوری تشکیل می گردند. این فایل ها می توانند صفحات ASP.NET کنترل های کاربر (User Controls) فایل های سرویس های وب و فایل های تنظیمات و پیکربندی و اسمبلی باشند.

ادامه مطلب

انواع کنترل پنل های هاست ویندوز

انواع کنترل پنل های هاست ویندوز

انواع کنترل پنل های هاست ویندوز

سرور هاست ویندوز برای افرادی که که از برنامه های ASP و یا .NET و بانک اطلاعاتی MSSQL استفاده می کنند ،  مورد استفاده می باشد و شرکت های ارائه دهنده هاست کنترل پنل های مختلفی برای اینکه کاربران فضای میزبانی خود را کنترل و مدیریت کند در اختیار آن ها قرار می دهند .که پر استفاده ترین آنها شامل کنترل پنل های زیر می باشند :

کنترل پنل DotNetPanel :

این کنترل پنل به طور کامل بر اساس تکنولوژی  Net Framework.  می باشد و سازگار با انواع ویندوز می باشند و برای سایت های استفاده می شوند که  از زبان برنامه نویسی php یا ASP.net استفاده می کنند و نسبت به بقییه کنترل پنل ها کامل تر می باشد.

پلسک (Plesk) :

از کنترل پنل های پر استفاده می باشد معمولا تحت ویندوز می باشد و برای سایت های استفاده می شوند که  از زبان برنامه نویسی ASP یا ASP.net استفاده می کنند. البته روی  لینوکس هم  استفاده‌ می شود.استفاده از این کنترل پنل آسان می باشد و مورد پسند کاربر واقع می شود و تعداد زیادی کاربر از این کنترل پنل استفاده می کنند.

حداقل پیش نیاز سخت افزاری برای نصب و اجرای Plesk تحت OS Windows :

پردازشگر 1 GHz
512 مگابایت RAM
هارد دیسک 350 مگابایت

هلم (Helm) :

این کنترل پنل از کنترل پنل های قوی ویندوز می باشد و به وسیله این کنترل پنل می توانید یک یا چند سرور را با هم مدیریت کنید.و این کنترل پنل را به عنوان کاملترین کنترل پنل توصیه می کنند.

وب سایت پنل  (Websitepanel) :

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

ادامه مطلب