برای نصب SSL بروی سرور Ubuntu جهت استفاده در وب سرور Apache در ابتدا شما باید فایل CSR گواهینامه خود را تولید و برای Certificate Authority خود ارسال نمایید تا این گواهینامه تولید شود و فایل های CRT و یا PEM را به همراه Private Key در اختیار شما قرار دهند.
سپس باید فایل های CRT و Private Key را در محلی بروی سرور خود ذخیره فرمایید (محل پیشنهادی /etc/apache2/ssl)
که برای ایجاد دایرکتوری فوق میتوانید از دستور زیر استفاده کنید :
mkdir -p /etc/apache2/ssl
سپس فایل ها را با دستور زیر به این دایرکتوری منتقل کنید
mv cert.crt /etc/apache2/ssl
mv cert.key /etc/apache2/ssl
سپس با دستور cd به محل فایل های Config وب سرور خود جابجا شوید
cd /etc/apache2/sites-available
در این دایرکتوری هر فایلی نشان گر یک Virtualhost در وب سرور شما می باشد که هر کدام از Virtualhost ها نشانگر یک وب سایت بروی این وب سرور می باشند، به صورت پیش فرض دو فایل زیر در وب سرور apache وجود دارد :
000-default.conf و ssl-default.conf
که این دو فایل نشانگر وبسایت پیشفرض با پروتکل های HTTP و HTTPS می باشند.
شما باید برای استفاده از SSL دریافتی خود فایل ssl-default.conf را ادیت کنید ، در صورت وجود فایل های دیگر مثل example.conf که نشانگر وبسایتی با دامنه Example می باشد ، باید جهت استفاده SSL در آن وب سایت ، فایل مذکور را ادیت کنید:
vi /etc/apache2/sites-available/000-default.conf vi /etc/apache2/sites-available/example.conf
برای ورود به Insert Mode در برنامه vi پس از باز شدن فایل دکمه ی i را فشار دهید.
در فایل example.conf و یا ssl-default.conf اطلاعات زیر را باید وارد کنید :
<VirtualHost localhost:443> DocumentRoot /var/www ServerName www.example.com SSLEngine on SSLCertificateFile /etc/apache2/ssl/cert.crt SSLCertificateKeyFile /etc/apache2/ssl/cert.key </VirtualHost>
پس از ایجاد تغییرات برای ذخیره و خروج دکمه ی esc را فشار دهید و سپس :wq را تایپ کنید.
Localhost: نشانگر Interface ایست که شما میخواهید بروی آن سرویس وب ارائه دهید.
DocumentRoot: نشانگر مسیر فایل ها و کد های وبسایت شما می باشد
ServerName: نام کامل وبسایت شما
SSLEngine: وضعیت استفاده از SSL
SSLCertificationFile: مسیر فایل cert.crt
SSLCertificateKeyFile: مسیر فایل Private Key
*نوجه فرمایید که این دستورات باید بین <VirtualHost localhost:443> و </VirtualHost> قرار گیرند.
*در نظر داشته باشید که پورت فایل Config وبسایتی که شما میخواهید از طریق SSL رمزنگاری شود باید 443 باشد.
پس از تغییر فایل های Config جهت فعال سازی SSL بروی Apache از دستور زیر استفاده کنید :
a2enmod ssl
و سپس سرویس Apache را مجددا راه اندازی کنید:
systemctl restart apache2
پس از راه اندازی مجدد می توانید فایل Config را بررسی کنید:
apache2ctl configtest
حالا شما می توانید از طریق پروتکل HTTPS وب سایت خود را بررسی نمایید:
https://example.com