Apache

Apache Mod_fcgid, MySQL dan PHP di Server Ubuntu 9.04 Jaunty

Tanggal 28 Jul 2009
Kategori : Aplikasi Linux
Tag : , , , , ,

Mod Fcgid merupakan modul Apache yang melakukan spawning terhadap proses terisolasi mirip dan kompatibel dengan FastCGI yang muncul sebelumnya untuk memperbaiki kekurangan yang ada pada CGI. Mod Fcgid menjawab ketidakstabilan FastCGI, dan dapat memberikan ruang lebih pada RAM anda karena secara efektif memisahkan proses terhadap request dinamis dan request statis.

Tulisan ini dibuat untuk memandu anda mendeploy LAMP (Apache, MySQL, PHP) dengan konfigurasi di atas pada mesin Ubuntu 9.04 Jaunty Jackalope, mesin yang digunakan adalah VPS di Magnet Hosting.

Universe

Tambahkan universe pada sources.list anda;

sudo nano /etc/apt/sources.list

Menjadi kurang lebih sebagai berikut (tergantung repo yang anda gunakan);

deb http://ubuntu.indika.net.id jaunty main universe
deb http://security.ubuntu.com/ubuntu jaunty-security main universe

Update Paket

sudo aptitude update
sudo aptitude upgrade

Instalasi Paket

Instalasi beberapa paket dasar;

sudo aptitude install bzip2 gcc gzip iptables ispell libc6-dev libmcrypt4 libsasl2-2 libsasl2-modules  locales lsb-base make original-awk perl perl-base perl-modules tar wget

Instalasi MySQL Server

sudo aptitude install mysql-client mysql-common mysql-server

Setelah MySQL Server terinstall, username root tidak otomatis masuk ke dalam table user di database mysql, untuk memperbaiki hal tersebut silahkan start mysql dengan skip-grant-tables di my.cnf

sudo nano /etc/mysql/my.cnf

Tambahkan baris berikut pada bagian [mysqld]

skip-grant-tables

Kemudian restart mysql

sudo /etc/init.d/mysql restart

Masuk ke dalam mysql, pilih database mysql dan masukkan user root@localhost pada table user, gantikan newpassword dengan password root yang anda inginkan;

mysql
use mysql;
INSERT INTO user VALUES ('localhost','root',password('newpassword'), 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y','Y','Y','Y','Y','Y','Y','Y','Y','Y','Y', 'Y','Y','Y','','','','',0,0,0,0);

Instalasi Apache dan Mod_fcgi

Lakukan instalasi melalui aptitude,  sesuaikan dengan modul PHP yang anda butuhkan;

sudo aptitude install apache2-mpm-worker apache2 apache2.2-common apache2-suexec apache2-utils  libapache2-mod-fcgid php-pear php5 php5-cgi php5-gd php5-mcrypt php5-mhash php5-mysql php5-curl

Konfigurasi Apache

sudo nano /etc/apache2/apache2.conf

Modifikasi direktif berikut;

Timeout 60
KeepAlive Off
sudo nano /etc/apache2/conf.d/security
ServerTokens Prod
ServerSignature Off
TraceEnable Off

Buat konfigurasi fcgid;

sudo nano /etc/apache2/conf.d/php-fcgid.conf

Isikan keterangan berikut, bisa diadjust sesuai dengan kebutuhan;

AddHandler fcgid-script .fcgi .php
# Where to look for the php.ini file?
DefaultInitEnv PHPRC        "/etc/php5/cgi"
# Maximum requests a process should handle before it is terminated
MaxRequestsPerProcess       1000
# Maximum number of PHP processes
MaxProcessCount             15
# Number of seconds of idle time before a php-cgi process is terminated
IPCCommTimeout              120
IdleTimeout                 120
#Or use this if you use the file above
FCGIWrapper /usr/bin/php-cgi .php

Virtual Host Apache

Buat direktori yang dibutuhkan di home direktori user yang anda gunakan, sesuaikan semua parameter di dalam < > dengan keinginan anda;

cd ~
mkdir <www_dir>

Masukkan user anda ke dalam group www-data

sudo nano /etc/group
www-data:x:<xx>:<username>

Berikan permission pada www_dir anda

sudo chgrp www-data /home/<username>/<www_dir>

Hapus virtual host default;

sudo a2dissite 000-default

Persiapkan virtual host Apache untuk situs / domain anda;

sudo cp /etc/apache2/sites-available/default /etc/apache2/sites-available/<domainanda.com>

Sesuaikan isi konfigurasi virtual host tersebut;

sudo nano /etc/apache2/sites-available/<domainanda.com>
<VirtualHost *:80>
    ServerAdmin hostmaster@<domainanda.com>
    ServerName <domainanda.com>
    ServerAlias www.<domainanda.com>

    DocumentRoot /home/<username>/<domainanda.com>
    <Directory /home/<username>/<domainanda.com>/>
        Options Indexes FollowSymLinks MultiViews Includes ExecCGI
        AllowOverride All
        Order allow,deny
        allow from all
     </Directory>

     ErrorLog /var/log/apache2/<domainanda.com>-error.log
     LogLevel warn
     CustomLog /var/log/apache2/<domainanda.com>-access.log combined
</VirtualHost>

Enable Virtual Host anda;

sudo a2ensite <domainanda.com>

Restart Apache

sudo /etc/init.d/apache2 restart

Referensi:

  • http://fastcgi.coremail.cn/
  • http://2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html
Situs ini dibuat dengan memanfaatkan Teknologi Open Source Wordpress, Nginx, 960 Grid System dan Linux CentOS.
Isi dari situs diutamakan untuk membantu Pengguna Layanan Magnet Hosting dalam memanfaatkan layanannya, disediakan tanpa jaminan, dapat dimanfaatkan, diperbanyak ataupun ditulis kembali dengan resiko masing-masing.
Copyright PT. Indonesia Digital Media © 2008-2009. (Top)