نصب گواهینامه SSL در Apache

این راهنما به شما در نصب گواهینامه SSL بر روی Apache کمک می کند. ما یک گواهینامه Certum را برای این مثال استفاده کرده ایم. با این حال‌٬ امکان استفاده از این راهنما برای هر نوع گواهینامه SSL دیگری وجود دارد.

  • فایل های گواهینامه را بر روی سروری که وب سایت شما را میزبانی نموده است آپلود کنید. شما دو فایل *.crt و *.ca-bundle در اختیار دارید که البته در مورد گواهینامه های مختلف ممکن است پسوندهای دیگری نیز استفاده شده باشد ولی همه این فایلها متنی هستند و میتوان محتویات آنها را با Notepad مشاهده نمود. فایلهای در اختیار شما شبیه به موارد زیر میباشد:

    *yourdomain*.crt

    *yourdomain.ca-bundle

  • فایل VirtualHost مربوط به Apache خودتان را ویرایش کنید. در صورتی که رکورد 443 در VirtualHost خود ندارید٬ شما بایستی آن را به صورت دستی ایجاد کنید.
    محل فایل پیکربندی بستگی به سرور و نسخه سیستم عامل شما دارد٬ چند مثال مختلف در زیر آماده است:

    برای Fedora/CentOS/RHEL :‌ در مسیر /etc/httpd/conf/httpd.conf
    برای Debian و سیستم های مبتنی بر Debian: در مسیر /etc/apache2/apache2.conf
    نام فایل هم ممکن است متفاوت باشد:

    Http-ssl.conf

    ssl.conf

    Default-ssl.conf

    در مورد Ubentu رایت متفاوت است٬ به این صورت که پیکربندی پورتهای 80 و 443 در فایلهای مختلف و در مسیرهای مختلفی قرار دارد. شما میتوانید آن را در /etc/apache2/sites-enabled/ بیابید٬ فایل مربوط به VirtualHost برای پورت 443 را ایجاد کنید و یا ویرایش نمایید.
    همچنین شما میتوانید از یک کپی رکورد مربوط به پورت 80 (که بایستی در فایل پیش فرض VirtualHost شما باشد)‌ استفاده نمایید و پورت را به 443 تغییر دهید. به راحتی آن را به انتهای ماژول non-secure اضافه کنید. علاوه بر تغییر پورت٬ شما بایستی خطوط زیر را نیز به رکورد ها اضافه نمایید:

    SSLEngine on

    # SSLCertificateFile بایستی به فایل گواهینامه شما اشاره کند

    SSLCertificateFile "/ssl/*yourdomainname*.crt"

    # SSLCertificateKeyFile بایستی به فایل کلید خصوصی شما که در هنگام تولید CSR ایجاد شده است اشاره کند

    SSLCertificateKeyFile "/ssl/*your_private_key*.key"

    # SSLCACertificateFile بایستی به فایل CABUNDLE مربوط به گواهینامه شما اشاره کند

    توجه! از نسخه Apache 2.4.8 به بالا استفاده از SSLCertificateChainFile منسوخ شده است. محتوی فایل CABUNDLE را میتوان در ادامه فایل گواهینامه اصلی دامین اضافه نمود.


    SSLCACertificateFile "/ssl/bundle.crt"

    رکورد کامل VirtualHost برای پورت 443 بایستی شبیه به زیر باشد:


    Listen 443

    <VirtualHost _default_:443>

    DocumentRoot "/var/www"

    ServerName *your_domain_name*

    SSLEngine on

    SSLCertificateFile "/ssl/*your_domain_name*.crt"

    SSLCertificateKeyFile "/ssl/*your_private_key*.key"

    SSLCACertificateFile "/ssl/bundle.crt"

    </VirtualHost>

توجه! اگر از گواهینامه های وایلدکارد یا مالتی دامین استفاده میکنید٬ نیاز است که فایل پیکربندی را برای هر دامین یا ساب دامین میزبانی شده در سرور ایجاد نمایید. شما نیاز است که نام هر ساب دامین یا دامین را به صورت مجزا تعریف کنید و مسیر گواهینامه را به سمت گواهینامه اصلی تنظیم نمایید همانطور که در بالا نوشته شده است.

وقتی که فایل VirtualHost را تغییر دادید نیاز است که سرویس apache را راه اندازی مجدد کنید تا تنظیمات اعمال شود. این کار با استفاده از دستور زیر قابل انجام است:


sudo service apache2 reload

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *