TL;DR: Buat sertifikat self-signed dengan openssl, pasang di Apache (konfigurasi ssl-params dan default-ssl), redirect HTTP→HTTPS, aktifkan modul SSL/header, lalu test — browser akan menampilkan peringatan karena sertifikat tidak diterbitkan CA terpercaya. Untuk produksi, gunakan Let's Encrypt.
Langkah singkat:
- Buat sertifikat dan private key
sudo openssl req -x509 -nodes -days 365 \
-newkey rsa:2048 \
-keyout /etc/ssl/private/apache-selfsigned.key \
-out /etc/ssl/certs/apache-selfsigned.crt
- Tambahkan parameter keamanan (contoh: /etc/apache2/conf-available/ssl-params.conf)
- Batasi protokol dan cipher, set header keamanan, matikan kompresi SSL, aktifkan stapling.
- Update VirtualHost SSL (/etc/apache2/sites-available/default-ssl.conf)
- Set SSLCertificateFile dan SSLCertificateKeyFile ke path hasil openssl.
- Pastikan ServerName, ServerAdmin, DocumentRoot benar.
- Redirect HTTP → HTTPS
- Tambahkan directive Redirect di 000-default.conf untuk memaksa HTTPS.
- Aktifkan di Apache
sudo a2enmod ssl
sudo a2enmod headers
sudo a2ensite default-ssl
sudo a2enconf ssl-params
sudo apache2ctl configtest
sudo systemctl reload apache2