Install Webserver (MySQL Server) di Lightty dan PhpMyadmin dengan Menggunakan Ubuntu

Kali ini saya akan membahas cara membuat webserver di Ubuntu dengan menggunakan Lightty, PHP5, MySQL Server, baik pertama saya akan membandingan dulu antara Apache, Apache2 dan Lightty berikut, adalah perbandingannya (liat gambar):

Lighttpd (diucapkan dengan “lightly”) adalah sebuah web server yan didesain aman, cepat, sesuai standar, dan fleksibel untuk dioptimasikan pada speed-critical environments. Awalnya, lighttpd ditulis oleh seorang programmer Jerman bernama Jan Kneschke (yang juga bekerja untuk MYSQL). Web server yang alamat websitenya di http://lighttpd.net/ ini ditulis dalam bahasa pemrograman C. Dapat dijalankan pada sistem operasi Linux dan sistem operasi Unix-like lainnya, serta dapat pula dijalankan pada sistem operasi Windows. Lighttpd bersifat open source dan didistribusikan dengan lisensi BSD.
Lighttpd mengklaim dirinya sebagai web server yang “memakan” sedikit space memori jika dibandingkan dengan web server lain. Selain itu lighttpd mempunyai kemampuan untuk mengatur cpu-load secara efektif dan beberapa fitur
advance seperti FastCGI, SCGI, Auth, Output-Compression, URL-Rewriting dan lain-lain. Secara lengkap, fitur-fitur yang disediakan oleh lighttpd adalah sebagai berikut.

  • * Load-balancing FastCGI, SCGI, dan HTTP proxy support
  • * chroot support
  • * web server berbasis select()-/poll()-/epoll()
  • * Support untuk skema notifikasi event yang lebih efisien seperti kqueue dan epoll
  • * Conditional rewrites (mod_rewrite)
  • * SSL dan TLS support, via OpenSSL.
  • * Otentikasi terhadap sebuah server LDAP
  • * Statistik RRDtool
  • * Rule-based downloading dengan kemungkinan penanganan sebuah script hanya otentikasi
  • * Server Side Includes support
  • * Virtual hosting yang fleksibel
  • * Modules support
  • * Cache Meta Language (saat ini sedang diganti mod_magnet) menggunakan bahasa pemrograman Lua
  • * Minimal WebDAV support
  • * Servlet (AJP) support (pada versi 1.5.x ke atas)
  • * HTTP compression menggunnakan mod_compress dan  mod_deflate terbaru (1.5.x)
  • * Berukuran kecil (kurang dari 1 MB)
  • * Desain single-process hanya dengan beberapa thread. Tidak ada proses atau thread dimulai per koneksi.

Dengan semua fitur dan kelebihannya, lighttpd sangat cocok digunakan untuk aplikasi-aplikasi web yang termasuk kategori Web 2.0. Beberapa situs-situs Web 2.0 populer yang menggunakan lighttpd antara lain YouTube (http://youtube.com), wikipedia (http://wikipedia.org), dan meebo (http://meebo.com). Kenapa kita harus menggunakan lighttpd jika sudah ada Apache yang merupakan market leader dalam dunia web server? Selain karena kelebihan dan fitur-fitur yang ditawarkan oleh lighttpd yang sudah disebutkan di atas, ternyata Apache mempunyai beberpa kekurangan yang dapat membuat kita harus berpikir untuk menggunakan web server alternatif, selain Apache.

Apache menyediakan berbagai Model Multi-Processing untuk digunakan di berbagai runtime environment. Model Prefork — yang paling populer di Linux — membuat sejumlah proses Apache pada saat startup dan mengelola mereka pada sebuah pool. Alternatif model worker menggunakan multiple thread, bukan proses. Walaupun thread lebih ringan daripada proses, kita tidak dapat menggunakannya kecuali seluruh server bersifat threadsafe. Meskipun Apache dan mod_php bersifat threadsafe, hal ini tidak dijamin untuk semua modul pihak ketiga  yang mungkin digunakan.
Situs yang berbasis PHP mengecilkan penggunaan Apache 2 dengan MPM ber-thread; ini mungkin telah memperlambat pergerakan developer dari Apache 1.3 ke Apache 2.0. Namun, model prefork memiliki masalahnya sendiri: setiap proses (Apache + PHP + modul pihak ketiga) mengkonsumsi banyak space memori (30MB adalah hal yang tidak biasa). Jika kita kalikan hal ini dengan jumlah proses-proses Apache secara simultab, space RAM yang tersedia akan berkurang dengan cepat. Lighttpd saat ini sudah menjadi kompetitor kuat bagi Apache –khususnya jika memory yang tersedia terbatas atau workload terdiri dari banyak file status. Lighttpd (sesuai namanya) adalah web server yang ringan dan “ringan itu baik”.

Referensi :

http://www.lighttpd.net/

http://en.wikipedia.org/wiki/Lighttpd

http://www.onlamp.com/pub/a/onlamp/2007/04/05/the-lighttpd-web-server.html

http://www.hilman.web.id/posting/blog/801/lighttpd-web-server-alternatif-selain-apache.html

Ok langsung saja saya akan menmbahas cara instalasinya, : (jalankan perintah dibawah ini)

  • sudo apt-get install lighttpd php5-cgi
  • sudo lighty-enable-mod fastcgi
  • sudo lighty-enable-mod fastcgi-php
  • sudo service lighttpd force-reload

Sekarang restart servicenya dengan perinyah : /etc/init.d/lighttpd force-reload –> restart byar lebih aman : shutdown -r now

Setelah restart bukan brower anda kemudian http://localhost, klo udah bener tampilannya seperti ini :

Nah klo udah seperti diatas tinggal taro file anda di /var/www/

langkah selanjutnya adalah instal MySQL Server caranya sbb :

# apt-get install libapache2-mod-php5 php5
# apt-get install php-pear php5-suhosin php5-xcache php5-mcrypt
# apt-get install php5-gd php5-memcache php5-mcrypt
# apt-get install mysql-server
# apt-get install php5-mysql

Ketika mengintasll mysql-server anda akan diminta passwordnya “ingat password anda” kalo bisa passwordnya satu saja, saatnya menginstall PhpMyadmin caranya sebagai berikut :

# apt-get install phpmyadmin

Saat penginstallan phpmyadmin anda diminta untuk memasukan password “ingat password anda” password anda dibutuhkan untuk login pada saat masuk phpmyadmin, dan anda juga diminta bahwa phpmyadmin dijalankan di webserver apa ? pilih “lighttpd” karena pembahasan saat ini menggunakan webserver berbasis pada lightty, sekarang buka /etc/lighttpd/conf-available menggunakan editor kesayangan anda “klo saya pake pico” dan samakan isinya seperti dibawah ini :

==================================================================================================================# Alias for phpMyAdmin directory
alias.url += (
“/phpmyadmin” => “/usr/share/phpmyadmin”,
)

# Disallow access to libraries
$HTTP[“url”] =~ “^/phpmyadmin/libraries” {
url.access-deny = ( “” )
}
$HTTP[“url”] =~ “^/phpmyadmin/setup/lib” {
url.access-deny = ( “” )
}

# Limit access to setup script
$HTTP[“url”] =~ “^/phpmyadmin/setup” {
auth.backend = “htpasswd”
auth.backend.htpasswd.userfile = “/etc/phpmyadmin/htpasswd.setup”
auth.require = (
“/” => (
“method” => “basic”,
“realm” => “phpMyAdmin Setup”,
“require” => “valid-user”
)
)
}
===============================================================================================================

Kemudian pada folder /etc/lighttpd ada file lighttpd.conf, buka dan samakan isinya seperti dibawah ini

===============================================================================================================

# Debian lighttpd configuration file
#

############ Options you really have to take care of ####################

## modules to load
# mod_access, mod_accesslog and mod_alias are loaded by default
# all other module should only be loaded if neccesary
# – saves some time
# – saves memory

server.modules              = (
“mod_access”,
“mod_alias”,
“mod_accesslog”,
“mod_compress”,
“mod_rewrite”,
“mod_redirect”,
#           “mod_evhost”,
#           “mod_usertrack”,
#           “mod_rrdtool”,
#           “mod_webdav”,
#           “mod_expire”,
#           “mod_flv_streaming”,
#           “mod_evasive”
)

## a static document-root, for virtual-hosting take look at the
## server.virtual-* options
server.document-root       = “/var/www/”

## where to upload files to, purged daily.
server.upload-dirs = ( “/var/cache/lighttpd/uploads” )

## where to send error-messages to
server.errorlog            = “/var/log/lighttpd/error.log”

## files to check for if …/ is requested
index-file.names           = ( “index.php”, “index.html”,
“index.htm”, “default.htm”,
“index.lighttpd.html” )

## Use the “Content-Type” extended attribute to obtain mime type if possible
# mimetype.use-xattr = “enable”

#### accesslog module
accesslog.filename         = “/var/log/lighttpd/access.log”

## deny access the file-extensions
#
# ~    is for backupfiles from vi, emacs, joe, …
# .inc is often used for code includes which should in general not be part
#      of the document-root
url.access-deny            = ( “~”, “.inc” )

##
# which extensions should not be handle via static-file transfer
#
# .php, .pl, .fcgi are most often handled by mod_fastcgi or mod_cgi
static-file.exclude-extensions = ( “.php”, “.pl”, “.fcgi” )

######### Options that are good to be but not neccesary to be changed #######

## Use ipv6 only if available. (disabled for while, check #560837)
#include_shell “/usr/share/lighttpd/use-ipv6.pl”

## bind to port (default: 80)
# server.port               = 81

## bind to localhost only (default: all interfaces)
## server.bind                = “localhost”

## error-handler for status 404
#server.error-handler-404  = “/error-handler.html”
#server.error-handler-404  = “/error-handler.php”

## to help the rc.scripts
server.pid-file            = “/var/run/lighttpd.pid”

##
## Format: <errorfile-prefix><status>.html
## -> …./status-404.html for ‘File not found’
#server.errorfile-prefix    = “/var/www/”

## virtual directory listings
dir-listing.encoding        = “utf-8”
server.dir-listing          = “enable”

## send unhandled HTTP-header headers to error-log
#debug.dump-unknown-headers  = “enable”

### only root can use these options
#
# chroot() to directory (default: no chroot() )
#server.chroot            = “/”

## change uid to <uid> (default: don’t care)
server.username            = “www-data”

## change uid to <uid> (default: don’t care)
server.groupname           = “www-data”

#### compress module
compress.cache-dir          = “/var/cache/lighttpd/compress/”
compress.filetype           = (“text/plain”, “text/html”, “application/x-javascript”, “text/css”)

#### url handling modules (rewrite, redirect, access)
# url.rewrite                 = ( “^/$”             => “/server-status” )
# url.redirect                = ( “^/wishlist/(.+)” => “http://www.123.org/$1&#8221; )

#
# define a pattern for the host url finding
# %% => % sign
# %0 => domain name + tld
# %1 => tld
# %2 => domain name without tld
# %3 => subdomain 1 name
# %4 => subdomain 2 name
#
# evhost.path-pattern = “/home/storage/dev/www/%3/htdocs/”

#### expire module
# expire.url                  = ( “/buggy/” => “access 2 hours”, “/asdhas/” => “access plus 1 seconds 2 minutes”)

#### rrdtool
# rrdtool.binary = “/usr/bin/rrdtool”
# rrdtool.db-name = “/var/www/lighttpd.rrd”

#### variable usage:
## variable name without “.” is auto prefixed by “var.” and becomes “var.bar”
#bar = 1
#var.mystring = “foo”

## integer add
#bar += 1
## string concat, with integer cast as string, result: “www.foo1.com”
#server.name = “www.” + mystring + var.bar + “.com”
## array merge
#index-file.names = (foo + “.php”) + index-file.names
#index-file.names += (foo + “.php”)

#### external configuration files
## mimetype mapping
include_shell “/usr/share/lighttpd/create-mime.assign.pl”

## load enabled configuration files,
## read /etc/lighttpd/conf-available/README first
include_shell “/usr/share/lighttpd/include-conf-enabled.pl”

#### handle Debian Policy Manual, Section 11.5. urls
## by default allow them only from localhost
## (This must come last due to #445459)
## Note: =~ “127.0.0.1” works with ipv6 enabled, whereas == “127.0.0.1” doesn’t
$HTTP[“remoteip”] =~ “127.0.0.1” {
alias.url += (
“/doc/” => “/usr/share/doc/”,
“/images/” => “/usr/share/images/”
)
$HTTP[“url”] =~ “^/doc/|^/images/” {
dir-listing.activate = “enable”
}
}

====================================================================================================================

Sekarang buka http://localhost/phpmyadmin dan volla

Isi username : root dan passwordnya : isikan pada saat install phpmyadmin

Artikel ini sudah dibuktikan oleh penulis dan bisa dipertanggung jawabkan keabsahannya

Next saya akan membahas untuk akslarasi dari webserver menggunakan lightty

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s