Mini-HOWTO Fax-server

Erez Strauss erez@newplaces.com Version v1.0

8 November 1997
Traduit par Frédéric Gacquer gacquer@neuronnexion.fr Mercredi 14 janvier 1998.

Aucune garantie. Les commentaires sont les bienvenus. Ce document décrit en détail une des façons les plus simples d'installer un serveur de fax sur votre système linux. Le fax est disponible pour les utilisateurs sur le poste local et aux utilisateurs sur le réseau.

1. Introduction

Pour faire fonctionner une imprimante/fax sur une machine linux vous devez avoir quelques logiciels et un modem fax.

Les logiciels pour l'Imprimante utiliseront le logiciel fax comme un filtre d'impression. Efax trouvera le numéro de fax à partir du numéro de la tâche d'impression et enverra le fax. Le logiciel efax a été écrit par Ed Casas edc@cce.com.

Le reste du document est construit autour de Question/Réponses.

2. Questions et réponses

2.1 Qu'est-ce qu'un serveur d'impression de fax

Un serveur d'impression de fax est une installation de quelques programmes: efax, et le serveur d'impression, de telle manière qu'envoyer un fax à partir de l'ordinateur est aussi simple qu'envoyer une impression à l'imprimante.

2.2 Comment l'installer ?

Installer efax comme serveur d'impression de fax comporte peu de problème. Comme j'ai travaillé dessus quelque fois, j'ai décidé de réunir ces connaissances dans ce petit mini-HOWTO, les commentaires sont les bienvenus à erez@newplaces.com.Je les décrits ici ainsi que les solutions, et toutes les instructions en quelques étapes:

Le logiciel efax

Assurez-vous que vous avez le progiciel efax.

Sur les systèmes qui reposent sur RPM utilisez la commande 'rpm -qv efax'.

Vous pouvez obtenir les sources d'efax en format tar.gz chez sunsite: ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz ou le progiciel binaire en rpm: ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm.

L'entrée printcap

Le documentation d'efax a oublié le : à la fin de l'entrée printcap.

Solution: ajouter ce qui suit à l'entrée /etc/printcap:

  
       fax:\
               :lp=/dev/null:\
               :sd=/var/spool/fax:\
               :if=/usr/bin/faxlpr:
     

La command fax

Uilisez des liens physique et non des liens symboliques à la commande fax.

Exécuter la commande:

  
            ln /usr/bin/fax /usr/bin/faxlpr
     

Le fichier /usr/bin/fax.

Editez /usr/bin/fax à votre convenance.

Choisir la bonne classe de votre modem:

  
       CLASS=2.0
     

Positionner le champ FROM="votre numéro de téléphone international"

  
       NAME="votre nom"
     

Ajouter la ligne de conversion du numéro de téléphone international en local, par exemple pour Israël vous pourriez utiliser:

  
          TELCVT='sed -e s/+972/0/ -e s/+/00/'  # Israel
     

Il y a un problème dans le fichier à la ligne 586, changer le cfile=... avec les deux lignes suivantes:

  
       cfile=`/usr/bin/tail -1 lock`
       cfile=`cat $cfile`
     

Aux lignes 586,587 il ne devriez pas y avoir le signe '-', les lignes sont

  
       0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;;
       *) echo "$l" | mail -s "fax to $num failed   " $user@$host ;;
     

Le répertoire /var/spool/fax

Créer le répertoire /var/spool/fax

  
       mkdir /var/spool/fax
       chmod 777 /var/spool/fax
     

Le fichier lock.

Le fichier lock (/var/spool/fax/lock) est créé avec des permissions incorrectes, utiliser les commandes suivantes pour les positionner correctement:

  
        touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock
     

le fichier spécial /dev/modem

Le programme efax s'attend à un fichier device /dev/modem réél et ne fonctionnera pas avec des liens symobliques, donc créer un fichier device avec le même nombre majeur et le même mineur que /dev/cua? qui est connecté au modem. Le fichier devra avoir les permissions rw-rw-rw- pour autoriser n'importe quel utilisateur à utiliser le logiciel de fax.

  
       ls -lL /dev/modem
       rm /dev/modem
       mknod /dev/modem c Mj Mi
       chmod 666 /dev/modem
     

Mj est 5, et Mi est 64 pour cua0, 65 pour cua1 et ainsi de suite. Par exemple (pour cua1) :

  
        mknod /dev/modem c 5 65
     

Le répertoire /var/lock.

  
        chmod 1777 /var/lock
     

2.3 Comment l'utiliser, avec le serveur ?

Vous devez utiliser l'imprimante fax en utilisant l'option -P et l'option -J avec le numéro de fax.

Utiliser une des commandes lpr suivantes :

  
        lpr -Pfax -J <Numéro-De-Fax> [nom-de-fichiers]
        toute commande | lpr -Pfax -J <Numéro-De-Fax>
     

2.4 Où indique t on le numéro de fax destinataire ?

Après l'option -J.

2.5 Comment l'utiliser à partir d'autres unix ?

Ajouter les entrées suivantes dans le fichier /etc/printcap et le système client Linux, créer le répertoire de spool, et ainsi de suite...

  
         fax:\
                   :sd=/var/spool/fax:\
                   :mx#0:\
                   :sh:\
                   :rm=host.domain:\
                   :rp=fax:
     

ajouter le nom de l'hôte client dans /etc/hosts.lpd sur la machine serveur de fax.

Utiliser comme précédemment.

Note:

La chaîne de caractère d'entête qu'efax ajoute aux pages des fax n'est pas effectué par l'utilisateur qui envoi le fax. (peut être mis à jour).

Utilisateurs de Caldera, LPRng

Le logiciel de contrôle d'impression LPRng utilise une méthode différente pour prendre en charge le fichier de contrôle.

Merci à Luca Montecchiani m.luca@usa.net, qui a trouvé le problème et la solution. Voici une mise à jour du fichier /usr/bin/fax. Les lignes suivantes remplacent les deux simples lignes de cfile=... aux lignes 586,587

  

  # Modified to work also with the LPRng package
  # Luca Montecchiani (08/11/97 m.luca@usa.net)
  if [ !-z "$CONTROL_FILE" ]
      then
          cfile=`cat tail -1 lock`
          cfile=`cat $cfile`
      else
          cfile=$CONTROL_FILE
  fi
     

3. Dernière version, Contacter l'auteur.

La dernière version de ce fichier peut être trouvé à travers le world wide web en utilisant les URLs

Vous pouvez me contacter :

Erez Strauss

Phone: +972 52 739737 Fax: +972 9 954 3034