
У меня есть несколько производственных серверов, работающих под управлением Centos. Моему приложению требуется довольно свежая версия PHP (> 5.2, IIRC). В настоящее время пользователям Centos доступны следующие опции:
- Официальные, основные пакеты centos5/redhat.
- Плюсы: Самый стабильный, самый безопасный, простой в установке — RedHat регулярно выпускает обновления безопасности и рекомендации.
- Минусы: пакеты старые (5.1.6?)
- Сторонние репозитории (например,Реми Коллерепозиторий)
- Плюсы: новейший, простой в установке
- Минусы: Ненадежный — мы раньше пользовались репозиторием utterramblings... но парень пропал без вести больше года назад. Я не хочу снова оказаться в беде.
- Минусы: Не такой безопасный и стабильный
- Используйте тестовый репозиторий CentOS
- Плюсы: Довольно новая версия, легко устанавливается.
- Минусы: Нестабильно. Не зря же его называют "тестированием". Не идеально для производственного сервера
- Сборка из исходного кода (php.net)
- Плюсы: Передовой
- Минусы: трудоемкий, небезопасный, нестабильный
Другие варианты:
- Redhat предлагаетСтек приложений Redhatкоторый включает в себя последние сборки, но эквивалента CentOS не существует.
- Есть ли причина, по которой версии CentOS этих пакетов не существуют? Исходный код должен быть доступен, верно?
- Исходный код должен быть доступен, верно? Насколько сложно будет самому собрать пакеты centos?
- Другие дистрибутивы Linux
- Debian по стабильности сопоставим с RedHat, но предлагает старые пакеты
- Ubuntu предлагает более свежие, но менее стабильные/безопасные пакеты
- Другие?
Итак, в конце концов, мой вопрос таков: есть ли хороший источник стабильных, безопасных, регулярно обновляемых пакетов PHP или исходников (для ЛЮБОГО дистрибутива Linux)? Откуда вы берете исходники/бинарные файлы?
решение1
Хочу подчеркнуть сторону Debian:
Предыдущий выпуск Debian — Etch (8 апреля 2007 г.) — поставлялся с PHP 5.2.0.
Текущий релиз Debian — Lenny (14 февраля 2009 г.) — вышел с PHP 5.2.6.
Если в течение цикла выпуска должны быть внесены какие-либо существенные обновления пакетов, эти версии обычно доступны по адресуbackports.orgесли у них есть заметная база пользователей. Полный список бэкпортированных пакетов, доступных для Lenny, можно найтиздесь. На данный момент этот список относительно короткий, поскольку последний релиз вышел всего несколько месяцев назад.
Чтобы увидеть конкретные версии дляPHPи другие пакеты в Debian, которые вы можете использоватьпакеты.debian.org.
решение2
Я создаю собственные RPM-пакеты, потому что не доверяю сторонним разработчикам, которые хотят, чтобы они оставались на земле.
Это немного утомительно (хотя я собираю только несколько пакетов), но я знаю, что получу, когда закончу. Я использую файлы спецификаций из апстрима (RHEL / CentOS), но при необходимости изменяю их в соответствии со своими потребностями и заменяю в любой версии исходного кода, которую ищу (изменяя патчи апстрима, когда необходимо).
Это также помогает моему рабочему процессу, поскольку я не устанавливаю компиляторы на производственных системах, поскольку я могу отправлять им свои специально созданные двоичные файлы. Я также делаю это, чтобы обеспечить бэкпорты для новых пакетов на старые ОС, когда я "застрял" на старой ОС (нет бюджета на обновление и т. д.).
Если вы можете заполучить SRPMS, сборка пакета не будет слишком сложной. (В основном это сборка среды сборки для конкретного пакета, что может быть головной болью.) Сборка RPM с нуля (т. е. написание спецификации самостоятельно) — хорошее упражнение, хотя вам следует сначала прочитать несколько «профессионально» составленных спецификаций, чтобы почувствовать это.
решение3
Я не могу точно ответить на ваш вопрос, но я обычно использую официальную версию исходного кода, а затем компилирую ее в среде разработки.
Затем я просто создаю из него пакет с помощью инструмента dpkg (я использую Debian), но должен быть похожий способ создания пакета для ОС типа RedHat.
Затем вам просто нужно распространить его на своих серверах.
решение4
Другие варианты, которые стоит рассмотреть
- Веб-стек Sun -http://www.sun.com/software/webstack/get.jsp
- Zend Core из Zend Community Server -http://www.zend.com/products/server/downloads-all