در این مقاله قصد داریم به شما اموزش دهیم در صورتی که از کنترل پنل های هاستیگ استفاده نمیکنید چگونه گواهینامه ی رایگان lets encrypt را بر روی سرور Centos ای خود با وب سرور اپاچی نصب نمایید .توجه داشته باشید که پیش از هر چیزی میبایست دامنه ی خود را به این سرور هدایت کرده باشید و اگر از cmd از دامنه ی خود پینگ میگیرد به این سرور اشاره کند .
ابتدا دستورات زیر را وارد نمایید تا وب سرور و mod_ssl بر روی سرور نصب گردند :
- sudo yum install epel-release
- sudo yum install httpd mod_ssl python-certbot-apache
پس از ان با استفاده از دستور زیر اپاچی را استارت کنید :
- sudo systemctl start httpd
سپس با استفاده از دستورات زیر پرت های 80 و 443 را در فایروال باز کنید :
- sudo firewall-cmd –add-service=http
- sudo firewall-cmd –add-service=https
- sudo firewall-cmd –runtime-to-permanent
در صورتی که از iptables به عنوان فایروال استفاده میکنید دستورات زیر را وارد کنید :
- sudo iptables -I INPUT -p tcp -m tcp –dport 80 -j ACCEPT
- sudo iptables -I INPUT -p tcp -m tcp –dport 443 -j ACCEPT
در نهایت اگر دامنه ی خود را در مرورگر وارد نمایید میبایست صفحه ی پیش فرض اپاچی را مشاهده کنید .
از اینجا به بعد نصب گواهینامه اغاز خواهد شد برای شروع دستور زیر را وارد کنید :
- sudo certbot –apache -d example.com -d www.example.com
در دستور بالا دامنه ی خود با www و بدون www را جایگزین کنید تا تصب اغاز گردد در مراحل از شما ایمیل درخواست خواهد شد که میتوانید هر ایمیلی را وارد کنید و در پاسخ سوال زیر نیز عدد 2 را تایپ کنید :
Please choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access
با این کار سایت شما خودکار به https ریدایرکت خواهد شد .پس از پایان نصب با عبارتی همانند این عبارت مواجه خواهید گردید :
Congratulations! You have successfully enabled https://example.com
در نهایت به 2 نکته توجه داشته باشید:
1-ممکن است در مراحل نصب با خطایی مشابه این خطا روبه رو شوید:
Starting new HTTPS connection (1): acme-v02.api.letsencrypt.org
An unexpected error occurred:
ConnectionError: (‘Connection aborted.’, gaierror(-2, ‘Name or service not known’))
این خطا به این خاطر است که سرور شما قادر به Resolve کردن یا به اصطلاح پینگ کردن سرور lets encrypt نیست در نتیجه کافیست فایل زیر را باز کنید :
- Vi /etc/hosts
سپس عبارت زیر را در انتهای فایل اضافه کنید:
104.117.139.171 acme-v02.api.letsencrypt.org
با این کار مشکل رفع خواهد شد و میتوانید این خطا را پشت سر بگذارید.
2-اگر با خطایی همانند خطای زیر مواجه شدید:
Unable to find a virtual host listening on port 80 which is currently needed for Certbot to prove to the CA that you control your domain. Please add a virtual host for port 80
میباسیت یک virtual host برای دامنه ی خود ایجاد نمایید :
- Vi /etc/httpd/conf.d/example.com.conf
عبارات زیر را در آن اضافه کرده و اپاچی را ریست کنید:
<VirtualHost *:80> ServerAdmin admin@example.com ServerName example.com ServerAlias www.example.com DocumentRoot /var/www/html</VirtualHost>
- Systemctl restart httpd
حال اگر مجدد دستور نصب را اجرا کنید با خطایی مواجه نخواهید شد.
با مقالات بعدی در خدمت شما هستیم.