Debian – Installation Virtualmin – Le bug Postfix

Tiens, depuis la récente mise à jour de Postfix dans les dépots Debian Lenny, il me semble qu’il y a comme un souci avec l’installateur automatique de Virtualmin.

Les utilisateurs assidus de Virtualmin savent que l’installation de la bête est d’une simplicité à faire ricaner un enfant de 3 ans. Pour installer Virtualmin sur une Debian, il suffit de :

wget http://software.virtualmin.com/gpl/scripts/install.sh
chmod +x install.sh
./install.sh

Et il ne reste plus qu’à laisser tourner le bouzin. Glop glop glop 🙂

Sauf que voilà, depuis quelques jours … pas glop.

En lançant l’installateur “comme d’habitude”, on se retrouve avec une belle erreur :
E: Package postfix-tls has no installation candidate
Et, quelques lignes plus loin :
FATAL – Cannot continue installation.

En version longue, ça donne ça :

/E: Package postfix-tls has no installation candidate                                                                                                                                 /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install postfix postfix-pcre webmin usermin ruby libapache2-mod-ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php5 php5-cgi libgd2-xpm libapache2-mod-php5 php5-mysql postfix-tls failed.  Error (if any): 0

Displaying the last 15 lines of /root/virtualmin-install.log to help troubleshoot this problem:
INFO - 2011-05-18 20:17:58 - OK
INFO - 2011-05-18 20:18:03 - Hit
INFO - 2011-05-18 20:18:03 - Removing Debian standard Webmin package, if they exist...
INFO - 2011-05-18 20:18:03 - Removing Debian apache packages...
DEBUG - 2011-05-18 20:18:04 - Reading
INFO - 2011-05-18 20:18:04 - Installing dependencies using command: /usr/bin/apt-get --config-file apt.conf.noninteractive -y --force-yes install postfix postfix-pcre webmin usermin ruby libapache2-mod-ruby libxml-simple-perl libcrypt-ssleay-perl unzip zip libfcgi-dev bind9 spamassassin spamc procmail libnet-ssleay-perl libpg-perl libdbd-pg-perl libdbd-mysql-perl quota iptables openssl python mailman subversion ruby irb rdoc ri mysql-server mysql-client mysql-common postgresql postgresql-client awstats webalizer dovecot-common dovecot-imapd dovecot-pop3d proftpd libcrypt-ssleay-perl awstats clamav-base clamav-daemon clamav clamav-freshclam clamav-docs clamav-testfiles libapache2-mod-fcgid apache2-suexec-custom scponly apache2 apache2-doc libapache2-svn libsasl2-2 libsasl2-modules sasl2-bin php-pear php5 php5-cgi libgd2-xpm libapache2-mod-php5 php5-mysql postfix-tls
Reading package lists...
Building dependency tree...
Reading state information...
bind9 is already the newest version.
iptables is already the newest version.
libsasl2-2 is already the newest version.
Package postfix-tls is a virtual package provided by:
postfix 2.5.5-1.1+lenny1
You should explicitly select one to install.

FATAL - Fatal Error Occurred: Something went wrong during installation: 0
FATAL - Cannot continue installation.
FATAL - Attempting to remove virtualmin repository configuration, so the installation can be
FATAL - re-attempted after any problems have been resolved.
FATAL - Removing temporary directory and files.
FATAL - If you are unsure of what went wrong, you may wish to review the log
FATAL - in /root/virtualmin-install.log

Pan dans les dents ! 🙁

On comprend bien que le paquet postfix-tls pose problème, mais que faire ? La solution existe, elle est un poil difficile à trouver (d’où ce billet) et elle se trouve sur le forum Virtualmin :  http://www.virtualmin.com/node/18213

En bref, il suffit d’éditer l’installateur (install.sh donc) et de commenter les lignes 97, 98 et 99 :

if [ "$?" != 0 ]; then
       debdeps="$debdeps postfix-tls"
fi

On relance le bouzin et (soulagement, volupté), ça remarche.

Debian : Mise à jour de Bind9 fait buguer Webmin

Une récente mise à jour de Bind dans les dépôts Debian induit un léger bug dans Webmin / Virtualmin.

Ceux qui sont dans le cas (Webmin / Virtualmin installé sur une Debian Lenny) et qui mettent à jour (apt-get upgrade) apercevront sans doute que Bind “ne tourne plus”. En tout cas c’est ce que vous dira votre Webmin. Si vous essayez alors de lancer Bind via Webmin, vous obtiendrez une jolie erreur “Unknown Error”. Pas vraiment rassurant…

Heureusement, c’est en fait nettement moins grave qu’il n’y paraît : Bind tourne bel et bien (un petit passage en SSH vous le confirmera vite), c’est simplement Wembin qui ne le détecte plus. Pour fixer ça, il suffit de se rendre dans Webmin -> Servers -> BIND DNS Server -> Module Config -> System configuration et ajouter ceci dans Default PID file location(s) :

/var/run/bind/run/named/named.pid

Avec le bon chemin vers named.pid, Webmin retrouvera ses petits et il ne vous embêtera plus 🙂

Source : https://www.virtualmin.com/node/14569 (inscription nécessaire sur le site)

Attention, cela concerne aussi les nouvelles installations : pour ceux qui ont l’habitude d’installer Virtualmin sur Debian, ne soyez pas surpris de constater que Bind ne “semble” pas tourner sur une installation fraîche (la manipulation pour fixer le bug est évidemment identique).