Добавить в избранное | Сделать стартовой страницей

Большая Linux библиотека для пользователей OS Linux и ПО для нее
Есть что сказать? Нужен совет? Посети наш форум.


При поддержке
Продвижение сайта
Продвижение сайта
Раскрутка сайта
Создание сайта
Оптимизация сайта
Интернет реклама
Аудит сайта
Администрирование сервера
настройка сервера
установка сервера
аренда сервера
Администрирование сервера
администрирование сервера
настройка сервера
аренда сервера
Rambler's Top100


The Easy Fax Server!

Введение

Составляющие факс - сервера, использующего Hylafax 4.0pl2.rjc11 и дистрибутив Mandrake 7.1

Серверная часть :

  • faxq - основной сервер
  • hfaxd - управляет сетевыми соединениями
  • faxgetty - управляет взаимодействием с модемом

Клиентская часть (можно использовать и на сервере) :

  • sendfax - для отправки факсов
  • faxstat - для проверки очереди
  • faxrm - для удаления задач из очереди

Конфигурационные файлы в каталоге /var/spool/fax/etc/

.  

Инсталляция

Рекомендую установить следующие пакеты (входят в состав with Mandrake 7.1) :

Кроме того, данные пакеты доступны на официальном сайте http://www.hylafax.org/links.html

Если Hylafax не установился по умолчанию, выполните следующие команды (добавляем необходимые RPM пакеты) :

rpm -ivh hylafax-common-4.0pl2.rjc11-3mdk
rpm -ivh hylafax-client-4.0pl2.rjc11-3mdk
rpm -ivh hylafax-server-4.0pl2.rjc11-3mdk

 

Настройка Hylafax

Для настройки сервера выполните следующую команду :

faxsetup -server (с привилегией root)

Выбирайте ответы по умолчанию на все вопросы, кроме :

  • Country code [1]? введите 33 для Франции
  • Area code []? введите 1 для Парижа
  • Long distance dialing prefix [1]? введите 0
  • International dialing prefix [011]? введите 00
  • Dial string rules file [etc/dialrules]? введите etc/dialrules.europe
  • Serial port that modem is connected to []? введите ttyS0 (для COM1) или ttyS1 (для COM2)

Hylafax по умолчанию не запускает демона faxgetty. Поэтому выполняем следующие действия :

1 - Редактируем файл /etc/inittab - добавляем следующую строку в конец :

mo:2345:respawn:/usr/sbin/faxgetty -D ttyS0
Команда kill -HUP 1 необходима для перезапуска faxgetty

или

Если вы хотите использовать файл rc.local :

2 - Добавляем следующую строку в /etc/rc.d/rc.local :
/usr/sbin/faxgetty -D /dev/ttyS0

и запускаем командой :

faxgetty -D /dev/ttyS0

Обратите внимание : команда faxaddmodem предназначена для добавления дополнительных модемов.

После этих действий faxgetty создает файл /var/spool/fax/etc/config.ttyS0 (для com1), в котором находятся настройки для вашего модема, подключаемого к /dev/ttyS0.
В файле /usr/share/fax/hfaxd.conf находятся настройки для демона hfaxd, там я оставил все как было!  

Возможные проблемы

Проверяем наличие модема командой probemodem. Стандартные настройки находятся в /var/spool/fax/config/

У меня модем 3Com US Robotics 56k, поэтому я взял файл usr-2.0, скопировал его в /var/spool/fax/etc/, переименовал его на config.ttyS0 и изменил его следующим образом :

# Configuration for using the Class 2.0 command interface
# with a USR v.34 Courier or Sporster modem.
#
# CONFIG: CLASS2.0: USRobotics*-*
#
CountryCode:         33
AreaCode:            1
#FAXNumber:          your number ex (for france): 0134123412
LongDistancePrefix:  0
InternationalPrefix: 00
DiadStringRules:     etc/dialrules.europe (Important .europe !)
ServerTracing:       1
SessionTracing:      11
RecvFileMode:        0600
LogFileMode:         0600
DeviceMode:          0600
RingsBeforeAnswer:   1
SpeakerVolume:       off
GettyArgs:           "-h %l dx_%s"
#LocalIdentifier:    "Your Company"   (uncomment if wanted on the fax)
#TagLineFont:        etc/lutRS18.pcf  (idem)
#TagLineFormat:      "De %%l|%c|Page %%p sur %%t" (idem)
#MaxRecvPages:       25
ModemType:           Class2.0    # use class 2.0 interface
ModemRate:           57600        # 38400 DCE-DTE communication rate
ModemFlowControl:    rtscts       # XON/XOFF flow control assumed
ModemDialCmd:     ATDT0%s # I added 0 because I go through a PABX !!
#ModemNoFlowCmd:     AT&H0&I0&R1  # setup modem for no flow control
ModemHardFlowCmd:    AT&H1&I0&R2  # setup modem for hardware flow control
#ModemSoftFlowCmd:   AT&H2&I2&R1  # setup modem for software flow control
#ModemSetupDTRCmd:   ATS13=1&D2   # setup so DTR drop resets modem
#ModemSetupDCDCmd:   AT&C1        # setup so DCD reflects carrier (or not)
ModemResultCodesCmd: ATQ0X4       # enable extended result codes
#ModemSetupAACmd:    AT+FAA=1
#ModemSetVolumeCmd:  "ATM0 ATM1 ATM1 ATM1 ATM1"
Class2BUGCmd:        AT+FBU=0
Class2CQQueryCmd:    !(0),(0)    # override modem response
Class2NRCmd:         AT+FNR=1,1,1,0


Далее добавляем следующие строки в /var/spool/fax/etc/host:

  localhost
  192.168.1

Теперь все компьютеры домена 192.168.1.0 могут использовать факс!

 

Запускаем Hylafax

Для автоматического запуска Hylafax во время загрузки, используйте команду drakxservices (для Mandrake) или setup (для Red Hat),
далее выполните:
/etc/rc.d/init.d/hylafax start 
Если faxgetty нет в списке процессов (ps -e), выполните
/usr/sbin/faxgetty -D /dev/ttyS0
 

Использование Hylafax

Посылаем факс :
sendfax -n -d number file1 file2 ..
Проверяем результаты :
faxstat -s (shows fax in the queue waiting to be sent)
faxstat -d (shows faxes sent)
faxstat -r (shows faxes received)
 

Удаляем факс из очереди :

faxrm number_of_job
Очистить spool :
faxqclean
Статистика :
faxcron
 

Использование Hylafax в сети

 

Настройка сервера

Для сетевого использования я применил ресурсы с http://www.hylafax.org/links.html
В частности Printfax и Repond, с сайта http://www.boerde.de/~horstf/:

Загрузите следующие три файла :

  • printfax.pl (perl скрипт)
  • respond.zip (respond.exe)
  • smb_conf.add (модуль для /etc/smb.conf)

Скопируйте файл printfax.pl в /usr/bin/ и отредактируйте для использования с hylafax :

### Format of commandline
#    $cmdlinefmt='mgetty';
    $cmdlinefmt='hylafax';

### The faxspoolprogram
###   for mgetty+sendfax:
#    $faxspool = '/usr/bin/faxspool';
###   for hylafax:
    $faxspool = '/usr/bin/sendfax';

### Additional faxspool args (e.g. header, coverpage)
###   empty:
    @faxspool_args = qw(-n);
###   for mgetty+sendfax with a special header:
#   @faxspool_args = qw( -h /usr/local/etc/mgetty+sendfax/faxheader.smb);
###   for hylafax with send email when job is done or requeued and use
###   a4 sized paper:
#    @faxspool_args = qw(-D -R -s a4);


Обратите внимание :Внимательно просмотрите вашу версию printfax.pl, возможно у вас уже модифицированный вариант!

Добавьте модуль smb_conf.add в /etc/smb.conf :

  [Fax] comment = Fax Printer
  public = yes
  postscript = yes
  print command = ( /usr/bin/printfax.pl %I %s %U %m; rm %s ) &
  printable = yes
  writable = no
  path = /var/spool/samba

Проверьте строку print command специально для windows2000

И перезапустите Samba,

/etc/rc.d/init.d/smb restart
 

Настройка клиента

Рассмотрим стандартную настройку для WINDOWS 95,98,NT,2000...

    Распакуем Respond.zip, и скопируем содержащиеся там файлы config.exe и respond.exe в c:\windows :

  • Создадим ссылку для respond.exe в меню START->PROGRAMS->Start (для win2000 найдите решение сами)
  • Запустите respond.exe или перезагрузите компьютер

Затем необходимо создать сетевой принтер:

  • Жмем START->printers->add
  • Выбираем сетевой принтер
  • Жмем "Обзор" и выбираем FAX принтер (Samba принтер)
  • Выбираем драйвер HP -> HP Laserjet 4/4m postscript
  • Не печатаем тестовую страницу
  • После создания принтера идем в START ->Printers и открываем окно свойств FAX принтера
  • Жмем закладку "Сведения" и там кнопку "Очередь"
  • Выбираем "Начинать печать после помещения в очередь всего задания"

Ну вот мы и на финишной прямой - открываем Wordpad, что-нибудь там набираем и распечатываем на факс - принтере! Далее должно появиться окно программы respond.exe (конечно если вы ее запустили) с просьбой о вводе номера факса. Просто наберите номер и ваш факс отправляется на факс - сервер hylafax

Для проверки используйте команду faxstat -s на сервере - там вы должны увидеть свой факс.

Стандартная настройка клиента для Linux :

Используйте утилиты с сайта Hylafax!

 

Почта через Fax

Обмен сообщениями через fax осуществляется локально на сервере с помощью StarOffice.

С другой стороны ваша база данных может быть где угодно в сети, доступ к которой можно осуществлять через StarOffice(ODBC,JDBC,...) Используйте утилиту spadmin и настройте вывод telefax : faxspool (PHONE) (TMP)

В документе, подготовленном для отправки в поле @@#num_tel_fax@@ замените num_tel_fax на поле из базы данных

Читайте StarOffice help, там все объясняется!

Недостаток этого метода в том, что вам придется установить StarOffice на факс - сервере :-( Использование программы respond в сочетании с StarOffice в сети для обмена сообщениями не представляется возможным, потому что необходимо набирать номер факса для каждого получателя!
В настоящее время я пытаюсь найти альтернативное решение.

 

Ресурсы

http://www-phase.c-strasbourg.fr/inform/faxdoc/expose_fax/fonctionnement.html
http://www.hylafax.org

 

Несколько слов от автора

Если вам кажется, что документ не полный или содержит ошибки, пишите на адрес . Если у вас есть немного свободного времени - подпишите no patents request!


Обсудить данную тему на нашем форуме "Все о Linux"