Website: http://hostigation.com
System Information
(more…)
{ 0 comments }
Even though most of PHP applications is now running with PHP version 5.3, there are a few PHP applications are still running on PHP version 5.2, you can see what makes that thing happens here: http://php.net/manual/en/migration53.incompatible.php
So i guess it will be good for PHP programmer / developer to have PHP version 5.2 and 5.3 installed and running on the same machine (more economical than using two machines for each PHP version). So let’s get started.
Anyway i will use NginX as the webserver, so the main principle of two PHP version running on the same machine is CGI works using different localhost port.
Before installing PHP, we usually install webserver and database first, i assume that you all have installed NginX and MySQL, so i just skip to the PHP installation.
note: the configuration below is my usual config and dependencies, if you are experiencing error while configure or make php, try to find out about the missing dependencies by looking at this blog’s older posts or googling. The first four configuration of PHP will be the important note because we will separate PHP 5.3 and 5.2 configuration (php.ini) path.
--prefix=/usr/local53 --libdir=/usr/local53/lib --with-libdir=lib --with-config-file-path=/usr/local53/lib --prefix=/usr/local52 --libdir=/usr/local52/lib --with-libdir=lib --with-config-file-path=/usr/local52/lib
Install PHP 5.3.8 with PHP-FPM
wget http://pkgs.serversreview.net/files/autoconf-2.13.tar.gz tar -zxvf autoconf-2.13.tar.gz cd autoconf-2.13 ./configure make && make install wget http://pkgs.serversreview.net/files/php-5.3.8.tar.gz tar -zxvf php-5.3.8.tar.gz cd php-5.3.8 ./buildconf --force ./configure --prefix=/usr/local53 --libdir=/usr/local53/lib --with-libdir=lib --with-config-file-path=/usr/local53/lib --enable-force-cgi-redirect --enable-fpm --enable-cli --with-mcrypt --enable-mbstring --with-openssl --with-mysql=/usr/local/mysql --with-mysqli=/usr/local/mysql/bin/mysql_config --with-mysql-sock=/var/lib/mysql/mysql.sock --with-pdo-mysql=/usr/local/mysql --with-gd --with-zlib --with-jpeg-dir=/usr/lib --with-png-dir=/usr/lib --with-png --with-jpeg --with-gmp --with-sqlite --enable-pdo --with-xpm-dir=/usr/lib --with-freetype-dir=/usr/include/freetype2 --with-ttf=/usr/include/freetype2 --enable-gd-native-ttf --enable-fileinfo --disable-debug --with-pic --with-bz2 --with-curl --with-curlwrappers --without-gdbm --with-gettext --with-iconv --with-pspell --with-pcre-regex --with-imap --with-imap-ssl=/usr/lib --enable-exif --enable-ftp --enable-magic-quotes --enable-sockets --disable-sysvsem --disable-sysvshm --disable-sysvmsg --enable-track-vars --enable-trans-sid --enable-yp --enable-wddx --with-kerberos --enable-ucd-snmp-hack --enable-memory-limit --enable-shmop --enable-calendar --enable-dbx --enable-dio --with-mime-magic --with-system-tzdata --with-odbc --enable-gd-jis-conv --enable-dom --disable-dba --enable-xmlreader --enable-xmlwriter --with-tidy --with-xml --with-xmlrpc --with-xsl --enable-bcmath --enable-soap --enable-zip --enable-inline-optimization --with-mhash --enable-mbregex make make install cp php.ini-production /usr/local53/lib/php.ini
{ 0 comments }
{ 0 comments }
At Present, at any time аnу nеw tech approaches all round, central qυеѕtіοn thаt circulates іѕ frequently in regard to thе cause tο switch thе existing one οr thе need behind thе surfacing οf аn advanced class. Similar things dο exist whіlе cakePHP comes іntο snapshot. Thіѕ іѕ a subject hugely obvious thаt whіlе working wіth аnу class οf PHP οr cakePHP, thе fundamental programming language wουld bе common аnd іn thіѕ case, іt wουld bе PHP. Whіlе pinpointing size able prey οr a lesser one thе essential wουld bе open source PHP technique.
How does the cakePHP do the difference?
Thеrе аrе some contrasts thаt affect thе cakePHP system absolutely different. Starting wіth thе framework οf thе cakePHP, as well as аn open source technology, іt dοеѕ nοt own аnу variety οf architectural head pain. It predominantly depends onto іtѕ version view controller; іt supports a good coding arrange.
Thе designing and programming portion іѕ dis-part away ѕο thаt a сlеаn coding combination саn bе sustained. Still working wіth such architecture requirements a substantial method studying еlѕе formulating thе expected software wουld bе make difficult.
Thе basic coding follows thе PHP code therefore corresponding thе fitness wіth thе cakePHP іѕ vastly substantial. Hοwеνеr, cakePHP exhibits thе fitness wіth various models οf PHP technique lіkе PHP version 4 аnd PHP version 5. Thаt іѕ somehow hugely useful tο thе apps developers. Thіѕ implies, cakePHP wіll assist every thе usual characteristic аnd favor numerous applications tο gеt adjusted. Thе developers whο work іn PHP wіll hаνе аn extra pleasure tο do the job wіth cakePHP аѕ thе coding wіll bе easier.
In which time web development approaches іntο picture, database management іѕ supposed tο an exceptionally crucial issue.
Nevertheless wіth cakePHP, managing the database іѕ a lot improved аnd easy because of controlled via CRUD integration. Thе elementary attributes οf database аrе nevertheless taken care οf аnd together wіth thаt additional functionalities аrе blended fοr іtѕ well maintenance. Thе science’s developed іn validation helps іn saving οf time frame аnd serves an enhanced medium tο work with wіth users.
Being a growing modern technology, cakePHP іѕ surely аn crucial programming progress thаt саn deal with thе present day techie’s objectives. Changing οf advances іѕ effective whеn thеу in fact demonstrate tο bе useful іn thе website design do the job. Sο, check out cakePHP whеrе уου requirement tο satisfy a part diverse!
{ 0 comments }
It is time for Lighttpd the “Fly Light” webserver installation include PHP and MySQL under Ubuntu 10.10 Maverick, let’s go!
First, update repository list, install dependencies, and remove unneeded modules
apt-get update -y apt-get install -y build-essential make automake patch cadaver bc netcat libgeoip1 libgeoip-dev fontconfig libfontconfig-dev libpam0g-dev libpam-devperm ldap-utils libldap-2.4-2 libldap2-dev libdb4.6 libxpm-dev libtool libaio-dev libltdl3-dev mcrypt libmcrypt-dev libmhash-dev unixodbc unixodbc-dev zip unzip nano perl openssl libssl-dev libdevel-repl-perl libperl-dev libpcre3 libpcre3-dev libjpeg62 libjpeg62-dev libpng-dev libtiff4 libtiff-dev libfreetype6 libfreetype6-dev libgmp3-dev aspell libaspell-dev libpspell-dev libiconv-ruby mlocate libc-client2007e libc-client2007e-dev uw-imapd tidy libtidy-dev libbz2-dev gamin libgamin-dev sqlite3 libsqlite3-dev libreadline6 libreadline6-dev e2fsprogs uuid-dev memcached libmemcache-dev apt-get remove -y apache2 apache2-doc apache2-utils apache2.2-common bind9 php5 mysql-server curl libcurl3 libcurl-dev libidn11 libidn11-dev libxslt-dev pkill apache2 pkill named pkill sendmail-mta
Install additional modules
wget http://pkgs.serversreview.net/files/gd-2.0.33.tar.gz tar -zxvf gd-2.0.33.tar.gz cd gd-2.0.33 ./configure --prefix=/usr --libdir=/usr/lib --with-png=/usr/lib --with-freetype=/usr/lib --with-fontconfig=/usr/lib --with-jpeg=/usr/lib --with-xpm=/usr/lib make make install wget http://pkgs.serversreview.net/files/libev-4.04.tar.gz tar -zxvf libev-4.04.tar.gz cd libev-4.04 ./configure --prefix=/usr --libdir=/usr/lib --with-pic make make install wget http://pkgs.serversreview.net/files/gnupg-1.4.11.tar.gz tar -zxvf gnupg-1.4.11.tar.gz cd gnupg-1.4.11 ./configure --prefix=/usr --libdir=/usr/lib make make install wget libidn-1.9.tar.gz http://pkgs.serversreview.net/files/libidn-1.9.tar.gz tar -zxvf libidn-1.9.tar.gz cd libidn-1.9 ./configure --prefix=/usr --libdir=/usr/lib make make install wget http://pkgs.serversreview.net/files/curl-7.21.6.tar.gz tar -zxvf curl-7.21.6.tar.gz cd curl-7.21.6 ./configure --prefix=/usr --libdir=/usr/lib --with-openssl --with-libidn --enable-ipv6 make make install wget http://pkgs.serversreview.net/files/libxml2-2.7.8.tar.gz tar -zxvf libxml2-2.7.8.tar.gz cd libxml2-2.7.8 rm -rf /usr/lib/libxml2* ./configure --prefix=/usr --libdir=/usr/lib make make install wget http://pkgs.serversreview.net/files/libxslt-1.1.26.tar.gz tar -zxvf libxslt-1.1.26.tar.gz cd libxslt-1.1.26 rm -rf /usr/lib/libxslt* /usr/lib/libexslt* ./configure --prefix=/usr --libdir=/usr/lib make make install wget http://pkgs.serversreview.net/files/lua-5.1.4.tar.gz tar -zxvf lua-5.1.4.tar.gz cd lua-5.1.4 sed -i 's/\/usr\/local/\/usr/g' Makefile #if x86_64 then #edit src/Makefile #change CFLAGS= -O2 -Wall $(MYCFLAGS) #with CFLAGS= -O2 -Wall -fPIC $(MYCFLAGS) make linux install wget http://pkgs.serversreview.net/files/valgrind-3.6.1.tar.bz2 tar -jxvf valgrind-3.6.1.tar.bz2 cd valgrind-3.6.1 ./configure --prefix=/usr --libdir=/usr/lib make make install wget http://pkgs.serversreview.net/files/libevent-2.0.11-stable.tar.gz tar -zxvf libevent-2.0.11-stable.tar.gz cd libevent-2.0.11-stable ./configure --prefix=/usr --libdir=/usr/lib make make install wget http://pkgs.serversreview.net/files/gdbm-1.8.3.tar.gz tar -zxvf gdbm-1.8.3.tar.gz cd gdbm-1.8.3 ./configure --prefix=/usr --libdir=/usr/lib make make install
{ 0 comments }
{ 0 comments }
This thing’s quite confusing me when i was trying to install FFMPEG and FFMPEG-PHP extension. You know it was always very easy if you’re install it from yum or rpm, but CentOS even EPEL doesn’t provide FFMPEG in their repository, so it is a bit bothering me if i had to use repository other than CentOS or EPEL, and that’s why i’m trying to install it from source. I was googling and found a lot of ‘how to’ about this, but they didn’t give a complete tutorial, also when there’s an error in dependency, i had to googling again until i found the solution. I had succeeded installing FFMPEG and FFMPEG-PHP extension both on 32bit / 64bit CentOS 5.6 and Ubuntu 10.10 Maverick, here’s the tutorial and the errors with solutions during the process of me installing FFMPEG.
I assume that your box is already installed with PHP, here as the example i’m using preinstalled NginX, MySQL, PHP from NginX Auto Installer without FFMPEG. First we’re going to install codecs and dependencies, after that FFMPEG and FFMPEG-PHP.
note:
Lib directory CentOS 32bit is /usr/lib
Lib directory CentOS 64bit is /usr/lib64
Lib directory Ubuntu 32bit and 64bit is /usr/lib64
YASM
wget http://pkgs.serversreview.net/files/yasm-1.1.0.tar.gz tar -zxvf yasm-1.1.0.tar.gz cd yasm-1.1.0 ./configure --prefix=/usr --libdir=/usr/lib make make install
{ 0 comments }
My friend told me about my NginX Auto Installer, too bad because it only support CentOS, he really want to use my auto installer if it supports Debian or Ubuntu. As i said before, i’ve never tried OS other than CentOS, so last night i tried to install NginX, PHP, and MySQL under Ubuntu 10.04.2 Lucid, guess what? It was confusing me, why can’t this OS just give a standard name for their modules and packages? For example, on CentOS if we want to install PAM and PAM devel, then we’re just type
yum install pam pam-devel
but on Ubuntu
apt-get install libpam0g-dev libpam-devperm
Why not creating the normal name like ‘pam’ for package name and ‘pam-devel’ for development package name? I had to do googling for almost of those packages which i wanted to install because they have a ‘not normal’ name. :p
Okay, enough with the preamble story, here’s the result of my experiment.
Box: Ubuntu 10.04.2 Lucid 64bit with 256MB RAM OpenVZ
First update Ubuntu repository list and update existing packages
apt-get update apt-get upgrade
Install dependencies
apt-get install -y build-essential make automake patch bc netcat libgeoip1 libgeoip-dev fontconfig libfontconfig-dev libpam0g-dev libpam-devperm slapd ldap-utils libldap-2.4-2 libdb4.6 libxpm-dev libtool libaio-dev libltdl3-dev libmcrypt-dev libmhash-dev unixodbc unixodbc-dev zip unzip nano perl openssl libssl-dev libdevel-repl-perl libperl-dev libpcre3 libpcre3-dev libjpeg62 libjpeg62-dev libpng-dev libtiff4 libtiff-dev libfreetype6 libfreetype6-dev libgmp3-dev aspell libaspell-dev libpspell-dev libiconv-ruby mlocate libc-client2007e libc-client2007e-dev uw-imapd tidy libtidy-dev libbz2-dev libmysqlclient15-dev
Because i want to build NginX, PHP, and MySQL manually from source, also i will update a few dependencies for PHP, so now remove the following packages and also stop apache and bind processes.
apt-get remove apache2 php5 mysql-server gnupg curl libcurl3 libcurl-dev libidn11 libidn11-dev libxslt-dev killall -9 apache2 killall -9 named
Install GD Library
wget http://pkgs.serversreview.net/files/gd-2.0.33.tar.gz tar -zxvf gd-2.0.33.tar.gz cd gd-2.0.33 ./configure --prefix=/usr --libdir=/usr/lib --with-png=/usr/lib --with-freetype=/usr/lib --with-fontconfig=/usr/lib --with-jpeg=/usr/lib --with-xpm=/usr/lib make make install
{ 0 comments }
A few days ago, at the time when i’m free and i have completed all of my jobs, i was walking around a few of web hosting provider’s websites to get reading. I found that most of them have the uptime statuses of their servers, and it is kind of exclaimed if we have something like that too, we can display our box status and we will always know our box system information without typing command one by one in ssh. So the idea is creating a simple bash script that will show some information like uptime, memory usage, disk usage, port status, etc., and export the statuses to txt or html file so we can we can see our box statuses with browser. It is good when we are not in home so we can check the statuses from phone, laptop, or computer somewhere. Okay, let’s get it on!
First we will check the box uptime status by using uptime command, and you will get the following result:
05:35:16 up 21:40, 1 user, load average: 0.00, 0.00, 0.00
The informations shown above are server time, uptime, current user, and load average, but we only need uptime to be displayed right? So we’re going cut off another statuses and grab uptime only.
uptime | awk {'print $3'}
and we got:
21:40,
You can use that for displaying uptime status which means 21 hours and 40 minutes, but it’s not so good because there’s a comma character in the end of status right? If you wanna throw that comma character then we should display 5 characters before comma. (more…)
{ 0 comments }
Another note in my blog to install Apache 2.2.17 with PHP 5.3.5, and now i’m going to use EPEL and WEBTATIC Repository, let’s start!
VPS: CentOS 5.5 64bit with 512MB RAM OpenVZ
Add EPEL and WEBTATIC repository to your vps
rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/`uname -i`/epel-release-5-4.noarch.rpm rpm -import http://download.fedora.redhat.com/pub/epel/RPM-GPG-KEY-EPEL rpm -Uvh http://repo.webtatic.com/yum/centos/5/latest.rpm rpm -import http://repo.webtatic.com/yum/RPM-GPG-KEY-webtatic-andy
Install Apache 2.2.3 and additional modules, update your CentOS, and add make it automatically starts
yum -y install httpd perl libperl GeoIP GeoIP-devel GeoIP-data zip unzip nano yum -y update chkconfig --add httpd chkconfig httpd on
Remove your old PHP and MySQL (if exist)
rpm -qa | grep mysql rpm -e mysql rpm -qa | grep php rpm -e php yum -y remove php php-mysql mysql mysql-server
Create domain root
Just like the old time, i’m using ‘/home’ base directory, create one user under it to control all domains so you don’t have to worry about ftp permission. Also to make the user more secure, i’m disabling shell function.
useradd www -s /bin/false passwd www mkdir -p /home/www/yourdomain/public_html mkdir -p /home/www/yourdomain/logs
{ 0 comments }