Mini Como Fazer Servidor de Fax Linux (faxsrv-mini-HOWTO) Erez Strauss v1.0, 8 de novembro de 1997 SSeemm ggaarraannttiiaass.. Comentários são sempre bem-vindos. Este documento descreve em detalhes uma das mais simples maneiras de configurar um servidor de fax em um sistema Linux. O fax estará disponível para usuários tanto no modo local como no modo de rede. ______________________________________________________________________ Índice geral 1. Introdução 2. Perguntas & Respostas 2.1 O que é um servidor de fax? 2.2 Como configurar o servidor de fax? 2.2.1 O Software efax 2.2.2 A entrada no printcap. 2.2.3 O comando fax 2.2.4 O arquivo /usr/bin/fax. 2.2.5 O diretório /var/spool/fax. 2.2.6 O arquivo de reserva de recurso 2.2.7 O arquivo especial /dev/modem. 2.2.8 O diretório 2.3 Como usar no modo servidor? 2.4 Onde deve ser especificado o número do fax de destino? 2.5 Como usar este recurso a partir de outros Unixes na rede? 2.6 Usuários de Caldera, LPRng 3. Última versão, Contactando o autor. ______________________________________________________________________ 11.. IInnttrroodduuççããoo Para ter um fax/impressora funcionando em um equipamento Linux, deve- se ter um software específico e um modem fax. O software de impressão estará usando o software do fax como um filtro de impressão. O efax vai utilizar como número de fax o número do Job impresso e vai enviar o fax. O software efax foi escrito por Ed Casas . O restante do documento é construído em um formato de perguntas e respostas. 22.. PPeerrgguunnttaass && RReessppoossttaass 22..11.. OO qquuee éé uumm sseerrvviiddoorr ddee ffaaxx?? Um servidor de fax é a configuração de alguns programas: efax e o servidor de impressão de tal modo que mandar um fax a partir de um computador é tão simples quanto mandar imprimir numa impressora. 22..22.. CCoommoo ccoonnffiigguurraarr oo sseerrvviiddoorr ddee ffaaxx?? Configurar o efax como servidor de fax inclui alguns detalhes. Como trabalhei nisto algum tempo, decidi colocar este conhecimento neste mini COMO FAZER. Comentários são bem-vindos através do endereço . Descrevo aqui as soluções e todas as instruções passo a passo: 22..22..11.. OO SSooffttwwaarree eeffaaxx Certifique-se de ter à disposição o pacote efax. Em sistemas baseados em RPM (como é o caso do Conectiva Linux), use o comando 'rpm -qv efax'. Pode-se obter as fontes do efax no formato tar.gz a partir do endereço: ftp://metalab.unc.edu/pub/Linux/apps/serialcomm/fax/efax08a.tar.gz ou o pacote rpm binário a partir de: ftp://ftp.redhat.com/pub/redhat/redhat-4.2/i386/RedHat/RPMS/efax-0.8a-3.i386.rpm. 22..22..22.. AA eennttrraaddaa nnoo pprriinnttccaapp.. Na documentação do efax faltam dois pontos (:) no final da entrada printcap. Para solucionar esta pendência adicione a seguinte entrada ao /etc/printcap: fax:\ :lp=/dev/null:\ :sd=/var/spool/fax:\ :if=/usr/bin/faxlpr: 22..22..33.. OO ccoommaannddoo ffaaxx Deve ser utilizada uma ligação direta e não uma ligação simbólica para o comando de fax, através do comando: ln /usr/bin/fax /usr/bin/faxlpr 22..22..44.. OO aarrqquuiivvoo //uussrr//bbiinn//ffaaxx.. Deve-se então editar o arquivo /usr/bin/fax de acordo com as preferências pessoais: Escolher a Classe de Fax certa para o modem: CLASS=2.0 Configurar o campo FROM="seu número de telefone" NAME="Nome" Adicionar uma linha para conversão do número de telefone internacional para número de telefone local. Por exemplo, em Israel deve-se usar: TELCVT='sed -e s/+972/0/ -e s/+/00/' # Israel Há um problema no arquivo na linha 586, onde deve ser trocado o cfile=... pelas duas linhas seguintes: cfile=`/usr/bin/tail -1 lock` cfile=`cat $cfile` nas linhas 586,587 não deve haver os caracteres '-' na linha e sim: 0) echo "$l" | mail -s "fax to $num succeeded" $user@$host ;; *) echo "$l" | mail -s "fax to $num failed " $user@$host ;; 22..22..55.. OO ddiirreettóórriioo //vvaarr//ssppooooll//ffaaxx.. Criar o diretório /var/spool/fax mkdir /var/spool/fax chmod 777 /var/spool/fax 22..22..66.. OO aarrqquuiivvoo ddee rreesseerrvvaa ddee rreeccuurrssoo O arquivo de reserva de recurso (/var/spool/fax/lock) deve ser criado com as permissões corretas, como o seguinte comando: touch /var/spool/fax/lock ; chmod 644 /var/spool/fax/lock 22..22..77.. OO aarrqquuiivvoo eessppeecciiaall //ddeevv//mmooddeemm.. O programa efax espera um arquivo de dispositivo real no /dev/modem e não vai funcionar com um link simbólico. Deve ser criado um arquivo de dispositivo com os mesmos maior e menor números como o /dev/cua? que é conectado ao modem. O arquivo deve ter o modo rw-rw-rw- a fim de habilitar qualquer usuário a utilizar o software de fax. Os comandos a serem utilizados são os seguintes: ls -lL /dev/modem rm /dev/modem mknod /dev/modem c Mj Mi chmod 666 /dev/modem Mj é igual a 5 e Mi é igual a 64 para cua0, 65 para cua1 e assim por diante. Por exemplo (para cua1) deve-se utilizar o seguinte comando: mknod /dev/modem c 5 65 22..22..88.. OO ddiirreettóórriioo //vvaarr//lloocckk .. alterar o modo do diretório /var/lock: chmod 1777 /var/lock 22..33.. CCoommoo uussaarr nnoo mmooddoo sseerrvviiddoorr?? Deve-se usar o modo de impressão de fax usando a opção -P e a opção -J com o número de fax através de um dos seguintes comandos: lpr -Pfax -J [nome-arquivo] qualquer comando | lpr -Pfax -J 22..44.. OOnnddee ddeevvee sseerr eessppeecciiffiiccaaddoo oo nnúúmmeerroo ddoo ffaaxx ddee ddeessttiinnoo?? Após a opção -J. 22..55.. CCoommoo uussaarr eessttee rreeccuurrssoo aa ppaarrttiirr ddee oouuttrrooss UUnniixxeess nnaa rreeddee?? Adicione as seguintes entradas ao arquivo /etc/printcap e nos sistemas Linux dos clientes deve ser criado um diretório de tarefas temporárias, e assim por diante. fax:\ :sd=/var/spool/fax:\ :mx#0:\ :sh:\ :rm=host.domain:\ :rp=fax: onde deve ser adicionado o nome das máquinas de clientes dentro do arquivo /etc/hosts.lpd na máquina servidora de fax, e o sistema pode ser utilizado como antes. Nota: a linha de cabeçalho que o efax adiciona às páginas de fax não é alterada pelo nome do usuário que envia o fax. 22..66.. UUssuuáárriiooss ddee CCaallddeerraa,, LLPPRRnngg O software de gerenciamento impressão LPRng está usando um método diferente para manejar o arquivo de controle. Agradecimentos a Luca Montecchiani , que encontrou o problema e a solução. Aqui está uma atualização para o arquivo /usr/bin/fax. As linhas seguintes restabelecem as duas linhas simples ccffiillee==...... nas linhas 586,587: # Modificado para trabalhar também com o pacote LPRng # 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 33.. ÚÚllttiimmaa vveerrssããoo,, CCoonnttaaccttaannddoo oo aauuttoorr.. A última versão deste arquivo pode ser acessada nas seguinte URLs: http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.sgml http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.html http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.txt http://www.newplaces.com/linux/faxsrv/faxsrv-mini-HOWTO.info O autor pode ser contactado através do endereço: Erez Strauss erez@newplaces.com http://www.newplaces.com/linux/ http://www.newplaces.com/ Phone: +972 52 739737 Fax: +972 9 954 3034