Let’s Encrypt یکی از ارائه دهندگان گواهی امنیتی است که فراهم کننده روشی ساده برای دریافت و نصب گواهیهای TLS/SSL برای فعالسازی رمزگذاری HTTPS بر روی سرور است. این ارائه دهنده با فراهم کردن یک کلاینت نرمافزاری به نام Certbot، تقریبا اکثرا مراحل نصب و راهاندازی گواهی را به طور خودکار انجام میدهد. در حال حاضر تمامی مراحل دریافت و نصب گواهی برای Nginx و Apache بطور کاملا خودکار صورت مییگیرد.
در این آموزش ما با استفاده از Certbot گواهی SSL رایگانی را برای Apache در اوبونتو ۱۶.۰۴ دریافت و همچنین گواهی را به گونهای تنظیم میکنیم که بطور خودکار اعتبار آن تمدید شود.
در این آموزش از یک virtual host متفاوت از virtual host پیشفرض استفاده میکنیم. توصیه میکنیم که برای هر دامین در سرور خود یک virtual host جداگانه Apache داشته باشید تا از ایجاد مشکلات احتمالی جلوگیری شود و فایل پیش فرض به عنوان یک راهنما همیشه در دسترس باشد.
پیش نیازها
در این آموزش به موارد زیر نیاز دارید:
- یک سرور اوبونتو ۱۶.۰۴ که تنظیمات ابتدایی آن مانند این آموزش «راهاندازی اولیه اوبونتو ۱۶.۰۴» انجام شده است و شامل یک کاربر غیر root با دسترسی sudo و یک فایروال است.
- یک نام دامنه. در این آموزش ما از دامین example.com استفاده میکنیم.
- تنظیم رکوردهای DNS برای اشاره به سرور.
- یک رکورد A با
example.com
که به آدرس آیپی عمومی سرور اشاره میکند. - یک A رکورد با
www.example.com
که به آدرس آیپی عمومی سرور اشاره میکند.
- یک رکورد A با
- Apache نصب شده بر روی سرور. مطمئن شوید که برای دامین خود یک virtual host ایجاد کردهاید. در این آموزش از مسیر
etc/apache2/sites-available/example.com.conf
به عنوان نمونه استفاده میشود.
قدم اول: نصب Certbot
اولین مرحله برای دریافت گواهی SSL نصب نرم افزار Certbot بر روی سرور است.
در اولین قدم مخزن Certbot را اضافه کنید:
با فشردن کلید اینتر دستور بالا را اجرا کنید.
پکیج Certbot را به وسیله apt
نصب کنید:
اکنون Certbot آماده استفاده است، اما برای اینکه بتواند SSL را برای Apache تنظیم کند، باید برخی از تنظیمات Apache را بررسی و تایید کنیم.
قدم دوم: دریافت گواهی SSL
Certbot روشهای مختلفی را برای دریافت گواهی SSL از طریق افزونهها فراهم میکند. افزونه Apache تنظیمات Apache را مجدد انجام داده و در زمان نیاز بروزرسانی را انجام میدهد. برای استفاده از این افزونه دستور زیر را تایپ کنید:
این دستور اجرا کننده certbot
همراه با افزونه --apache
است، با استفاده از -d
میتوانید دامنههای مختلف را برای دریافت گواهی اضافه کنید.
اگر این اولین بار است که certbot
را اجرا میکنید، از شما ایمیل و پذیرش قوانین خواسته میشود. پس از آن certbot
با سرور Let’s Encrypt ارتباط برقرار کرده و چالشی را برای تایید دامین درخواستی شما اجرا میکند.
در صورت موفقیتآمیز بودن، certbot
از شما میپرسد که چطور میخواهید تنظیمات HTTPS را اعمال کنید.
۱- بدون تغییر مسیر و بدون تنظیم وبسرور.
۲- تغییر همه آدرسها به HTTPS و تنظیم وبسرور بطور خودکار.
گزینه مورد نظر را انتخاب کنید و اینتر را بزنید.تنظیمات اعمال شده و Apache بروز میشود. certbot
با پیامی به شما اعلام میکند که فرایند موفقیتآمیز بوده و گواهیها در چه مسیری ذخیره شدهاند:
گواهیها دانلود، نصب و بارگذاری شدهاند. سایت خود را با استفاده از https://
باز کنید. اگر با استفاده از سرویس SSL Labs Server Test سرور خود را تست کنید، نمره A خواهید گرفت.
در قدم آخر فرایند تمدید مجدد را آزمایش میکنیم.
قدم سوم: تایید تمدید خودکار Certbot
گواهیهای Let’s Encrypt تنها باری ۹۰ روز معتبر هستند و کاربران باید گواهی خود را طوری تنظیم کنند که بطور خودکار فرایند تمدید اجرا شود. پیکیجی که نصب کردیم افزودن اسکریپت etc/cron.d
این کار را برای شما انجام میدهد. این اسکریپت دو بار در روز اجرا میشود و در مهلت سی روز تا پایان اعتبار، گواهی را تمدید میکند.
برای تست فرایند تمدید، دستور زیر را اجرا کنید:
اگر خطایی وجود ندارد، هیچ مشکلی نیست. در زمان نیاز Certbot گواهیها را تمدید و Apache را بروز میکند تا تنظیمات جدید اعمال شود. اما در صورت وجود خطا، Let’s Encrypt ایمیلی را به آدرسی که شما مشخص کردید ارسال میکند، تا از منقضی شدن گواهی مطلع شوید.
این مطلب اولین بار و بطور اختصاصی در ویوین منتشر شده است.