Linux simple fax printer server mini-HOWTO (faxsrv-mini-HOWTO) <author>Erez Strauss ereznewplaces.com Translated by Ilgiz Kalmetev (2:5011/36.6fidonet) <date> v1.0, 8 November 1997 <abstract> Без гарантий. Комментарии всегда приветствуются. Этот документ подробно описывает один из простеших методов установки факс-сервера на вашем компьютере с Линукс. Факс доступен пользователям данной машины и пользователям сети. </abstract> <toc> <sect>Введение <p> Чтобы получить работающий принтер/факс на вашей linux машине вы должны иметь некоторое ПО и факсмодем. <p> ПО печати будет использоваться ПО факса в качестве фильтра печати. The efax will find the fax number from the print Job number and will send the fax. The efax software was written be Ed Casas <p> Остаток документа построен в виде вопросов-ответов. </sect> <sect>Вопросы и ответы <p> <sect1>Что такое факс-сервер печати? <p> Факс-сервер печати - это набор из нескольких программ: efax и принт-сервера, настроенных с таким расчетом, чтобы сделать отправку факсов такой же легкой, как и печать на принтере. </sect1> <sect1>Как все это настроить? <p> При настройке efax в качестве факс-сервера печати можно наткнуться на несколько проблем. Так как я работал с ним некоторое время, я решил собрать их решения в mini-HOWTO, комментарии приветствуются по адресу Я привел здесь и проблемы и их решения, и все инструкции рахбил по коротким шагам : <p> <sect2>ПО efax <p> Убедитесь, что у вас есть пакет efax. На RPM-основанных системах используйте команду 'rpm -qv efax'. Вы можете взять исходные тексты efax в формате tar.gz с sunsite: <url url="ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz" name="ftp://sunsite.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz"> <newline> или скомпилированный rpm пакет: <url url="ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm " name="ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm" > <sect2>The printcap entry. <p> В документации efax пропущено : в конце записи printcap. Решение: Добавьте следующие строки в /etc/printcap: <verb> fax:\ :lp=/dev/null:\ :sd=/var/spool/fax:\ :if=/usr/bin/faxlpr: </verb> <sect2>Команда fax <p> Используйте для команды fax жесткую связь, а не символическую. Команда: <verb> ln /usr/bin/fax /usr/bin/faxlpr </verb> <sect2>Файл /usr/bin/fax. <p> Отредактируйте /usr/bin/fax под ваши потребности: Выберите правильный Fax Class для вашего модема: CLASS=2.0 Установите поле FROM="ваш международный телефонный номер" NAME="Ваше имя" Добавьте строку для преобразования международного телефонного номера в локальный, например, для Израиля вы должны использовать: <p> <verb> TELCVT='sed -e s/+972/0/ -e s/+/00/' # Израиль </verb> Есть загвоздка в файле в строке 586, измените cfile=... на следующие две строки: <p> <verb> cfile=`/usr/bin/tail -1 lock` cfile=`cat $cfile` </verb> <p> а в строках 586,587 не должно быть знаков '-' в строках: <verb 0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;; *) echo "$l" | mail -s "fax to $num failed " $user@$host ;; </verb> <sect2>Каталог /var/spool/fax. <p> Создайте каталог /var/spool/fax <verb> mkdir /var/spool/fax chmod 777 /var/spool/fax </verb> <sect2>Файл lock. <p> Файл lock (/var/spool/fax/lock) создается с неправильными правами доступа, подправьте их командой: touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock <sect2>Специальный файл /dev/modem. <p> Программа efax надеется иметь /dev/modem реальным устройством и не работает, если этот файл является символической ссылкой, так что создайте файл устройства с теми же числами major и minor, что и /dev/cua? , соответствующий модему. Файл должен иметь права доступа rw-rw-rw- , чтобы любой пользователь мог воспользоваться факсом. <p> <verb> ls -lL /dev/modem rm /dev/modem mknod /dev/modem c Mj Mi chmod 666 /dev/modem </verb> <p> Mj равен 5 и Mi равен 64 для cua0, 65 для cua1 и т.д. Например, (для cua1): <verb> mknod /dev/modem c 5 65 </verb> <sect2>Каталог /var/lock. <p> Смените права доступа каталога /var/lock chmod 1777 /var/lock <sect1>Как этим пользоваться, для сервера ? <p> Вы должны использовать fax-принтер, используя опцию -P, и опцию -J с номером факса. Ипользуйте одну из приведенных команд lpr: <p> <verb> lpr -Pfax -J <Номер-Факса> [имена-файлов] любая_команда | lpr -Pfax -J <Номер-Факса> </verb> <sect1>Где указывается номер факса, на который мне нужно позвонить ? <p> После опции -J. <sect1>Как мне это использовать из других Unixes в сети ? <p> Добавьте указанную запись в файл /etc/printcap и клиентские Linux системы, создайте каталог спула, и т.д... <verb> fax:\ :sd=/var/spool/fax:\ :mx#0:\ :sh:\ :rm=host.domain:\ :rp=fax: </verb> <p> Добавьте имена клиенских машин в /etc/hosts.lpd на машине факс-сервера. Используйте его как было описано выше. Заметьте: Заголовок, который efax добавляет на страницы факса не соответствует имени пользователя, который отправил факс. (может быть обновлено). <sect1>Пользователи Caldera, LPRng <p> ПО управления печатью LPRng использует другие методы обработки управляющего файла. <p> Спасибо Luca Montecchiani m.lucausa.net, который обнаружил проблему и ее решение. Вот обновленный файл /usr/bin/fax. Следующие строки заменяют две строки cfile=... под номерами 586,587 <verb> # Modified to work also with the LPRng package # Luca Montecchiani (08/11/97 m.lucausa.net) if [ !-z "$CONTROL_FILE" ] then cfile=`cat tail -1 lock` cfile=`cat $cfile` else cfile=$CONTROL_FILE fi </verb> </sect> <sect>Последняя версия, связь с автором. <p> Последняя версия этого файла может быть найдена в веб по адресам <url url="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml" name="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml"> <url url="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html" name="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html"> <url url="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt" name="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt"> <url url="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info" name="http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info"> <p> Вы можете связаться со мной: <newline> <url url="mailto:erez@newplaces.com" name="Erez Strauss"> <url url="http://www.newplaces.com/linux/" name="http://www.newplaces.com/linux/"> <url url="http://www.newplaces.com/" name="http://www.newplaces.com/"> <newline> Phone: +972 52 739737 <newline> Fax: +972 9 954 3034 </verb> </sect> </article>