Cara Install Let’s Encrypt SSL di RunCloud Free Plan
RunCloud adalah sebuah perangkat lunak berbasis cloud untuk server management panel. Pada akun free plan RunCloud fiturnya terbatas, termasuk tidak aktifnya fitur untuk install SSL. Tapi kita masih tetap bisa install SSL dari Let’s Encrypt secara manual, langsung install melalui koneksi SSH.
Install Let’s Encrypt
Install certbot.
1 2 | snap install --classic certbot ln -s /snap/bin/certbot /usr/bin/certbot |
Install pip package manager.
1 | apt install python3-pip |
Install rcssl via pip.
1 | pip3 install rcssl |
Install SSL pada web application yang ada di RunCloud, misal webapp.
1 | rcssl -i webapp |
Jika ingin install SSL di semua web application.
1 | rcssl -i all |
Hasilnya.
1 2 3 4 | Attempting to install SSL on webapp 1 valid domains found. Attempting to obtain SSL certificate from Let's Encrypt Reloading nginx server SSL should have been installed for webapp |
Tes hasil install SSL dengan mengakses domainnya, misal https://domain.com.
Aktifkan autopilot mode untuk install SSL secara otomatis setiap membuat web application baru.
1 | rcssl -a enable |
Untuk menonaktifkan autopilot mode.
1 | rcssl -a disable |
Uninstall SSL dari web application webapp.
1 | rcssl -u webapp |
Uninstall SSL dari semua web application.
1 | rcssl -u all |
Redirect HTTPS
Install SSL sudah berhasil dan bisa akses HTTPS, tetapi belum redirect ke HTTP, jadi tetap mengakses secara manual untuk akses HTTPS.
Supaya bisa redirect ke HTTPS, kita harus melakukan konfigurasi tambahan di Nginx server block dari web application.
Buka file konfigurasi Nginx server block dari web application.
1 | nano /etc/nginx-rc/conf.d/webapp.conf |
Hasilnya.
1 2 3 4 5 6 7 8 9 10 11 | # Do not edit this file # Editing this file manually might break RunCloud System # If you think there is a bug, contact us at [email protected] include /etc/nginx-rc/extra.d/webapp.location.http.*.conf; server { listen 80 ; listen [::]:80 ; include /etc/nginx-rc/conf.d/webapp.d/main.conf; } |
Ubah menjadi.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # Do not edit this file # Editing this file manually might break RunCloud System # If you think there is a bug, contact us at [email protected] include /etc/nginx-rc/extra.d/webapp.location.http.*.conf; server { listen 80 ; listen [::]:80 ; server_name domain.com; location / { return 301 https://domain.com$request_uri; } } |
Restart Nginx.
1 | systemctl restart nginx |
Tes akses http://domain.com, harus bisa redirect ke https://domain.com.
Selamat mencoba 🙂
Gratis saldo $100 untuk pendaftaran akun baru di Vultr. Daftar sekarang juga.
Terima kasih atas tutorialnya mas, btw mas setelah berhasil menginstal SSL letencrypt, file sertifikat SSL jika mau kita unduh ada di folder apa mas?
coba cek di
/etc/letsencrypt/live/domain
Alhamdulillah sudah ketemu, terima kasih mas Musa!
mas amin, mau tanya setelah ssl nya berhasil terinstall bagaimana cara install wordpress di web nya?
terima kasih sebelumnya
coba ikuti ini Cara Install WordPress di RunCloud
pertanyaan tambahan mas, kalau muncul keterangan gini kenapa ya, di install all dan 1 webapp tetap ada error:
root@ubuntu18-yoori:~# rcssl -i all
Traceback (most recent call last):
File “/usr/local/bin/rcssl”, line 11, in
sys.exit(main())
File “/usr/local/lib/python3.6/dist-packages/rcssl/rcssl.py”, line 40, in main
if not rcssl.has_ssl(app):
File “/usr/local/lib/python3.6/dist-packages/rcssl/utils.py”, line 121, in has_ssl
appinfo = self.get_app_info(app)
File “/usr/local/lib/python3.6/dist-packages/rcssl/utils.py”, line 48, in get_app_info
if len(domains) > 0:
UnboundLocalError: local variable ‘domains’ referenced before assignment
root@ubuntu18-yoori:~# rcssl -i app-gebermantes
Attempting to install SSL on app-gebermantes
Error: local variable ‘domains’ referenced before assignment
root@ubuntu18-yoori:~#
saya pakai ubuntu 20.04, coba pakai versi yang sama
untuk file cert ssl nya bisa kita dapetin ga ya mas amin? karena mau coba buat web socket io tapi harus ada file cert sama key nya
bisa, cek aja file config ssl, di mana file sslnya. let’s encrypt biasanya di
/etc/letsencrypt/archive/domain