آموزش نصب Let’s Encrypt با Apache بر روی Ubuntu 16.04

سلام آموزش نصب lets encrypt با apache روی ubuntu1604

لینک مقاله اصلی:
https://www.digitalocean.com/community/tutorials/how-to-secure-apache-with-let-s-encrypt-on-ubuntu-16-04

آموزش نصب Let’s Encrypt با nginx بر روی Ubuntu 16.04

معرفی

Let’s Encrypt یک گواهینامه ی رمزگزاری(CA) می باشد.که راهی ساده و رایگان برای نصب گواهی های TLS / SSL را فراهم کرده است و با کمک آن می توانید به آسانی HTTPS قابل اعتماد راه اندازی کنید.که این فرایند را با نرم افزاری که Let’s Encrypt آماده سازی کرده آسان می کند تا بیشتر کار های مورد نیاز را به صورت خودکار انجام دهد.در حال حاضر این ماژول فرایند های مورد نیاز وب سرور های apache و nginx را در جهت ایجاد گواهی قابل اعتماد به صورت خودکار انجام می دهد.

در این آموزش، از Certbot برای دریافت یک گواهی SSL رایگان برای Nginx در اوبونتو 16.04 استفاده خواهید کرد و گواهینامه خود را به طور خودکار تمدید کنید.

این آموزش از پرونده پیکربندی پیش فرض Nginx به جای یک فایل بلوک سرور جداگانه استفاده می کند. ما توصیه می کنیم فایل های بلوک سرور Nginx جدید را برای هر دامنه بسازیم زیرا این امر به اجتناب از برخی اشتباهات رایج و حفظ فایل های پیش فرض به عنوان یک پیکربندی مجدد در نظر گرفته شده است. اگر می خواهید SSL را با استفاده از بلوک های سرور تنظیم کنید، می توانید این بلوک های سرور Nginx را با Let’s Encrypt Tutorial دنبال کنید.

پیش نیاز ها

برای پیگیری این آموزش، شما به موارد زیر نیاز دارید:

  • سیستم عامل ubuntu 16.04 و تنظیمات فایروال
  • نامه دامنه ی کاملا ثبت شده. ما در این آموزش از example.com استفاده خواهیم کرد.
  • ثبت A record برای دامنه های زیر
    • یک A record با آدرس example.com که به سرور شما متصل شده باشد.
    • یک A record با آدرس www.example.com که به سرور شما متصل شده باشد.
  • نصب و راه اندازی Nginx بر روی ubuntu 16.04

مرحله ی اول –  نصب Certbot

اولین قدم برای استفاده از Let’s Encrypt برای به دست آوردن یک گواهینامه SSL این است که نرم افزار Certbot را بر روی سرور خود نصب کنید.

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

در ابتدا ریپوزیتوری certbot را توسط کامند زیر اضافه میکنیم.

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

و در انتها بسته ی Certbot مخصوص به Nginx توسط کامند زیر نصب کنید.

Certbot اکنون آماده استفاده است، اما برای اینکه بتوان آن را برای Nginx SSL پیکربندی کرد، ما باید برخی از تنظیمات Nginx را بررسی کنیم.

مرحله ی دوم – راه اندازی Nginx

Certbot به طور خودکار می تواند SSL را برای Nginx پیکربندی کند , اما نیاز دارد تا‌ آدرس سرور شما را در فایل پیکربندی پیدا کند.این کار با دنبال کردن دستورالعمل server_name که منطبق با دامنه ای است که درخواست گواهی آن را دارید، انجام می شود.

اگر Nginx خود را به تازگی نصب کرده اید می توانید با کمک دستور زیر آن را تنظیم کنید.

کلمه ی server_name را در فایل پیدا کرده و به جای _ آدرس دامنه ی خود را مانند زیر وارد کنید:

فایل را ذخیره کرده و از ویرایشگر خود خارج شوید.

سپس با کامند زیر نحوه اصلاح تنظیمات خود را بررسی کنید.

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

هنگامی که تنظیمات پیکربندی شما درست بود، Nginx را دوباره بارگذاری کنید تا پیکربندی جدید بارگیری شود.

Certbot اکنون قادر خواهد بود بلوک صحیح server را پیدا کند و آن را به روز کند. بعد، فایروال ما را برای ترافیک HTTPS اجازه می دهد.

مرحله سوم – اجازه دادن به HTTPS از طریق فایروال

اگر فایروال ufw را فعال کرده اید،همانطور که در قسمت پیش نیاز ها گفته شد , شما نیاز دارید تا در فایروال خود مجوز عبور HTTPS را فعال کنید.خوشبختانه با توجه به پروفایل هایی که وب سرور Nginx در سرور دارد میتوانید به آسانی دسترسی آن را باز کنید.

شما میتوانید با نوشتن کامند زیر تنظیمات فعال فعلی را مشاهده کنید.

تصویر زیر قابل مشاهده خواهد بود، که فقط ترافیک HTTP دسترسی به وب سرور دارد:

برای اینکه علاوه بر ترافیک HTTP ترافیک HTTPS اجازه داده شود ، می توانیم پروفایل  Nginx Full را مجاز کنیم و سپس پروفایل Nginx HTTP را حذف کنیم.

وضعیت فایروال شما شبیه به زیر خواهد شد:

اکنون آماده هستیم تا Certbot را اجرا کنیم و گواهینامه هایمان را بیابیم.

مرحله ی چهارم – دریافت گواهی SSL

Certbot راه های مختلفی برای دریافت گواهینامه SSL از طریق پلاگین های مختلف فراهم می کند. پلاگین Nginx از تنظیمات مجدد Nginx حفاظت کرده و بارگیری مجدد پیکربندی رل هر زمان که لازم باشد توسط کامند زیر انجام می دهد:

برنامه ی certbot توسط پلاگین --nginx و با استفاده از -d جهت ساخته ssl برای نام دامنه های مورد نظر گواهی معتبر را ایجاد و نصب می کند.


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

اگر این امر با موفقیت به سرانجام رسید سپس certbot از شما می پرسد که چگونه برای شما تنظیمات را انجام دهد.

در صورتی که عدد یک را وارد کنید وب سایت شما در دو حالت HTTP و HTTPS قابل دست یابی خواهد بود ولی اگر عدد دو را وارد کنید تمام آدرس هایی که با HTTP شروع می شوند را به HTTPS تغییر مسیر می دهد که این از نظر SEO به نفع وب سایت شما خواهد بود.
پس از رد کردن این مرحله صفحه ی زیر را خواهید دید.

گواهینامه های شما دانلود، نصب و بارگذاری شده است. حال شما می توانید آدرس سایت خود را با https:// به آسانی باز کنید.این باید نشان دهد که سایت به طور کامل امن است، معمولا با نماد قفل سبز در پشت آدرس قابل مشاهده خواهد بود.

مرحله ی پنجم –  به روز رسانی گواهینامه SSL

گواهینامه SSL Let’s Encrypt’s تنها برای ۹۰ روز معتبر می باشد.پس کاربر ها می بایست در دوره ی ۳ ماهه آن را به روز رسانی کنند. این عمل را با کامند ‘certbot renew’ می توانید انجام دهید. همچنین می توانید این کامند را در /etc/cron.d قرار دهید تا به صورت خودکار این کامند را اجرا کند.

اگر در اجرای این کامند خطایی رخ ندهد،certbot به صورت خودکار در زمان مورد نیاز SSL شما را تجدید میکند و اگر این روند با مشکل مواجه شود برای ایمیلی که شما در ابتدای تنظیمات وارد کردید ایمیل می شود.

نتیجه

در این آموزش شما یاد گرفتید که چگونه یک گواهی SSL را به صورت رایگان دریافت کرده و بر روی Nginx به آسانی راه اندازی کنید.
اگر سؤال های بیشتری در مورد استفاده از Certbot دارید، مستندات آنها جای خوبی برای شروع است.