Дано: старый модем, сервер с CentOS и телефонная линия.
Надо: Получить автоматический приём факсов с выкладыванием их в расшаренную папку.
Воспользуемся для этого программой под названием Hylafax.
На сайте есть как исходники, так и готовые сборки. Если есть желание, можно собрать из исходников, но никаких проблем с сборкой я не заметил, потому расписывать процесс не буду.
Итак, считаем, что у нас есть готовая rpm-ка и мы её уже поставили.
Конфигурирование – faxsetup.
Просто отвечаем на вопросы – номер телефона, com порт, скорость и т.п.
В inittab дописываем привязку faxgetty к нужному com-порту:
Говорим процессу init перечитать конфиг: – telinit q.
Если это не прокатит – придётся перегрузиться.
Запускаем сервер – service hylafax start. Теперь, наш сервер должен при получении факса отправить его в почту, на указанный нами при начальной конфгурации адрес.
Но нам этого не надо. Нам нужно просто положить файл в шару.
Для этого, правим файл, отвечающий за обработку принятого факса – /etc/hylafax/etc/FaxDispatch.
Для начала, проверяем, что у пользователя, под которым будет работать hylafax есть права на этот файл:
chown uucp:uucp FaxDispatch
Создаём папку, куда будет монтироваться внешняя шара – /var/spool/hylafax/smb и даём туда доступ uucp на чтение-запись:
chown uucp:uucp /var/spool/hylafax/smb
Правим FaxDispatch выкидывая из него, всё, что имеет отношение к почте:
FILETYPE=tif;
TEMPLATE=en
FOLDER=”/var/spool/hylafax/recvq/”
FULLPATH=”${FOLDER}${FILENAME}.tif”
#адрес шары, login и пароль на доступ
SMB_PATH=’\\192.168.0.1\fax’
SMB_USER=fax
SMB_PASS=aaa
#точка монтирования
MNT_POINT=”/var/spool/hylafax/smb”
#проверка, что шара подключена и монтирование её, если надо
OK=`mount | grep “${MNT_POINT}”`
[ -z “$OK” ] && sudo -u root /sbin/mount.cifs “${SMB_PATH}” “${MNT_POINT}” -o user=”${SMB_USER}”,password=”${SMB_PASS}”
TM=`date +%Y%m%d-%H%M%S`
NEW_FAX=${TM}
#move fax to prevent send its to email
mv $FULLPATH ${MNT_POINT}/$NEW_FAX.tif
#по желанию – отмонтируем шару, если больше не нужна
sudo -u root umount “${MNT_POINT}”
Не забываем добавить в /etc/sudoers:
uucp ALL = (root) NOPASSWD: /sbin/mount.cifs, /sbin/umount
Вот, в общем и всё. Состояние сервера можно проверить командами:
faxstat ttyS0 – текущее состояние
faxstate -s down|up ttyS0 – вкл/выкл факс
Обсуждение закрыто.