Untuk membuat sertifikat SSL serta memasangnya di website, syarat utama harus sudah membeli layanan SSL, agar dapat diaktifkan di website kamu.
Banyak layanan penyedia SSL murah dengan harga minimal 50 Ribu-10 Juta /tahun. ($5-$78/year)
Baca juga: Cara Membuat WordPress di VPS: Cara Setting Nginx dan Install WordPress
Contoh di sini penulis menggunakan layanan dari ssls.com
Berikut langkahnya:
1. Login ke halaman web penyedia SSL, lalu tahap pertama akan diminta membuat CSR (Certificate Signing Request).
Membuat folder, file server key dan file CSR
2. Sekarang membuat file CSR nya di server yang kita gunakan. Pertama buat direktori baru untuk menyimpan file sertifikat SSL.
sudo mkdir /etc/nginx/sslinwepo
3. Selanjutnya masuk ke direktori yang telah dibuat.
cd /etc/nginx/sslinwepo
4. Membuat servey key berikut perintahnya:
sudo openssl genrsa -des3 -out server.key 2048
Kamu akan diminta membuat sebuah password (passphrase) baru.
5. Membuat CSR.
sudo openssl req -new -key server.key -out server.csr
6 Menghapus Passphrase.
sudo cp server.key server.key.org
sudo openssl rsa -in server.key.org -out server.key
7. Membuat tanda tangan CSR.
sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
Upload CSR ke layanan SSL
8. Buka file server.scr kamu dan paste ke layanan SSL.
cat server.csr
Kembali ke layanan SSL (langkah 1.)
Paste ke kolom lalu klik “Read My CSR” untuk melanjutkan.
9. Selanjutnya pilih “ANY OTHER SERVER (EX.APACHE/NGINX)” bila kamu menginstallnya di server apache/nginx. Jika sudah memilih lanjut “LOOKS GOOD ONWARD”.
Lanjut lagi “ONWARD”.
10. Sekarang proses verifikasi pilih “RECEIVE AN EMAIL” bila ingin memverifikasikannya melalui email. Pilih “UPLOAD FILE” bila ingin memverifikasinya melalui upload file ke server.
Penulis memilih melalui email. Jika sudah lanjut “GOT IT ONWARD”.
11. Buka email untuk verifikasi, klik link “here” lalu masukan validation code.
12. Jika sudah proses verifikasinya tunggu sesaat kurang lebih setengah jam, lalu masuk ke akun penyedia SSL jika status dinyatakan Active berarti sudah bisa digunakan. Klik nomor cart untuk mengunduh file yang akan di install ke server kita.
13. Download file SSL dan upload ke server kamu, masukan ke dalam directory /etc/nginx/sslinwepo.
Extract file zip yang sudah di upload ke server.
unzip inwepo.zip
14. Setelah di upload sekarang gabungkan ke 3 file SSL tersebut dengan perintah:
cat inwepo.co.crt inwepo.co.p7b inwepo.co.ca-bundle > ssl-bundle.crt
Jika sudah di bundle, sekarang kita install, buka file config nginx lalu tambahkan perintah berikut ini:
server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/example_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/example_com/server.key; # side note: only use TLS since SSLv2 and SSLv3 have had recent vulnerabilities ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
15. Test nginx apakah ada yang error.
nginx -t
16.,Jika tidak ada, lalu restart atau reload nginx-nya.
sudo etc/init.d/nginx restart
atau
sudo etc/init.d/nginx reload
Selesai.
Jika terdapat pesan error pada nginx seperti berikut ini:
nginx: [emerg] PEM_read_bio_X509("/etc/nginx/sslinwepo/ssl-bundle.crt") failed (SSL: error:0906D066:PEM routines:PEM_read_bio:bad end line)
buka dan edit file ss-bundle.crt
nano ss-bundle.crt
Lalu edit scroll kebawah lihat bila ada text comment yang menyatu —- silakan di enter (dipisahkan jangan sampai garis end dan begin menyatu)
Simpan dan test kembali.
Tambahan: Untuk keamanan SSL bisa mengaktifkan ssl chipers dengan menambahkan config di nginx
ssl_ciphers '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-SHA256:AES256-SHA256:AES128-SHA:AES256-SHA:AES:CAMELLIA:DES-CBC3-SHA:!aNULL:!eNULL:!EXPORT:!DES:!RC4:!MD5:!PSK:!aECDH:!EDH-DSS-DES-CBC3-SHA:!EDH-RSA-DES-CBC3-SHA:!KRB5-DES-CBC3-SHA'; ssl_prefer_server_ciphers on; ssl_dhparam /etc/nginx/sslinwepo/dhparams.pem;
Ayu L
Januari 31, 2016 at 21:36
Jadi kalau ga punya email domain bisa pilih verifikasi via upload ke server ya mas?
Adminnya orang depok toh, deket ternyata 🙂 salam kenal aja mas lagi mau aktifin ssl ni tapi masih belum mudeng & mau langsung coba tutorial diatas.
Fadli TN
Februari 1, 2016 at 18:54
Betul bisa lewat upload ke server. Salam kenal yah 🙂
Yuk kita kumpul blogger depok 🙂
Ayu L
Februari 2, 2016 at 18:15
Udah berhasil mas 🙂 tapi masih dapet grade B, lagi ngakalin biar dapet A ni
emang depoknya dimana mas, dulu saya lama didepok tapi udah pindah ke cileungsi sekarang
Fadli TN
Februari 5, 2016 at 05:25
add id line:droid007 🙂
al gifari
Agustus 27, 2016 at 20:01
mas fadli, mau nanya, yang file config nginx itu dimana yah lokasinya?? apakah nginx.conf atau /etc/nginx/sites-available/example…??
Fadli TN
Agustus 28, 2016 at 21:56
file config nginx bisa di dua tempat yang pertama secara defaultnya di /etc/nginx/nginx.conf
tapi bisa juga custom di /etc/nginx/sites-available/namadomainkamu.conf