Upgrading PHP 5.3.3 to 5.3.17+ or 5.4.44 in CENTOS6

A customer of ours was looking to upgrade their php to 5.3.17+ following the guide:
http://www.rackspace.com/knowledge_center/article/how-to-installupgrade-php-53-for-centos-5x

Unfortunately this guide is specifically tailored for CentOS 5 instead of CentOS 6, which really broke the customers dependencies.

when running the command ‘yum upgrade php’ there were getting the following error:
Error: Package: php-common-5.3.29-4.w5.x86_64 (webtatic) Requires: libcurl.so.3()(64bit) Error: Package: php-snmp-5.3.29-4.w5.x86_64 (webtatic) Requires: libnetsnmp.so.10()(64bit) You could try using –skip-broken to work around the problem You could try running: rpm -Va –nofiles –nodigest

The first thing to do was to

Step 1.

run a "CREATE IMAGE". Just in case.

Step 2.

 
sudo vim /etc/yum.repos.d/webtatic.repo

The file should look like , with enabled=0

[webtatic]
name=Webtatic Repository $releasever - $basearch
#baseurl=http://repo.webtatic.com/yum/centos/5/$basearch/
mirrorlist=http://mirror.webtatic.com/yum/centos/5/$basearch/mirrorlist
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-webtatic-andy

Again, make sure that enabled is now 0. This disables the webtatic repo.

Then re-run:
Step 3:

sudo yum install php php-cli php-gd php-mysql php-mbstring

This fixed all their badly borked deps. Then the next step was to get the latest PHP 5 support , and show the customer how to use the correct repository, and even after overcoming the dependency issues, there was a new issue now,

Error: php54w-common conflicts with php-common-5.3.3-46.el6_6.x86_64

Solving this was quite simple too, after an hour or so of research.

Step 1: Make Backup

please make a backup image before carrying out this procedure to ensure you have a roll back point.

Step 2 : Check PHP Packages

 yum list installed | grep php

Step 3: Use correct webtatic repository

 rpm -Uvh http://mirror.webtatic.com/yum/el6/latest.rpm

Step 4: Install yum replace package addin and replace php-common conflicted package with php54w-common

yum install yum-plugin-replace
yum replace php-common --replace-with=php54w-common

Step 5:

yum install php54w.x86_64 php54w-cli.x86_64 php54w-common.x86_64 php54w-gd.x86_64 php54w-ldap.x86_64 php54w-mbstring.x86_64 php54w-mcrypt.x86_64 php54w-mysql.x86_64 php54w-pdo.x86_64

I have tested this and it does seem to work. However, again, please make a backup image before carrying out this procedure to ensure you have a roll back point. I also don’t recommend doing it.

Well, it worked, yay

[root@centos6test ~]# php -v
PHP 5.4.44 (cli) (built: Aug  9 2015 13:45:34)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2014 Zend Technologies

Installing Webmin on Linux Ubuntu LTS, Debian or other aptitude based OS

So, I had a customer yesterday that was unhappy about the fact that Rackspace were offering no GUI management panel install on their cloud servers as a default. I thought that what was being asked was not a literally-difficult-hard-to-do-thing. So, I stepped the customer thru how to install Webmin, and it could not have been simpler for him. We could even have a special image that supported cpanel to help placate such customers.

Here’s how we did it:

 
sudo apt-get install perl libnet-ssleay-perl libauthen-pam-perl libpam-runtime openssl libio-pty-perl apt-show-versions python

wget http://www.webmin.com/download/deb/webmin-current.deb

sudo dpkg --install webmin-current.deb

Simple as that. Now your running webmin on port 10000. If you run IPTABLES or any kind of firewall you must also open port 10000 for use on your server.

You should know be able to access webmin thru http://youripaddress:10000 or http://yourhostname.com:10000. Simples!