Kamis, April 17, 2008

Kompilasi dan instalasi modul ffmpeg-php di Ubuntu

Tahun lalu sewaktu saya membutuhkan module oracle untuk PHP, saya perlu melakukan kompilasi php sendiri dari source code saat itu. Proses kompilasi, selain lama, juga perlu diulang setiap kali versi/rilis baru php keluar. Hal ini tentunya tidak praktis untuk dilakukan.

Saat ini ternyata kompilasi php tidak perlu lagi dilakukan sendiri. Saya dapat mengkompile sendiri modul php yang saya butuhkan, untuk kemudian tinggal diload melalui php.ini. Kompilasi modul sangatlah sebentar, karena ukurannya yang memang kecil. Selain waktu kompilasi yang cepat, jika versi baru php dirilis, saya juga tidak perlu melakukan kompilasi ulang, selama modul masih kompatibel dengan versi php tersebut.

Berikut ini saya akan menuliskan langkah-langkah instalasi modul ffmpeg-php. Langkah-langkah ini adalah hasil rangkuman dari panduan di situs ini dan ini, dan saya sesuaikan dengan kondisi saat saya melakukan kompilasi dan instalasi.

Langkah pertama, persiapan



Siapkan ubuntu untuk melakukan kompilasi. Ada beberapa paket development yang perlu diinstall yaitu:
Paket php development:

$ sudo apt-get install php5-dev

paket ffmpeg saran dari goose blog:

$ sudo apt-get install ffmpeg libavformat-dev libavcodec1d libavformat1d

paket ffmpeg saran dari escapegoat.org:

$ sudo apt-get install liblame-dev libfaad2-dev libfaac-dev libxvidcore4-dev liba52-0.7.4 liba52-0.7.4-dev libx264-dev libdts-dev libgsm1-dev libvorbis-dev libdc1394-13-dev checkinstall build-essential gcc


Langkah kedua, download



Untuk langkah ini dan seterusnya, saya mengikuti panduan dari goose blog. Jika Anda ingin mengikuti panduan dari escapegoat.org silahkan saja dicoba :)

Download source code ffmpeg-php dari sourceforge.net. Saat saya melakukan ini, alamatnya adalah :
http://downloads.sourceforge.net/ffmpeg-php/ffmpeg-php-0.5.2.1.tbz2?modtime=1207482494&big_mirror=0

Langkah ketiga, kompilasi



Lakukan ekstrak terhadap file ffmpeg-php-0.5.2.1.tbz2 dengan perintah :

$ tar jxvf ffmpeg-php-0.5.2.1.tbz2


Setelah itu, masuklah ke direktori ffmpeg-php-0.5.2.1 hasil ekstraksi dengan perintah:

$ cd ffmpeg-php-0.5.2.1


dan lakukan perintah berikut ini untuk mengkompile modul ffmpeg-php :

$ phpize5
$ ./configure
$ make
$ sudo make install


Perintah-perintah diatas akan mempersiapkan source code ffmpeg-php, mengkompile-nya, dan menginstallnya di direktori modul php. Lokasi modul php akan terlihat saat perintah terakhir dijalankan. Ini hasil pada sistem yang saya gunakan:

$ sudo make install
Installing shared extensions: /usr/lib/php5/20060613+lfs/


Langkah keempat, konfigurasi php.ini



Setelah modul selesai dikompile dan diinstall, sekarang kita perlu menambahkannya pada php.ini, agar modul dikenali dan diload oleh php. Saran dari escapegoat.org maupun dari goose blog adalah mengedit file php.ini, tetapi saya tidak setuju dengan ini. Ada mekanisme yang lebih mudah daripada harus mengedit file php.ini.

Saya tidak tahu sejak kapan fitur loading konfigurasi secara dinamis ada, tetapi Debian yang saya gunakan tahun lalu sudah memiliki fitur ini. Saya juga tidak tahu nama resminya apa. Konfigurasi apache dan php di ubuntu maupun debian bukan 1 file lagi, tetapi sudah dipecah-pecah menjadi file-file kecil yang dapat diload secara otomatis ketika server dihidupkan. Fitur ini memudahkan kita menambahkan konfigurasi kustom dan tidak perlu takut konfigurasi kita ditimpa saat melakukan upgrade.

Folder konfigurasi dinamis php.ini ada di /etc/php5/conf.d. Di direktori ini telah ada banyak file-file .ini, masing-masing meload modul sesuai dengan nama filenya. Untuk menambahkan modul ffmpeg-php hasil kompilasi kita tadi, kita cukup membuat file ffmpeg.ini di direktori ini dan isikan konfigurasi berikut ini:

# configuration for ffmpeg-php module
extension=ffmpeg.so


Langkah kelima, restart apache



Sekarang tiba saatnya kita menguji dan menggunakan modul ffmpeg-php. Restart apache dengan perintah :

$ sudo /etc/init.d/apache2 restart


Buka halaman php yang memanggil fungsi phpinfo(); menggunakan browser. Jika instalasi ffmpeg-php sukses, maka modul ffmpeg-php akan tampil di halaman phpinfo ini dan modul ini siap untuk digunakan.

Selamat menginstall dan menggunakan ffmpeg-php

0 komentar: