OpenBSD 1

Menyalakan SSL pada OpenBSD: Pakai Acme-client!

Menyalakan SSL pada OpenBSD tidak pernah semudah ini dengan acme-client yang akan kita diskusikan tahap-tahapannya pada artikel ini!

Acme Client dan Httpd

Pertama kalinya saya memanfaatkan OpenBSD sebagai server dan terkejut saat mencobanya karena perbedaan signifikan dengan Linux.

Jika di Linux, kita terbiasa dengan Nginx atau Apache sebagai web server dan Certbot untuk menghasilkan kunci SSL. Tentu tidak standar apabila menggunakan ketiga hal pada OpenBSD. Alih – alih tiga hal, pengguna umum OpenBSD lebih menggunakan Acme Client sebagai pengganti Certbot dan Openbsd’s httpd pengganti Nginx atau Apache.

Cara Menyalakan SSL pada OpenBSD

Di sini kita memanfaatkan SSL gratisan tanpa batasan waktu dari Let’s Encrypt.

Sunting berkas /etc/acme-client.conf dalam keadaan root.

$ doas vim /etc/acme-client.conf

Buatlah konfigurasi baru seperti di bawah dan sesuaikan dengan kebutuhan anda.

authority letsencrypt {
  api url "https://acme-v02.api.letsencrypt.org/directory"
  account key "/etc/ssl/private/letsencrypt.key"
}
domain www.contoh.com {
  alternative names { contoh.com }
  domain key "/etc/ssl/private/www.contoh.com.key"
  domain certificate "/etc/ssl/www.contoh.com.crt"
  domain full chain certificate "/etc/ssl/www.contoh.com.pem"
  sign with letsencrypt
}Code language: JavaScript (javascript)

Buat direktori baru untuk menyimpan kunci SSL

$ doas mkdir -p -m 700 /etc/ssl/private
$ doas mkdir -p -m 755 /var/www/acmeCode language: PHP (php)

Jalankan perintah acme-client untuk menghasilkan SSL gratis dari Let’s Encrypt.

$ acme-client -v www.contoh.com

Buatlah konfigurasi httpd seperti di bawah dengan penyesuaian sesuai kebutuhan anda.

server "www.contoh.com" {
  listen on * tls port 443
  root "/htdocs/www.contoh.com"
  tls {
    certificate "/etc/ssl/www.contoh.com.pem"
    key "/etc/ssl/private/www.contoh.com.key"
  }
  location "/.well-known/acme-challenge/*" {
    root "/acme"
    request strip 2
  }
}

server "example.com" {
  listen on * tls port 443
  tls {
    certificate "/etc/ssl/www.example.com.pem"
    key "/etc/ssl/private/www.example.com.key"
  }
  block return 301 "https://www.example.com$REQUEST_URI"
}

server "www.example.com" {
  listen on * port 80
  root "/htdocs/www.example.com"
  location "/.well-known/acme-challenge/*" {
    root "/acme"
    request strip 2
  }
}

server "example.com" {
  listen on * port 80
  block return 301 "http://www.example.com$REQUEST_URI"
}

Code language: JavaScript (javascript)

Kita periksa apakah konfigurasi httpd sudah benar atau belum melalui perintah ini.

# httpd -n
configuration okCode language: PHP (php)

Restart httpd agar perubahan dapat dimuat

# rcctl -f restart httpd
httpd (ok)
httpd (ok)Code language: PHP (php)

Artikel Terkait

Leave a Reply

Your email address will not be published. Required fields are marked *