Langkah-langkah downgrade versi PHP di Debian Wheezy

Ceritanya mau mindahin aplikasi dari server sebelah ke Debian Wheezy, dan developernya minta di downgrade PHP nya dari 5.4 ke 5.3, alasannya musti ngedit code & framework kalau tetep dipaksain menggunakan PHP 5.4.

Google sebentar, nemu link dan cobain, Alhamdulillah berhasil.

# vi /etc/apt/sources.list

deb http://ftp.us.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.us.debian.org/debian/ squeeze main contrib non-free

Periksa php dan module versi 5.4 yang terpasang :

# dpkg -l | grep php| awk '{print $2}' |tr "n" " "

Sunting berkas /etc/apt/preferences.d/preferences dan sesuaikan dengan kebutuhan Anda, silahkan dibuat jika berkas tersebut tidak ada.

# vi /etc/apt/preferences.d/preferences

Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

Hapus paket-paket PHP versi 5.4 beserta modul-modulnya.

# aptitude remove `dpkg -l | grep php| awk '{print $2}' |tr "n" " "`

Install paket  PHP 5.3 beserta modul-modul yang dibutuhkan.

# apt-get update
# apt-get -t oldstable install `dpkg -l | grep php5| awk '{print $2}' |tr "n" " "`

Install juga paket-paket tambahannya

# apt-get install php-pear uw-mailutils libgd-tools liblcms-utils libmagick core3-extra libmcrypt-dev mcrypt memcached

Periksa list paket PHP dan modul-modul yang terinstall.

# dpkg -l | grep php

Pacemaker, Corosync, DRBD, Apache, PHP dan MySql di Debian 7 “Wheezy”

Ini adalah catatan kecil tentang bagaimana melakukan instalasi dan konfigurasi cluster di Debian 7 (Wheezy), dalam tutotial singkat ini, Perangkat lunak yang digunakan adalah, Pacemaker, Corosync, DRBD, Apache, PHP dan MySql.

Tujuan akhir dari konfigurasi ini adalah membuat cluster aktif-pasif dengan menggunakan dua node (dalam tutorial ini menggunakan nama “satu” dan “dua”) yang mana kedua node tersebut bisa melakukan failover jika salah satu node  mengalami kerusakan. Sedangkan service yang dilayani adalah service Webserver dan MySQL.

DRBD disini berfungsi melakukan “raid over network” terhadap salah satu partisi disk yang mana partisi tersebut merupakan letak berkas data mysql dan berkas webserver, jadi ketika satu node mengalami kerusakan maka data akan tetap aman.

Pacemaker, Corosync, DRBD, Apache, PHP dan MySql di Debian 7 “Wheezy”

Install wordpress pada JeOS server menggunakan Nginx, PHP, MySQL

Jika selama ini kita terbiasa dengan Webserver Apache, nah di tulisan kali ini saya tidak menggunakan Apache sebagai webservernya, melainkan menggunakan nginx.

Silahkan baca-baca Apache vs Nginx : Web Server Performance Deathmatch untuk mengetahui sedikit perbandingan performance antara Apache dan Nginx.

Langsung saja kita praktekkan, mari…

Install software-software yang diperlukan (nginx, php, mysql, compiler, dan software-software tambahan)

$ sudo apt-get install build-essential linux-headers-$(uname -r) psmisc wget mysql-server mysql-client libmysqlclient15-dev php5-cli php5-cgi php5-mysql php5-xcache nginx libpcre3-dev libbz2-dev


1. Konfigurasi Nginx

Edit konfigurasi nginx agar bisa berjalan seperti yang kita harapkan.

$ sudo vim /etc/nginx/sites-available/default

server {
listen 202.xxx.xxx.xxx; # isikan dengan ip server
server_name serverku.com; # isikan hostname server

access_log /var/log/nginx/localhost.access.log;

location / {
root /var/www/nginx-default;
index index.html index.htm index.php; # tambahkan index.php

Kemudian uncomment bagian dibawah ini :

location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default$fastcgi_script_name;
include /etc/nginx/fastcgi_params;
}

Konfigurasi Spawn-fcgi

Kita bisa menggunakan spawn-fcgi lighttpd, maka dari itu kita harus build dari source untuk mendapatkan binary nya.

$ wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.bz2
$ tar jxvf lighttpd-1.4.19.tar.bz2
$ cd lighttpd-1.4.19
$ ./configure
$ make

$ sudo cp src/spawn-fcgi /usr/bin/spawn-fcgi
$ sudo rm -rf lighttpd-1.4.19 lighttpd-1.4.19.tar.bz2

Membuat script untuk menjalankan spawn-fcgi

$ sudo vim /usr/bin/php-fastcgi

#!/bin/sh
/usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -u www-data -f /usr/bin/php5-cgi

$ sudo vim /etc/init.d/init-fastcgi

#!/bin/bash
PHP_SCRIPT=/usr/bin/php-fastcgi
RETVAL=0
case “$1” in
start)
$PHP_SCRIPT
RETVAL=$?
;;
stop)
killall -9 php
RETVAL=$?
;;
restart)
killall -9 php
$PHP_SCRIPT
RETVAL=$?
;;
*)
echo “Usage: php-fastcgi {start|stop|restart}”
exit 1
;;
esac
exit $RETVAL

Berikan permission 755 agar script bisa dieksekusi.

$ sudo chmod 755 /usr/bin/php-fastcgi
$ sudo chmod 755 /etc/init.d/init-fastcgi

Menjalankan init-fastcgi dan setting agar script ini dijalankan ketika mesin server di reboot.

$ sudo /etc/init.d/init-fastcgi start
$ sudo update-rc.d init-fastcgi defaults

Jalankan service nginx

$ sudo /etc/init.d/nginx start

Test konfigurasi nginx + php + mysql menggunakan phpinfo.

2. Konfigurasi MySQL

Pastikan service MySQL servernya sudah running well.

$ mysql -u root -p
Enter password:

mysql> CREATE DATABASE wordpress;
Query OK, 1 row affected (0.00 sec)

mysql> GRANT ALL PRIVILEGES ON wordpress.* TO “wordpressusername”@”hostname”
-> IDENTIFIED BY “password”;
Query OK, 0 rows affected (0.00 sec)

mysql> FLUSH PRIVILEGES;
Query OK, 0 rows affected (0.01 sec)

mysql> EXIT

3. Instalasi WordPress

$ wget http://wordpress.org/latest.tar.gz
$ tar -xzvf latest.tar.gz
$ sudo mv wordpress /var/www/nginx-default/
$ cd /var/www/nginx-default/wordpress
$ sudo cp wp-config-sample.php wp-config.php

Edit konfigurasi wordpress sesuaikan dengan settingan database yang telah kita set sebelumnya.

sudo vim wp-config.php

define(‘DB_NAME’, ‘wordpress’);

/** MySQL database username */
define(‘DB_USER’, ‘wordpressusername’);

/** MySQL database password */
define(‘DB_PASSWORD’, ‘password’);

/** MySQL hostname */
define(‘DB_HOST’, ‘localhost’);

Setelah disimpan, arahkan browser Anda ke http://server_nginx/wordpress/wp-admin/install.php, jika settingan yang kita lakukan benar, maka akan tampil wizard untuk instalasi wordpress, silahkan ikuti wizard tersebut hingga finish.

Good luck dan semoga bermanfaat, amien…

Sumber : MySQL, nginx and PHP on Ubuntu 8.04