2012-11-05

Centos 5.x更新 php 5.4.8+mysql5.5.28+nginx1.2.4

Centos 5.x更新 php 5.4.8+mysql5.5.28+nginx1.2.4


公司developers要開發新的 web service。
PHP、Mysql、NGINX分別要求版更為最新: 5.4.8、5.5.28、1.2.4

我們都知道 Centos 5.x 版本對於 PHP 及 MySQL 一直維持在 5.1.6 及 5.0.X , 所以有時候想要版更些新東西...............
Is really a nightmare!!!  
『除非自己要編譯 , 不想編譯就只好安裝其他人所維護的 rpm 版本』


目前我常用的兩個 Yum Repo 是 remi 及 rpmforge

remi 就有較新版本的 php 及 mysql , 而 rpmforge 有我們常常用的 rsync 最新版 , 因此通常我裝好 Centos 之後會一併安裝這兩個 repo


remi 的安裝

要安裝 remi 的步驟很簡單 ,  請注意下面列的是 i386 版本 , 若 OS 是 64bit , 必須把下列指令中有 i386 的字串改為 x86_64

rpm -Uvh http://dl.fedoraproject.org/pub/epel/5/i386/epel-release-5-4.noarch.rpm
rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-5.rpm

安裝好之後 , 可以用 yum 指令檢查更新 , 如

yum --enablerepo=remi check-update


rpmforge 的安裝

rpmforge 不能用 rpm 直接遠端裝 , 必須用 wget 下載如下 , 請注意下面列的是 i386 版本 , 若 OS 是 64bit , 必須把下列指令中有 i386 的字串改為 x86_64

wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm

rpmforge 安裝好之後用下列指令檢查是否有套件需要更新

yum --enablerepo=rpmforge check-update

應該會找到 rsync 的新版本

當我們有使用過上述兩個 repo 安裝新的套件之後 , 若 yum-updatesd 是有啟動的 , 那麼以後就會自動將套件更新到最新版

上述動作完畢,開始更新 PHP、Mysql、NGINX (或者只想安裝 LNMP 不需更新)
※準備的開發平台 為 centos 5.6 x64


Install MYSQL PHP

yum --enablerepo=remi,remi-test install mysql mysql-server php php-common -y

※如果出現錯誤訊息,也許是套件版本衝突,請先移除衝突的套件,再繼續安裝
※(網路上的例子都是"乾淨"的環境,所以沒這些問題。而我公司是已經有在平台上運行相關的服務,所以特別備註。)
※(衝突畫面未攫取,僅貼上排除的指令)

衝突的套件
php-xcache-1.3.2-jason.1.x86_64 php-memcache-3.0.4-1.jason.1.x86_64 mysql-5.1.58-jason.1.x86_64

移除它
yum remove php-xcache-1.3.2-jason.1.x86_64 -y
yum remove php-memcache-3.0.4-1.jason.1.x86_64 -y
yum -y remove mysql-5.1.58-jason.1.x86_64


Update PHP、MEMCACHE
※(檢查remi 源 最無新版本)
※(網路上幾乎沒有做這個動作,只是我自己再多做這些步驟罷了,讀者自己決定需不需加這一步驟。)

yum --enablerepo=remi,remi-test upgrade php*
yum --enablerepo=remi,remi-test upgrade memcache*


Install PHP 5.4.8 Modules

yum --enablerepo=remi,remi-test install php-pecl-apc php-cli php-pear php-pdo php-mysql php-pgsql php-pecl-mongo php-sqlite php-pecl-memcache php-pecl-memcached php-gd php-mbstring php-mcrypt php-xml -y

 
Install PHP (extension,不需要的讀者可跳過此步驟)

yum --enablerepo=remi,remi-test install pcre spl dom pdo* mcrypt soap gd crype -y
※(公司PHP安裝擴充套件)
extension:PCRE SPL DOM PDO MySQL Memcache Mcrypt SOAP GD Ctype


Install(Upgrade) NGINX 

rpm -Uvh http://nginx.org/packages/centos/5/noarch/RPMS/nginx-release-centos-5-0.el5.ngx.noarch.rpm

yum -y install nginx


Start MYSQL 5.5.28
chkconfig mysqld on;/etc/init.d/mysqld start

Start Memcache
chkconfig memcached on;/etc/init.d/memcached start

Start PHP (spawn-fcgi)
chkconfig php_cgi on;/etc/init.d/php_cgi  start

Start NGINX
chkconfig nginx on;/etc/init.d/nginx start


※最後看一下是否版本都正確




















沒有留言:

張貼留言