Membuat Website Menggunakan GitLab dan Custom Domain Beserta Sertifikat SSL/TLS

Pertama kali saya membangun blog menggunakan penyedia hosting, setelah beberapa bulan baru merasakan biaya tagihan yang begitu besar, belum lagi hosting diblokir karna belum membayar tagihan, jadi yang tersisa hanya domain kodetr.com yang saya beli pertahun jadi saya berfikir untuk berpaling menggunakan page gitlab untuk membuat static blog saya menggunakan hugo.

Tidak hanya itu gitlab juga mempunyai fitur custom domain jadi saya bisa memasang sertifikat SSL/TSL dari Let’s Encrypt di dalamnya, intinya memasang sertifikat SSL/TSL supaya blog bisa diakses secara aman melalui protokol HTTPS.

Ada tapinya, karna saya menggunakan cara manual jadi setiap tiga bulan sekali mesti memperbarui sertifxzxswikat SSL/TLS dari Let’s Encrypt, istilahnya ada masa berlakunya atau expire.

Siapkan blog anda terlebih dahulu kemudian masuk ke website gitlab habis itu login, buat Repositorie baru sesuaikan saja dengan nama blog anda kemudian Masukan semua file blog, langkah memasukan file akan diberikan setelah anda membuat Repositorie.

Menambahkan Custom Domain ke Gitlab Page

Jika langkah diatas sudah dibagian pengaturan tambahkan domain dengan cara buka menu Setting kemudian Page dan klik new Domain. isi kolom domain saja, untuk sertifikat tambahkan belakangan.

Setelah menambahkan domain akan tampil seperti gambar di bawah.

Pada gambar diatas salin DNS dan Verification status tersebut dari laman ini ke layanan tempat anda membeli domain, tujuannya untuk membuktikan bahwa domain tersebut benar-benar milik anda.

Gambar dibawah merupakan antarmuka pengaturan domain yang saya gunakan yaitu dari Rumah Web untuk domain yang lain mungkin berbeda silahkan disesuaikan saja.

Gambar diatas adalah menambahkan DNS record ke penyedia domain, jadi anda harus login terlebih dahulu ke penyedia domain anda habis itu buka pengaturan DNS, Buat rekaman baru untuk DNS A dan TXT sesuai data yang anda dapat pada langkah sebelumnya.

Jika sudah seperti gambar diatas tunggu beberapa menit habis itu klik tombol verifikasi untuk membuktikan bahwa domain yang anda isi benar-benar milik anda. Jika ternyata gagal melakukan verifikasi anda dapat mencoba lain kali, karna DNS membutuhkan Perambatan (propagasi) DNS bisa seketika atau memerlukan waktu 24 jam.

Mendapatkan sertifikat SSL/TSL dari Let`s Encrypt

Jika verifikasi berhasil, blog saya dari kodetr.gitlab.io kini bisa diakses melalui http://kodetr.com dan http://www.kodetr.com.

Selanjutnya menambahkan sertifikat supaya blog bisa diakses melalui HTTPS, karna https merupakan protokol yang paling aman dibandingkan dengan http. Berikut langkah mendapatkan sertifika, anda bisa mengunjungi situs ini atau mengikuti cara dibawah ini untuk mendapatkan sertifikat SSL/TSL.

Anda harus mendownload file dari Let’s Encrypt atau anda bisa melakukan clone dari terminal.

git clone https://github.com/letsencrypt/letsencrypt

Jika anda sudah melakukan clone dari terminal, masuk dibagian folder letsencrypt

cd letsencrypt

Kemudian buat sertifikat, sesuaikan dengan domain anda misal kodetr.com

./letsencrypt-auto certonly -a manual -d kodetr.com

Setelah kita menyetujui bahwa IP kita akan dicatat, maka muncul pesan berikut.

Make sure your web server displays the following content at
http://kodetr.com/.well-known/acme-challenge/4TBu799fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM
before continuing:
    
4TBu799fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.ewlbSYgvIxVOqiP1lD2zeDKWBGEZMRfO_4kJyLRP_4U
    
#
# aslinya banyak output dibagian sini
#
    
Press ENTER to continue

Jangan menekan ENTER biarkan terminal terbuka.

Masuk dibagian static blog anda dibagian public, Kemudian buat berkas sebagaimana diminta pada langkah diatas. Pertama yang harus anda lakukan buat folder dengan berintah berikut

mkdir -p .well-known/acme-challenge

Kemudian masukan perintah dibawah ini ke terminal

echo 4TBu799fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM.ewlbSYgvIxVOqiP1lD2zeDKWBGEZMRfO_4kJyLRP_4U > .well-known/acme-challenge/4TBu799fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM

Habis itu publikasikan berkas anda.

git add .
git commit -m 'Add letsencrypt challenge file.'
git push

Tunggu beberapa saat sampai selesai melakukan proses rebuild blog. Baiknya lihat langsung di gitlab bagian CI untuk indikator laju build atau dengan cara curling.

curl http://kodetr.com/.well-known/acme-challenge/4TBu799fW0tQ5EOwZMdu1Gv3e9C33gxjV58hVtWTbDM

Setelah semua sudah selesai di rebuilded, kembali ke jendela terminal letsencrypt tadi kemudian tekan ENTER. tunggu beberapa saat hingga muncul hasilnya.

IMPORTANT NOTES:
  Congratulations! Your certificate and chain have been saved at
   /etc/letsencrypt/live/kodetr.org/fullchain.pem. Your cert will
   expire on 2019-06-01. To obtain a new version of the certificate in
   the future, simply run Let's Encrypt again.
      
  If you like Let's Encrypt, please consider supporting our work by:
    
   Donating to ISRG / Let's Encrypt:   https://letsencrypt.org/donate
   Donating to EFF:                    https://eff.org/donate-le 

Memasukan sertifikat SSL/TSL ke Gitlab Page

Masuk kembali ke Gitlab dan buka laman proyek Gitlab Pages, buka kembali pengaturan domain di setting kemudian klik Pages, di kolom Domain, klik tombol detail pada domain yang hendak diberi sertifikat

  • Salin isi sertifikat /etc/letsencrypt/archive/kodetr.com/fullchain.pem dan tempelkan di kolom Certificate (PEM)
  • Salin isi private key /etc/letsencrypt/archive/kodetr.com/privkey.pem dan tempelkan di kolom Key (PEM)

Kemudian tekan tombol Save Change, Ulangi langkah-langkah tersebut untuk tiap domain.

Demikian yang dapat saya sampaikan dari artikel ini semoga bermanfaat, jika ada yang ditanyakan silahkan di kolom komentar dibawah, selamat mencoba.

Share Comments
comments powered by Disqus