After I have Apache2, PHP, MySql, etc installed in my Ubuntu box,
I want to try to install Rails [Ruby] also.
So I do these as root (sudo su) :
apt-get install rails
apt-get install libapache2-mod-ruby
a2enmod rewrite
I don't want to touch my DocumentRoot at
/etc/apache2/sites-available/default
So, I add in the end of but within <VirtualHost></VirtualHost> :
Alias /rails/ "/usr/lib/cgi-bin/rails/"
<Directory "/usr/lib/cgi-bin/rails/">
Options ExecCGI FollowSymLinks
AddHandler cgi-script .cgi
AllowOverride all
Order allow,deny
Allow from all
</Directory>
Then re-start the apache
/etc/init.d/apache2 force-reload
Then goto /usr/lib/cgi-bin
cd /usr/lib/cgi-bin
mkdir rails
cd rails
To test the rails at /usr/lib/cgi-bin/rails/
rails test
cd test
ruby script/generate controller pleasework
vi app/controllers/pleasework_controller.rb
Add something inside pleasework_controller.rb, to be look like this :
class PleaseworkController < ApplicationController
def index
render_text "rails ok juga"
end
end
Edit public/.htaccess
vi public/.htaccess
Change the RewriteRule from
RewriteRule ^(.*)$ dispatch.cgi [QSA,L]
to this
RewriteRule ^(.*)$ /cgi-bin/rails/test/public/dispatch.cgi [QSA,L]
I don't know how to do this more elegant (damn ... another regex!!)
At last, we ready to shoot the URL :
http://myubuntubox/cgi-bin/rails/test/public/pleasework
Tags: Linux, Ubuntu Breezy, Apache2, rails, ruby, Indonesia
Wednesday, May 17, 2006
Tuesday, April 18, 2006
Setting autentikasi apache 2 dengan mysql di Ubuntu
Install :
apt-get install libapache2-mod-auth-mysql
Untuk setupnya bisa dilihat di http://www.diegonet.com/support/mod_auth_mysql.shtml
Berikut ini spesifik untuk kasus saya yg mungkin berbeda dengan Anda.
Edit file /etc/apache2/sites-available/ssl-default
Kira-kira sebagian isinya seperti ini :
Auth_MySQL_Info 192.168.2.4 "www-data" w
Alias /svnadmin/ "/var/www/svnadmin/"
<Directory "/var/www/svnadmin/">
Options FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 192.168.2.0/255.255.255.0
AuthMYSQL on
AuthMySQL_Authoritative on
Auth_MySQL_DB http_auth
Auth_MySQL_Empty_Passwords off
AuthName "Subversion user admin"
AuthType Basic
require valid-user
</Directory>
Posisi Auth_MySQL_Info harus diluar <Directory>.
Sunday, December 18, 2005
Monday, April 18, 2005
Koneksi GPRS menggunakan Bluetooth Nokia 9500 di Ubuntu
Sumber : http://www.teaparty.net/technotes/blue-gprs.html
Linux : Ubuntu 5.04
Bluetooth USB
GSM/GPRS : Matrix (Indosat)
Install bluez-utils.
Saya menggunakan bluetooth USB.
Colok BT ke PC.
Cek dmesg | grep USB kira-kira akan terlihat spt :
---------
usb 2-1: new full speed USB device using uhci_hcd and address 2
Bluetooth: HCI USB driver ver 2.7
---------
Nyalakan BT di Nokia.
Scan BT dari Linux
OK kita dpt BT Device address.
Sekarang kita cari channel Dial Up Network.
Penting diperhatikan nomor Channel yg didapat ( 2 ).
Mungkin utk device lain berbeda.
Copy file /etc/ppp/peers/provider jadi gprs .
Edit file /etc/ppp/peers/gprs .
----------------------------------
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
defaultroute
/dev/rfcomm0
57600
debug
----------------------------------
Copy /etc/chatscripts/provider jadi gprs
Edit /etc/chatscripts/gprs
----------------------------------
TIMEOUT 5
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
TIMEOUT 12
OK ATE1
OK 'AT+cgdcont=1,"IP","satelindogprs.com"'
OK ATD*99***1#
----------------------------------
Untuk menjalankan koneksi GPRS.
Jalankan :
Isi PIN di Nokia 9500
Isi PIN di Linux.
Jika tdk muncul dialog PIN. Jalankan command 'xhost +' . Ini trik kasar. Lihat man xhost .
Ulangi cat < /dev/rfcomm0
Ketik Ctr+C untuk kembali ke prompt.
Happy surfing ...
Salam,
Mige
Sumber : http://www.teaparty.net/technotes/blue-gprs.html
Linux : Ubuntu 5.04
Bluetooth USB
GSM/GPRS : Matrix (Indosat)
Install bluez-utils.
Saya menggunakan bluetooth USB.
Colok BT ke PC.
Cek dmesg | grep USB kira-kira akan terlihat spt :
---------
usb 2-1: new full speed USB device using uhci_hcd and address 2
Bluetooth: HCI USB driver ver 2.7
---------
Nyalakan BT di Nokia.
Scan BT dari Linux
$ hcitool scan
Scanning ...
00:11:9F:EC:59:29 mh n9500
OK kita dpt BT Device address.
Sekarang kita cari channel Dial Up Network.
$ sdptool search DUN
Inquiring ...
Searching for DUN on 00:11:9F:EC:59:29 ...
Service Name: Dial-Up Networking
Service RecHandle: 0x1001c
Service Class ID List:
"Dialup Networking" (0x1103)
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 2
Language Base Attr List:
code_ISO639: 0x454e
encoding: 0x6a
base_offset: 0x100
Profile Descriptor List:
"Dialup Networking" (0x1103)
Version: 0x0100
Penting diperhatikan nomor Channel yg didapat ( 2 ).
Mungkin utk device lain berbeda.
Copy file /etc/ppp/peers/provider jadi gprs .
Edit file /etc/ppp/peers/gprs .
----------------------------------
noauth
connect "/usr/sbin/chat -v -f /etc/chatscripts/gprs"
defaultroute
/dev/rfcomm0
57600
debug
----------------------------------
Copy /etc/chatscripts/provider jadi gprs
Edit /etc/chatscripts/gprs
----------------------------------
TIMEOUT 5
ECHO ON
ABORT '\nBUSY\r'
ABORT '\nERROR\r'
ABORT '\nNO ANSWER\r'
ABORT '\nNO CARRIER\r'
ABORT '\nNO DIALTONE\r'
ABORT '\nRINGING\r\n\r\nRINGING\r'
'' \rAT
TIMEOUT 12
OK ATE1
OK 'AT+cgdcont=1,"IP","satelindogprs.com"'
OK ATD*99***1#
----------------------------------
Untuk menjalankan koneksi GPRS.
Jalankan :
$ rfcomm release 0
$ rfcomm bind 0 00:11:9F:EC:59:29 2
$ cat < /dev/rfcomm0
Isi PIN di Nokia 9500
Isi PIN di Linux.
Jika tdk muncul dialog PIN. Jalankan command 'xhost +' . Ini trik kasar. Lihat man xhost .
Ulangi cat < /dev/rfcomm0
Ketik Ctr+C untuk kembali ke prompt.
$ pppd call gprs
Happy surfing ...
Salam,
Mige
Tuesday, April 12, 2005
Setting vfat di /etc/fstab
here's the fstab entry:
/dev/hdb5 /mnt/win_d vfat umask=0,iocharset=iso8859-1,codepage=850,users 0 0
pretty sure it's the umask=0 that did it, as that essentially mounts the partition with file permissions of 777. The ,users entry is probably unecessary, but i'll leave it for the time being.
here's the fstab entry:
/dev/hdb5 /mnt/win_d vfat umask=0,iocharset=iso8859-1,codepage=850,users 0 0
pretty sure it's the umask=0 that did it, as that essentially mounts the partition with file permissions of 777. The ,users entry is probably unecessary, but i'll leave it for the time being.
Monday, February 28, 2005
Koneksi Matrix GPRS dengan Sony Ericsson T610
Lihat di dmesg apakah kabel DCU-11 dikenal oleh Linux ?
Jika tdk ada device usb-serial lain biasanya kabel DCU-11 dikenal dgn driver dari Prolific 2303. (lihat juga blog saya mengenai usb-serial dn chipset Silicon Labs)
Kabel USB ini akan terhubung sebagai device serial, mungkin di /dev/ttyUSB0 (atau /dev/tts/USB0 ... cari yg mirip lah)
Cek AT+CGDCONT? dgn menggunakan minicom di handphone anda.
Sesuaikan "AT+CGDCONT=3,\"IP\",\"satelindogprs.com\",\"\",0,0"
dan "ATDT*99***3#
angka 3 disini harus sesuai dengan salah satu AT+CGDCONT?
/usr/sbin/pppd /dev/ttyUSB0 115200 connect '/usr/sbin/chat -v ABORT "NO CARRIER" "" "AT&F" OK "AT+CGDCONT=3,\"IP\",\"satelindogprs.com\",\"\",0,0" OK "ATDT*99***3#" CONNECT' disconnect '/usr/sbin/chat -v ABORT "BUSY" "" "\K" "" "+++ATH"' defaultroute noauth mtu 1500 mru 1500 noipdefault idle 600
Jgn lupa untuk men-edit file /etc/ppp/options
Disable LCP dengan cara beri tanda komen(#) dibagian lcp-*
Jika tdk koneksi anda akan selalu putus dlm waktu 120 detik.
regards,
mige
(This blog send with Matrix GPRS)
Lihat di dmesg apakah kabel DCU-11 dikenal oleh Linux ?
Jika tdk ada device usb-serial lain biasanya kabel DCU-11 dikenal dgn driver dari Prolific 2303. (lihat juga blog saya mengenai usb-serial dn chipset Silicon Labs)
Kabel USB ini akan terhubung sebagai device serial, mungkin di /dev/ttyUSB0 (atau /dev/tts/USB0 ... cari yg mirip lah)
Cek AT+CGDCONT? dgn menggunakan minicom di handphone anda.
Sesuaikan "AT+CGDCONT=3,\"IP\",\"satelindogprs.com\",\"\",0,0"
dan "ATDT*99***3#
angka 3 disini harus sesuai dengan salah satu AT+CGDCONT?
/usr/sbin/pppd /dev/ttyUSB0 115200 connect '/usr/sbin/chat -v ABORT "NO CARRIER" "" "AT&F" OK "AT+CGDCONT=3,\"IP\",\"satelindogprs.com\",\"\",0,0" OK "ATDT*99***3#" CONNECT' disconnect '/usr/sbin/chat -v ABORT "BUSY" "" "\K" "" "+++ATH"' defaultroute noauth mtu 1500 mru 1500 noipdefault idle 600
Jgn lupa untuk men-edit file /etc/ppp/options
Disable LCP dengan cara beri tanda komen(#) dibagian lcp-*
Jika tdk koneksi anda akan selalu putus dlm waktu 120 detik.
regards,
mige
(This blog send with Matrix GPRS)
Thursday, February 24, 2005
USB to Serial dengan chipset dari Silicon Laboratories CP210x
Saya punya beberapa kabel data Sony Ericsson tapi pake chipset dari Silicon Laboratories (CP210x).
Di Debian : lsusb -v
Sayang sekali nggak ada drivernya untuk Linux.
Setelah cari2 di google ternyata, Silicon Laboratories di banned oleh komunitas Linux krn melanggar GPL ...
Nasib ...
Ada cara lain untuk meng-akali hal ini ?????
Saya punya beberapa kabel data Sony Ericsson tapi pake chipset dari Silicon Laboratories (CP210x).
Di Debian : lsusb -v
Sayang sekali nggak ada drivernya untuk Linux.
Setelah cari2 di google ternyata, Silicon Laboratories di banned oleh komunitas Linux krn melanggar GPL ...
Nasib ...
Ada cara lain untuk meng-akali hal ini ?????
Tuesday, April 27, 2004
Mandare 10.0 Community (Download Version) Continue 2 ...
Akhirnya vcd playernya jalan ...
Cek semua file config untuk semua playernya ...
Cari kira-kira yang isinya "default.vcd.device=" trus isi (punya saya) "/dev/hdd" jadi seperti begini :
default.vcd.device=/dev/hdd
Pokoknya lihat semua file config dari gmplayer, totem, xine dan cari yang mirip seperti diatas.
Happy search and fill ...
Akhirnya vcd playernya jalan ...
Cek semua file config untuk semua playernya ...
Cari kira-kira yang isinya "default.vcd.device=" trus isi (punya saya) "/dev/hdd" jadi seperti begini :
default.vcd.device=/dev/hdd
Pokoknya lihat semua file config dari gmplayer, totem, xine dan cari yang mirip seperti diatas.
Happy search and fill ...
Monday, April 12, 2004
Mandare 10.0 Community (Download Version) Continue ...
Install gmplayer (GUInya mplayer) ... payah nggak bisa langsung jalan .... error di option -vo ...apa gichu (males setting-setting lagi) ...
Jadi masih pake mplayer untuk VCD player ... agak report tapi ok ...
Install xmlto (interfacenya xmlproc) dwonload dari rpmfind.net ... ok
Sekian dulu ...
Install gmplayer (GUInya mplayer) ... payah nggak bisa langsung jalan .... error di option -vo ...apa gichu (males setting-setting lagi) ...
Jadi masih pake mplayer untuk VCD player ... agak report tapi ok ...
Install xmlto (interfacenya xmlproc) dwonload dari rpmfind.net ... ok
Sekian dulu ...
Sunday, April 11, 2004
Mandare 10.0 Community (Download Version)
Install Mandare 10.0 Community (Download Version), maunya sih upgrade dari Mdk 9.2 tapi estimated time-nya sekitar 4 jam ...
Saya urungkan untuk melanjukan upgrade. Saya install fresh ... Semua mount point di-format kecuali /home ...
Instalasinya kira-kira 1 jam ...
Dari tampilannya sih nggak jauh beda dari Mdk 9.2 ....
Mungkin diawal-awal lebih banyak kecewanya .... boot nggak bisa dari CD1 tapi dari CD2 ... but it's ok.
Default browser internet untuk gnome ganti dari galeon jadi ephipany ... kurang tahu kenapa ...(agak kecewa)
Totem nggak bisa nyetel VCD ... uh... padahal di 9.2 langsung bisa. Xine juga nggak bisa ... arrgghhh ...
Jadinya pake mplayer untuk VCD ...(what ... command line again ..)
Sebagai developer saya butuh beberapa package :
- Anjuta saya install dari sourcenya ... semua dependency ada di Mdk 10.0 ... cool ...
- python + pygtk + wxpython ... ok
- docbook dtd + xsl ... ok
Ok deh ... gichu aja dulu ..
Install Mandare 10.0 Community (Download Version), maunya sih upgrade dari Mdk 9.2 tapi estimated time-nya sekitar 4 jam ...
Saya urungkan untuk melanjukan upgrade. Saya install fresh ... Semua mount point di-format kecuali /home ...
Instalasinya kira-kira 1 jam ...
Dari tampilannya sih nggak jauh beda dari Mdk 9.2 ....
Mungkin diawal-awal lebih banyak kecewanya .... boot nggak bisa dari CD1 tapi dari CD2 ... but it's ok.
Default browser internet untuk gnome ganti dari galeon jadi ephipany ... kurang tahu kenapa ...(agak kecewa)
Totem nggak bisa nyetel VCD ... uh... padahal di 9.2 langsung bisa. Xine juga nggak bisa ... arrgghhh ...
Jadinya pake mplayer untuk VCD ...(what ... command line again ..)
Sebagai developer saya butuh beberapa package :
- Anjuta saya install dari sourcenya ... semua dependency ada di Mdk 10.0 ... cool ...
- python + pygtk + wxpython ... ok
- docbook dtd + xsl ... ok
Ok deh ... gichu aja dulu ..
Monday, November 17, 2003
Testing mod_python
Testing mod_python
Rationale
Lagi iseng coba-coba CGI dengan python juga nyoba Zope. Hmmm mestinya ada yang bikin ASP atau PHP versi python.
Setelah googling dengan keyword 'python server pages' (inget ASP) trus 'python hypertext processor' (inget PHP) ... ada dua yang menarik :
-Spyce
Ini sepertinya PSP yang paling matang dilihat dari informasi dari web-site reference yang lain.
Setelah lihat-lihat di web-site-nya, IMHO spyce ini agak aneh.
Pertama adalah TAG yang digunakan untuk menyisipkan kode python. Tag itu adalah [[ dan ]].
Mungkin karena terbiasa menggunakan <% %> atau <? ?> (pokoknya di web itu harus pake < dan >) kalo nggak aneh aja.... Tapi dia kasih alasan kenapa pake tag [[ dan ]] (saya makin bego ... nggak ngerti). Mungkin akhirnya dia mengalah dengan menambahkan bahwa tag <% %> bisa juga dipakai.
Kedua ada karakter ketiga setelah tag misalnya [[. atau [[\ dan lain-lain dengan tujuan masing-masing.
Ketiga, hal yang sangat berseberangan dengan python .... spyce ini pakai kurung buka dan kurung tutup { ... } untuk block-statements (hah ... apa-apaan nih ). Contoh :
[[ for item in mylist : {
do_something(item)
and_more(item)
} ]]
Tapi ... mungkin bener juga ... agak susah untuk indent/dedent di dalam file dengan format HTML.
Mau nyoba instal .. tapi agak ragu. Cari alternatif yang lain dulu.
-mod_python
Pertama dibuat sejak jaman Netscape web server masih berjaya (belum ada Apache).
Kemudian dihibahkan ke Apache Software Fondation. Pada dasarnya fungsi mod_python adalah memungkinkan kita membuat "handler" Apache dengan bahasa Python. Implikasi lain adalah peningkatan kecepatan dibanding CGI dengan Python.
Saya sendiri lebih tertarik pada fitur PSP dari mod_python.
Sayang sekali fitur PSP ini baru masuk ke versi belakangan saja. Jadi saya pikir fitur PSPnya belum terlalu matang. Juga dilihat dari dokumentasinya juga sangat ringkas. Belum bisa dibandingkan dengan dokumentasi PHP, apalagi ASP.
Tapi pantes buat dicoba.... Mungkin alasannya karena mod_python dikembangkan oleh ASF, jadi saya lebih yakin bahwa mod_python ini bakal terus dikembangkan. Bukan berarti Spyce nggak berkelanjutan, tapi who knows ??
Instalasi
Cari-cari paket rpm mod_python untuk Mandrake di rpmfind.net . Tapi hanya ada versi yang lama yang belum termasuk fitur PSP.
Akhirnya download source mod_python Release 3.1.2b di www.modpython.org .
Extract source mod_python di home saya.
Seperti biasa baca README-nya dan dokumentasi instalasi. Requirementnya :
* Python 2.2.1 or later.
* Apache 2.0.40 or later.
Di Mandrake 9.2 sudah terinstal python 2.3 dan apache2 (versi 2.0.47) jadi mestinya tidak ada masalah.
Kita coba jalankan tanpa parameter,
$ ./configure
Ada yang nggak beres ... Muncul pesan : Bla bla bla apxs apa gichu .....
... Apaan tuh apxs ?
Untuk ./configure butuh argument --with-apxs=/path/ke/apxs
Cari di rpmdrake paket mana yang provide apxs... ternyata apache2-devel***.rpm . Install deh.
Jalankan
$ ./configure --with-apxs=/usr/sbin/apxs2 ........OK
$ make ..........OK
Kemudian ... butuh root untuk instal.
$ su
$ make install
OK nggak ada masalah .....
Kemudian kita perlu menambahkan beberapa directive di file konfigurasi Apache.
Saya buat file '80_mod_python.conf' di /etc/httpd/conf.d . Isinya : (di antara garis ----- )
-------------
LoadModule python_module modules/mod_python.so
-------------
Kemudian saya ikuti contoh testing mod_python di dokumentasi. Sayang sekali nggak jalan.
Kurang tahu apa yang kurang yaa ...??? (Udah bolak balik cek '.conf' file, restart Apache, cek permission, dll)
Cuek aja ... Trus baca dokumentasi lagi ...
Ada yang menarik di bagian Publisher.
Coba ganti isi '80_mod_python.conf' jadi berisi :
-------------
LoadModule python_module modules/mod_python.so
AddHandler mod_python .py
PythonHandler mod_python.publisher
-------------
Restart Apache,
$ /etc/init.d/httpd restart
Bikin directory mptest /var/www/html .
Bikin file 'form.html' di /var/www/html/mptest. Berisi :
-------------
<html>
Please provide feedback below:
<p>
<form action="form.py/email" method="POST">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
Comment: <textarea name="comment" rows=4 cols=20></textarea><br>
<input type="submit">
</form>
</html>
-------------
Juga file 'form.py' di /var/www/html/mptest. Berisi :
-------------
-------------
Contoh aslinya di dokumentasi, skrip aslinya akan mengirim email ke WEBMASTER.
Saya ubah sedikit supaya nggak kirim email, jadi hanya print ke HTML.
Browse pake galeon ke http://localhost/mptest/form.html .
Isi text field ... dan klik submit .... Viola ... it's working !!! Duh ...senangnya ...
Baca-baca lagi bagian PSP dan directive .psp .
File '80_mod_python.conf' ganti lagi :
--------------
LoadModule python_module modules/mod_python.so
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
--------------
Restart Apache,
$ /etc/init.d/httpd restart
Bikin file mptime.psp di /var/www/html :
-------------
<html>
<%
import time
%>
Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>
-------------
Browse http://localhost/mptime.psp ...
Sekali lagi ..... Sukses .....
(sebenarnya nggak langsung sukses..... tapi hanya masalah indent di bagian 'import time')
OK deh .... sampe sini dulu yaa ...
Rationale
Lagi iseng coba-coba CGI dengan python juga nyoba Zope. Hmmm mestinya ada yang bikin ASP atau PHP versi python.
Setelah googling dengan keyword 'python server pages' (inget ASP) trus 'python hypertext processor' (inget PHP) ... ada dua yang menarik :
-Spyce
Ini sepertinya PSP yang paling matang dilihat dari informasi dari web-site reference yang lain.
Setelah lihat-lihat di web-site-nya, IMHO spyce ini agak aneh.
Pertama adalah TAG yang digunakan untuk menyisipkan kode python. Tag itu adalah [[ dan ]].
Mungkin karena terbiasa menggunakan <% %> atau <? ?> (pokoknya di web itu harus pake < dan >) kalo nggak aneh aja.... Tapi dia kasih alasan kenapa pake tag [[ dan ]] (saya makin bego ... nggak ngerti). Mungkin akhirnya dia mengalah dengan menambahkan bahwa tag <% %> bisa juga dipakai.
Kedua ada karakter ketiga setelah tag misalnya [[. atau [[\ dan lain-lain dengan tujuan masing-masing.
Ketiga, hal yang sangat berseberangan dengan python .... spyce ini pakai kurung buka dan kurung tutup { ... } untuk block-statements (hah ... apa-apaan nih ). Contoh :
[[ for item in mylist : {
do_something(item)
and_more(item)
} ]]
Tapi ... mungkin bener juga ... agak susah untuk indent/dedent di dalam file dengan format HTML.
Mau nyoba instal .. tapi agak ragu. Cari alternatif yang lain dulu.
-mod_python
Pertama dibuat sejak jaman Netscape web server masih berjaya (belum ada Apache).
Kemudian dihibahkan ke Apache Software Fondation. Pada dasarnya fungsi mod_python adalah memungkinkan kita membuat "handler" Apache dengan bahasa Python. Implikasi lain adalah peningkatan kecepatan dibanding CGI dengan Python.
Saya sendiri lebih tertarik pada fitur PSP dari mod_python.
Sayang sekali fitur PSP ini baru masuk ke versi belakangan saja. Jadi saya pikir fitur PSPnya belum terlalu matang. Juga dilihat dari dokumentasinya juga sangat ringkas. Belum bisa dibandingkan dengan dokumentasi PHP, apalagi ASP.
Tapi pantes buat dicoba.... Mungkin alasannya karena mod_python dikembangkan oleh ASF, jadi saya lebih yakin bahwa mod_python ini bakal terus dikembangkan. Bukan berarti Spyce nggak berkelanjutan, tapi who knows ??
Instalasi
Cari-cari paket rpm mod_python untuk Mandrake di rpmfind.net . Tapi hanya ada versi yang lama yang belum termasuk fitur PSP.
Akhirnya download source mod_python Release 3.1.2b di www.modpython.org .
Extract source mod_python di home saya.
Seperti biasa baca README-nya dan dokumentasi instalasi. Requirementnya :
* Python 2.2.1 or later.
* Apache 2.0.40 or later.
Di Mandrake 9.2 sudah terinstal python 2.3 dan apache2 (versi 2.0.47) jadi mestinya tidak ada masalah.
Kita coba jalankan tanpa parameter,
$ ./configure
Ada yang nggak beres ... Muncul pesan : Bla bla bla apxs apa gichu .....
... Apaan tuh apxs ?
Untuk ./configure butuh argument --with-apxs=/path/ke/apxs
Cari di rpmdrake paket mana yang provide apxs... ternyata apache2-devel***.rpm . Install deh.
Jalankan
$ ./configure --with-apxs=/usr/sbin/apxs2 ........OK
$ make ..........OK
Kemudian ... butuh root untuk instal.
$ su
$ make install
OK nggak ada masalah .....
Kemudian kita perlu menambahkan beberapa directive di file konfigurasi Apache.
Saya buat file '80_mod_python.conf' di /etc/httpd/conf.d . Isinya : (di antara garis ----- )
-------------
LoadModule python_module modules/mod_python.so
-------------
Kemudian saya ikuti contoh testing mod_python di dokumentasi. Sayang sekali nggak jalan.
Kurang tahu apa yang kurang yaa ...??? (Udah bolak balik cek '.conf' file, restart Apache, cek permission, dll)
Cuek aja ... Trus baca dokumentasi lagi ...
Ada yang menarik di bagian Publisher.
Coba ganti isi '80_mod_python.conf' jadi berisi :
-------------
LoadModule python_module modules/mod_python.so
AddHandler mod_python .py
PythonHandler mod_python.publisher
-------------
Restart Apache,
$ /etc/init.d/httpd restart
Bikin directory mptest /var/www/html .
Bikin file 'form.html' di /var/www/html/mptest. Berisi :
-------------
<html>
Please provide feedback below:
<p>
<form action="form.py/email" method="POST">
Name: <input type="text" name="name"><br>
Email: <input type="text" name="email"><br>
Comment: <textarea name="comment" rows=4 cols=20></textarea><br>
<input type="submit">
</form>
</html>
-------------
Juga file 'form.py' di /var/www/html/mptest. Berisi :
-------------
WEBMASTER = "webmaster" # webmaster e-mail SMTP_SERVER = "localhost" # your SMTP server def email(req, name, email, comment): # make sure the user provided all the parameters if not (name and email and comment): return "A required parameter is missing, please go back and correct the error" # provide feedback to the user s = """<html> From : %s<br> Subject: feedback <br> To: %s<br> I have the following comment:<br> %s<br> Thank You,<br> %s<br> </html>""" % (email, WEBMASTER, comment, name) return s
-------------
Contoh aslinya di dokumentasi, skrip aslinya akan mengirim email ke WEBMASTER.
Saya ubah sedikit supaya nggak kirim email, jadi hanya print ke HTML.
Browse pake galeon ke http://localhost/mptest/form.html .
Isi text field ... dan klik submit .... Viola ... it's working !!! Duh ...senangnya ...
Baca-baca lagi bagian PSP dan directive .psp .
File '80_mod_python.conf' ganti lagi :
--------------
LoadModule python_module modules/mod_python.so
AddHandler mod_python .psp
PythonHandler mod_python.psp
PythonDebug On
--------------
Restart Apache,
$ /etc/init.d/httpd restart
Bikin file mptime.psp di /var/www/html :
-------------
<html>
<%
import time
%>
Hello world, the time is: <%=time.strftime("%Y-%m-%d, %H:%M:%S")%>
</html>
-------------
Browse http://localhost/mptime.psp ...
Sekali lagi ..... Sukses .....
(sebenarnya nggak langsung sukses..... tapi hanya masalah indent di bagian 'import time')
OK deh .... sampe sini dulu yaa ...
Subscribe to:
Posts (Atom)