Cara install Let’s Encrypt
Ingin mendapatkan sertifikat SSL gratis untuk semua website anda? Maka Let’s Encrypt adalah jawabannya. 🙂 Sudah lama saya mengetahui adanya Certificate Authority ini tapi belum membuatkan tutorialnya karena masih dalam versi beta. Nah.. akhirnya sekarang sudah masuk ke versi stabil dan ternyata memang ada perbedaan instalasinya.
Daftar Isi
Instalasi Let’s Encrypt
Bagaimana cara instalasi Let’s Encrypt? Agak kurang intuitif tapi kita perlu memanfaatkan <a href="https://certbot.eff.org/" target="_blank">certbot</a>
dari EFF (Electronic Frontier Foundation). Mudahnya langsung saja eksekusi perintah berikut untuk mengotomatiskan instalasinya, saya bedakan menurut distro Linux dan lainnya.
- Debian 8 Jessie:
apt-get install certbot -t jessie-backports
- Ubuntu 16.04
apt-get install letsencrypt
- CentOS 7
yum install epel-release yum install certbot
Bisa dilihat bahwa paket aplikasi certbot/Let’s Encrypt cuma ada pada distro Linux terbaru saat ini.
Lainnya:
wget https://dl.eff.org/certbot-auto
chmod a+x certbot-auto
Kalau muncul pesan error seperti ini:
--2016-06-22 18:38:50-- https://dl.eff.org/certbot-auto
Resolving dl.eff.org (dl.eff.org)... 173.239.79.196
Connecting to dl.eff.org (dl.eff.org)|173.239.79.196|:443... connected.
ERROR: cannot verify dl.eff.org's certificate, issued by '/C=US/O=Let\'s Encrypt/CN=Let\'s Encrypt Authority X3':
Unable to locally verify the issuer's authority.
To connect to dl.eff.org insecurely, use `--no-check-certificate'.
Maka anda bisa menjalankan perintahnya seperti ini:
wget https://dl.eff.org/certbot-auto --no-check-certificate
Atau solusi permanen:
apt-get install ca-certificates
Menggunakan Let’s Encrypt
Tahap selanjutnya tentulah menggunakan aplikasinya untuk mendapatkan sertifikat SSL untuk nama domain yang diinginkan.
Debian 8 dan CentOS 7:
certbot certonly
Ubuntu 16.04
letsencrypt certonly
Untuk Lainnya:
./certbot-auto certonly
Nanti anda tinggal memilih akan dipasangkan pada lokasi root web server apa (Apache, Nginx) atau dibuat mandiri (standalone). Kemudian mengisikan alamat email untuk pemulihan misal ada masalah dikemudian hari. Dan isikan nama domainnya, bisa lebih dari satu kok. Oh ya pastikan A record dari nama domainnya sudah mengarah ke alamat IP servernya, kalau tidak akan gagal nanti prosesnya.
Memperpanjang sertifikat SSL secara otomatis
Bedanya dengan sertifikat SSL lain adalah masa berlakunya cuma 90 hari dan ini memang disengaja. Supaya para penggunanya mengotomatiskan proses renewal. Dan memanfaatkan certbot itu merupakan hal yang mudah kok.
Debian 8 dan CentOS 7:
certbot renew --quiet
Ubuntu
letsencrypt renew --quiet
Untuk distro Lainnya
./certbot-auto renew --quiet
Tutorial ini fungsinya hanya untuk mengenalkan saja dan memang agak minim pada detailnya. Tapi jangan takut dulu, serius sangatlah mudah asalkan anda tahu web server apa yang digunakan, lokasi – lokasi konfigurasi dan virtual hostnya, juga distro yang digunakan. Sisanya akan diotomatiskan oleh certbot. Semisal kurang jelas silahkan ditanyakan dalam komentar atau bisa minta tutorial yang lebih mendalam untuk Let’s Encrypt. 🙂
apakah ssl ini geratis selamanya mas ?
Betul mbak, untuk Let’s Encrypt selamanya gratis asalkan ga lupa perpanjangnya. Makanya dimasukkan dalam cronjob supaya terjadwal otomatis prosesnya.
mas servernesia.com kog gak pake www. didepanya
Hmm… Aslinya ini cuma masalah preferensi pakai www atau non-www. Dari sisi implementasi di web servernya tidak ada bedanya kok. Buat saya karena lebih singkat URLnya mbak.
cara cronjob letsencrypt agar otomatis gmn mas chandra qhu pake ubuntu 14.04
Setelah install certbot ya mbak, eksekusi perintah ini:
Saran saya sih… nanti dulu mbak pasang SSLnya, target pertama web servernya sudah berjalan normal dan dicoba hosting website.
iya mas, saran dari mas dan saran dari tmen” jg sama hanya saja data kita aman apa engga krn menggunakan vps rawan dari hacker
Hmm… lain sih mbak fungsinya. Kalau HTTPS itu fungsinya untuk enkripsi komunikasi datanya, jadi tidak bisa disadap atau dibajak atau dimodifikasi pihak lain.
Kalau masalah VPS dihack itu urusannya ke server hardening atau pengamanan.
mas qhu udh berhasil install vps + vestapanel yg free, klo mau nambahin letsencrypt di vestapanel gmn cranya ?+
Wogh… mantap mbak. 🙂
Integrasi Let’s Encrypt yang otomatis bisa pakai script ini mbak: https://github.com/interbrite/letsencrypt-vesta
Atau bisa pakai sertifikat SSL gratis biasa dari WoSign: https://buy.wosign.com/free/
Tapi saran saya mbak jangan bingung HTTPS dulu, biasakan menggunakan VestaCP dan coba hosting dulu satu situs didalamnya. Kalau terlalu banyak hal yang dicoba dalam waktu bersamaan nanti malah bingung mbak pas ada masalah mau ngawali darimana.
iya mas repot juga pake vestacp ga seperti cpanel,.. klao servernesia pake panel apa mas,… qhu udh berhasil install https tinggal build wp dll…
Untuk blog ini saya pakai OpenLiteSpeed mbak, panelnya cuma buat setting web server. Selain satu lagi pakai VestaCP yang lainnya murni tanpa panel, menghemat resource VPS soalnya.
mas alternatif selain lwt ftp ada engga utk transfer data dri pc aqu ke vps…
Tidak perlu lewat FTP mbak kalau sudah pakai VPS, asalkan ada akses SSH bisa pakai SFTP: https://servernesia.com/577/gunakan-sftp-transfer-file-server/
mas https qu nda hijau knp ya stelah pindah dri hosting ke vps. pdhal setingan di wp udh https, di browser jg udh muncul https.
Warnanya kuning ada tanda seru mbak? Atau warna putih polos biasa? Berarti masalah mixed content, jadi kalau mau pakai HTTPS dan gemboknya hijau maka seluruh konten (gambar, js, css, dan sebagainya) harus pakai HTTPS juga.
saya uda coba pasang mas Lets Encrypt-nya
semua bisa sie mas sesuai petunjuknya.
cara ngecek berhasil atau gak instalasinya gimana ya caranya mas? saya coba cek websitenya masih blm ada httpsnya.
Masih harus diarahkan dan diaktifkan mas. Yang saya bahas masih sebatas instalasi certbotnya dan berharap deteksi otomatis web servernya sukses.
Kalau kesulitan nanti saya buatkan tutorialnya yang lebih spesifik mas, secara manual mungkin. Pakai distro Linux apa mas? Nginxnya standar kan?
iya kog sama khan sprti aq
mas letsencrypt dg wordpress multisite ga work knp ya, pdahl udh bisa di jlankan sslnya tpi klo 1 domain work, klo pke subdomain tulisan https dicoret merah engga wrna hijau
Wogh… mbak pakai cara apa untuk masang Let’s Encryptnya? Cukup yang saya tuliskan diatas apa ada langkah tambahannya lagi?
Untuk subdomain memang harus direquest lagi mbak. Sertifikat SSL dari Let’s Encrypt hanya berlaku satu nama domain saja. Dan subdomain itu sendiri. Kalau mbak mau satu sertifikat SSL untuk semuanya itu jenisnya Wildcard SSL mbak.
udh work si mas, tpi hrus di atur secara manual yaitu jika client udh join ke website terus hrus dilakukan secara manual yaitu sprti install dri awal tpi menambahkan subdomain dri client utk memperbaharui cert, publikey, chain.. nah anehnya udh qu otak-atik msh tetep ga bisa. walau udh bnyk senjata yg aku keluarin tp tetep hrs dg cara manual. klo scara logika 1 domain memang bisa dg subdomain jg bisa di pake tpi hrs memperbaharui secara manual.. ada enda ya yg ga hrus kya gitu
Loh iya mbak, memang sistemnya DV SSL itu per satu nama domain. Kalau ingin satu sertifikat SSL untuk semua subdomain itu namanya Wildcard SSL, dan ini masih berbayar.
qu pake cara yg sprti ini mas http://www.frozenshell.com/configure-vestacp-to-use-letsencrypt-certificates/
Oh.. mungkin saya tidak seahli yang bikin tutorialnya… tapi kok tidak ada tahap renew otomatis dari sertifikat SSLnya ya. Itu copas manual dari file .pem dan Private Key ke VestaCP, masalahnya masa berlaku dari Let’s Encrypt itu cuma 90 hari. Atau ada yang saya lewatkan ya.
klo dg Wildcard SSL berati bisa sercara otomatis jika dg subdomain ya mas
Intinya sertifikat SSL tipe wildcard itu gini mbak:
*.nama_domain.com
jadi memang secara valid mencakup seluruh subdomain yang ada didalamnya.Saya dapat pesan error seperti itu mas, gimaana ya solusinya?
Mas bisa tambahkan ini terjadi pas proses apa? Punya daftar perintah yang dieksekusi sampai errornya?
jangan pake creboot mas niko
Oh, mbak menyarankan pakai apa selain certbot?
mas, saya pakai cloudflare. Saya ga pakai DNS sendiri, biar menggurangi resource.
instalasi letsencrypt sudah berhasil, sudah dapat SSL Certificate. Namun di website masih belum muncul httpnya.
sudah saya setting di wp-admin>general>https dan di cloudflare crypto>ssl>fullstrict. namun masih belum bisa.
Kalau pakai DNS cloudflare tidak bisa pakai letsencrypt ya mas?
Betul sekali mas, setidaknya untuk cara standar memang Let’s Encrypt belum bisa dikombinasikan dengan CloudFlare: https://support.cloudflare.com/hc/en-us/articles/214820528-How-to-Validate-a-Let-s-Encrypt-Certificate-on-a-Site-Already-Active-on-CloudFlare
Sistem validasi Let’s Encrypt menggunakan metode DNS dan ini belum didukung CloudFlare. Semoga saja kedepannya bisa karena saya juga menunggu. 😀
Sayang ya mas, hehe. Adakah layanan untuk free DNS service yang bisa digunakan untuk letsencrypt mas?
Eh… ada salah paham ini mas. Yang belum didukung CloudFlare itu HTTPS gratisnya dipasangkan pada situs yang menggunakan Let’s Encrypt. Tapi kalau cuma ingin mengarahkan nama domain ke alamat IP pakai A record ya tetap bisa mas. Jangan lupa nonaktifkan fitur DNS and HTTP Proxy (CDN) pada kolom Status di konfigurasi DNS CloudFlare. Klik saja icon awan oranyenya supaya jadi abu – abu kalau bingung.
Tapi kalau mas masih butuh DNS hosting gratis lainnya coba Hurricane Electric atau ClouDNS. Yang lainnya juga ada mas: https://servernesia.com/217/penyedia-dns-hosting-gratis/
Soal nanti tampilan websitenya akan HTTP atau HTTPS itu tergantung web servernya mas. Mas sudah coba akses secara manual lewat browser:
https://nama_domain.com
apakah sudah bisa dibuka? Kalau gagal berarti masih belum aktif HTTPSnya. Tapi kalau sudah bisa berarti tinggal masalah redirect trafik HTTP ke HTTPS.Iya maksudnya saya, kalau kita pakai DNS claudflare sertifikasi SSL punya letsencrypt tidak bisa dipakai. karena sekema lalulintas datanya kan gini ya User — cloudflare — server web. kalau server web yang sudah terpasang https letsencrypt tidak dapat dirasakan perubahannya oleh user karena user lewatnya cloudflare dulu. kalau user ingin merasakan perubahan di https letsencrypt berarti ga usah pakai cloudflare atau DNS punya serverwebnya sendiri. Koreksi mas kalau saya kliru hehe 😀
kira-kira mendingan mana mas pakai cloudflare tapi ga bisa pakai letsencrypt atau pakai letsencrypt tanpa cloudflare.?
Kurang lebih mas. 🙂 Dan supaya user ga lewat CloudFlare ke situsnya maka dinonaktifkan awan oranyenya mas, ini maksud saya. Mestinya bisa sih walaupun pakai Let’s Encrypt, ini hal berbeda soalnya (DNS dan HTTPS) selama ga pakai CDNnya CloudFlare, jadi cuma manfaatin DNS servernya saja.
Kalau sekarang sih mending pakai CloudFlare saja daripada Let’s Encrypt, buat pertahanan pertama melawan bot – bot dan mengurangi kerja server mas. Hemat bandwidth juga. Pendapat pribadi saja.
mas kalao mau memasukan publik key cert key chain key lewat putty gmn jdi setelah dibikin sertifikat keynya tidak perlu masuk ke vestacpnya… aqu si pernah tpi wktu pertma kali mencoba dan stelah itu dicoba lgi tdk bisa hehehe, lupa gak tek catet langkahnya….
Eh mbak maksudnya gimana? Setting sertifikat/lets encrypt untuk VestaCP lewat SSH atau ngomongin login SSH ini ya?
maksudnya kan saat bkin sertifikat key itu lwt putty nah hasil sertifikat yg tdi udh di buat kan harus di masukin di vesta cp sprti cert.pem publikey.pem chain.pem brati hrus login ke xx.xxx.xx.xx:8083 login vesta cp teru copas hsil sertifikat key yg tdi di buat di putty. nah qhu pernah bkin ssl yg secara otomatis nembak ke vesta cp tnpa hrus login mas cman qu lupa caranya
Oalah… mbak buat self-signed certificate kah? Bukan pasang dari penyedianya ya?
Apa yang seperti ini mbak?
Buat backupnya dulu.
Tambahkan kode (copas saja isinya) ke crt dan key untuk sertifikat SSLnya:
Tapi tutorial mini diatas untuk halaman login admin VestaCP supaya bisa HTTPS valid, apa maksudnya untuk domainnya?
Agghh.. saya gak ngerti2 gini2an.. tp penasaran, tanya ya mas..
saya pake vps di dalemnya ada 2 domain
saya coba ikuti instruksinya, trs saya install di server apache, pas isian domain saya pilih salah satu domain saya.. dan taraaaaa berhasil..
cumaaaaa…. pas domain yg di pasang ssl itu saya akses pake https yg nongol bukan blognya mas, tp malah login ke zadmin saya.. gemana ini ya mas.. mohon bantuannya 🙁
Halo Rangga, mas sudah bikin konfigurasi virtual hostnya? Itu biasanya redirect ke panel karena nama domainnya tidak dikenal dan jadinya dialihkan ke defaultnya.
Seperti tu bagaimana ya mas, saya ga ngerti tadi sudah baca sana sini ganti hak akses tp masih tetap saja
Mas bisa copas urutan perintah yang dilakukan sebelumnya? Dan kalau ada modifikasi konfigurasi bisa ditambahkan juga apanya.
Sebelumnya saya hapus php lalu install php lagi, lalu pengaturan php-fpm dan init php sudah saya benerin, cuma sepertinya sala yupa install nya pakai root kalau sebelumnya pakai non-root, setelah itu saya cek dengan perintah nginx -t keluarnya seperti kode di atas.
Satu lagi sekarang wordpress nya cuma bisa dibuka halaman depan nya saja, halaman post nya tidak bisa.
Saat ini saya tidak utak atik dulu soalnya udah sering destroy
Lah… sudah lenyap mas? Ya… ini cara mengatasi paling ampuh, hancurkan saja dan buat baru. 😛
belum mas yg kemarin kemarin saya destroy yg ini belum
Oke mas, bisa dicopaskan hasil dari perintah ini:
Ini pakai distro Linux apa ya mas?
Saya pakai CentOS 7 mas, setelah saya baca baca di forum katanya sih begini:
non-root cek
nginx -t
= ada errorroot atau sudo
nginx -t
= tidak ada errorApakah memang begitu kah?
Hasil dari cek
ls -l /etc/letsencrypt/live/mysite/
:Jalankan Nginxnya dengan root mas. Itu memang karena data – data Let’s Encrypt (seperti yang dicopas) yang punya adalah root.
Iya mas sudah beres sekarang, nah sekarang timbul masalah lagi yaitu: 404 Not Found
tapi ini 404 nya berbeda.
pertanyaanya saya lanjutkan ke artikel yg lain deh saya cari dulu
Oke mas, silahkan. 🙂
mas….bagusan ssl atau cdn ya??? soalnya google mempertimbangkan penggunaan ssl sekarang…oh ya..di cloudflare ada flexible ssl..tolong kasih tutorial yang komplit ya dan ter update 2017
Kenapa ga keduanya mas? Bisa digabungkan jadi
megazordmaknyus. 😛 CDN + SSL. Salah satu website yang saya kelola begitu strukturnya.Untuk CloudFlare bisa ikuti ini mas: https://servernesia.com/1727/mengaktifkan-https-cloudflare/
mas chandra untuk perintah
./certbot-auto renew --quiet
itu maksudnya diperpanjang tiap berapa hari mas? apa bisa tentukan sendiri waktu perpanjangnya? misalnya setiap 60 hari atau 85 hari :pini memanfaatkan cron kan mas?
(mau dipakai buat subdomain 😀 )
trims.
Tanya lagi mas, saat masukkan nama domain apa perlu masukkan domain dengan www dan tanpa www atau cukup tanpa www saja karna saya pakainya yg tanpa www. Trims
Tidak perlu www mbak. Semua nama domain kalau dibuatkan sertifikatnya itu secara implisit juga ikut versi wwwnya. Misal ya,
servernesia.com
akan digandengkan denganwww.servernesia.com
. Misal saya buat untuk subdomain sepertiforum.servernesia.com
maka otomatis juga akan dibuatkanwww.forum.servernesia.com
. Sertifikat SSL tipe single domain memang seperti ini.Yup tentukan sendiri mbak dan memang pakai cron untuk penjadwalannya, kalau saya sih per 75 hari. Pokoknya jangan mepet – mepet dengan waktu kadaluarsanya.
Mas ada tutorial untuk replace existing sub domain dari letsencrypt ke wildcard letsencrypt ?
Belum mas. Akan saya tampung buat topik kedepannya.
Halo mas Chandra, numpang nanya, di ubuntu 16.04 saya bisa install letsencrypt dan certbot, bisa dijelaskan mas perbedaan antara keduanya?
Kalau ownershipnya (privkey.pem dan fullchain.pem) saya ganti dari root menjadi user biasa, bolehkah?
Saya barusan buat sertifikaat,
~$ openssl x509 -noout -dates -in /etc/letsencrypt/live/nama_domain.com/fullchain.pem
notBefore=Aug 29 02:42:21 2018 GMT
notAfter=Nov 27 02:42:21 2018 GMT
Lalu untuk autorenew
~$ sudo certbot renew
Saving debug log to /var/log/letsencrypt/letsencrypt.log
Processing /etc/letsencrypt/renewal/nama_domain.com.conf
Cert not yet due for renewal
The following certs are not due for renewal yet:
/etc/letsencrypt/live/nama_domain.com/fullchain.pem expires on 2018-11-27 (skipped)
No renewals were attempted.
– – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – –
Apakah proses renew “menunggu” sertifikat expired dahulu baru bisa renew?
Tenkyu pencerahannya…..
bro saya dari cPanel mau pindah VPS terus pake VestaCP.
nanti kalo pas install SSL apakah website off sementara?