FreeBSD 9 Install Lighttpd Web Server

Kali ini saya akan mencoba installasi webserver selain Apache, yakni Lighttpd (dibaca : lighty) yang juga mendukung MySQL dan PHP.

light_logo

 

Sekilas tentang Lighttpd adalah alternatif web server; jika di install pada hardware yang sama, menghasilkan kinerja yang lebih bagus dari kompetitor (baca: Apache). Benchmark Lighttpd bisa anda lihat-lihat disini: http://www.lighttpd.net/benchmark/

Lighty bisa di Install di Linux distro Popular, Windows, BSD. Untuk dukungan OS yang lainnya saya kurang tahu.  Untuk tutorial kali ini saya coba install pada OS FreeBSD 9 menggunakan sistem ports.

Buka terminal baik onsite ataupun via jalur SSH. Agar port system selalu update dengan server Port Induk, lakukan fetch update.

# portsnap fetch
# portsnap update

Sekitar 70~80 MB-an; durasi pengkinian mungkin agak lama pada koneksi yang pelan.

Jika Port-tree sudah terupdate; Install Lighty melalu Metode Port system:

# cd /usr/ports/www/lighttpd
# make install clean

Tambahkan Centang dukungan untuk BZIP (deflate)Sehingga seperti ini: mySQL tidak perlu di ceklis.
ligthttpd on freebsd Screenshot_1

Lalu geser kursor ke tombol [OK], proses pengunduhan serta kompilasi file biner akan dieksekusi. Pada mesin dan koneksi yang cepat proses tidak sampai 10 menit.

Lighty sudah terinstall, lalu tambahkan dukungan untuk basis data server MySQL nya:

# cd /usr/ports/databases/mysql50-server/
# make install clean

Dan biasanya dibutuhkan juga MySQL Client & Scripts nya; install sekalian. Caranya:

# /usr/ports/databases/mysql50-client
# make install clean

# cd /usr/ports/databases/mysql50-scripts
# make install clean

Jika terdapat mismatch error; pastikan MySQL Server & Clientnya menggunakan versi yang sama.

Database sudah; selanjutnya Server-Side Programming yakni PHP5.

# cd /usr/ports/lang/php5
# make install clean

Selanjutnya modul/ ektensi PHP5:

# cd /usr/ports/lang/php5-extensions
# make install clean

Yang perlu dilakukan pemilihan modul adalah: ctype, curl, imap, mbstring, mcrypt, mysql, mysqli, pcre, posix, session, simplexml, xml, xmlreader, xmlwriter, zlib. Biasanya modul/ekstensi tsb yang banyak digunakan; misalnya Curl untuk mengembed request http. Imap untuk mengkases layanan mail, dll.

 

Selanjutnya lakukan editing pada rc.conf agar MySQL dan Lighty dianggap service dan autostart.

# nano /etc/rc.conf

Tambahkan pada akhir baris

mysql_enable=”YES”
lighttpd_enable=”YES”

Lokasi default root document untuk Lighty ada pada /usr/local/www/data/
Lokasi confignya ada di /usr/local/etc/lighttpd/lighttpd.conf dan sama seperti Apache Username dan groupnya adalah www.

Agar lighty berjalan sesuai kebutuhan Edit dulu:

# nano /usr/local/etc/lighttpd/lighttpd.conf

biasanya yang di edit/tambahkan perubahan document root, port, ip-address, ipv6, vhost dll. jangan lupa berikan perintah chown -r www:www <dir> pada lokasi dir/path selain bawaan config.

Contohnya: saya edit listennya bukan di port 80, karena sesuatu hal, saya sudah menjalankan service yang listen di 80 😀

$SERVER[“socket”] == “0.0.0.0:8999” { }

Memperbolehkan PHP-cgi (user non www untuk akses PHP melalui webserver

fastcgi.server = ( “.php” =>
( “localhost” =>
(
“socket” => “/tmp/php-fastcgi.socket”,
“bin-path” => “/usr/local/bin/php-cgi”
)
)
)

Edit pula modules.conf nya

# nano /usr/local/etc/lighttpd/modules.conf

buang sharp-mark (#) mod fastcgi, mod access, mod rewrite. Biasanya ketiga MODULES ini yang banyak dipakai untuk php.

Jangan lupa jalankan MySQL dan Lighty:

# /usr/local/etc/rc.d/mysql-server start
# /usr/local/etc/rc.d/lighttpd start

Untuk itu perlu dibuatkan file testing. caranya

#  mkdir /usr/local/www/data
# cd /usr/local/www/data
# nano index.php

Lalu isikan dengan:

<?php phpInfo(); ?>

Lalu arahkan browser ke alamat IP server; kalau sukses akan muncul halaman keterangan System. Jika ada keterangan error 403, terjadi sesuatu dengan konfigurasi lighty fastcgi, coba ulangi lagi. Untuk itu buat nama .htm biasa, bisa di eksekusi via browser atau tidak. Bila tetap error, berarti lebih fatal lagi 😀 — kalau bisa tidak jauh dari modules.conf dan lighttpd.conf nya yang salah edit.

# echo tes-static-ligth OK >/usr/local/www/data/tes.htm

karena saya lagi di konsol, saya memakai lynx (/usr/ports/www/lynx).

# lynx localhost:8999/tes.htm
{tekan q untuk keluar, jika listen di port 80, cukup lynx localhost saja.
# lynx localhost:8999
{index.php adalah default document yang akan otomatis tereksekusi}

lynx on bsd lighty.jpeg
Contoh Output phpInfo() yang berjalan di mesin FreeBSD 9 menggunakan webserver Lighty Lighttpd +mysql+php5

Selanjutnya? Jika memang server cuma didedikasikan untuk melayani satu situs saja, pekerjaan sudah selesai. tinggal buat 1 user biasa untuk layanan root document via sftp/ftp/ssh tugas admin tinggal backup-backup saja 😀

BTW; untuk membuat lighty menjadi reverse proxy (cached), cukup memodifikasi file .conf saja. cara modifikasinya ikuti link ini: http://redmine.lighttpd.net/projects/1/wiki/Docs_ModCache  — Dan ingat, jika sudah memakai reverse proxy; log asli di webserver akan mempunyai request ip dari ip-addressnya reverse proxy semua 😀

kd 3_2

Untungnya analisa trafic bisa menggunakan layanan free webcounter ataupun google analytics.

Post By Tommy Wiranto (74 Posts)

Rasa ingin tahunya, terkadang 101% -- petualang yang tertahan. Terkadang sombong, tetapi pada tempatnya.

Website: →

Connect