home *** CD-ROM | disk | FTP | other *** search
/ Freelog Special Edition 1: Linux / CD1.iso / doc / HOWTO / mini / Fax-Server < prev    next >
Text File  |  1998-10-14  |  6KB  |  209 lines

  1.   Linux simple fax printer server mini-HOWTO (faxsrv-mini-HOWTO)
  2.   Erez Strauss <erez@newplaces.com> <mailto:Erez Strauss
  3.   <erez@newplaces.com>>
  4.   v1.0, 8 November 1997
  5.  
  6.   No warranties. Comments are always welcome.  This document describes
  7.   in details one of the simplest ways to setup fax server on your Linux
  8.   system. The fax is available to the users on the local host and to
  9.   network users.
  10.  
  11.   1.  Introduction
  12.  
  13.   To get a working printer/fax on the linux machine you should have some
  14.   software and fax modem.
  15.  
  16.   The Printing software will be using the fax software as a print
  17.   filter.  The efax will find the fax number from the print Job number
  18.   and will send the fax.  The efax software was written be Ed Casas
  19.   <edc@cce.com>.
  20.  
  21.   The rest of the document is build as Q&A.
  22.  
  23.   2.  Questions & Answers
  24.  
  25.   2.1.  What is a fax printer server ?
  26.  
  27.   A fax printer server is a setup of few programs: efax, and the print
  28.   server, in such a way that sending a fax from the computer is as
  29.   simple as sending printout to a printer.
  30.  
  31.   2.2.  How to set it up ?
  32.  
  33.   Setting efax as fax print server includes few problems As I worked it
  34.   out few times, I decided to collect this wisdom in this small mini-
  35.   HOWTO, comments are welcome at <erez@newplaces.com>.  I describe them
  36.   here and the solutions, and all the instruction in short steps:
  37.  
  38.   2.2.1.  The efax Software
  39.  
  40.   make sure you have the efax package.
  41.  
  42.   On RPM based system use the command 'rpm -qv efax'.
  43.  
  44.   You can get the efax sources in tar.gz format from sunsite:
  45.   ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz or
  46.   binary rpm package:
  47.   ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm
  48.  
  49.   2.2.2.  The printcap entry.
  50.  
  51.   The efax documentation is missing the :  at the end of the printcap
  52.   entry.
  53.  
  54.   Solution: Add the following /etc/printcap entry:
  55.  
  56.        fax:\
  57.                :lp=/dev/null:\
  58.                :sd=/var/spool/fax:\
  59.                :if=/usr/bin/faxlpr:
  60.  
  61.   2.2.3.  The fax command
  62.  
  63.   Use hard link and not symbolic link to the fax command.
  64.  
  65.   Run the command:
  66.  
  67.        ln /usr/bin/fax /usr/bin/faxlpr
  68.  
  69.   2.2.4.  The /usr/bin/fax file.
  70.  
  71.   Edit the /usr/bin/fax to your preferences:
  72.  
  73.   choose the right Fax Class for your modem:
  74.  
  75.        CLASS=2.0
  76.  
  77.   Set the FROM="your international phone number" field
  78.  
  79.        NAME="Your Name"
  80.  
  81.   Add the line for conversion of international phone number to local for
  82.   example in Israel you would use:
  83.  
  84.        TELCVT='sed -e s/+972/0/ -e s/+/00/'  # Israel
  85.  
  86.   There is a problem in the file in line 586, change the cfile=... with
  87.   the following two lines:
  88.  
  89.        cfile=`/usr/bin/tail -1 lock`
  90.        cfile=`cat $cfile`
  91.  
  92.   at lines 586,587 there shouldn't be '-' signs the lines are:
  93.  
  94.        0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;;
  95.        *) echo "$l" | mail -s "fax to $num failed   " $user@$host ;;
  96.  
  97.   2.2.5.  The /var/spool/fax directory.
  98.  
  99.   create the directory /var/spool/fax
  100.  
  101.        mkdir /var/spool/fax
  102.        chmod 777 /var/spool/fax
  103.  
  104.   2.2.6.  The lock file.
  105.  
  106.   The lock file (/var/spool/fax/lock) is being created with incorrect
  107.   permissions, use the following command to set it correctly:
  108.  
  109.        touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock
  110.  
  111.   2.2.7.  The /dev/modem special file.
  112.  
  113.   The efax program is expecting real device file at the /dev/modem and
  114.   will not work with symbolic link, so create a device file with the
  115.   same major and minor number as the /dev/cua? the is connected to the
  116.   modem. The file should have the rw-rw-rw- mode to enable any user to
  117.   use the fax software.
  118.  
  119.        ls -lL /dev/modem
  120.        rm /dev/modem
  121.        mknod /dev/modem c Mj Mi
  122.        chmod 666 /dev/modem
  123.  
  124.   Mj is 5, and Mi is 64 for the cua0, 65 for cua1 and so on.  For
  125.   example (for cua1):
  126.  
  127.        mknod /dev/modem c 5 65
  128.  
  129.   2.2.8.  The /var/lock directory.
  130.  
  131.   change the mode at the /var/lock directory
  132.  
  133.        chmod 1777 /var/lock
  134.  
  135.   2.3.  How do I use it, for the server ?
  136.  
  137.   You should use the fax printer using the -P option and the -J option
  138.   with the fax number.
  139.  
  140.   use one of the following lpr commands:
  141.  
  142.         lpr -Pfax -J <Fax-Number> [file-names]
  143.         any command | lpr -Pfax -J <Fax-Number>
  144.  
  145.   2.4.  Where do I specify the target Fax number ?
  146.  
  147.   After the -J option.
  148.  
  149.   2.5.  How do I use it from other Unixes on the net ?
  150.  
  151.   Add the following entry into the /etc/printcap file and the client
  152.   Linux systems, create the spool directory, and so on ...
  153.  
  154.        fax:\
  155.                :sd=/var/spool/fax:\
  156.                :mx#0:\
  157.                :sh:\
  158.                :rm=host.domain:\
  159.                :rp=fax:
  160.  
  161.   add the name of the client hosts into the /etc/hosts.lpd on the fax
  162.   server machine.
  163.  
  164.   use it as before.
  165.  
  166.   Note:
  167.  
  168.   The header string that efax adds to the fax pages is not effected by
  169.   the user name that sends the fax. (can be updated).
  170.  
  171.   2.6.  Caldera, LPRng users
  172.  
  173.   The LPRng printing management software is using a different method to
  174.   handle the control file.
  175.  
  176.   Thanks to Luca Montecchiani <m.luca@usa.net>, who found the problem
  177.   and the solution.  Here is an update to the /usr/bin/fax file. The
  178.   following line replace the two simple cfile=... lines at lines 586,587
  179.  
  180.   # Modified to work also with the LPRng package
  181.   # Luca Montecchiani (08/11/97 m.luca@usa.net)
  182.   if [ !-z "$CONTROL_FILE" ]
  183.       then
  184.           cfile=`cat tail -1 lock`
  185.           cfile=`cat $cfile`
  186.       else
  187.           cfile=$CONTROL_FILE
  188.   fi
  189.  
  190.   3.  Latest version, Contacting the author.
  191.  
  192.   The latest version of this file can be accessed through the world wide
  193.   web using URLs
  194.  
  195.        http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml
  196.        http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html
  197.        http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt
  198.        http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info
  199.  
  200.   You can contact me
  201.  
  202.        Erez Strauss
  203.        erez@newplaces.com
  204.        http://www.newplaces.com/linux/
  205.        http://www.newplaces.com/
  206.        Phone: +972 52 739737
  207.        Fax:  +972 9 954 3034
  208.  
  209.