ご注意下さい
この記事は3年以上前に書かれた記事ですので、内容が古い可能性があります。
CentOS5.5でもFAXサーバを作ってみました。
以前の方法でだいたいOKですが、多少違いがありましたのでその点のみ。
/etc/inittabは以下のように最終行に記載をします。
7:2345:respawn:/sbin/mgetty ttyS0
また、CentOSでは/etc/mgetty+sendfax/new_faxコマンドで利用するmmencodeがありません。以前のnew_faxではなく、/usr/share/doc/mgetty-1.1.33/samples/new_fax.tiff を /etc/mgetty+sendfax/new_faxとしてコピーしパーミッションも755に変更しましょう。
結局 new_fax.tiff中で使っているコマンドのmetasendがCentOSではパッケージされていないため利用を断念。旧来のnew_faxに戻しました。ただし前述の通りmmencodeコマンドがない為base64コマンドに置き換えています。(53,54行目と117,118行目)
#From: Martin Spott <martin@@onyx.dirnet.com> #Subject: aaaiiiiiaaaaiiiiiii .... #To: gert@@greenie.muc.de #Date: Mon, 5 Aug 1996 22:55:24 +0200 (MET DST) #!/bin/sh # # I normally run this with a statically linked '/bin/pdksh' # /usr/local/lib/mgetty+sendfax/new_fax # # A script to send mgetty's incoming faxes via MIME encoded EMail; # by Martin Spott (martin.spott@@uni-duisburg.de), I borrowed one or two # lines from other's .... # # I wrote this one because I wanted a program using as little specialized # MIME tools as possible. # # This 'new_fax' only needs ' g3topbm', 'pnmscale' and 'pnmtotiff' from the # 'pbmplus' package, 'mmencode' from the 'multimail' packages, and the rest # is standard Unix tools. # It was tested with thsmail under Linux and PMMail under OS/2 as frontends. # This script is called when a message was recorded. # It gets the following arguments: # $1 : the hangup code # $2 : the remote id # $3 : the number of pages # $4... : the file names # Place the correct EMail-adresses here !!! USER="fax" ADMIN="root" # How mgetty calls us. HANGUP_CODE="$1" SENDER_ID="$2" NUMBER_PAGES="$3" # Some miscellaneous data and filenames. TMP=/tmp XSCALE=0.58 TIMESTAMP=`/bin/date +%m.%d_%H:%M:%Sh` MIME_TIFF=$TMP/TIFF_$TIMESTAMP MIME_MAIL=$TMP/MAIL_$TIMESTAMP # The binaries we need; please check carefully !!! BASENAME=/bin/basename CAT=/bin/cat ECHO=/bin/echo ELM=/usr/bin/elm G3TOPBM=/usr/bin/g3topbm #MMENCODE=/usr/bin/mmencode MMENCODE=/usr/bin/base64 PNMSCALE=/usr/bin/pnmscale PNMTOTIFF=/usr/bin/pnmtotiff RM=/bin/rm SED=/bin/sed SENDMAIL=/usr/sbin/sendmail # Essential lines to put into the header of a MIME mail. HEADERLINE_1="MIME-Version: 1.0" HEADERLINE_2="Content-Type: multipart/mixed; boundary="attachment"" # Lines to put into the header of each MIME attachment. ATTACHMENT_HEADERLINE_1="--attachment" ATTACHMENT_HEADERLINE_2="Content-Type: image/tiff" ATTACHMENT_HEADERLINE_3="Content-Transfer-Encoding: base64" # Line to close the attachment section of a MIME mail. ATTACHMENT_ENDLINE="--attachment--" # Now we build our MIME mailheader using commandline arguments. $ECHO "Subject: incoming FAX from $2 with $3 pages" > $MIME_MAIL $ECHO "$HEADERLINE_1" >> $MIME_MAIL $ECHO "$HEADERLINE_2" >> $MIME_MAIL $ECHO "" >> $MIME_MAIL # To handle each attachment we skip the first three arguments (those we # already used for the header). shift 3 # Handling of each fax page, whose names are given via commandline arguments. # We have to cut off the absolute path via 'basename' and remove the dot # which separates the page number. Also we add a filename extension and fit # the result as filename into our attachment header - some mail frontends # need this. # for i in $@ do # We use the second character in the filename to identify the # resolution of our incoming fax, so we can easily scale the fax for # display on a screen. RESOLUTION=`$BASENAME $i | $SED 's/.\(.\).*/\1/'` if [ "$RESOLUTION" = "n" ] then YSCALE=1.16 else YSCALE=0.58 fi # # The fax is converted from G3 to PBM, it is scaled and then # converted to TIFF. # We write it into a temporary file, because my 'mmencode' doesn't # handle standard input correctly. $CAT $i | $G3TOPBM | $PNMSCALE -xscale $XSCALE -yscale $YSCALE \ | $PNMTOTIFF -packbits> $MIME_TIFF # # Now we put the header for each attachment into our MIME mail. $ECHO "$ATTACHMENT_HEADERLINE_1" >> $MIME_MAIL $ECHO "$ATTACHMENT_HEADERLINE_2; name=\"`$BASENAME $i|cut -f1 -d\.``$BASENAME $i|cut -f2 -d \.`.TIF\"" >> $MIME_MAIL $ECHO "$ATTACHMENT_HEADERLINE_3" >> $MIME_MAIL $ECHO "" >> $MIME_MAIL # # Here we do base64 encoding of out TIFF data and add the result # into our MIME mail as attachment. #$MMENCODE -b $MIME_TIFF >> $MIME_MAIL $MMENCODE < $MIME_TIFF >> $MIME_MAIL # # To clean up temporary TIFF data. $RM -f $MIME_TIFF # # Each attachment has to end with a blank line (I believe). $ECHO "" >> $MIME_MAIL done # To close the attachment section of our mail. $ECHO "$ATTACHMENT_ENDLINE" >> $MIME_MAIL # Sending the mail. $SENDMAIL < $MIME_MAIL $USER # Cleaning up mail data. $RM -f $MIME_MAIL # Cheerio ! exit 0
また、/etc/samba/smb.confも修正が必要です。CentOSなど最近のLinuxからは印刷システムがlpdではなくCUPSに変更になっています。samba経由で印刷する際にはCUPSにデータが渡されてしまいprint commandが効かない為、[global]セクションにcupsを利用しない設定を加えましょう。
; printing = cups printing = bsd
最後の/etc/mgetty+sendfax/fax.allowファイルを編集しないとrootユーザしかFAXが送信できません。
root <samba経由でFAXにアクセスするLinuxユーザ名>
とFAX送信可能なユーザを定義しましょう。
これでファックスの送受信が可能になります。
しかし最近はめっきりFAXを利用する機会も減りましたね…。