Rusdy Ahmad

Writer - Coder - Silent Reader

Memasang Let's Encrypt di Digital Ocean & Serverpilot

Bagi penggemar cloud computing seperti Digital Ocean dan lain-lain, tutorial ini pasti akan memberi senyuman lebar buat anda. Ya memasang SSL secara percuma.

Ada beberapa cara untuk memasang SSL seperti menggunakan khidmat percuma di CloudFlare atau membeli Postive SSL serendah $3.99 setahun.

Penulis masih setia dengan Digital Ocean sebagai penyedia cloud yang terbaik. Satu adalah disebabkan harga, kedua khidmat sokongan selepas pembelian dan juga telah menggunakan perkhidmatan mereka hampir lima tahun.

Tiada sebarang masalah kecuali kegagalan membayar langganan setiap bulan.

Sebelum bermula saya ingin nyatakan, tutorial ini adalah hanya untuk pengguna Serverpilot dan Digital Ocean.

Serverpilot

Sekiranya anda sudah terbiasa menggunakan cPanel, Plesk atau Webmin. Serverpilot pula adalah perkhidmatan Control Panel berjenis cloud. Ianya jauh berbeza dengan cPanel dah lain-lain.

Anda boleh memasang pelbagai server dan aplikasi dalam satu akaun. Harganya pula adalah percuma dengan basic akaun.

Dengan menggunakan Serverpilot anda tidak perlu menyakitkan kepala untuk memasang Apache, NGINX, PHP dan MySQL. Robot mereka lakukan semua untuk anda.

Serverpilot hanya menyediakan PHP hosting sahaja buat masa ini.

Penulis telah membayangkan anda mempunyai server di Digital Ocean & telah memasang aplikasi di Serverpilot. Tiada tutorial pemasangan Digital Ocean & tetapan Serverpilot pada artikel ini.

Langkah Pertama

SSH ke server anda. Gunakan akses root. Sekiranya sebagai user sila gunakan arahan sudo suuntuk act sebagai root.

1. Pergi ke direktori /usr/local/bin

cd /usr/local/bin

2. Muat turun skrip bash serverpilot-letsencrypt

wget https://raw.githubusercontent.com/lesaff/serverpilot-letsencrypt/master/sple.sh

3. Jadikan skrip tersebut executable

chmod +x sple.sh

Sekiranya anda tidak log masuk sebagai root. Gunakan sudo chmod +x sple.sh

Langkah Kedua

Mari kita lakukan pemasangan ini secara berhati-hati. Backup server anda sekiranya tidak ingin mewujudkan kegagalan yang nyata.

1. Run skrip tadi

sple.sh

2. Ikut arahan pemasangan Let's Encrypt

[email protected]:/usr/local/bin# sple.sh
Let's Encrypt is not installed/found. Would you like to continue to install it?
Y or N

Tekan Y sekiranya server anda belum pernah dipasang Let's Encrypt. Tekan N untuk sebaliknya. Tunggu sebentar untuk proses muat turun & pemasangan Let's Encrypt secara automatik.

Akan wujud tiga soalan. Isi ketiga-tiga soalan di bawah dengan betul dan tepat.

Please enter your app name:
websaya

Sila masukkan nama aplikasi yang telah anda cipta di Serverpilot sebelum ini. Pastikan aplikasi tadi sama. Contoh di atas saya namakan aplikasi tersebut websaya

Please enter the System User name for the app:
serverpilot

Soalan seterusnya adalah nama System User. Sekiranya anda menggunakan perkhidmatan percuma di Serverpilot. Nama System User adalah serverpilot.

Please enter all the domain names and sub-domain names
you would like to use, separated by space
websaya.com www.websaya.com

Soalan terakhir. Masukkan nama domain dan sub-domain. Contoh nama domain yang saya berikan adalah websaya.com dan sub-domain www.websaya.com

Generating SSL certificate for websaya

Pada akhir sekali akan keluar antara muka bewarna biru seperti di bawah. Masukkan emel anda dan OK serta Agree bagi TOS Let's Encrypt.

Selesai pemasangan Let's Encrypt anda bagi domain websaya.com. Sekiranya anda ada 10 domain maka ulangilah perkara yang sama seperti di atas.

Redirect Non HTTPS ke HTTPS

Buka .htaccess dah tambah kod seperti di bawah

RewriteCond %{HTTP:X-Forwarded-Proto} !=https
RewriteRule .* https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Anda perlu ingat, Let's Encrypt hanya aktif bagi tempoh 90 hari sahaja. Untuk melanjutkan tempoh tersebut kita perlu renewal certificates selepas 90 hari.

Mari kita renew secara automatik. Kembali ke console SSH anda tadi dan taip crontab -e dan masukkan kod di bawah:

0 */12 * * * letsencrypt renew && service nginx-sp reload

Restart NGINX service

sudo service nginx-sp restart

Berakhir sudah pemasangan SSL bagi domain anda.

loading