воскресенье, 24 мая 2015 г.

Простой upgrade/downgrade версии PHP в CentOS 6

http://centosup.ispsystem.info/
При этом необходимо учесть, что если придется устанавливать расширения PHP, может быть каша в зависимостях. Поэтому этот репозиторий стоит использовать только в крайних случаях.

Продублирую тут на всякий случай.
- Что тут есть?
- php (5.3.29), php52 (5.2.17), php54 (5.4.39), php55 (5.5.23), php56 (5.6.7), mysql55 (5.5.38), ionCube, ZendGuard

- Как пользоваться?


# wget -O /etc/yum.repos.d/centosup.repo http://centosup.ispsystem.info/centosup.repo

# yum makecache

# cat /etc/yum.repos.d/centosup.repo
[centosup]
name=CentOSUP Repository
gpgcheck=0
enabled=1
baseurl=http://centosup.ispsystem.info/repo/$basearch/

Также должен быть подключен репозиторий EPEL 
(ISPmanager его ставит, если чистый сервер: rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm )

- Как обновить PHP и другой софт?

* PHP до 5.3.29 (joomla его хочет)

# yum update php-\*

* PHP до 5.4

# yum install yum-plugin-replace
# yum replace php-common --replace-with=php54-common

* PHP до 5.5

# yum install yum-plugin-replace
# yum replace php-common --replace-with=php55-common

* PHP до 5.6

# yum install yum-plugin-replace
# yum replace php-common --replace-with=php56-common

* PHP Downgrade 5.3.3 to 5.2.17 (experimental)

# yum install yum-plugin-replace
# yum replace php-common --replace-with=php52-common

* MySQL до 5.5

# yum install yum-plugin-replace
# rpm -e --nodeps mysql-libs
# yum install compat-mysql51
# yum replace mysql --replace-with=mysql55
# yum install mysql55-server


- Как поставить ionCube loader?
-
# yum install php-ioncube-loader / php54-ioncube-loader / php55-ioncube-loader / php56-ioncube-loader
* Если оригинальный системный PHP 5.3.3, то просто поставить пакет:
# rpm -ivh http://centosup.ispsystem.info/repo/x86_64/php-ioncube-loader-4.7.3-1.el6.x86_64.rpm


- Как поставить Zend Guard Loader?
-
# yum install php-zendguard  // yum install php54-zendguard
or (for 5.3.3)
# rpm -ivh http://centosup.ispsystem.info/repo/x86_64/php-zendguard-5.5.0-1.el6.x86_64.rpm


- А будет ли i386?
- 32 битные ОСи должны умереть - тут только 64


- Как сделать самому такой же?
- Читать http://news.bayrepo.net/sborka-paketov-pod-centos-sozdanie-sobstvennogo-repozitoriya/

Ставим mock
Добавляем пользователя mock

У него в директории создаем src srpms rpms

Сборка
mock --buildsrpm --spec=src/php-5.3.28/php53.spec --sources=src/php-5.3.28 --resultdir=srpms
mock --rebuild srpms/php-5.3.28-1.el6.src.rpm --resultdir=rpms

Сборка со своим репозиторием /etc/mock/centosup-6-x86_64.cfg (для php54-pecl-apc итп)
CONFIG=centosup-6-x86_64
mock -r $CONFIG --buildsrpm ...

Готовые rpmки кладем в /var/www/repo/каталог
createrepo SRPMS ; createrepo x86_64

Комментариев нет: