Vous êtes ici : Accueil / Debian GNU/Linux / Système / Logiciels / Configurer les dépôts Dotdeb sur Debian

Configurer les dépôts Dotdeb sur Debian

Par Pierre-Yves Landuré Dernière modification 10/08/2013 16:08

Les dépôts Dotdeb contiennent des logiciels non présents par défaut dans les dépôts Debian officiels. Ils fournissent notamment PHP en version 5.4, le serveur HTTP nginx, le toolkit Percona, etc... Ce guide met en place ces dépôts avec un impact minimal sur le système: seul les logiciels souhaités sont installés, les autres paquets présents dans les dépôts Dotdeb sont ignorés.

Ce guide est testé sur:

  • Debian 6.0 Squeeze

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)"

Ajoutez les dépôts à 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.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 des logiciels

Installation de la version de PHP 5.3 fournie par Dotdeb

Récupérez le nom de la distribution:

DEBIAN_VERSION="$(command lsb_release -cs)"

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: 500" \
> '/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'

Installez les paquets PHP5 en mettant à jour votre système si vous disposez d'un installation de PHP existante:

command apt-get upgrade

Si PHP-APC est installé, remplacez-le par la version fournie par Dotdeb:

if [ -n "$(command dpkg --status php-apc | command grep 'Status: install ok installed')" ]; then
  command apt-get -y remove --purge php-apc
  command apt-get -y install php5-apc
fi

Installation de la version de MySQL 5.5 fournie par Dotdeb

Récupérez le nom de la distribution:

DEBIAN_VERSION="$(command lsb_release -cs)"

Récupérez la liste des paquets MySQL 5.5 disponibles sur les serveurs Dotdeb:

PACKAGES=$(command wget "http://packages.dotdeb.org/dists/${DEBIAN_VERSION}/mysql-5.5/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}/mysql-5.5/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 MySQL de DotDeb:

command echo "Package: ${PACKAGES} \\
${ALL_PACKAGES}
Pin: origin packages.dotdeb.org
Pin-Priority: 500" \
> '/etc/apt/preferences.d/dotdeb-org-mysql-5-5'

Installez les paquets MySQL 5.5 en mettant à jour votre système si vous disposez d'un installation de MySQL existante:

command apt-get upgrade

Remerciements