Lighttpd adalah server web yang aman, cepat, dan sesuai standar yang dirancang untuk lingkungan yang kritis terhadap kecepatan. Tutorial ini menunjukkan bagaimana Anda dapat menginstal Lighttpd pada server Debian Etch dengan dukungan PHP5 (melalui FastCGI) dan dukungan MySQL.
Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
1 Catatan Awal
Dalam tutorial ini saya menggunakan hostname server1.example.com dengan alamat IP 192.168.0.100. Setelan ini mungkin berbeda untuk Anda, jadi Anda harus menggantinya jika perlu.
2 Menginstal MySQL 5.0
Pertama kita install MySQL 5.0 seperti ini:
apt-get install mysql-server mysql-client
Buat kata sandi untuk root pengguna MySQL (ganti kata sandi rootsql Anda dengan kata sandi yang ingin Anda gunakan):
mysqladmin -u root password yourrootsqlpassword
Kemudian periksa dengan
netstat -tap | grep mysql
di mana alamat MySQL mendengarkan. Jika outputnya seperti ini:
tcp 0 0 localhost.localdo:mysql *:* LISTEN 2713/mysqld
yang berarti MySQL hanya mendengarkan di localhost.localdomain, maka Anda aman dengan kata sandi yang Anda tetapkan sebelumnya. Tapi jika outputnya seperti ini:
tcp 0 0 *:mysql *:* LISTEN 2713/mysqld
Anda juga harus menetapkan kata sandi MySQL untuk nama host Anda, karena jika tidak, siapa pun dapat mengakses database Anda dan mengubah data:
mysqladmin -h server1.example.com -u root password yourrootsqlpassword
3 Memasang Lighttpd
Lighttpd tersedia sebagai paket Debian, oleh karena itu kita dapat menginstalnya seperti ini:
apt-get install lighttpd
Sekarang arahkan browser Anda ke http://192.168.0.100, dan Anda akan melihat halaman placeholder Lighttpd:
Akar dokumen default Lighttpd adalah /var/www di Debian, dan file konfigurasinya adalah /etc/lighttpd/lighttpd.conf.
4 Menginstal PHP5
Kita dapat membuat PHP5 bekerja di Lighttpd melalui FastCGI. Untungnya, Debian menyediakan paket PHP5 berkemampuan FastCGI yang kami instal seperti ini:
apt-get install php5-cgi
5 Konfigurasi Lighttpd Dan PHP5
Untuk mengaktifkan PHP5 di Lighttpd, kita harus memodifikasi dua file, /etc/php5/cgi/php.ini dan /etc/lighttpd/lighttpd.conf. Pertama kita buka /etc/php5/cgi/php.ini dan tambahkan baris cgi.fix_pathinfo =1 tepat di akhir file:
vi /etc/php5/cgi/php.ini
[...] cgi.fix_pathinfo = 1 |
Kemudian kita buka /etc/lighttpd/lighttpd.conf dan tambahkan "mod_fastcgi", ke bait server.modules:
vi /etc/lighttpd/lighttpd.conf
[...] server.modules = ( "mod_access", "mod_alias", "mod_accesslog", "mod_fastcgi", # "mod_rewrite", # "mod_redirect", # "mod_status", # "mod_evhost", # "mod_compress", # "mod_usertrack", # "mod_rrdtool", # "mod_webdav", # "mod_expire", # "mod_flv_streaming", # "mod_evasive" ) [...] |
dan kemudian tepat di akhir file, kami menambahkan bait berikut:
[...] fastcgi.server = ( ".php" => (( "bin-path" => "/usr/bin/php5-cgi", "socket" => "/tmp/php.socket" ))) |
Kemudian kita restart Lighttpd:
/etc/init.d/lighttpd restart
6 Menguji PHP5 / Mendapatkan Detail Tentang Instalasi PHP5 Anda
Akar dokumen dari situs web default adalah /var/www. Sekarang kita akan membuat file PHP kecil (info.php) di direktori itu dan memanggilnya di browser. File akan menampilkan banyak detail berguna tentang instalasi PHP kami, seperti versi PHP yang diinstal.
vi /var/www/info.php
<?php phpinfo(); ?> |
Sekarang kita memanggil file itu di browser (mis. http://192.168.0.100/info.php):
Seperti yang Anda lihat, PHP5 bekerja, dan bekerja melalui FastCGI, seperti yang ditunjukkan pada baris Server API. Jika Anda menggulir lebih jauh ke bawah, Anda akan melihat semua modul yang sudah diaktifkan di PHP5. MySQL tidak terdaftar di sana yang berarti kami belum memiliki dukungan MySQL di PHP5.
7 Mendapatkan Dukungan MySQL Di PHP5
Untuk mendapatkan dukungan MySQL di PHP, kita dapat menginstal paket php5-mysql. Ini adalah ide yang baik untuk menginstal beberapa modul PHP5 lainnya serta Anda mungkin membutuhkannya untuk aplikasi Anda. Anda dapat mencari modul PHP5 yang tersedia seperti ini:
apt-cache search php5
Pilih yang Anda butuhkan dan instal seperti ini:
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-mhash php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl php5-json
Anda mungkin melihat pertanyaan seperti ini:
Lanjutkan menginstal libc-client tanpa dukungan Maildir? <-- Ya
Sekarang mulai ulang Lighttpd:
/etc/init.d/lighttpd restart
(Jika Anda telah menginstal modul php5-json dan mendapatkan peringatan seperti ini:
PHP Warning: Module 'json' already loaded in Unknown on line 0
itu berarti modul dimuat dua kali. Buka /etc/php5/cgi/php.ini, gulir ke bawah hingga akhir dan beri komentar pada baris extension=json.so:
vi /etc/php5/cgi/php.ini
[...] ;extension=json.so [...] |
Kemudian restart Lighttpd lagi:
/etc/init.d/lighttpd restart
Peringatan sekarang seharusnya sudah hilang.)
Sekarang muat ulang http://192.168.0.100/info.php di browser Anda dan gulir ke bawah ke bagian modul lagi. Anda sekarang akan menemukan banyak modul baru di sana, termasuk modul MySQL:
8 Tautan
- Lighthttpd:http://www.lighttpd.net
- PHP:http://www.php.net
- MySQL:http://www.mysql.com
- Debian:http://www.debian.org