Konfigurasi OpenBSD Web Server HTTPD

· 2 min read

Server web yang hebat adalah sesuatu yang sederhana, tangguh, dan aman.\nDari segi kinerja, server ini bukanlah yang tercepat di antara para pesaingnya

OpenBSD mengembangkan dan mengelola server web mereka sendiri yang disebut "httpd" di bawah lisensi ISC. Server httpd diinstal secara default dalam instalasi OS OpenBSD.

Server web yang hebat adalah sesuatu yang sederhana, tangguh, dan aman.
Dari segi kinerja, server ini bukanlah yang tercepat di antara para pesaingnya. Akan tetapi, server ini cukup cepat, dan, sebagai tambahan, pengembangannya masih berlangsung. Misalnya, dukungan untuk kompresi gzip telah dimulai sejak 7.1.

Selain itu, integrasi httpd dan relayd, daemon relay asli mereka, membuat server Anda lebih fungsional. Artikel ini akan menjelaskan proses menginstal dan mengonfigurasi httpd serta menjalankannya pada sistem operasi OpenBSD.


OpenBSD web server httpd

Persyaratan Sistem

  1. OS: OpenBSD 7.3
  2. Web: OpenBSD httpd

A. Mempersiapkan file konfigurasi

File httpd.conf diperlukan untuk mengaktifkan layanan httpd pada OpenBSD. File konfigurasi utama terletak di /etc/httpd.conf. Anda juga dapat menggunakan kata kunci include. Sementara jika Anda ingin menggunakan file konfigurasi tambahan, file tersebut dapat disertakan dengan kata kunci include, misalnya:

include "/etc/httpd.conf.local"

a. Buat httpd.conf

Salin templat dari /etc/examples:

Copy httpd.conf
$ doas cp -p /etc/examples/httpd.conf /etc/
Atau tentu saja dapat dibuat secara manual.

created manually httpd.conf
$ doas nvim /etc/httpd.conf
Berikut adalah contoh skrip file httpd.conf, Anda dapat mengubah skrip sesuai dengan kebutuhan sistem Anda.

Script htpd.conf
# $OpenBSD: httpd.conf,v 1.22 2020/11/04 10:34:18 denis Exp $

server "example.com" {
    listen on * port 80
    location "/.well-known/acme-challenge/*" {
        root "/acme"
        request strip 2
    }
    location * {
        block return 302 "https://$HTTP_HOST$REQUEST_URI"
    }
}

server "example.com" {
    listen on * tls port 443
    tls {
        certificate "/etc/ssl/example.com.fullchain.pem"
        key "/etc/ssl/private/example.com.key"
    }
    location "/pub/*" {
        directory auto index
    }
    location "/.well-known/acme-challenge/*" {
        root "/acme"
        request strip 2
    }
}
Pada server HTTPD OpenBSD, Anda harus memastikan bahwa chroot berfungsi dengan baik. Properti root di bagian "SERVER" di atas berarti direktori di bawah /var/www. Sebelum melanjutkan dengan konfigurasi lainnya, tetapkan direktori chroot. Jika tidak ditentukan, defaultnya adalah /var/www, direktori home dari www.

b. Mengedit file httpd.conf

Sekarang Anda dapat memodifikasi berkas konfigurasi untuk membangun server sesuai keinginan Anda.

Edit htpd.conf
$ doas nvim /etc/httpd.conf
Jika anda ingin mengaktifkan server PHP FastCGI, anda harus menambahkan script di bawah ini pada file httpd.conf.


server "www.https-example.domain" { 
    alias "https-example.domain" 
    listen on * port 80 
    listen on * tls port 443
    tls {
        key         "/etc/ssl/private/www.https-example.domain.key"
        certificate "/etc/ssl/www.https-example.domain.crt"
    }
    root "/htdocs/www.https-example.domain" 
}

server "www.fastcgi-tcp-example.domain" {
    alias "fastcgi-example.domain"
    listen on * port 80
    fastcgi socket tcp 127.0.0.1 8080
}

server "www.fastcgi-unix-socket-example.domain" {
    alias "fastcgi-example.domain"
    listen on * port 80
    fastcgi socket "/run/example/unix_socket.sock"
}
Untuk menggunakan koneksi TLS, Anda bisa mendapatkan sertifikat dari Let's Encrypt dengan acme-client. Pertama, salin templat berkas konfigurasi di /etc/examples.


$ doas cp -p /etc/examples/acme-client.conf /etc/
Lalu edit untuk menambahkan server Anda.


$ doas nvim /etc/acme-client.conf
Edit juga server httpd jika perlu.

Edit htpd.conf
$ doas nvim /etc/httpd.conf
Langkah terakhir adalah menjalankan perintah di bawah ini.


$ acme-client -vd xxx

c. Aktifkan daemon httpd

Jalankan perintah di bawah ini untuk mengaktifkan server httpd.

Enable httpd server
# rcctl enable httpd
Selain itu, Anda juga harus membuat file /etc/rc.conf.local, jika Anda menginstal server httpd untuk pertama kalinya.

/etc/rc.conf.local
# cat /etc/rc.conf.local
httpd_flags=
Lalu, mulailah.

Start httpd server
# rcctl start httpd
httpd(ok)
Alternatifnya, Anda dapat menambahkan opsi -f untuk membantu konfirmasi sementara. Anda juga dapat menjalankan rcctl -f start httpd untuk memaksa memulai httpd dengan pengaturan default, httpd_flags=NO.

3. Uji port server httpd

Server httpd Anda kini siap untuk membalas permintaan HTTP. Mari kita coba. Buat file index.html.

index.html
# mkdir -p /var/www/htdocs/www.https-example.domain
# # as needed:
# #chown www:www /var/www/htdocs/www.https-example.domain

$ echo "Hello, world. from OpenBSD httpd" > \
      /var/www/www.https-example.domain/index.html
Lalu kirim permintaan HTTP di klien Anda.

send http request
$ curl localhost:80
Klien Anda harus MENDAPATKAN.

send http request
Hello, world. from OpenBSD httpd
Anda dapat menambahkan lebih banyak server dengan /etc/httpd.conf. Selain itu, jika Anda memiliki banyak server, Anda dapat menentukan bagian-bagiannya dalam file eksternal dengan kata kunci include seperti yang tertulis di atas.
Subscribe on LinkedIn Konfigurasi OpenBSD Web Server HTTPD

Enclosures Link: Konfigurasi OpenBSD Web Server HTTPD

Silahkan Berkomentar, Kakak...! Bunda...!

Posting Komentar