Instalasi NginX, PHP5 dan MySQL – CentOS 5

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!

  • No Related Post
tabs-top
  • No Related Post
bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark
tabs-top

6 Comments »

  1. avatar
    09:25:44 - October 8th, 2009: #1

    Baru tau, oo Nginx ternyata pake giniaan :)

    comment-bottom
  2. avatar
    00:22:56 - November 16th, 2009: #2
    ahlumah says:

    kaLo INSTALL FANTASTICO nya gmn..?

    comment-bottom
  3. avatar
    10:16:25 - December 11th, 2009: #3
    reza says:

    nice artikel mas, kapan2 mesti coba neh

    comment-bottom
  4. avatar
    06:13:13 - January 12th, 2010: #4
    harry_ds says:

    kalo php-mssql nya enable gimana tuh ?

    configure: error: Cannot find FreeTDS in known installation directories

    comment-bottom
  5. avatar
    03:42:38 - February 14th, 2010: #5

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

    comment-bottom
  6. avatar
    10:18:08 - June 18th, 2010: #6
    Bagus Rianto says:

    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

    comment-bottom

RSS feed for comments on this post. TrackBack URL

Leave a comment