Instalasi NginX, PHP5 dan MySQL – CentOS 5

Bulan yang penuh dengan kepusingan, antara istri yang satu dengan istri yang lain :( Namun syukurlah masalah demi masalah dapat terselesaikan dengan mudah. :) Kali ini saya akan memberikan tutorial instalasi NginX, PHP, MySQL (LAMP) pada CentOS 5.

Kernel yang saya gunakan :

$ uname -a
Linux spid3y.local 2.6.18-164.el5xen #1 SMP Thu Sep 3 04:03:03 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux

Hal pertama yang dilakukan adalah mendownload paket RPM dari EPEL untuk melakukan instalasi NginX.

$ rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/$(uname -m)/epel-release-5-3.noarch.rpm

Lakukan instalasi :

$ yum install nginx

Lakukan perintah berikut supaya nginx dijalankan saat mesin Anda startup :

$ chkconfig --level 345 on

Setelah selesai, sekarang kita melakukan instalasi MySQL.

$ yum install -y mysql-server mysql-devel
$ service mysqld start
$ mysql_secure_installation

Enter current password for root (enter for none): Enter
Set root password? [Y/n] Y
New password: rootpasssql
Re-enter new password: rootpasssql
Remove anonymous users? [Y/n] Y
Disallow root login remotely? [Y/n] Y
Remove test database and access to it? [Y/n] Y
Reload privilege tables now? [Y/n] Y

Lakukan instalasi paket yang dibutuhkan :

$ yum install -y wget patch gcc libtool libmcrypt-devel libxml2-devel\
flex bison make pcre-devel zlib-devel openssl-devel gd-devel

Sekarang lakukan instalasi PHP5 dari source :

$ cd /usr/local/src
$ wget http://www.magnet-id.com/download/php/php-5.2.6.tar.gz
$ wget http://www.magnet-id.com/download/php/php-5.2.6-fpm-0.5.8.diff.gz

Apply patch dan konfigurasi parameter sesuai dengan kebutuhan Anda.

$ tar xzvf php-5.2.6.tar.gz
$ gzip -cd php-5.2.6-fpm-0.5.8.diff.gz | patch -d php-5.2.6 -p1
$ cd php-5.2.6
$ ./configure \
--enable-fastcgi \
--enable-fpm \
--enable-cli \
--with-mcrypt \
--with-zlib \
--enable-mbstring \
--with-openssl \
--with-mysql \
--with-mysql-sock \
--with-gd \
--with-jpeg-dir=/usr/lib64 \
--enable-gd-native-ttf \
--without-sqlite \
--disable-pdo \
--disable-reflection \
--with-libdir=lib64 \
--with-xpm-dir=/usr/lib64 \
--enable-gd-jis-conv \
--with-freetype-dir=/usr/include/freetype2 \
--with-ttf=/usr/include/freetype2 \
--enable-shared
$ make all install
$ strip /usr/local/bin/php-cgi

Namun entah kenapa, setelah proses di atas, compile ada beberapa error yang muncul :D So, saya melakukan hal bodoh di bawah ini :

$ cd /usr/lib64
$ ln -s libXpm.so.4.11.0 libXpm.so
$ ln -s libX11.so.6.2.0 libX11.so

Kemudian saya melakukan configure kembali :D hehehe.. Ok lanjut! B-) Setelah semua proses berjalan dengan lancar. Sekarang buka file berikut dengan teks editor kesayangan Anda (saya menggunakan nano) :

$ nano /usr/local/etc/php-fpm.conf

Cari string berikut :

Unix user of processes
<!-- <value name="user">nobody</value> -->
Unix group of processes
<!-- <value name="group">nobody</value> -->

Rubah menjadi :

Unix user of processes
<value name="user">nobody</value>
Unix group of processes
<value name="group">nobody</value>

Simpan dan keluar dari editor Anda, dan sekarang lakukan instalasi XCache, opcode PHP Cacher;

$ cd /usr/local/src
$ wget http://www.magnet-id.com/download/php/xcache-1.2.2.tar.gz
$ tar xzvf xcache-1.2.2.tar.gz
$ cd xcache-1.2.2
$ phpize
$ ./configure --with-php-config=/usr/local/bin/php-config --enable-xcache
$ make install

Sekarang masukkan konfigurasi XCache dan load ekstension melalui file konfigurasi PHP – php.ini (yang saat ini baru akan kita buat) di /usr/local/lib/php.ini :

$ nano /usr/local/lib/php.ini

Isi dengan value di bawah ini :

magic_quotes_gpc=0
[xcache-common]
zend_extension = /usr/local/lib/php/extensions/no-debug-non-zts-20060613/xcache.so
[xcache]
xcache.shm_scheme = "mmap"
xcache.size = 64M

Sekarang periksalah PHP Anda :)

$ php -v
PHP 5.2.6 (cli) (built: Oct  4 2009 02:37:45)
Copyright (c) 1997-2008 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2008 Zend Technologies
    with XCache v1.2.2, Copyright (c) 2005-2007, by mOo

Kemudian samakan konfigurasi NginX :

$ nano /etc/nginx/nginx.conf

Ubah, menjadi value di bawah ini :

user  nobody;
worker_processes  5;
error_log  /var/log/nginx/error.log;
events {
worker_connections  768;
}

Kemudian modifikasi pada bagian http {}

include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
tcp_nodelay on;
keepalive_timeout 10 10;
gzip on;
gzip_comp_level 1;
gzip_proxied any;
gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript;

Di dalam http { server { } }; edit atau tambahkan konfigurasi berikut :

server {
        listen       80;
        server_name  _;
        autoindex on;
        index index.php index.html index.htm;
        root html;
        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /var/www/nginx/html;
            index index.php index.html index.htm;
        }

        error_page  404              /404.html;
        location = /404.html {
            root   /var/www/nginx/html;
        }
}

Di konfigurasi server {} dapat kita lihat bahwa root web direktori adalah html, dalam hal ini adalah /var/www/nginx/html, anda dapat merubah path root web direktori sesuai dengan selera anda selama modifikasi konfigurasi disesuaikan.

Jalankan NginX dan PHP-FPM:

$ /etc/init.d/php-fpm start
$ service nginx start

Buatlah file berisi phpinfo() untuk memastikan semuanya berjalan sesuai konfigurasi yang kita lakukan di atas :) Berikut screenshot hasil konfigurasi yang telah dilakukan :D

nginx

nginx_2

Referrence :
[1] http://artikel.magnet-id.com/aplikasi-linux/nginx-mysql-php-di-centos-52-64-bit/
[2] http://www.cyberciti.biz/faq/rhel-fedora-install-configure-nginx-php5/

ShoutZ :
[1] #antihackerlink
[2] Google!
[3] TKP Crew
[4] DraCoola
[5] .. and y0u!

7 Responses to Instalasi NginX, PHP5 dan MySQL – CentOS 5

  1. Pejalan kali October 8, 2009 at 9:25 #

    Baru tau, oo Nginx ternyata pake giniaan :)

  2. ahlumah November 16, 2009 at 0:22 #

    kaLo INSTALL FANTASTICO nya gmn..?

  3. reza December 11, 2009 at 10:16 #

    nice artikel mas, kapan2 mesti coba neh

  4. harry_ds January 12, 2010 at 6:13 #

    kalo php-mssql nya enable gimana tuh ?

    configure: error: Cannot find FreeTDS in known installation directories

  5. Bagus Rianto June 18, 2010 at 10:18 #

    Saya nginstall nginx + php5 + mysql5 + xcache
    di mesin ubuntu 10.04 saya. sampai sekarang ok ok saja.
    tetapi saya mengalami kesulitan untuk mod_rewrite kan beda mod_rewrite apache dan nginx berbeda. bagaimana yah caranya jika kita tidak perlu setting .htaccess yang biasa di apache supaya bisa berjalan di nginx server? apa harus ada tambahan yah?

    Terima Kasih sebelumnya

  6. 2298 February 9, 2011 at 8:55 #

    jauh2 nyari keluar, ga taunya tuts dari dagri ada :hammer: tengs om.

Trackbacks/Pingbacks

  1. Instalasi NginX, PHP5 dan MySQL – CentOS 5 | MimiZu Blogs - February 14, 2010

    [...] yang berasal dari blognya XNITRO untuk melakukan instalasi NginX, PHP5 dan MySQL pada CentOS 5 dengan kernel yang di gunakan adalah [...]

Leave a Reply