If you came to this page probably you were searching for India based webhosting, India based datacenters. And yes you have come to the right place and will leave with atleast some info.
Most of the time I search for India based webhosting, all I get is re-sellers selling US datacenter space.
Primer :
Hosting the websites on Indian based servers will actually reduces the latency and also improve the search engine listings prominence. Accessibility to the data and backup solutions are flexible in Indian based server hosting packages and no time zone difference for getting support and solving the complex problems arise at the data center level.
source:http://www.ibeehosting.com/blog/introducing-indian-based-servers-shared-hosting-packages.html
Following are the service providers I know who actually have their data centers in india.
1) Netmagic
Amazing experience. Have been using them for almost an year now.
Their datacenter is located in mumbai area.
The high traffice e-commerce site flipkart.com runs on it.
2) ESDS
Very nice experience. I used their server to host my svn server for quicker access.
Their datacenter is also mumbai area based.
3) E2E Networks
No experience as they didn't give me a trial setup to test things out.
Their datacenter is in NCR area (Gurgaon to be more specific)
4) IBEE Hosting
No experience, came across today only !!
Shikhar's Blog
Wednesday, December 8, 2010
Tuesday, November 23, 2010
Simple check all / uncheck all jQuery code
Requirement : Clicking on one checkbox should check all the checkboxes of the group and vice versa using JQuery
Everywhere, I have found the code to be too complex for this.
Here's my 5 line version.
$(this).ready(function(){
$("#check_all").click(function(){
$('#check_all').attr('checked') ? $('.checkboxes').attr('checked', true) : $('.checkboxes').attr('checked', false) ;
});
});
This the complete page.
<html>
<head>
<script type='text/javascript' src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(this).ready(function(){
$("#check_all").click(function(){
$('#check_all').attr('checked') ? $('.checkboxes').attr('checked', true) : $('.checkboxes').attr('checked', false) ;
});
});
</script>
</head>
<body>
<input type="checkbox" name="check_all" id="check_all" checked="checked"> Check/Uncheck All <br/>
<input type="checkbox" name="checkbox1" value="1" class="checkboxes" checked="checked"> Checkbox1 <br/>
<input type="checkbox" name="checkbox2" value="2" class="checkboxes" checked="checked"> Checkbox2 <br/>
<input type="checkbox" name="checkbox3" value="3" class="checkboxes" checked="checked"> Checkbox3 <br/>
</body>
</html>
Everywhere, I have found the code to be too complex for this.
Here's my 5 line version.
$(this).ready(function(){
$("#check_all").click(function(){
$('#check_all').attr('checked') ? $('.checkboxes').attr('checked', true) : $('.checkboxes').attr('checked', false) ;
});
});
This the complete page.
<html>
<head>
<script type='text/javascript' src="http://ajax.microsoft.com/ajax/jquery/jquery-1.4.4.min.js"></script>
<script type="text/javascript">
$(this).ready(function(){
$("#check_all").click(function(){
$('#check_all').attr('checked') ? $('.checkboxes').attr('checked', true) : $('.checkboxes').attr('checked', false) ;
});
});
</script>
</head>
<body>
<input type="checkbox" name="check_all" id="check_all" checked="checked"> Check/Uncheck All <br/>
<input type="checkbox" name="checkbox1" value="1" class="checkboxes" checked="checked"> Checkbox1 <br/>
<input type="checkbox" name="checkbox2" value="2" class="checkboxes" checked="checked"> Checkbox2 <br/>
<input type="checkbox" name="checkbox3" value="3" class="checkboxes" checked="checked"> Checkbox3 <br/>
</body>
</html>
Tuesday, September 21, 2010
Migrating to PHP 5.3
I recently migrated my app to PHP 5.3 , I had to do the following to get my app running without errors. Documenting it here, may be helpful to someone as most of the available write ups are too exhaustive.
1) error_reporting (E_ALL & ~E_WARNING & ~E_NOTICE & ~E_DEPRECATED)
2) short_open_tag = On
If you don't include this in the ini or the start of PHP script, you will see a lot of deprecated messages which in turn will break header redirects.
If you are already using short tags, you will need to on it in the php.ini file. Failing this you will see php code outputed to the browser as text starting from "< ? " will not be interpreted.
3) magic_quotes_gpc = On
If this is not on, it may lead to sql statement errors.
This worked for me, hope this works for you too.
Wednesday, January 14, 2009
LAMP on HP Integrity server
Recently I had to qualify my software on the HP integrity server (Intel Itanium 2) IA64 architechture. Model : rx2662
I had a tough time. Would like to share my experience wich may be helpful for people out there.
My application is LAMP ( Linux Apache Mysql PHP) stack based, and it has been used on many linux distro as well as windows without any difficulty.
CentOS 4.6
Only version available for IA64 in centos is version 4.x, the support guys themselves got with them this distro and installed on the server. Apache, php and mysql bundled on this version is pretty old 1.x, 4.x, 4.x respectively. I had to upgrade them to 2.x, 5.x, 5.x respectively as my app wont work with those versions. And this upgrade was such a pain, I tried everything but it worked only partialy.
Yum :
the first idea was of course yum. In CentOs version 4.6 there's a special repo called CentOsplus for extras like apache, php and mysql. So i had to enable this repository to update. you can see the detailed instruction at
http://www.tillett.info/2007/10/09/how-to-upgrade-from-php4-to-php5-on-centos-4/
Guess what ? this didnt work because none of the mirror sites had any rpms for ia64 arch. Check it out youself.
http://mirrorlist.centos.org/?release=4.6&arch=ia64&repo=centosplus
http://mirror.be10.com/centos/4.6/centosplus/ia64/
http://ftp.hostrino.com/pub/centos/4.6/centosplus/ia64/
http://centos.ustc.edu.cn/centos/4.6/centosplus/ia64/
http://centos.candishosting.com.cn/4.6/centosplus/ia64/
http://mirror.nus.edu.sg/centos/4.6/centosplus/ia64/
http://centosa3.centos.org/centos/4.6/centosplus/ia64/
http://centosj.centos.org/centos/4.6/centosplus/ia64/
http://centosk.centos.org/centos/4.6/centosplus/ia64/
http://centosl.centos.org/centos/4.6/centosplus/ia64/
http://centosq.centos.org/centos/4.6/centosplus/ia64/
Compile from source
Now the only option left was compile from source. You can go through this article to have a detailed understandings and steps.
http://www.web-tech-india.com/articles/php/compiling_php_apache/
I used httpd 2.2.11 and php 5.2.8. The compilation went fine. The phpinfo script worked well too but when i ran my app the web server would ask to download some of the pages as if it didnt understand .php extension for them.
moreover for php compilation make test used to give a segmentation fault. Also httpd error log had segmentation faults.
I tried again with PHP 5.2.6 which had a similar behavior. With PHP 5.0.1, source failed to compile.
I finally gave up on CentOs and moved on to Red Hat Enterprise Linux as Fedora was not an option ( no iso were available for ia64)
Red Hat Linux 5
After registering to the redhat site redhat.com, I was given a link to download the RHEL 5.0 trial version. The download page for IA64 had following iso
Red Hat Enterprise Linux 5.2 Server (Itanium)
ISO Size
Compatibility Layer Disc 84 MB
Binary Disc 1 (Server Core) 631 MB
Binary Disc 2 (Server Core) 631 MB
Binary Disc 3 (Server Core) 630 MB
Binary Disc 4 (Server Core) 593 MB
Binary Disc 5 (Server Core/Cluster/Virtualization) 630 MB
Binary Disc 6 (Cluster/Cluster Storage) 110 MB
Binary DVD (Server Core/Cluster/Cluster Storage/Virtualization) 3,222 MB
The first disc viz. "compatibility layer" disc is useless as it doesn't get written as an image on the disc ( it wasted 2 of my discs ).
Discs 1-5 are mandatory, so i downloaded them and wrote it to the Cds.
Now I had to set the boot option from cd, which i could find after much of effort.
Actually to install RHEL 5, insert the disc 1 to the drive and chose ELILO for boot option.
By choosing Elilo the control goes to the Elilo promt and it recognizes the RHEL and starts the installation process. The installation is straigthforward and simple and i was through it in 30 minutes !!!!
Now the LAMP setup, RHEL comes with apache httpd and PHP only. And PHP is compiled with --without-mysql option. I think this has to do something with the mysql licensing.
Neways, so i registered the server with redhat network using my login password ( without this you wont be able to use yum )
AFter this, I installed mysql with yum install mysql and yum install mysql-server. Dont try it with rmp as it has a lot of dependencies, better do it with yum only.
So my LAMP stack is ready on RHEL 5 only with one problem that I cannot use mysql from PHP scripts as php was compiled without the mysql extension. For this you have to install php-mysql rmp.
yum install php-mysql
So, now the stack was finally complete and my app was working just fine on it.
CentOS 4.6 revisited.
On RHEL i noticed the following compile option. I am copying it below, it might be helpful if you are compiling php on centos.
'./configure' '--build=ia64-redhat-linux-gnu' '--host=ia64-redhat-linux-gnu' '--target=ia64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
I had a tough time. Would like to share my experience wich may be helpful for people out there.
My application is LAMP ( Linux Apache Mysql PHP) stack based, and it has been used on many linux distro as well as windows without any difficulty.
CentOS 4.6
Only version available for IA64 in centos is version 4.x, the support guys themselves got with them this distro and installed on the server. Apache, php and mysql bundled on this version is pretty old 1.x, 4.x, 4.x respectively. I had to upgrade them to 2.x, 5.x, 5.x respectively as my app wont work with those versions. And this upgrade was such a pain, I tried everything but it worked only partialy.
Yum :
the first idea was of course yum. In CentOs version 4.6 there's a special repo called CentOsplus for extras like apache, php and mysql. So i had to enable this repository to update. you can see the detailed instruction at
http://www.tillett.info/2007/10/09/how-to-upgrade-from-php4-to-php5-on-centos-4/
Guess what ? this didnt work because none of the mirror sites had any rpms for ia64 arch. Check it out youself.
http://mirrorlist.centos.org/?release=4.6&arch=ia64&repo=centosplus
http://mirror.be10.com/centos/4.6/centosplus/ia64/
http://ftp.hostrino.com/pub/centos/4.6/centosplus/ia64/
http://centos.ustc.edu.cn/centos/4.6/centosplus/ia64/
http://centos.candishosting.com.cn/4.6/centosplus/ia64/
http://mirror.nus.edu.sg/centos/4.6/centosplus/ia64/
http://centosa3.centos.org/centos/4.6/centosplus/ia64/
http://centosj.centos.org/centos/4.6/centosplus/ia64/
http://centosk.centos.org/centos/4.6/centosplus/ia64/
http://centosl.centos.org/centos/4.6/centosplus/ia64/
http://centosq.centos.org/centos/4.6/centosplus/ia64/
Compile from source
Now the only option left was compile from source. You can go through this article to have a detailed understandings and steps.
http://www.web-tech-india.com/articles/php/compiling_php_apache/
I used httpd 2.2.11 and php 5.2.8. The compilation went fine. The phpinfo script worked well too but when i ran my app the web server would ask to download some of the pages as if it didnt understand .php extension for them.
moreover for php compilation make test used to give a segmentation fault. Also httpd error log had segmentation faults.
I tried again with PHP 5.2.6 which had a similar behavior. With PHP 5.0.1, source failed to compile.
I finally gave up on CentOs and moved on to Red Hat Enterprise Linux as Fedora was not an option ( no iso were available for ia64)
Red Hat Linux 5
After registering to the redhat site redhat.com, I was given a link to download the RHEL 5.0 trial version. The download page for IA64 had following iso
Red Hat Enterprise Linux 5.2 Server (Itanium)
ISO Size
Compatibility Layer Disc 84 MB
Binary Disc 1 (Server Core) 631 MB
Binary Disc 2 (Server Core) 631 MB
Binary Disc 3 (Server Core) 630 MB
Binary Disc 4 (Server Core) 593 MB
Binary Disc 5 (Server Core/Cluster/Virtualization) 630 MB
Binary Disc 6 (Cluster/Cluster Storage) 110 MB
Binary DVD (Server Core/Cluster/Cluster Storage/Virtualization) 3,222 MB
The first disc viz. "compatibility layer" disc is useless as it doesn't get written as an image on the disc ( it wasted 2 of my discs ).
Discs 1-5 are mandatory, so i downloaded them and wrote it to the Cds.
Now I had to set the boot option from cd, which i could find after much of effort.
Actually to install RHEL 5, insert the disc 1 to the drive and chose ELILO for boot option.
By choosing Elilo the control goes to the Elilo promt and it recognizes the RHEL and starts the installation process. The installation is straigthforward and simple and i was through it in 30 minutes !!!!
Now the LAMP setup, RHEL comes with apache httpd and PHP only. And PHP is compiled with --without-mysql option. I think this has to do something with the mysql licensing.
Neways, so i registered the server with redhat network using my login password ( without this you wont be able to use yum )
AFter this, I installed mysql with yum install mysql and yum install mysql-server. Dont try it with rmp as it has a lot of dependencies, better do it with yum only.
So my LAMP stack is ready on RHEL 5 only with one problem that I cannot use mysql from PHP scripts as php was compiled without the mysql extension. For this you have to install php-mysql rmp.
yum install php-mysql
So, now the stack was finally complete and my app was working just fine on it.
CentOS 4.6 revisited.
On RHEL i noticed the following compile option. I am copying it below, it might be helpful if you are compiling php on centos.
'./configure' '--build=ia64-redhat-linux-gnu' '--host=ia64-redhat-linux-gnu' '--target=ia64-redhat-linux-gnu' '--program-prefix=' '--prefix=/usr' '--exec-prefix=/usr' '--bindir=/usr/bin' '--sbindir=/usr/sbin' '--sysconfdir=/etc' '--datadir=/usr/share' '--includedir=/usr/include' '--libdir=/usr/lib' '--libexecdir=/usr/libexec' '--localstatedir=/var' '--sharedstatedir=/usr/com' '--mandir=/usr/share/man' '--infodir=/usr/share/info' '--cache-file=../config.cache' '--with-libdir=lib' '--with-config-file-path=/etc' '--with-config-file-scan-dir=/etc/php.d' '--disable-debug' '--with-pic' '--disable-rpath' '--without-pear' '--with-bz2' '--with-curl' '--with-exec-dir=/usr/bin' '--with-freetype-dir=/usr' '--with-png-dir=/usr' '--enable-gd-native-ttf' '--without-gdbm' '--with-gettext' '--with-gmp' '--with-iconv' '--with-jpeg-dir=/usr' '--with-openssl' '--with-png' '--with-pspell' '--with-expat-dir=/usr' '--with-pcre-regex=/usr' '--with-zlib' '--with-layout=GNU' '--enable-exif' '--enable-ftp' '--enable-magic-quotes' '--enable-sockets' '--enable-sysvsem' '--enable-sysvshm' '--enable-sysvmsg' '--enable-track-vars' '--enable-trans-sid' '--enable-yp' '--enable-wddx' '--with-kerberos' '--enable-ucd-snmp-hack' '--with-unixODBC=shared,/usr' '--enable-memory-limit' '--enable-shmop' '--enable-calendar' '--enable-dbx' '--enable-dio' '--with-mime-magic=/usr/share/file/magic.mime' '--without-sqlite' '--with-libxml-dir=/usr' '--with-xml' '--with-system-tzdata' '--with-apxs2=/usr/sbin/apxs' '--without-mysql' '--without-gd' '--without-odbc' '--disable-dom' '--disable-dba' '--without-unixODBC' '--disable-pdo' '--disable-xmlreader' '--disable-xmlwriter'
Subscribe to:
Posts (Atom)