Пока наш системный администратор Ильдар шаманит с кластером для shared-хостинга на best-hosting.ru, в сторону летят очень вкусные вещи =)
На днях он собрал пакеты php52-* для squeeze, а ваш покорный слуга собрал репозиторий для этого дела.
Собранные пакеты ставятся параллельно с php5.3 и ничуть не мешают им. Если вы используете php-cgi, то разные пользователи смогут использовать php52 или php53. Если вы используете mod_php — то вы можете легко переключаться между php52 и php53, но переключение будет затрагивать весь сервер.
Пакеты собраны только для архитектуры amd64. Поддерживать php52 для других архитектур мы, скорее всего, не будем. Может быть, соберем под i386 и забудем, не более.
Спасибо Alexander V Bo за 32 битные пакеты. Я их протестировал — всё работает.
Подключаем наш репозиторий:
Для 64 битных систем:
root@apache-php52:~# echo "deb http://debian.pro/repos/php52-squeeze/ binary/" >> /etc/apt/sources.list && aptitude update
Для 32 битных систем:
root@apache-php52:~# echo "deb http://debian.pro/repos/php52-squeeze/ binary32/" >> /etc/apt/sources.list && aptitude update
Вы должны увидеть что-то вроде:
Current status: 27 new [+27].
после ввода этой команды.
root@apache-php52:~# aptitude search php52
Покажет нам список пакетов, которые доступны для установки.
Все пакеты устроены так, что вместо php5 в названии каталога используется php52.
Например, конфиг для mod-php будет располагаться по адресу /etc/php52/apache2/php.ini, а extensionы в /usr/lib/php52/
Собственнно, поставим веб-сервер на голый дебиан с php52:
root@apache-php52:~# aptitude update && aptitude upgrade && aptitude install apache2 php52 libapache2-mod-php52 mysql-server mysql-client php52-mysql phpmyadmin
(почитайте эти статьи ещё раз, на всякий случай)
Так как мы ставили phpmyadmin, то php5 (то есть 5.3) тоже вытянулся. Отпилим php 5.3 у апача:
root@apache-php52:~# rm /etc/apache2/mods-enabled/php5.load && rm /etc/apache2/mods-enabled/php5.conf
и перезапустим Apache:
root@apache-php52:~# apache2ctl restart
Для удобства поставим php52-cli:
root@apache-php52:~# aptitude install php52-cli
И проверим:
root@apache-php52:~# php52 -i | grep "PHP Version"
PHP Version => 5.2.17-1
Обратите внимание, что бинарник мы запускали php52, а не php.
Ну и собственно, вам осталось проверить версию php, которую раздаёт apache2 в свет (про phpinfo(); все помним).
Есть там и пакет php52-cgi, и всякая фигня а-ля php52-curl.
Собственно, как переключаться в случае с mod-php:
root@apache-php52:~# ls /etc/apache2/mods-available/ | grep php
php52.conf
php52.load
php5.conf
php5.load
Соответствующие load и conf нужно закинуть в /etc/apache2/mods-enabled
По всем вопросам насчет репозитория пишите на vlad@debian.pro.
Спасибо за сборку!
А как в ней включить поддержку gd?
Из-за отсутствия gd получаю такие ошибки:
Fatal error: Call to undefined function ImageCreateFromJpeg() in /var/www/test/test.php on line 55
Поставьте пакет php52-gd
Все отлично, только я присел когда увидел что ITK не совместим с fcgi.. Подозреваю что cgi тоже… А хотелось сделать php52 для тех у кого cms закодирована zend_optimizer и нет возможности обновится…
Думаю проблема для немалого количества хостеров.
CGI пакет у нас тоже собран. Попрощу ещё собрать fcgi, но вообще вряд ли.
А пакетов под х86 ещё не собрано?
Нет, и скорее всего никто их не будет собирать.
А если поделиться сорсами пакета или тоже никак?
В понедельник или во вторник спрошу сорцы и history команд для сборки.
Стоит ли ждать fcgi?
Было бы совсем не плохо :)
Тогда потом выложу сборку под х86.
Нет, fcgi не будет.
Как там исходники для ПХП? нету ещё?
Исходники там вполне обычные как оказалось.
diff файл валяется в репе, history пока не забрал.
Обычные от ленни? а можно линк на дифф? а то там в бинари нету, а остальное закрыто.
http://debian.best-hosting.ru/source/
Здесь исходники и диффы. Порядок сборки:
dpkg-source -x <ПАКЕТ>.dsc
cd <ПАКЕТ>
dpkg-buildpackage -rfakeroot -b -j8 -nc; dpkg-buildpackage -rfakeroot -b -j8 -nc
Собрать там 2 тарболла нужно соответственно (php и suhosin).
И.. как соберете — мне пришлите архивом =) Напишу в топик.
Спасибо!
Пожалуйста добавьте в комплект php52-memcache
В ближайшее время не появится, через неделю-две ждите.
Приветствую.
А где php52-pear?
Мне вот oci8 понадобился…
pear, скорее всего не будет. Нам он не нужен.
Поймите нас правильно — мы не девелоперы дебиана, а просто поддерживаем репу, которая нужна нашим клиентам и нам самим )
Я так понимаю что http://debian.best-hosting.ru/source/ уже доступ закрыли. А жаль.
Да нет, всё там в порядке с доступом. Листинг файлов отключен, просто.
Сделал все как описано в статье. Кроме этого собрал и установил расширения memcache, imagick. Апач (2.2.16) примерно раз в 10 минут вылетает с Segmentation fault:
child pid 19457 exit signal Segmentation fault (11)
Никто не сталкивался с такой проблемой?
Весь софт кроме 2 расширений пхп установлен из репозитария.
Вероятнее всего, из репозитория вы поставили модули для php53.
Собирать и устанавливать ничего не нужно, возьмите пакеты от lenny (с самим php там проблемы по зависимостям были, потому мы и пересобирали, а модули нормально ставятся). Если не будут ставиться — пробуйте —force, установку без зависимостей и прочее. И потом ручками в php.ini подключайте.
Memcache наверняка не взлетит, если он неправильной версии.
А вообще — было бы неплохо посмотреть на strace апача перед вылетом, syslog, dmesg, error.log, если там что-то есть.
Спасибо, то что надо! Не хотелось собирать руками.
deb http://debian.best-hosting.ru cluster/ не работает . в конце выдает Ош http://debian.best-hosting.ru cluster/ Packages
404 Not Found
W: Не удалось получить http://debian.best-hosting.ru/cluster/Packages.gz 404 Not Found
пофиксят ?
Пофиксили, смотрите в мануал.
Очень нужный репозиторий, не первый раз выручает. Спасибо!
Возможно ли воспользоваться этим репозиторием для работы php и nginx? В связях прописан Apache и при удалении его компонентов удаляется и php.
root@master:~# apt-get install php52 php52-cgi
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following extra packages will be installed:
php52-common php52-suhosin
Suggested packages:
php52-pear
The following NEW packages will be installed:
php52 php52-cgi php52-common php52-suhosin
0 upgraded, 4 newly installed, 0 to remove and 101 not upgraded.
Need to get 5,532 kB of archives.
After this operation, 12.3 MB of additional disk space will be used.
Do you want to continue [Y/n]?
https://debian.pro/239
fpm там не собран, разумеется.
Страница http://debian.best-hosting.ru/
Выдаёт:
Information
Account disabled by server administrator.
Репозиторий закрыт?
Попросил включить, подняли.
Потом перенесу к себе.
Спасибо.
Попробовал установить на Debian 7 amd64
Вылезли ошибки зависимости
libapache2-mod-php52 : Зависит: libdb4.8 который является виртуальным пакетом.
Зависит: libssl0.9.8 (>= 0.9.8m-1) который является виртуальным пакетом.
php 5.2 для Debian 6 squeeze
Я понял :) Для Debian 7 нет готовых пакетов?
Нет, и тащить на 7й дебиан php52 не стоит вообще.
Если сильно нужно — поставь в чруте squeeze, разверни апач с 52 внутри чрута, через nginx спроксируй туда запросы для нужного вхоста.
Или просто поставь squeeze.
собери сам — какие проблемы примерно как тут
http://www.howtoforge.com/building-php-5.4-from-source-on-debian-squeeze