Installer PHP 5.3 sur Debian 7.0 Wheezy
Debian 7.0 Wheezy fournit par défaut PHP 5.4. Ce peut causer des incompatibilités avec certaines applications Web. Ce guide aide à installer PHP 5.3 depuis les dépôts DotDeb pour Squeeze sur Debian 7.0 Wheezy.
Ce guide est testé sur:
- Debian 7.0 Wheezy
Installation
Mise en place des dépôts
Installez les prérequis d'installation:
command apt-get install lsb-release
Récupérez le nom de la distribution:
DEBIAN_VERSION="$(command lsb_release -cs)"
Détectez le miroir utilisé par l'installation actuelle:
MIRROR=$(command egrep "^deb.*${DEBIAN_VERSION}" '/etc/apt/sources.list' \
| command egrep -v "updates|-src|cdrom" \
| command head -n 1 \
| cut --delimiter=" " --fields=2)
Ajoutez les dépôts Squeeze à la configuration Apt:
DEBIAN_VERSION="squeeze"
command echo "# Debian contrib repository.
deb http://ftp.fr.debian.org/debian/ ${DEBIAN_VERSION} main
deb-src http://ftp.fr.debian.org/debian/ ${DEBIAN_VERSION} main
deb http://security.debian.org/ ${DEBIAN_VERSION}/updates main
deb-src http://security.debian.org/ ${DEBIAN_VERSION}/updates main" \
> "/etc/apt/sources.list.d/${DEBIAN_VERSION}.list"
Ajoutez les dépôts DotDeb Squeeze à la configuration Apt:
command echo "# DotDeb repository.
deb http://packages.dotdeb.org ${DEBIAN_VERSION} all
deb-src http://packages.dotdeb.org ${DEBIAN_VERSION} all" \
> "/etc/apt/sources.list.d/dotdeb-org-${DEBIAN_VERSION}.list"
Ajoutez la clef signant les dépôt à la configuration Apt:
command wget 'http://www.dotdeb.org/dotdeb.gpg' \
--quiet --output-document=- \
| command apt-key add -
Assignez une très faible priorité aux paquet DotDeb pour ne pas polluer le système:
command echo "Package: *
Pin: origin packages.dotdeb.org
Pin-Priority: 200" \
> '/etc/apt/preferences.d/dotdeb-org'
Mettez à jour la liste des paquets disponibles:
command apt-get update
Installation de PHP 5.3
Récupérez la liste des paquets PHP5 et PECL disponibles sur les serveurs Dotdeb:
PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5/binary-$(command dpkg --print-architecture)" \
--quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"
PECL_PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5-pecl/binary-$(command dpkg --print-architecture)" \
--quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"
ALL_PACKAGES="$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/php5/binary-all" \
--quiet --output-document=- \
| command grep "href=" | command grep -v "h1" | command grep -v "\.\./" \
| command sed -e 's/^[^>]*>\([^_]*\)_.*$/\1/' | command tr "\n" " ")"
Assignez une priorité élevée aux paquets PHP de DotDeb:
command echo "Package: ${PACKAGES} \\
${PECL_PACKAGES} \\
${ALL_PACKAGES}
Pin: origin packages.dotdeb.org
Pin-Priority: 600" \
> '/etc/apt/preferences.d/dotdeb-org-php5'
Assurez-vous que les sessions restent stockées dans "/var/lib/php5" et que PHP ne gère pas leur destruction (géré par un cron):
command mkdir --parents '/etc/php5/conf.d' '/var/lib/php5'
command chmod 733 '/var/lib/php5'
command chmod o+t '/var/lib/php5'
echo '; Store sessions to /var/lib/php5
session.save_path = "/var/lib/php5"
session.gc_probability = 0' \
> '/etc/php5/conf.d/000-session-store-default.ini'
Remplacez les paquets PHP5 installés par la version 5.3:
command apt-get install $(command dpkg --get-selections \
| command grep 'php5' \
| command cut --fields=1 \
| command sed -e 's|.*|&/squeeze|g')
Si PHP n'est pas installé, reportez-vous à Installer PHP-FPM sur Debian.
Remerciements
- Merci aux mainteneurs des dépôts Dotdeb.