اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

آموزش کامل نصب گواهینامه Let’s Encrypt SSL روی آپاچی در CentOS 8

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    آموزش کامل نصب گواهینامه Let’s Encrypt SSL روی آپاچی در CentOS 8

    برقراری امنیت در یک وب سایت با استفاده از Certbot یکی از فاکتورهای کلیدیست که شما باید قبل از ادامه بقای وب سایت تان آن را مورد بررسی قرار دهید. استفاده از HTTPS از طریق گواهینامه امنیتی (SSL Certificate) برای امن کردن ترافیک ارسالی از مرورگرهای وب به سرورهای وب سایت امری ضروریست و کابران برای تبادل دیتا با وب سایت شما باید به صورت کاملا امن در ارتباط باشند و ترافیک ارسالی از بستر امن انتقال یابد.

    در اکثر موارد گواهینامه های امنیتی پولی هستند و به صورت سالانه تمدید میشوند. Let's Encrypt Certificate یکی از گواهینامه های اتوماتیک، اوپن سورس و رایگان میباشد که شما برای Encrypt کردن سایت تان از آن استفاده کنید. گواهینامه بعد از 90 روز منقضی میشود و بدون هزینه مجدد تمدید میگردد.


    همچنین توصیه میشود مطالعه کنید :

    نصب و راه اندازی Let's Encrypt SSL Certificate برای امن کردن Apache در CentOS 7 (به زودی)

    نصب و راه اندازی Let's Encrypt SSL Certificate برای امن کردن Nginx در CentOS 8 (به زودی)

    نصب و راه اندازی Let's Encrypt SSL Certificate برای امن کردن Nginx در CentOS 7


    در این مقاله ما به شما نحوه نصب Let’s Encrypt SSL Certificate با استفاده از ابزار Certbot بر روی وب سرور آپاچی را آموزش خواهیم داد و همچنین نحوه کانفیگ برای تمدید اتوماتیک روی CentOS 8 را شرح خواهیم داد.


    پیش نیاز ها

    قبل از اینکه کار را شروع کنید از موارد زیر مطمئن شوید.

    1 - خرید یک دامنه از ناسا هاست، که از طریق DNS سرورهای ما، به ip آدرس پابلیک وب سایت تان Bind شده باشد، که در اینجا ما از دامین up2space.ir که به ip آدرس 37.156.145.21 بایند شده استفاده خواهیم کرد.

    2 - یک ماشین با سیستم عامل CentOS 8 به همراه وب سرور آپاچی (سرویس httpd) که روی سیستم نصب و در حال اجرا باشد. شما میتوانید از نصب و در حال اجرا بودن آپاچی خود با استفاده از دستورات زیر مطمئن شوید. در صورتیکه سرویس httpd در حال اجرا نبود، میتوانید آنرا با دستور systemctl start httpd راه اندازی کنید.
    کد PHP:
    sudo yum install httpd
    sudo systemctl start httpd
    sudo systemctl status httpd 
    برسی وضعیت سرویس httpd در centos 8








    در مرحله بعد، میبایست دسترسی به پورت های 80 و 443 را در فایروال باز کنید. برای این کار میتوانید از دستورات زیر استفاده کنید.
    کد PHP:
    sudo firewall-cmd --permanent --add-port=80/tcp --zone=public
    success
    sudo firewall-cmd --permanent --add-port=443/tcp --zone=public
    success
    sudo firewall-cmd --reload
    success 
    همچنین توصیه میشود مطالعه کنید :

    آموزش تصویری نصب CentOS 8 (نسخه سرور و دسکتاپ)




    مرحله 1 : نحوه نصب و راه اندازی Certbot در CentOS 8

    Certbot یک کلاینتی است که مراحل نصب گواهینامه امنیتی را به صورت اتوماتیک انجام میدهد. این برنامه گواهینامه را از وب سایت رسمی Let's Encrypt دریافت میکند و آن را بدون دردسر روی وب سایت شما نصب میکند.

    سرت بات (Certbot) کاملا رایگان است و به شما امکان این را میدهد که گواهینامه را به شیوه ای خیلی ساده با ایجاد دستورالعمل های کانفیگی با توجه به تنظیمات وب سرورتان نصب کنید.

    قبل از دانلود Certbot لطفا پکیج های مورد نیاز برای ایجاد و کانفیگ یک ارتباط Encrypt شده نصب کنید.
    کد PHP:
    sudo yum install mod_ssl openssl 
    نصب openssl و mod_ssl در centos 8









    برای دانلود Certbot از دستور curl همانند زیر استفاده کنید.
    کد PHP:
    sudo curl -O https://dl.eff.org/certbot-auto 
    دانلود certbot در centos 8









    سپس، فایل Certbot را به پوشه /usr/local/bin انتقال داده و پرمیژن های اجرایی را با استفاده از دستور chmod به فایل اختصاص دهید.
    کد PHP:
    sudo mv certbot-auto /usr/local/bin/certbot-auto
    sudo chown root /usr/local/bin/certbot-auto
    sudo chmod 0755 /usr/local/bin/certbot-auto 


    مرحله 2 : ایجاد یک ویرچوال هاست در Apache

    مرحله بعدی، در حقیت ایجاد یک فایل virtual host برای دامین مان up2space.ir میباشد. مثلا فرض کنید که root وب سرور شما در مسیر زیر باشد، (جاییکه فایل های HTML خود را در آن قرار خواهید داده اید) که ما دایرکتوری را با دستور زیر ایجاد میکنیم.
    کد PHP:
    sudo mkdir /var/www/up2space.ir 
    یک فایل index.html همانند زیر در مسیر بالا میسازیم.
    کد PHP:
    sudo echo "<h1>Welcome to Apache HTTP server</h1>" > /var/www/up2space.ir/index.html 
    سپس، یک فایل ویرچوال هاست همانند زیر ایجاد میکنیم.
    کد PHP:
    sudo vim /etc/httpd/conf.d/up2space.ir.conf 
    و تنظیمات زیر را به آن اضافه میکنیم.
    کد PHP:
    <VirtualHost *:80>
    ServerName up2space.ir
    ServerAlias www
    .up2space.ir
    DocumentRoot 
    /var/www/up2space.ir/
    <
    Directory /var/www/up2space.ir/>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/www.up2space.ir-error.log
    CustomLog 
    /var/log/httpd/www.up2space.ir-access.log combined
    </VirtualHost>

    <
    VirtualHost *:443>
    ServerName up2space.ir
    ServerAlias www
    .up2space.ir
    DocumentRoot 
    /var/www/up2space.ir/
    <
    Directory /var/www/up2space.ir/>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/www.up2space.ir-error.log
    CustomLog 
    /var/log/httpd/www.up2space.ir-access.log combined
    </VirtualHost
    تغییرات را ذخیره کنید و خارج شوید.

    پرمیژن های مورد نیاز را به پوشه root وب سرور همانند زیر اختصاص میدهیم.
    کد PHP:
    sudo chown -R apache:apache /var/www/up2space.ir 
    برای اینکه تغییرات اعمال شوند سرویس آپاچی را ریست میکنیم.
    کد PHP:
    sudo systemctl restart httpd 


    مرحله 3 : نصب Let’s Encrypt SSL Certificate در CentOS 8

    در این مرحله Certbot را همانند زیر برای نصب گواهینامه Let's Encrypt اجرا میکنیم.
    کد PHP:
    sudo /usr/local/bin/certbot-auto --apache 
    یکسری پکیج های پایتون همانند زیر نصب خواهد شد.
    نصب و راه اندازی certbot در centos 8










    بعد از نصب موفق پکیج ها، Certbot را که اجرا میکنیم یکسری سوالات پرسیده میشود و همچنین راهنمایی هایی بابت پاسخ به سوالات که شما را برای تکمیل نصب گواهینامه Let's Encrypt راهنمایی خواهد کرد.
    نصب و راه اندازی let's encrypt ssl در centos 8








    تنظیمات certbot در centos 8










    اگر همه چیز به خوبی پیش رود، شما یک پیغام دریافت خواهید کرد با این مضمون که امنیت وب سایت شما با استفاده از گواهینامه Let's Encrypt برقرار شده است. اعتبار گواهینامه نیز نمایش داده میشود که عموما 90 روزه (از بعد از دریافت گواهینامه) است.

    اکنون به فایل ویرچوال هاست خود برگردید و خط های زیر را به کانفیگ آن اضافه کنید.
    کد PHP:
    SSLEngine On
    SSLCertificateFile 
    /etc/letsencrypt/live/up2space.ir/fullchain.pem
    SSLCertificateKeyFile 
    /etc/letsencrypt/live/up2space.ir/privkey.pem 
    فایل را ذخیره و از آن خارج شوید.

    بعد از همه تغییرات فایل باید چیزی شبیه به زیر باشد.
    کد PHP:
    <VirtualHost *:80>
    ServerName up2space.ir
    ServerAlias www
    .up2space.ir
    DocumentRoot 
    /var/www/up2space.ir/
    <
    Directory /var/www/up2space.ir/>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/www.up2space.ir-error.log
    CustomLog 
    /var/log/httpd/www.up2space.ir-access.log combined
    </VirtualHost>

    <
    VirtualHost *:443>
    ServerName up2space.ir
    ServerAlias www
    .up2space.ir
    DocumentRoot 
    /var/www/up2space.ir/
    <
    Directory /var/www/up2space.ir/>
    Options -Indexes +FollowSymLinks
    AllowOverride All
    </Directory>
    ErrorLog /var/log/httpd/www.up2space.ir.info-error.log
    CustomLog 
    /var/log/httpd/www.up2space.ir-access.log combined

    SSLEngine On
    SSLCertificateFile 
    /etc/letsencrypt/live/up2space.ir/fullchain.pem
    SSLCertificateKeyFile 
    /etc/letsencrypt/live/up2space.ir/privkey.pem
    </VirtualHost
    مجدد سرویس آپاچی را restart کنید.
    کد PHP:
    sudo systemctl restart httpd 


    مرحله 4 : بررسی گواهینامه Let's Encrypt SSL

    برای بررسی اینکه همه چیز به درستی کار میکند، وب سایت خود را روی مرورگر باز کنید و آدرس سرور را مشاهده نمایید. حالا شما باید علامت قفل سبز رنگ را در ابتدای url تان ببینید.
    چک کردن گواهینامه ssl در مروگر کروم









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









    در اینجا جزییات گواهینامه روی یک پنجره جدید پاپ آپ شده نمایش داده خواهد شد.
    چک کردن گواهینامه let's encrypt در مروگر chrome









    همچنین شما میتوانید وب سایت خود را در سایت https://www.ssllabs.com/ssltest/ تست کنید که سایت شما باید همانند زیر رتبه A دریافت کند.
    چک کردن گواهینامه ssl سایت در ssllab










    مرحله 5 : تمدید خودکار گواهینامه Let's Encrypt

    گواهینامه Let's Encrypt تنها به مدت 90 روز اعتبار دارد. معمولا پروسه تمدید توسط پکیج Cenrtbot که اسکریپت Renew آن به دایرکتوری /etc/cron.d اضافه شده باشد انجام میگردد. اسکریپت در روز دو بار اجرا میشود و به صورت اتوماتیک هر گواهینامه ای را که 30 روز از تاریخ انقضای آن باقی مانده تمدید خواهد کرد.

    برای تست پروسه تمدید خودکار، کافیست دستور زیر را به منظور تست آزمایشی Certbot اجرا کنید.
    کد PHP:
    sudo /usr/local/bin/certbot-auto renew --dry-run 
    اگر هیچ خطایی دریافت نکردید، خیالتان راحت باشد که پروسه تمدید نیز بدون هیچ مشکلی اجرا میشود.


    همچنین توصیه میشود مطالعه کنید :

    دستور Cronjob و Crontab برای زمانبندی کارها در لینوکس


    به پایان مقاله رسیدیم. در این پست ما نحوه استفاده از Certbot به منظور نصب و راه اندازی گواهینامه Let's Encrypt روی وب سرور Apache و سیستم عامل CentOS 8 نمایش دادیم. فراموش نکنید که سوالات و نظرات خود را با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 04-19-2020, 12:39 AM.

    #2
    سلام
    ممنون از آموزش
    حتما باید دامین داشته باشه سرور؟
    داخل شغل من همیشه شبکه به صورت لوکال هست هیچوقت روی اینترنت نمیره و اتصال امن و SSL نداره
    برای دسترسی به سایت آیپی اون سرور زده میشه نه دامین
    میشه راه اندازی کرد بدون دامنه و اینترنت؟ آپاچی سرور اوبونتو

    کامنت


      #3
      سلام. روی ip هم میشه گرفت. فقط برای گرفتن certificate یکبار نیاز هست به اینترنت وصل باشید که گواهینامه ها را دانلود کنه بعد میتونید اینترنتش رو قطع کنید و داخل شبکه لوکال هم استفاده کنید.

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

      کامنت

      درباره انجمن منطقه لینوکسی ها

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

      شبکه های اجتماعی
      در حال انجام ...
      X