Build-Essentials in CentOS?

If you are like me, you may be doing this to install essential build libraries to compile something from source

# wrong method
yum install build-essential

🙂 Build essential is a Ubuntu / Debian package. On CentOS, you need to do this

yum groupinstall "Development Tools"

Warning: This will install all development tools approx 49 packages closing to 65MB

Good bye CentOS! Hello Ubuntu

Its been about almost more then two years since I have been playing with CentOS on many different platforms etc. Its very stable but on the other hand, PHP/MySQL updates are very hard to get and still PHP is 5.1.6. I tried EPEL repo and it updated PHP to 5.3.1 but still there were conflicts with stuff and many core packages.

So, I thought why not move to Ubuntu since it has just announced 10.04LTS (Long Term Support) in April 2010. Folks at iWeb were really nice to do a reinstall without any charges and also process a memory upgrade request at an amazing 50% discount.

Ubuntu 10.04 LTS

  • Apache 2 version is 2.2.14
  • PHP version is 5.3.2
  • MySQL version is 5.1.41-3ubuntu12
  • SVN (Subversion) version is 1.6.6

As a comparison CentOS 5.4 has the following versions

  • Apache 2 version is 2.2.3
  • PHP version is 5.1.6
  • MySQL version is 5.0.77
  • SVN (Subversion) version is 1.4.2

So if you are a PHP developer looking to deploy a Linux flavour on your new box, choose Ubuntu 🙂

Fixing Pear ‘unsupported protocal’ error

Are you getting the following error while updating any package in pear?

pear.php.net is using a unsupported protocal – This should never happen.

I got this error right after I upgraded PHP from 5.2 to 5.9 (using CentOS-Testing repo). To resolve this situation, do this.

rm -fr /usr/share/pear/.channels

and then do this

pear update-channels

It should now give you the following output

Updating channel "doc.php.net"
Update of Channel "doc.php.net" succeeded
Updating channel "pear.php.net"
Update of Channel "pear.php.net" succeeded
Updating channel "pecl.php.net"
Update of Channel "pecl.php.net" succeeded

That’s it, your issue is resolved.

To update or not to update?

All my technical life, I knew and followed this simple rule

New updates to any application or component are meant to improve and fix the bugs present in it. Downloading new updates ensures that you system is up-to-update, has fixes to all those bugs you have been getting annoyed with and more stable.

Unfortunately not every IT department thinks that, especially the one I am facing at work. According to them, the new updates should only be applied IF and only IF they offer some new functionality (duhh!). Hello! what happened to the bug-fixes that are promised with these updates?

Continue reading

CentOS yum update missing dependency error

If you are using

yum update

on CentOS and getting the following errors

Missing Dependency: /usr/lib/python2.4 is needed by package libxml2-python-2.6.26-2.1.2.7.i386 (installed)
gamin-python-0.1.7-8.el5.i386 from installed has depsolving problems
Missing Dependency: /usr/lib/python2.4 is needed by package gamin-python-0.1.7-8.el5.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package libxml2-python-2.6.26-2.1.2.7.i386 (installed)
Error: Missing Dependency: /usr/lib/python2.4 is needed by package gamin-python-0.1.7-8.el5.i386 (installed)

Don’t panic, the solution is simple … just run the following command

yum clean all

Then do

yum update

Installing PHP 5.2.6 on CentOS box

If you want to install PHP 5.2.x instead of the PHP 5.1.6 offered with default CentOSPlus repo. Please consider installing the utterramblings repo. Setting up this repo is a breeze … just follow these steps

Continue reading

How to Install Apache, PHP and MySQL on CentOS

I have seen people installing Apache, PHP and MySQL from source code on a production server. You should NEVER, NEVER, NEVER install these packages from source on an RPM or DEB based Linux distributions. Did I say “NEVER” enough times to make your realize that it is not a good practice?

Installing from source is bad idea; there are many reasons for this but the major one is that you will be spending a lot of time keeping the system updated. If you love installing from source then I would suggest using a different distribution e.g. Gentoo.

You can build from source if the package is not available in yum but still, try to use “yum” (or “apt-get” on Ubuntu) because it will save a lot of your time when upgrading your packages.

Continue reading

How to Install Webmin on CentOS

Install dependencies before we proceed to install webmin

[root@testbed ~]# yum -y install perl-Net-SSLeay

Download latest rpm package from Webmin’s official website

[root@testbed ~]# http://www.webmin.com/download/rpm/webmin-current.rpm -O /tmp/webmin.rpm

Once it is downloaded, install the RPM using the following command

[root@testbed ~]# rpm -i /tmp/webmin.rpm

No more steps required. Its installed 🙂
Go to your browser and access the control panel with valid ssh credentials.
Default URL is https://your-ip:10000/ (IF you have not changed the default port)