HTTPD, PHP, MariaDB Di OpenBSD

  • June 12, 2018
  • Kurnia Ramadhan
  • bsd

Ngisi waktu di bulan Ramadhan membuat saya melakukan hobby yang udah lama gak saya jalani yaitu ngoprek server. Nah, akhirnya OpenBSD 6.3 yang baru aja release akhir Maret kemaren pun menjadi bahan yang asyik untuk di oprek, minimal jadilah Webserver berbasis OpenBSD yang bisa saya gunakan untuk beberapa blog saya.

Hal pertama yang saya lakukan adalah mengedit file “/etc/installurl” yaitu file konfigurasi untuk menghandel mirror dari binary packages yang nantinya mau kita install. File tersebut saya isi dengan parameter server mirror sebagai berikut:

https://ftp5.usa.openbsd.org/pub/OpenBSD

Instalasi Paket

Langkah selanjutnya adalah melakukan instalasi paket untuk membuat Webserver. Karena OpenBSD mempunya paket Webserver sendiri bernama httpd yang sudah secara default terinstall, maka kita tinggal melakukan proses instalasi untuk paket PHP dan MariaDB (untuk databasenya). Proses instalasi paket-paket tersebut saya lakukan dengan cara:

pkg_add php-mysqli mariadb-server

Nanti akan ada pilihan versi PHP berapa yang kamu inginkan, kalo saya sih ambil versi PHP yang paling tinggi, yang pada saat proses instalasi ini dilakukan sudah menggunakan versi 7.0. Langkah selanjutnya adalah dengan membuat link untuk file mysqli.ini yaitu dengan cara:

ln -sf /etc/php-7.0.sample/mysqli.ini /etc/php-7.0/mysql.ini

Konfigurasi HTTPD, PHP, MARIADB

Langkah awal yang perlu kita lakukan adalah mengkonfigurasi MariaDB agar aman dan siap digunakan dengan cara dan langkah seperti berikut ini:

/usr/local/bin/mysql_install_db
rcctl start mysqld
/usr/local/bin/mysql_secure_installation

Jangan lupa untuk melakukan set password untuk user root dari database mysql.

Jangan lupa untuk mengedit file “/etc/php-fpm.conf” kemudian cari tag “pm.max_children”, kemudian isi variabelnya dengan angka di atas 5, saya sendiri mengisi dengan angka 25.

Langkah selanjutnya yang harus kita lakukan agar Webserver berbasis OpenBSD (HTTPD) ini aktif adalah cukup dengan membuat file “/etc/httpd.conf” untuk kemudian diisi dengan konfigurasi berikut :

ext_if="egress"

types { include "/usr/share/misc/mime.types" }
server "default" {
   listen on $ext_if port 80
   directory {index "index.php" }
   root { "/htdocs" }
   location "/*.php*" {
       fastcgi socket "/run/php-fpm.sock"
   }
}

Oh ya jangan lupa, bahwa semua file Webserver kita nantinya akan berada di bawah folder “/var/www”, nah pada contoh ini untuk root servernya, saya akan menaruh filenya di bawah folder “/var/www/htdocs”. Setelah itu kita tinggal aktifkan service dari HTTPD, PHP, dan MARIADB saja, dengan cara sebagai berikut:

rcctl enable httpd
rcctl enable php70_fpm
rcctl enable mysqld

Kemudian kita tinggal menjalankan semua service tersebut di atas dengan cara sebagai berikut:

rcctl start httpd
rcctl start php70_fpm
rcctl start mysqld

Selesai deh, Webserver kita sudah online, dan karena lingkungan Webserver di chroot di folder “/var/www”, maka semua file web harus berada di bawah folder “/var/www” dan untuk akses ke database, yang biasanya menggunakan “localhost” maka kali ini kita menggunakan “127.0.0.1” sehingga akses ke database menggunakan protokol TCP.