Configurer les dépôts Dotdeb sur Debian
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
- Merci aux mainteneurs des dépôts Dotdeb.
- Merci à Kris Willis pour ps_files_cleanup_dir: opendir(/var/lib/php5) failed: Permission denied (13)