Skip to main content

Panduan Instalasi SSL ITB (Apache)


SSL ITB hanya meng-cover wildcard satu tingkat sub-domain (*.itb.ac.id) untuk website dengan multi level sub-domain bisa mengikuti panduan pengimplementasian free SSL (Let's Encrypt)

  1. Pastikan sudah memiliki SSL ITB terbaru yang berlaku
  2. Lakukan extract pada file arsip SSL ITB, pada arsip tersebut sudah terdapat file sertifikat (.crt) & private key (.key) sebagai file utama yang akan digunakan
  3. Simpan file SSL pada direktori yang aman atau direktori yang khusus untuk penyimpanan SSL agar memudahkan apabila ada proses pembaharuan nantinya
    #contoh penyimpanan file SSL
    
    sudo mkdir -p /etc/ssl/<tahun berlaku>
    
    sudo cp <nama file SSL>.crt /etc/ssl/<tahun berlaku>
    sudo cp <nama file private key>.key /etc/ssl/<tahun berlaku>
    sudo cp <nama file CA Bundle>.crt /etc/ssl/<tahun berlaku>
  4. Masuk ke dalam file konfigurasi nginx web server yang digunakan biasanya terletak pada path direktori
    sudo nano /etc/apache2/sites-available/<nama file config>.conf
    
    #pastikan sites-available sudah sync (ln -s) dengan sites-enable
  5. Tambahkan konfigurasi pemanggilan SSL yang telah disimpan sebelumnya
    <VirtualHost *:443>
        ServerName <nama domain>.com
    
        DocumentRoot /var/www/<path website>
    
        SSLEngine on
        SSLCertificateFile      /etc/ssl/<tahun berlaku>/<nama file SSL>.crt
        SSLCertificateKeyFile   /etc/ssl/<tahun berlaku>/<nama file private key>.key
        SSLCertificateChainFile /etc/ssl/<tahun berlaku>/<nama file CA bundle>.crt
    
        <Directory /var/www/<path website>>
            AllowOverride All
        </Directory>
    </VirtualHost>
    SSLCertificateFileMenunjuk ke lokasi sertifikat SSL disimpan
    SSLCertificateKeyFileMenunjuk ke lokasi private key disimpan
    SSLCertificateChainFileMenunjuk ke lokasi CA Bundle disimpan
  6. Untuk melakukan pointing HTTP (80) ke HTTPS (443) tambahkan juga konfigurasi redirectnya masih pada file config yang sama
    server {
        listen 80;
        server_name <nama domain>.com;
        return 301 https://$host$request_uri;
    }
  7. server 
    { dan virtual host untuk diubah, setelahnya lakukan apache
    sudo 
    a2enmod
    ssl_certificateMenunjuklisten ke80; lokasiserver_name sertifikat<nama domain>.com; return 301 https://$host$request_uri; }
  8. Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu aktifkan SSL disimpan
  9. ssl_certificate_keyMenunjukfile keconfig lokasiyang privatetelah keyselesai disimpan
    ssl_trusted_certificateMenunjukrestart keatau lokasireload CApada Bundleservice disimpan
    ssl sudo a2ensite <nama file config> sudo systemctl reload apache2
  10. Setelah konfigurasi selesai ditambahkan simpan perubahan dan tutup, lalu lakukan pengecekan konfigurasi nginx untuk memastikan tidak ada error yang diakibatkan konfigurasi yang ditambahkan, setelah memastikan konfigurasi aman lakukan restart pada service nginx

    #nginx -t untuk melakukan pengetesan file config
    
    sudo nginx -t
    
    #restart atau reload file nginx
    
    sudo systemctl reload nginx
    sudo systemctl restart nginx
  11. Setelah nginx service selesai di restart, SSL dan HTTPS seharusnya sudah berhasil aktif pada saat website diakses dengan indikator gembok terkunci.