bg-tutorials

Cara Menginstal Sertifikat SSL di lighttpd

Dalam tutorial ini, Anda akan belajar cara menginstal sertifikat SSL di Lighttpd. Panduan ini mencakup konfigurasi saat ini (sertifikat dan private key terpisah dengan modul mod_openssl), metode PEM gabungan lama untuk build yang lebih tua, dan uji konfigurasi cepat sebelum Anda melakukan restart.

Kami juga merekam video yang memandu Anda melalui seluruh proses. Jika Anda lebih suka versi teks, lanjutkan membaca di bawah.

Membuat kode CSR di Lighttpd

Kita akan mulai dengan pembuatan CSR (Certificate Signing Request). CSR adalah blok teks terenkode yang Anda kirimkan ke Certificate Authority untuk mengajukan permohonan sertifikat SSL. Anda memiliki dua opsi:

Buka file CSR dengan editor teks apa pun dan salin isinya, termasuk baris BEGIN CERTIFICATE REQUEST dan END CERTIFICATE REQUEST, ke dalam kotak yang sesuai selama proses pemesanan SSL. Kirimkan CSR ke Certificate Authority dan tunggu validasi. Setelah CA menerbitkan sertifikat SSL Anda, lanjutkan dengan instalasi di bawah ini.

Menginstal sertifikat SSL di Lighttpd

Langkah 1: Siapkan file sertifikat Anda

Setelah validasi, Certificate Authority akan mengirimkan email berisi file sertifikat kepada Anda. Unduh arsipnya dan ekstrak. Anda seharusnya memiliki:

  • yourdomain.crt, sertifikat SSL utama Anda.
  • yourdomain.ca-bundle, sertifikat perantara (CA bundle).
  • yourdomain.key, private key yang Anda buat bersama CSR.

Lighttpd merekomendasikan agar file yang dirujuk oleh ssl.pemfile berisi rantai sertifikat lengkap: sertifikat Anda terlebih dahulu, diikuti oleh sertifikat perantara. Buat file rantai gabungan tersebut, lalu pindahkan file tersebut beserta private key ke dalam direktori yang dapat dibaca oleh Lighttpd (misalnya /etc/lighttpd/ssl/):

cat yourdomain.crt yourdomain.ca-bundle > yourdomain.fullchain.pem
sudo mkdir -p /etc/lighttpd/ssl
sudo cp yourdomain.fullchain.pem yourdomain.key /etc/lighttpd/ssl/

Batasi akses private key sehingga hanya root yang dapat membacanya:

sudo chmod 600 /etc/lighttpd/ssl/yourdomain.key

Langkah 2: Aktifkan mod_openssl

Sejak versi 1.4.56, dukungan TLS di Lighttpd berada dalam modul yang dapat dimuat bernama mod_openssl (backend lain seperti mod_mbedtls, mod_wolfssl, mod_gnutls, dan mod_nss juga tersedia). Muat modul ini dalam file konfigurasi utama Anda sebelum blok soket SSL:

server.modules += ( "mod_openssl" )

Catatan: pada Lighttpd 1.4.55 dan versi sebelumnya, TLS dikompilasi langsung daripada dimuat sebagai modul, sehingga Anda dapat melewati baris ini pada build tersebut. Periksa versi Anda dengan lighttpd -v.

Langkah 3: Edit lighttpd.conf

Buka file konfigurasi utama (jalurnya biasanya /etc/lighttpd/lighttpd.conf) dengan editor pilihan Anda:

sudo nano /etc/lighttpd/lighttpd.conf

Tambahkan blok soket untuk port 443. Pada Lighttpd versi terkini (1.4.56+), simpan rantai sertifikat dan private key dalam file terpisah: arahkan ssl.pemfile ke file rantai lengkap dan ssl.privkey ke key. Ini adalah format yang paling umum digunakan oleh Certificate Authority, dan merupakan konfigurasi yang direkomendasikan Lighttpd.

$SERVER["socket"] == ":443" {
    ssl.engine  = "enable"
    ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.fullchain.pem"
    ssl.privkey = "/etc/lighttpd/ssl/yourdomain.key"

    # Minimum TLS version (ssl-conf-cmd needs lighttpd 1.4.48+; TLS 1.2 is already the default on 1.4.56+)
    ssl.openssl.ssl-conf-cmd = ( "MinProtocol" => "TLSv1.2" )
}
  • ssl.engine mengaktifkan TLS untuk soket ini.
  • ssl.pemfile menyimpan sertifikat Anda diikuti oleh rantai perantara.
  • ssl.privkey menyimpan private key. Ini wajib sejak versi 1.4.53 setiap kali key tidak berada di dalam pemfile.

Untuk mengalihkan HTTP biasa ke HTTPS agar pengunjung selalu mencapai versi yang aman, tambahkan pengalihan untuk port 80 (ini memerlukan mod_redirect, yang dimuat secara default di sebagian besar distribusi):

$SERVER["socket"] == ":80" {
    url.redirect = ( "^/(.*)" => "https://yourdomain.com/$1" )
}

Simpan dan tutup file.

Metode lama: PEM gabungan dan ssl.ca-file

Build Lighttpd 1.4.x yang lebih lama (sebelum 1.4.53) menggunakan satu PEM gabungan yang berisi sertifikat dan private key yang digabungkan bersama, dengan rantai perantara disediakan secara terpisah melalui ssl.ca-file. Jika Anda mengelola salah satu sistem lama tersebut, buat file gabungan seperti ini:

cat yourdomain.crt yourdomain.key > /etc/lighttpd/ssl/yourdomain.pem

Kemudian rujuk file tersebut dalam blok soket:

$SERVER["socket"] == ":443" {
    ssl.engine  = "enable"
    ssl.pemfile = "/etc/lighttpd/ssl/yourdomain.pem"
    ssl.ca-file = "/etc/lighttpd/ssl/yourdomain.ca-bundle"
}

Pada Lighttpd versi terkini, gunakan bentuk terpisah ssl.pemfile dan ssl.privkey dari Langkah 3 dan simpan rantai lengkap di dalam pemfile. Direktif ssl.ca-file diganti namanya menjadi ssl.verifyclient.ca-file pada versi 1.4.60, karena fungsi sebenarnya adalah memverifikasi sertifikat klien bukan menyajikan rantai server.

Langkah 4: Uji konfigurasi

Selalu periksa sintaksis sebelum melakukan restart, karena kesalahan dapat mencegah server untuk mulai berjalan. Jalankan:

sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf

Anda seharusnya melihat pesan bahwa sintaksis sudah benar (OK). Untuk pemeriksaan yang lebih mendalam yang juga memuat dan menginisialisasi modul, gunakan sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf. Perbaiki setiap kesalahan yang dilaporkan sebelum melanjutkan.

Langkah 5: Restart Lighttpd

Terapkan perubahan. Pada sistem modern dengan systemd, restart layanannya:

sudo systemctl restart lighttpd

Pada sistem yang lebih lama yang menggunakan SysV init, gunakan skrip init sebagai gantinya:

sudo /etc/init.d/lighttpd restart

Selamat, sertifikat SSL Anda sekarang telah terinstal di Lighttpd. Untuk mengonfirmasi hasilnya dan mendapatkan laporan status instan, gunakan SSL Checker kami atau jelajahi kumpulan lengkap SSL tools kami. Untuk opsi lanjutan, lihat dokumentasi resmi SSL Lighttpd.

Pertanyaan yang Sering Diajukan

Apakah Lighttpd menggunakan file PEM gabungan atau file sertifikat dan key terpisah?

Lighttpd versi terkini (1.4.56 dan yang lebih baru) merekomendasikan file terpisah: sertifikat beserta rantai perantaranya dalam file yang dirujuk oleh ssl.pemfile, dan private key dalam ssl.privkey. PEM gabungan yang lebih lama yang menggabungkan sertifikat dan key menjadi satu ssl.pemfile masih berfungsi, tetapi bentuk terpisah sesuai dengan cara sebagian besar Certificate Authority mengirimkan file dan merupakan rekomendasi yang didokumentasikan.

Apakah saya masih memerlukan ssl.ca-file untuk rantai perantara?

Tidak. Rekomendasi saat ini adalah menyertakan sertifikat perantara secara langsung di dalam file ssl.pemfile, tepat setelah sertifikat Anda. Direktif ssl.ca-file merupakan cara lama untuk melengkapi rantai ketika pemfile hanya menyimpan sertifikat leaf, dan pada versi 1.4.60 diganti namanya menjadi ssl.verifyclient.ca-file karena peran sebenarnya adalah verifikasi sertifikat klien.

Bagaimana cara memeriksa konfigurasi sebelum melakukan restart Lighttpd?

Jalankan sudo lighttpd -t -f /etc/lighttpd/lighttpd.conf untuk menguji sintaksis, atau sudo lighttpd -tt -f /etc/lighttpd/lighttpd.conf untuk pengujian yang lebih mendalam yang juga memuat modul. Perbaiki setiap kesalahan yang dilaporkan sebelum melakukan restart, sehingga kesalahan pengetikan tidak menghentikan server dari memulai.

Mengapa browser saya menampilkan rantai sertifikat yang tidak lengkap di Lighttpd?

Ini biasanya berarti sertifikat perantara tidak ada di dalam ssl.pemfile Anda. Gabungkan sertifikat Anda dan CA bundle ke dalam satu file, dengan sertifikat terlebih dahulu, dan arahkan ssl.pemfile ke file tersebut. Kemudian uji konfigurasi dan restart. Anda dapat mengonfirmasi bahwa rantai sudah lengkap dengan SSL Checker kami.

Bagaimana cara memverifikasi bahwa sertifikat SSL telah terinstal di Lighttpd?

Sambungkan ke situs Anda dengan OpenSSL dan baca sertifikat yang disajikan:
echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -issuer -dates
Jika sertifikat telah terinstal, ini akan menampilkan penerbit dan tanggal validitasnya. Anda juga dapat membuka situs Anda di browser dan memeriksa ikon gembok.

Hemat 10% untuk Sertifikat SSL saat memesan hari ini!

Penerbitan cepat, enkripsi kuat, kepercayaan peramban 99,99%, dukungan khusus, dan jaminan uang kembali 25 hari. Kode kupon: SAVE10

Ditulis oleh

Penulis konten berpengalaman yang berspesialisasi dalam Sertifikat SSL. Mengubah topik keamanan siber yang rumit menjadi konten yang jelas dan menarik. Berkontribusi untuk meningkatkan keamanan digital melalui narasi yang berdampak.