Буває так, що в свіжому дистрибутиві Debian може знадобитися стара версія php, яка не входить в стабільну гілку дистрибутива. Наприклад, php 5.3 для роботи сайту на сервері з Debian Jessie.
Для повного дозволу залежностей слід, крім php, встановлювати пакети apache, актуальні для попереднього стабільного дистрибутива Debian.
І найважливіший аспект: завжди робіть бекапи всіх конфігураційних файлів!
Можливо, вам знадобиться видалити вже встановлені пакети php з стабільної гілки, якщо були встановлені раніше. Це можна зробити командою:
# Aptitude purge `dpkg -l | grep php | grep -w 5 | awk '{print $ 2}' | xargs`
І ту ж саму команду виконуємо для apache, відповідно, замінюючи php на apache2.
Додавання репозиторіїв
Пакети для Debian Squeeze, в даний час, доступні тільки в архівному репозиторії . Список буде виглядати так:
deb http://archive.debian.org/debian/ squeeze main deb-src http://archive.debian.org/debian/ squeeze main
Додаємо його однією командою:
# Echo -e "deb http://archive.debian.org/debian/ squeeze main \ ndeb-src http://archive.debian.org/debian/ squeeze main"> /etc/apt/sources.list.d /php-squeeze.list
І оновлюємо кеш пакетів.
# Aptitude update
Визначення пріоритету пакетів
Далі створюємо файл /etc/apt/preferences.d/php-apache-squeeze, де прописуємо наступне:
Package: * php5 * Pin: release a = squeeze Pin: version 5.3 * Pin-Priority 1000 Package: * apache * Pin: release a = squeeze Pin: version 2.2 * Pin-Priority 1000
Найбільшої уваги заслуговують два параметра.
Pin: release a = squeeze - напівжирним виділено ім'я гілки дистрибутива.
Pin: version - версія пакетів.
Зберігаємо файл, встановлюємо пакети стандартним чином:
# Apt-get install apache2-mpm-prefork libapache2-mod-php5 php5-cli php5-mysql
При цьому методі не потрібно заморожувати пакети, так як під час оновлення системи, вони порушені не будуть. Також слід зазначити, що в старих гілках можуть бути відсутні деякі пакети (php5-fpm для версії 5.3).
PS Також цей спосіб цілком підходить і для Убунту, але з переглядом використовуваних репозиторіїв.
Дякуємо. Допомогло.
Добридень!
При установки libapache2-mod-php5 - видає наступне:
root @ funticket: ~ # apt-get install libapache2-mod-php5
Reading package lists ... Done
Building dependency tree
Reading state information ... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
init: PreDepends: systemd-sysv but it is not going to be installed or
sysvinit-core but it is not going to be installed or
upstart but it is not going to be installed
initscripts: Depends: sysv-rc or
file-rc but it is not going to be installed
Recommends: e2fsprogs but it is not going to be installed
libapache2-mod-php5: Depends: libssl0.9.8 (> = 0.9.8m-1) but it is not going to be installed
Depends: apache2-mpm-prefork (> 2.0.52) but it is not going to be installed or
apache2-mpm-itk but it is not going to be installed
Depends: apache2.2-common but it is not going to be installed
Depends: php5-common (= 5.3.3-7 + squeeze19) but it is not going to be installed
Depends: ucf but it is not going to be installed
Depends: tzdata but it is not going to be installed
Recommends: php5-cli but it is not going to be installed
libblkid1: Depends: libuuid1 (> = 2.16) but it is not going to be installed
libreadline6: Depends: readline-common but it is not going to be installed
logrotate: Depends: cron or
anacron or
cron-daemon
Recommends: mailx
E: Error, pkgProblemResolver :: Resolve generated breaks, this may be caused by held packages.
Буду вдячний будь-якої допомоги! Ніяк не виходить пеху запустити в 8-ке debian
В даний момент можу порекомендувати замість модуля libapache2-mod-php5 використовувати php5-cgi.
Спочатку ставимо apache:
Таким чином можна навіть не ставити старий apache зі сховищ squeeze.
Потім ставимо php:
Включаємо mod_actions:
У конфиг віртуального хоста в конфіги apache додаємо рядки:
Спасибі за відповідь!
Мені потрібно саме щоб php працював як модуль apache.
Вирішив питання поставивши Debian 7.