Panduan Instalasi Sertifikat Let's Encrypt (Produksi) untuk Apache (XAMPP/Linux) Langkah 1

 🔐 Panduan Instalasi Sertifikat Let's Encrypt (Produksi) untuk Apache (XAMPP/Linux)
Langkah 1: Install Certbot


sudo apt update
sudo apt install certbot python3-certbot-apache

Langkah 2: Dapatkan Sertifikat Let's Encrypt


sudo certbot certonly --manual --preferred-challenges dns -d sub.domain.com

Ikuti instruksi yang muncul. Anda akan diminta menambahkan DNS TXT record:

    Name:

_acme-challenge.sub.domain.com.

Type:

TXT

Value (contoh dari certbot):

    7F4rb3Oz1BrAemrhDDHJGcIlItYc9kXcJRnAVhebLog

🕒 Tunggu propagasi DNS, lalu verifikasi TXT record sudah aktif menggunakan Google Admin Toolbox

Jika berhasil, Anda akan melihat pesan:

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/sub.domain.com/fullchain.pem
Key is saved at:         /etc/letsencrypt/live/sub.domain.com/privkey.pem

⚠️ Catatan

    Sertifikat manual tidak diperpanjang otomatis.

    Untuk perpanjangan, ulangi perintah certbot dan proses DNS challenge.

Langkah 3: Konfigurasi Apache (XAMPP)


Contoh konfigurasi VirtualHost SSL:

Edit file:

sudo nano /opt/lampp/etc/extra/httpd-ssl.conf

Tambahkan atau sesuaikan:

<VirtualHost *:443>
    ServerName sub.domain.com
    DocumentRoot "/opt/lampp/htdocs/subdomain"

    SSLEngine on
    SSLCertificateFile "/etc/letsencrypt/live/sub.domain.com/fullchain.pem"
    SSLCertificateKeyFile "/etc/letsencrypt/live/sub.domain.com/privkey.pem"

    <Directory "/opt/lampp/htdocs/subdomain">
        Options Indexes FollowSymLinks
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

<VirtualHost *:80>
    ServerName sub.domain.com
    Redirect permanent / https://sub.domain.com/
</VirtualHost>

Langkah 4: Aktifkan Modul SSL Apache


Edit file:

sudo nano /opt/lampp/etc/httpd.conf

Pastikan baris berikut tidak dikomentari (tidak diawali #):

LoadModule ssl_module modules/mod_ssl.so
Include etc/extra/httpd-ssl.conf

Langkah 5: Restart Apache


sudo /opt/lampp/lampp restart

Langkah 6: Uji Sertifikat


Buka browser dan akses:

https://sub.domain.com

Jika menggunakan sertifikat valid dari Let's Encrypt, tidak akan ada peringatan keamanan dari browser.

cloudflared tunnel on ubuntu

 Berikut tutorial pembuatan Cloudflare Tunnel step-by-step lengkap dengan gambar dari tangkapan layar Anda, untuk pemahaman yang praktis dan rapi:
1️⃣ Login ke Cloudflare Dashboard

    Akses: https://dash.cloudflare.com/

    Masuk menggunakan akun email Anda.

    Pilih akun yang akan digunakan untuk tunnel.

2️⃣ Masuk ke menu Zero Trust → Tunnels

    Klik Zero Trust di sidebar.

    Pilih Networks → Tunnels.

    Anda akan melihat daftar tunnel aktif dan tidak aktif.

3️⃣ Klik Create a Tunnel

    Klik tombol + Create a tunnel.

4️⃣ Pilih metode koneksi tunnel

    Pilih Cloudflared (Recommended).

    Klik Select Cloudflared.

5️⃣ Ikuti instruksi instalasi Cloudflared

Jika belum menginstall cloudflared:

# Tambah GPG key
sudo mkdir -p --mode=0755 /usr/share/keyrings
curl -fsSL https://pkg.cloudflare.com/cloudflare-main.gpg | sudo tee /usr/share/keyrings/cloudflare-main.gpg >/dev/null

# Tambah repository
echo 'deb [signed-by=/usr/share/keyrings/cloudflare-main.gpg] https://pkg.cloudflare.com/cloudflared any main' | sudo tee /etc/apt/sources.list.d/cloudflared.list

# Update dan install
sudo apt-get update

sudo apt-get install cloudflared

6️⃣ Jalankan tunnel dengan token

Setelah cloudflared terinstall, Anda bisa:

    Jalankan otomatis saat boot:

sudo cloudflared service install <TOKEN_YANG_DISEDIAKAN>

    Atau jalankan manual:

cloudflared tunnel run --token <TOKEN_YANG_DISEDIAKAN>


Token didapat dari tampilan pembuatan tunnel.
7️⃣ Tunnel berhasil dibuat

Tunnel Anda akan muncul di daftar dengan status HEALTHY jika berjalan normal.

8️⃣ Konfigurasi Routes

Jika ingin mengarahkan domain ke server lokal Anda:

    Klik Configure pada tunnel.

    Tambahkan Public Hostname sesuai domain/subdomain dan arahkan ke port lokal server Anda (misal port 80/443).

    Simpan konfigurasi.

 

Gunakan systemctl status cloudflared untuk memeriksa status tunnel jika menggunakan service.