Realizzazione di un faxserver web-based
Introduzione
Vediamo come realizzare un faxserver con interfaccia web basato su Hylafax e Avantfax. Come hardware non serve nulla di eccezionalmente potente, anche un vecchio Pentium III 600 va benissimo per compiere questo tipo di lavoro. Per quanto riguarda il modem, conviene utilizzare uno di quei vecchi modem esterni seriali, visti i problemi di configurazione di quelli PCI. Come sistema operativo, ovviamente, useremo Debian, nello specifico la versione 5.
Preconfigurazione del sistema
Impostiamo alcuni parametri base per il nostro sistema. Cominciamo col settare correttamente il nome del nostro host.
nano /etc/hostname
fax.ced.local
nano /etc/hosts
127.0.0.1 localhost.localdomain localhost
192.168.0.16 fax.ced.local fax
Ora passiamo con il setup dei repository per il download dei pacchetti software che andremo ad installare sul nostro sistema.
nano /etc/apt/sources.list
deb http://mi.mirror.garr.it/mirrors/debian/ lenny main contrib non-free
deb-src http://mi.mirror.garr.it/mirrors/debian/ lenny main contrib non-free
deb http://security.debian.org/ lenny/updates main contrib non-free
deb-src http://security.debian.org/ lenny/updates main contrib non-free
deb http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
deb-src http://volatile.debian.org/debian-volatile lenny/volatile main contrib non-free
apt-get update apt-get upgrade
Installiamo il pacchetto ntpdate per tenere sincronizzato l’orologio di sistema.
apt-get install ntpdate ntpdate server it.pool.ntp.org
Installazione di Hylafax
Ora possiamo passare all’installazione vera e propria del nostro faxserver. Installiamo Hylafax ed alcuni pacchetti di corredo, necessari per il corretto funzionamento di tutto il sistema.
apt-get install hylafax-server xfig libfreetype6-dev gv gsfonts-x11
Configurazione dei parametri fax
Ora possiamo configurare le impostazioni fax. Durante questa fase verrà rilevato il modem. Può capitare che esso supporti la tipologia Class 2, in ogni caso conviene utilizzare la tipologia Class 1.
faxsetup
Country code [1]? 39
Area code [415]? 091
Phone number of fax modem [+1.999.555.1212]? +39.091.12345678
Local identification string (for TSI/CIG) ["NothingSetup"]? FaxServer
Long distance dialing prefix [1]? 0
International dialing prefix [011]? 00
Protection mode for received facsimile [0600]? 0644
Protection mode for session logs [0600]? 0644
Protection mode for ttyS0 [0600]? 0666
Rings to wait before answering [1]? 1
Modem speaker volume [off]? quiet
This modem looks to have support for Class 1 and 2.
How should it be configured [1]? 1
Do you want to run faxaddmodem to configure another modem [yes]? no
Consentiamo l’accesso al servizio fax alla nostra LAN e creiamo due utenti, uno standard ed uno con privilegi di amministratore, quindi riavviamo il sistema.
nano /etc/hylafax/hosts.hfaxd
192\.168\.0\.:::
faxadduser -u 100 user faxadduser -a password -p password -u 100 admin
Installazione di MySQL, Apache e PHP5
Dato che stiamo creando un sistema con la possibilità di utilizzarlo tramite interfaccia web, ovviamente necessitiamo di un server web con supporto php. Occorre avere anche a disposizione anche un database mysql sul quale verranno memorizzati gli utenti e i dati dei fax.
apt-get install apache2-mpm-prefork apache2-utils apache2.2-common \ libapache2-mod-php5 libapr1 libaprutil1 libsqlite3-0 php5-cli php5-common \ mysql-server imagemagick libtiff4-dev netpbm libnetpbm10-dev libungif-bin \ libungif4-dev sudo postfix php-mail php-mail-mime php-file php-db php5-mysql \ psutils wdiff
Quando richiesto dal gestore pacchetti, inseriamo un password di rotto per MySQL e configuriamo Postfix come Internet site con smarthost.
Installazione di AvantFAX
La nostra interfaccia web sarà fornita da AvantFAX, uno delle tante interfaccie web per Hylafax.
Effettuiamo il download dei sorgenti e rendiamo accessibili le pagine di visualizzazione/gestione tramite il nostro webserver.
cd /usr/src wget http://easynews.dl.sourceforge.net/sourceforge/avantfax/avantfax-2.3.0.tgz tar zvxf avantfax-2.3.0.tgz cd avantfax-2.3.0
mv /usr/src/avantfax-2.3.0/avantfax /var/www/ chmod -R 777 /var/www/avantfax/tmp /var/www/avantfax/faxes
Configurazione di AvantFAX
Per poter usare AvantFAX, occorre apportare delle modifiche a dei binari forniti con Hylafax
cd /var/spool/hylafax/bin mv faxrcvd faxrcvd.old mv notify notify.old ln -s /var/www/avantfax/includes/faxrcvd.php /var/spool/hylafax/bin/faxrcvd ln -s /var/www/avantfax/includes/notify.php /var/spool/hylafax/bin/notify mv /usr/bin/faxcover /usr/bin/faxcover.old ln -s /var/www/avantfax/includes/faxcover.php /usr/bin/faxcover
Passiamo alla popolazione del database MySQL che useremo per memorizzare le informazioni degli utenti e dei fax ricevuti. Usiamo lo script fornito con i sorgenti.
cd /usr/src/avantfax-2.3.0/ nano create_tables.sql USE avantfax;
Correggiamo nello script per il setup, l’utente legato ai processi di Apache, quindi lanciamo lo script appena modificato
nano setup.sh chown -R www-data.www-data $INSTDIR
./setup.sh
crontab -e
# runs once an hour to update the phone book
0 * * * * /var/www/avantfax/includes/phb.php
# runs once a day to remove old files
0 0 * * * /var/www/avantfax/includes/remold.php
Configurazione di Apache
Per rendere possibile l’accesso all’interfaccia di AvantFAX occorre modificare il seguente file di Apache così come riportato di seguito.
nano /etc/apache2/sites-enabled/000-default
NameVirtualHost *:80
<VirtualHost *:80>
ServerAdmin porkyhttp@ced.local
DocumentRoot /var/www/avantfax
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/avantfax>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from 192.168.0.0/255.255.255.0
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
allow from 192.168.0.0/255.255.255.0
</Directory>
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
ServerSignature On
Alias /phpmyadmin "/usr/share/phpmyadmin/"
<Directory "/usr/share/phpmyadmin/">
Options Indexes MultiViews FollowSymLinks
Order allow,deny
allow from 192.168.0.0/255.255.255.0
</Directory>
</VirtualHost>
Riavviamo Apache per rendere effettive le modifiche appena apportarte.
/etc/init.d/apache2 restart
Creazione degli utenti su AvantFAX
Ora possiamo loggarci su AvantFAX con admin ed aggiungere il modem che abbiamo configurato precedentemente su Hylafax, aggiungere un utente ed assegnargli il modem appena inserito, quindi riavviare il sistema.
Go to http://<yourIP>/admin. Log in using: afadmin / password.
Configure your modems. For /dev/ttyS2, use ttyS2.
Ultimi ritocchi
Prima di poter utilizzare il sistema, occorre sistemare alcuni files che non vengono automaticamente copiati dove dovrebbero, avviare il demone hylafax per verificare che tutti i file si trovino nelle directory corrette. Se è tutto ok e non riceviamo messaggi di errore, procediamo al riavvio del sistema e procediamo al login mediante l’utente creato in precedenza. Da questo punto siamo pronti per la ricezione dei fax sul nostro sistema.
cp -r /var/spool/hylafax/etc/config /etc/hylafax/config cp /var/spool/hylafax/etc/config.ttyS0 /etc/hylafax/config.ttyS0 /etc/init.d/hylafax start reboot



salve,
attualmente utilizzo nel mio ufficio hylafa+avantfax su piattaforma Centos. Avantfax funaizona correttamente ma non riesco a notificare i fax via email. Ho letto la sua guida e vorrei passare nuovamente a Debian (prima utilizzavo tale piattaforma) e vorrei sapere se è possibile avere qualche indicazione in più in merito alla notifica via mail dei fax ricevuti.
In attesa di un Suo cortese riscontro, porgo cordiali saluti.
Avv. Andrea Meraldi
x Andrea,
Salve io ho un faxserver installato su centos che funziona benissimo, notifica compresa.
Dall’interfaccia di amministrazione di avantfax deve configurare la mail di destinazione nella configurazione del modem.
Verifichi selinux se attivo.
Saluti.
Salve , dato che sto uscendo pazzo chiedo se qualcuno ha una dritta.
Centos + hylafax + avantfax 3.1.6 perfettamente funzionante..
ho creato una cover personalizzata con tgif e make_faxcover
NON RIESCO a cambiare il formato data nella cover, per intenderci, non
quella in alto sopra a tutta la cover (che non mi interessa) , ma quella all’ interno della cover stessa quella sulla variabile todays-date…
ho provato a decommentare la riga relativa in hyla.conf ma nulla da fare….
c’e’ qualche altro file di conf per settare il formato della data nella cover..
vi ringrazio in anticipo..
@Marco
ciao, grazie per la risposta. Il fatto è che quella configurazione l’ho già fatta ma non mi viene notificato nulla.Selinux è disattivato.
Hai qualche altra idea? grazie
andrea
ciao, ho seguito la tua quida ed ho installato hylafax e avantfax su debian Lenny ma ho il seguente problema. Quando, dal borwser, digito l’IP della macchina )ossia del server fax) mi ritorna il seguente messaggio:
You don’t have permission to access /admin on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny8 with Suhosin-Patch mod_python/3.3.1 Python/2.5.2 mod_perl/2.0.4 Perl/v5.10.0 Server at 192.168.2.101 Port 80
puoi aiutarmi?
ciao
andrea