Apache HTTP Server adalah salah satu layanan web server yang banyak digunakan di Linux environment. Untuk memastikan koneksi lebih aman dan terenkripsi, instalasi SSL merupakan hal yang penting.
Dalam artikel kali ini, kami akan membahas cara instalasi SSL di Apache Web Server.
Persiapan
Sebelum memulai, pastikan Anda sudah memiliki file SSL yang dibutuhkan. Serta, pastikan juga web server-nya siap digunakan. Pastikan nama domain sudah mengarah ke IP server dan juga sertifikat SSL sudah divalidasi.
Salin File SSL ke Server
Buat direktori baru untuk menyimpan SSL, misalnya mkdir /etc/apache2/ssl . Upload file-file SSL seperti sertifikat SSL-nya, private key, dan juga CA bundle ke dalam direktori tersebut. Bisa menggunakan WinSCP (apabila menggunakan Windows) atau perintah scp di Terminal.
Konfigurasi Virtual Host Apache
Disarankan untuk membuat virtual host baru daripada menggunakan default virtual host.
Buat Virtual Host Baru
nano /etc/apache2/sites-available/domain-xyz-ssl.conf
Konfigurasi
<VirtualHost *:443>
ServerName domain.xyz
DocumentRoot /var/www/domain-xyz
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/commercial.crt
SSLCertificateKeyFile /etc/apache2/ssl/commercial.key
SSLCertificateChainFile /etc/apache2/ssl/ca_bundle.crt
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder On
SSLCipherSuite "ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-GCM-SHA384:DHE-RSA-AES128-GCM-SHA256:DHE-DSS-AES128-GCM-SHA256:kEDH+AESGCM:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES128-SHA256:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA256:DHE-RSA-AES256-SHA256:DHE-DSS-AES256-SHA:DHE-RSA-AES256-SHA:AES128-GCM-SHA256:AES256-GCM-SHA384:AES128:AES256:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4"
Header always set Strict-Transport-Security "max-age=63072000; preload;"
<Directory /var/www/domain-xyz>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/domain.xyz-error.log
CustomLog ${APACHE_LOG_DIR}/domain.xyz-access.log combined
</VirtualHost>ServerName: domain yang menggunakan SSLDocumentRoot: direktori file situs webSSLCertificateFile: sertifikat SSLSSLCertificateKeyFile: private keySSLCertificateChainFile: CA bundleSSLProtocol , SSLCipherSuite: menentukan cipher suite untuk meningkatkan keamanan koneksi- HSTS (HTTP Strict Transport Security) juga ditambahkan untuk memastikan web browser hanya menggunakan HTTPS.
Aktivasi SSL dan Virtual Host
- Aktivasi modul SSL dan modul yang diperlukan:
a2enmod ssl
a2enmod headers
a2ensite domain-xyz-ssl.conf
a2dissite default-ssl.conf
Restart Apache dan Verifikasi
Gunakan perintah berikut untuk melakukan restart pada Apache:
systemctl restart apache2
Untuk melakukan verifikasi, kunjungi domain yang dikonfigurasi SSL-nya melalui web browser. Apabila konfigurasi sudah sesuai, maka:
- Koneksi HTTPS berhasil
- Muncul ikon gembok pada address bar
- Sertifikat SSL akan valid apabila diverifikasi oleh browser
Penutup
Instalasi SSL merupakan hal yang sangat penting apabila Anda mengelola situs web. Instalasi dapat dilakukan dengan beberapa langkah sederhana pada layanan salah satu web server yang paling banyak digunakan, yaitu Apache.
Apabila Anda memiliki pertanyaan lebih lanjut mengenai SSL, hubungi kami melalui sales@excellent.co.id .



