Monday 23 October 2006 1:50:42 pm
Last weekend, we successfully upgraded from PHP 4.3.11 to 4.4.4 on a server that is hosting ezpublish 3.6.x sites for 10 different clients. I thought I would share a little about our experience in case any one else was considering this move.
We lease a data-center hosted dual processor server with Centos 4.4 running the Interworx control panel. In order to prepare for the update, we made several backups, including:
-offsite remote rysnc backup of all data files and database files
-offsite remoate package backup managed by the control panel software -local rysnc backup of data files in case a quick restore was needed Next we modified index.php for all sites to suppress the errors that would occur when the php version was updated. This is not necessary, but helps buy a little extra "uptime" during the switch. I believe that in later versions of the 3.6 branch this will not work as ez detects the PHP version and bypasses normal processing. In line 104 we added ini_set('display_errors',0);
just after error_reporting ( E_ALL );
We then downloaded and unpacked the ezp 3.7.9 files in each of our hosting account folders. For instance, the file structure was:
accountfolder/domainname.com/html (the ezp root) and accountfolder/domainname.com/html37 (the clean install of 3.7.9)
To prepare, we copied the relevant folders from the html to the html37 folder for each of the 10 sites, including:
-design/oursite
-extension/
-settings/override
-settings/siteaccess/site_name
-settings/siteaccess/site_admin -.htaccess We ran the database update for each of the 10 sites. The update script could be run on the 3.6 sites without causing any problems, so we went ahead and did that for all 10 as well. To simplify things, I combined all of the updates into one script. Then we tackled the system updates. I downloaded all of the RPMs that I was using and untarred them. There were some dependencies that had to be resolved, but the update was fairly smooth. Once the PHP was updated, we moved the html to html36 and moved html37 to html for each site, and then copied the var/site/storage folders over.
Each site required a bit of troubleshooting, and the issues that had to be resolved included:
-images not appearing, mostly because of permissions
-we forgot the .htaccess file on some of the sites
-some of the sites had modified css in the packages that was missed -the anonymouse user permissions lost the siteaccess setting on some sites and was being required to log in on the home page Last, I reinstalled eaccelerator for the new PHP from source. We had a few small issues to clean up during the week, but for the most part it went about a smooth as could be expected. The entire process took two of us about 5 hours and the sites were only down for about 30 minutes of that if there were problems (some had no down time at all). If you are considering the task of a server update, let me know and I would be happy to answer any questions that I can.
http://www.thinkcreative.com
Turning Ideas Into Strategic Solutions
|