نصب ssl certificate در Centos 7



در این آموزش نحوه نصب و راه اندازی SSL Certificate در سیستم عامل Centos 7 بصورت دستی و بدون استفاده از کنترل پنل های هاستینگ رو بررسی میکنیم. همینجور که میدونیم SSL (Security Socket Layer) یک پروتکل مورد استفاده از تبادل اطلاعات وب بصورت رمزنگاری شده است ، در این آموزش ما نحوه نصب SSL در وب سرور آپاچی رو بررسی میکنیم.

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

sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd

 

آموزش نصب Let’s Encrypt SSL Certificate

Let’s Encrypt یک سرتیفیکیت رایگان است ، در این آموزش دامنه ی فرضی ما برای نصب “blue-test.com” است ، توجه داشته باشین که برای نصب در سرور خودتون باید دامنه خودتون رو به جای دامنه بالا قرار بدین

ابتدا mod_ssl رو نصب میکنیم

yum -y update
yum -y install mod_ssl

 

سپس یه پوشه برای تنظیمات دامنه میسازیم

mkdir /var/www/blue-test.com

 

و فایل زیر رو ایجاد میکنیم

nano /etc/httpd/conf.d/blue-test.com.conf

 

محتویات زیر رو در فایل بالا وارد میکنیم

<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/var/www/blue-test.com"
ServerName blue-test.com
ServerAlias www.blue-test.com
ErrorLog "/var/log/httpd/test.error_log"
CustomLog "/var/log/httpd/test.access_log" common
</VirtualHost>

 

و پرمیژن اون رو فیکس میکنیم

chown -R apache:apache /var/www/blue-test.com

 

نصب Certbot

قبل از نصب cerbot ابتدا باید بررسی کنیم که EPEL repository نصب هست یا نه که با دستور زیر اقدام به نصب میکنیم

 

yum -y install epel-release
yum -y install yum-utils
yum -y install certbot-apache

 

سپس با دستور زیر اجراش میکنیم

certbot

 

و از شما سوال زیر رو میپرسه

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Plugins selected: Authenticator apache, Installer apacheStarting new HTTPS connection (1): acme-v01.api.letsencrypt.org
Which names would you like to activate HTTPS for?
-------------------------------------------------------------------------------
1: blue-test.com
2: www.blue-test.com
-------------------------------------------------------------------------------
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel):

 

سپس برای سوال بالا دکمه enter رو میزنیم ، تا هر 2 تا دامنه blue-test.com و www.blue-test.com برای ریدایرکت به https تایید بشن ، سپس سوال دیگه ای پرسیده میشه

Choose whether or not to redirect HTTP traffic to HTTPS, removing HTTP access.
-------------------------------------------------------------------------------
1: No redirect – Make no further changes to the web server configuration.
2: Redirect – Make all requests redirect to secure HTTPS access. Choose this for
new sites, or if you're confident your site works on HTTPS. You can undo this
change by editing your web server's configuration.
-------------------------------------------------------------------------------
Select the appropriate number [1-2] then [enter] (press 'c' to cancel):

 

با انتخاب شماره 2 ، آدرس همه لینک های سایت https میشه

You should see the output below if the process is done correctly

-------------------------------------------------------------------------------
Congratulations! You have successfully enabled
 and 

You should test your configuration at:
https://www.ssllabs.com/ssltest/analyze.html?d=blue-test.com
https://www.ssllabs.com/ssltest/analyze.html?d=www.blue-test.com
-------------------------------------------------------------------------------

 

تمدید خودکار سرتیفیکیت SSL

ویژگی خوب Let’s Encrypt امکان تمدید خودکار اون هست ، برای تنظیم تمدید خودکار ssl Let’s Encrypt این مراحل رو انجام میدیم و دستور زیر رو وارد میکنیم و ادیتور پیش فرض رو nano قرار میدیم و از crontab برای کرون جاب استفاده میکنیم

export EDITOR=/bin/nano
crontab -e

 

سپس ssl Let’s Encrypt با دستور زیر 2 بار در روز اجرا میشه

* */12 * * * /usr/bin/certbot renew >/dev/null 2>&1

 

نصب ssl certificate در Centos 7

آموزش نصب Comodo SSL Certificate

COMODO  یک سرتیفیکیت غیر رایگان و پولی برای رمز گذاری ترافیک سرور هست ، بعد از خرید این سرتیفیکیت ، برای نصبش ابتدا ComodoRSACA.crt و Primary Certificate (domain_name.crt) رو دانلود میکنیم و به سرورمون منتقل میکنیم. بعد فایل کانفیگ آپاچی رو پیدا میکنیم که معمولا به اسم httpd.conf یا apache2.conf هست و در آدرس /etc/httpd/ یا /etc/apache2/ میشه پیداش کرد. همچنین با دستور زیر نیز محل فایل رو میشه پیدا کرد

grep -i -r "SSLCertificateFile" /etc/httpd/

 

برای فعال کردن SSL باید دستورات زیر رو در <VirtualHost> قرار بدین

 

<VirtualHost 192.168.1.1>
DocumentRoot /var/www/blue-test.com
ServerName www.blue-test.com
SSLEngine on
SSLCertificateFile /var/www/blue-test.com.crt
SSLCertificateKeyFile /var/www/your_private.key
SSLCertificateChainFile /var/www/ComodoCA.crt
</VirtualHost>

 

  • 192.168.1.1 : به جای این مقدار آی پی سرور رو قرار میدیم
  • در بخش های SSLCertificateFile ، SSLCertificateKeyFile و SSLCertificateChainFile هم آدرس فایل های SSL رو که به این پوشه ها منتقل کردیم میدیم

برای تست اینکه آیا تنظیمات درست اعمال شدن و خطایی در وب سرور مشاهده نمیشه ، وب سرور رو یکبار ریستارت میکنیم

 

apachectl configtest
apachectl stop
apachectl start

 

نصب لاراول در دایرکت ادمین

بررسی کرش کردن دیتابیس MySQL

بهینه سازی دیتابیس MySQL