what is astahttpd?

Apa itu astahttpd?

astahttpd adalah sebuah web server ringan untuk Linux yang ditulis murni menggunakan PHP. “Ringan” disini bukan berarti minim fitur :). astahttpd adalah free dan open source software dibawah lisensi GNU GPL v3. Saat ini astahttpd masih dalam tahap beta development, dan belum siap untuk production use.

astahttpd v0.1-beta2

Motivasi

Alasan saya sebenarnya dalam membuat astahttpd adalah membantu front-end dari astasms. Front-end dari astasms adalah web-based jadi perlu sebuah web server untuk membantu menampilkannya. Awalnya saya hanya berniat agar astahttpd dapat mem-parse PHP script, namun lama kelamaan saya malah asyik mendevelop astahttpd dan lupa astasms sehingga astasms saat ini masih belum saya rilis.

Dari ide awal hanya untuk memparse PHP script berkembang menjadi web server yang “cukup” mumpuni untuk jika hanya untuk development process. Saya pun berniat untuk membuat astahttpd menjadi minimal 85% memenuhi standar HTTP/1.1. Mempelajari suatu standar cukup memakan waktu, untunglah waktu saya membuat ini kuliah lagi libur jadi saya punya cukup waktu untuk mempelajari protokol HTTP/1.1.

Saat tulisan ini dibuat versi terakhir yang resmi saya rilis adalah astahttpd v0.1-beta2.

Directory Browser

Fitur astahttpd

Fitur-fitur berikut adalah fitur dari astahttpd v0.1-beta3-dev. Saat anda membaca tulisan ini fitur-fitur baru mungkin sudah ditambahkan.

  • GET, POST, dan HEAD methods
  • Alias Directory
  • CGI Script Processing
  • Content Encoding (gzip & deflate)
  • Directory Browser
  • Basic Authentication
  • Digest Authentication *
  • URL Rewrite
  • Virtual Host (IP dan Name based)
  • Modular Arsitektur *

*) mulai versi v0.1-beta3-dev

asthattpd CGI Processing

Modular Arsitektur

Saya sempat berpikir, “kalo user tidak ingin fitur itu diaktifkan, gimana ya?”. Berangkat dari pemikiran itu saya mulai menulis ulang core astahttpd agar kemampuannya dapat ditingkatkan dengan mudah lewat module Add-on. Sehingga fitur-fitur yang tidak diinginkan dapat dinon-aktifkan.

Anda juga dapat dengan mudah mengextend kemampuan astahttpd dengan menulis modul anda sendiri. Saat ini(v0.1-beta3-dev) modul-modul yang tersedia antara lain:

  • mod_auth_basic
  • mod_auth_digest
  • mod_cgi
  • mod_encoding
  • mod_rewrite
  • mod_status
  • mod_vhost

astahttpd Authentication

User

Untuk saat ini astahttpd hanya ditujukan untuk developer khususnya developer PHP mengingat masih dalam development cycle dan belum pernah mencapai stable version. Selain itu, astahttpd juga ditujukan untuk siapa saja yang ingin mempelajari bagaimana membuat sebuah server(dalam hal ini web server) dan bagaimana mekanisme kerjanya.

Saya juga menyediakan API/Manual untuk astahttpd. Sehingga memudahkan developer dalam mempelajarinya. Dokumentasi API ini saya generate menggunakan PHPDocumenter v1.4.1.

Help & Bugs Report

Saya sangat berharap anda dapat mencoba astahttpd sehingga dapat memberikan saya masukan dan bugs report bila ada. Saat ini saya berharap ada yang membantu saya dalam memperbaiki tata bahasa inggris yang saya sertakan dalam distribusi astahttpd. Karena saya yakin masih banyak kesalahan spelling dan grammar pada tulisan saya.

Selain itu saya juga perlu web designer/programmer untuk membuatkan official website untuk astahttpd. Karena saat ini belum official website dari astahttpd dan masih menggunakan halaman default sorceforge.net.

Bagi anda yang berminat memberikan kontribusi silahkan kontak saya atau drop comment disini :) .

Links

Berikut ini adalah beberapa link yang berhubungan dengan astahttpd:

Homepage/
Subversion(SVN)
Subcribe on Freshmeat

No comments yet

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: