Install SSL-Apache2.2 Freebsd

Written by idnic Tuesday, 11 September 2012 10:25

Print

* https or Secure Socket Layer (SSL) *

Ketika kita membutuhkan enkripsi untuk website yang mengirimkan informasi penting seperti username dan password kita untuk mengakses sesuatu, maka kita harus menambahkan sebuah fitur pada Web Server Apache kita. Fitur ini biasa disebut dengan SSL. Ketika saya memutuskan untuk menginstall apache versi 2.2, maka saya menemukan bahwa sebuah package secara otomatis ikut terinstall pada sistem saya, package itu adalah openssl-0.9.8g. Open ssl adalah salah satu dari program freeware yang mendukung ssl, oleh karena itu saya memutuskan untuk menggunakan program ini. Hal pertama yang perlu dilakukan untuk mengaktifkan SSL adalah membuat certificate untuk web server kita. Untuk aman nya, kita akan membuat certificate ini pada home directory root untuk nantinya dicopy ke directory yang benar, sehingga kita memiliki backup file apabila ada kesalahan dalam certificate kita. Pada directory /root ketikkan perintah ini :

openssl genrsa -des3 -out server.key 1024

Kemudian openssl akan menanyakan phrase key, masukkan sesuai keinginan anda, tapi jangan sampai lupa karena akan ditanyakan lagi setelah ini dan setiap kali openssl dijalankan. Selanjutnya, ketikkan perintah :

openssl req -new -key server.key -out server.csr

Dimana setelah mengetikkan perintah ini kita akan ditanyai bermacam-macam pertanyaan tentang web server kita. Jawab saja sebisanya :p
Kemudian tibalah saatnya untuk menandatangani certificate yang sudah kita buat, caranya gunakan perintah ini :

openssl x509 -req -days 365 -in /root/server.csr -signkey /root/server.key -out /root/server.crt

Oke, certificate yang dibuat sudah aktif selama 365 hari, dan bisa kita ganti apabila kita menghendakinya. Sekarang kita tinggal menaruh 2 file yang sudah kita buat tadi ke directory /usr/local/etc/apache22 caranya gunakan perintah :

cp /root/server.key /usr/local/etc/apache22
cp /root/server.crt /usr/local/etc/apache22

Kemudian kita harus mengeset permission untuk kedua file tersebut supaya hanya bisa dibaca oleh pemiliknya, yaitu root. Caranya gunakan perintah :

chmod 0400 /usr/local/etc/apache22/server.key
chmod 0400 /usr/local/etc/apache22/server.crt

Selanjutnya kita harus mengatur file konfigurasi apache yang mengatur tentang SSL. File ini adalah

/usr/local/etc/apache22/extra/httpd-ssl.conf

Yang harus diubah adalah bagian Server Certificate, dimana kita harus memasukkan path yang benar dengan file server.crt yang telah kita copy ke directory /usr/local/etc/apache22 tadi. Jangan lupa untuk meng-uncomment line ini, sehingga menjadi :

SSLCertificateFile “/usr/local/etc/apache22/server.crt”

Terakhir kita harus mengedit file httpd.conf agar membaca konfigurasi yang sudah kita lakukan pada file httpd-ssl.conf. Bagian yang mengatur tentang SSL ini ada di akhir file httpd.conf, tinggal di uncomment saja, sehingga menjadi :
Include etc/apache22/extra/httpd-ssl.conf
Kemudian untuk menjalankan openSSL, kita tinggal merestart saja apache22 kita, karena openSSL ini adalah suatu fitur built-in pada apache22.

Demikianlah, kita telah selesai membuat Web Server yang mensupport database MySQL, bahasa PHP, dan enkripsi https menggunakan OpenSSL. Terimakasih ^__^

Apabila terdapat error berikut ini saat menjalankan apache :

Failed to enable the ‘httpready’ Accept Filter

maka dapat diatasi dengan dua cara, antara lain :
pertama secara default ternyata FreeBSD belum load httpready dalam kernel nya jadi harus di load donk
cara load nya ada dua cara :

1. Dengan mengetikan kldload accf_http kelemahannya setiap kali abis restart harus ketik itu sebelum jalanin apache
2. Dengan merubah loader.conf yang ada di folder /boot/default supaya otomatis load accf_http setiap kali restart caranya:

Buka file loader.conf dengan editor kesayangan anda contoh nya pico jadi command nya pico /boot/default/loader.conf
kemudian cari entri berikut ini

accf_data_load=”NO” # Wait for data accept filter
accf_http_load=”NO” # Wait for full HTTP request accept filter

dan ganti NO dengan YES kemudian save.
setelah di simpan silahkan restart box anda dan sekarang apache pun bisa di load tanpa ada pesan error Failed to enable the ‘httpready’ Accept Filter.

setelah itu cobalah website nya : https://bla-bla-bla.com