Thursday, January 24, 2008

Instalasi Faxserver Hylafax+Avantfax

Setelah mencoba tutorial "Panduan Setup Fax server (Hylafax) lengkap dengan Avantfax di Ubuntu 7.10" di http://linux2.arinet.org, ternyata ada sedikit masalah ketika kuimplementasikan.


Disini aku ingin mengoreksi atau mungkin lebih tepatnya menambahkan sedikit cara agar instalasi Faxserver Hylafax+Avantfax lebih lancar jalan di Ubuntu 7.10.


A. Install dan Setup Hylafax


A.1 Kita Install Postfix.


$ sudo apt-get install postfix


Setup saja postfix seperti biasa/default. Secara default postfix sudah dapat mengirim


email.


A2. Install hylafax:


$ sudo apt-get install hylafax-server


A3. Setup hylafax. Pertanyaan-pertanyaan sebagian besar dapat menggunakan nilai default saja (tekan enter saja), kecuali yang berkaitan dengan nomor telpon dan device modem. Modem kita biasanya akan terdeteksi sebagai /dev/ttyS0 (serial pertama),


$ faxsetup


Setup program for HylaFAX (tm) 4.4.0.


Created for i686-pc-linux-gnu on Thu Aug 16 15:51:25 GMT 2007.


Reading cached parameters from /var/spool/hylafax/etc/setup.cache.


Found base64 encoder: /usr/bin/mimencode


Found Quoted-Printable encoder: /usr/bin/mimencode -q


Found mimencode for compatibilty: /usr/bin/mimencode


Checking system for proper server configuration.


Warning: /etc/hylafax/getty-link does not exist or is not an executable program!


The file:


/etc/hylafax/getty-link


does not exist or this file is not an executable program. The


HylaFAX software optionally uses this program and the fact that


it does not exist on the system is not a fatal error. If the


program resides in a different location and you do not want to


install a symbolic link for /etc/hylafax/getty-link that points to your program


then you must reconfigure and rebuild HylaFAX from source code.


Warning: /etc/hylafax/vgetty-link does not exist or is not an executable program!


The file:


/etc/hylafax/vgetty-link


does not exist or this file is not an executable program. The


HylaFAX software optionally uses this program and the fact that


it does not exist on the system is not a fatal error. If the


program resides in a different location and you do not want to


install a symbolic link for /etc/hylafax/vgetty-link that points to your program


then you must reconfigure and rebuild HylaFAX from source code.


Warning: /etc/hylafax/egetty-link does not exist or is not an executable program!


The file:


/etc/hylafax/egetty-link


does not exist or this file is not an executable program. The


HylaFAX software optionally uses this program and the fact that


it does not exist on the system is not a fatal error. If the


program resides in a different location and you do not want to


install a symbolic link for /etc/hylafax/egetty-link that points to your program


then you must reconfigure and rebuild HylaFAX from source code.


Make /var/spool/hylafax/bin/ps2fax a link to /var/spool/hylafax/bin/ps2fax.gs.


Make /var/spool/hylafax/bin/pdf2fax a link to /var/spool/hylafax/bin/pdf2fax.gs.


Update /var/spool/hylafax/status/any.info.


HylaFAX configuration parameters are:


[1] Init script starts faxq: yes


[2] Init script starts hfaxd yes


[3] Start old protocol: no


[4] Start paging protocol: no


Are these ok [yes]?


Modem support functions written to /var/spool/hylafax/etc/setup.modem.


Configuration parameters written to /var/spool/hylafax/etc/setup.cache.


Restarting HylaFAX server processes.


Should I restart the HylaFAX server processes [yes]?


/etc/init.d/hylafax start


Not starting HylaFAX daemons since they are already running.


You do not appear to have any modems configured for use. Modems are


configured for use with HylaFAX with the faxaddmodem(8) command.


Do you want to run faxaddmodem to configure a modem [yes]?


Serial port that modem is connected to [ttyS0]? ttyS1


Hmm, there does not appear to be an fuser command on your machine.


This means that I am unable to ensure that all processes using the


modem have been killed. I will keep going, but beware that you may


have competition for the modem.


Ok, time to setup a configuration file for the modem. The manual


page config(5) may be useful during this process. Also be aware


that at any time you can safely interrupt this procedure.


Reading scheduler config file /var/spool/hylafax/etc/config.


No existing configuration, let's do this from scratch.


Country code [1]?


Area code [415]? 031


Phone number of fax modem [+1.999.555.1212]? 5921434


Local identification string (for TSI/CIG) ["NothingSetup"]? UbuntuFax


Long distance dialing prefix [1]?


International dialing prefix [011]?


Dial string rules file (relative to /var/spool/hylafax) [etc/dialrules]?


Tracing during normal server operation [1]?


Tracing during send and receive sessions [11]?


Protection mode for received facsimile [0600]?


Protection mode for session logs [0600]?


Protection mode for ttyS1 [0600]?


Rings to wait before answering [1]?


Modem speaker volume [off]?


Command line arguments to getty program ["-h %l dx_%s"]?


Pathname of TSI access control list file (relative to /var/spool/hylafax) [""]?


Pathname of Caller-ID access control list file (relative to /var/spool/hylafax) [""]?


Tag line font file (relative to /var/spool/hylafax) [etc/lutRS18.pcf]?


Tag line format string ["From %%l|%c|Page %%P of %%T"]?


Time before purging a stale UUCP lock file (secs) [30]?


Hold UUCP lockfile during inbound data calls [Yes]?


Hold UUCP lockfile during inbound voice calls [Yes]?


Percent good lines to accept during copy quality checking [95]?


Max consecutive bad lines to accept during copy quality checking [5]?


Max number of pages to accept in a received facsimile [25]?


Syslog facility name for ServerTracing messages [daemon]?


Set UID to 0 to manipulate CLOCAL [""]?


Use available priority job scheduling mechanism [""]?


Your facsimile phone number (5551234) does not agree with your


country code (1) or area code (031). The number


should be a fully qualified international dialing number of the form:


+1 031


Spaces, hyphens, and periods can be included for legibility. For example,


+1.021.555.1212


is a possible phone number (using your country and area codes).


The non-default server configuration parameters are:


CountryCode: 1


AreaCode: 031


FAXNumber: 5921434


LongDistancePrefix: 1


InternationalPrefix: 011


DialStringRules: etc/dialrules


SessionTracing: 11


RingsBeforeAnswer: 1


SpeakerVolume: off


GettyArgs: "-h %l dx_%s"


LocalIdentifier: UbuntuFax


TagLineFont: etc/lutRS18.pcf


TagLineFormat: "From %%l|%c|Page %%P of %%T"


MaxRecvPages: 25


Are these ok [yes]?


Now we are going to probe the tty port to figure out the type


of modem that is attached. This takes a few seconds, so be patient.


Note that if you do not have the modem cabled to the port, or the


modem is turned off, this may hang (just go and cable up the modem


or turn it on, or whatever).


Probing for best speed to talk to modem: 38400 OK.


About fax classes:


The difference between fax classes has to do with how HylaFAX interacts


with the modem and the fax protocol features that are used when sending


or receiving faxes. One class isn't inherently better than another;


however, one probably will suit a user's needs better than others.


Class 1 relies on HylaFAX to perform the bulk of the fax protocol.


Class 2 relies on the modem to perform the bulk of the fax protocol.


Class 2.0 is similar to Class 2 but may include more features.


Class 1.0 is similar to Class 1 but may add V.34-fax capability.


Class 2.1 is similar to Class 2.0 but adds V.34-fax capability.


HylaFAX generally will have more features when using Class 1/1.0 than


when using most modems' Class 2 or Class 2.0 implementations. Generally


any problems encountered in Class 1/1.0 can be resolved by modifications


to HylaFAX, but usually any problems encountered in Class 2/2.0/2.1 will


require the modem manufacturer to resolve it.


Use Class 1 unless you have a good reason not to.


Hmm, this looks like a Class 1 modem.


Product code (ATI0) is "D-Link DFM-560EL External Modem".


Other information (ATI3) is "D-Link DFM-560EL External Modem".


DTE-DCE flow control scheme [default]?


Modem manufacturer is "Unknown".


Modem model is "Unknown".


Using prototype configuration file class1...


There is no prototype configuration file for your modem, so we will


have to fill in the appropriate parameters by hand. You will need the


manual for how to program your modem to do this task. In case you are


uncertain of the meaning of a configuration parameter you should


consult the config(5) manual page for an explanation.



Note that modem commands must be specified exactly as they are to be


sent to the modem. Note also that quote marks (") will not be displayed


and will automatically be deleted. You can use this facility to supply


null parameters as "".



Finally, beware that the set of parameters is long. If you prefer to


use your favorite editor instead of this script you should fill things


in here as best you can and then edit the configuration file



"/var/spool/hylafax/etc/config.ttyS1"



after completing this procedure.



Command to enter Class 1 [AT+FCLASS=1]?


Command to stop and wait prior to sending PPM [AT+FTS=7]?


Command to stop and wait prior to sending TCF [AT+FTS=7]?


Command to stop and wait prior to sending EOP [AT+FTS=9]?


Extra bytes in a received HDLC frame [4]?


Maximum time to wait for OK after aborting a receive (ms) [200]?


Maximum wait for initial identification frame (ms) [40000]?


Command to ensure silence after receiving HDLC and before sending [AT+FRS=7]?


Delay after failed training (ms) [1500]?



The modem configuration parameters are:



Class1Cmd: AT+FCLASS=1


Class1PPMWaitCmd: AT+FTS=7


Class1TCFWaitCmd: AT+FTS=7


Class1EOPWaitCmd: AT+FTS=9


Class1FrameOverhead: 4


Class1RecvAbortOK: 200


Class1RecvIdentTimer: 40000


Class1SwitchingCmd: AT+FRS=7


Class1TCFMaxNonZero: 10


Class1TCFMinRun: 1000


Class1TrainingRecovery: 1500



Are these ok [yes]?


Creating new configuration file /var/spool/hylafax/etc/config.ttyS1...


...saving current file as /var/spool/hylafax/etc/config.ttyS1.sav.


Done setting up the modem configuration.


Checking /var/spool/hylafax/etc/config for consistency...


...some parameters are different.


The non-default scheduler parameters are:


CountryCode: 1


AreaCode: 031


LongDistancePrefix: 1


InternationalPrefix: 011


DialStringRules: etc/dialrules


Are these ok [yes]?



Don't forget to restart hylafax in order to run faxgetty on this new modem


line.


Updating /etc/hylafax/config.ttyS1 from /var/spool/hylafax/etc/config.ttyS1.


Creating /etc/hylafax/config.ttyS1.sav from /var/spool/hylafax/etc/config.ttyS1.sav.


Creating /etc/hylafax/cover.templ from /var/spool/hylafax/etc/cover.templ.


Creating /etc/hylafax/dialrules.europe from /var/spool/hylafax/etc/dialrules.europe.


Creating /etc/hylafax/dialrules.sf-ba from /var/spool/hylafax/etc/dialrules.sf-ba.


Creating /etc/hylafax/faxcover.ps from /var/spool/hylafax/etc/faxcover.ps.


Creating /etc/hylafax/faxmail.ps from /var/spool/hylafax/etc/faxmail.ps.


Creating /etc/hylafax/lutRS18.pcf from /var/spool/hylafax/etc/lutRS18.pcf.


Creating /etc/hylafax/pagesizes from /var/spool/hylafax/etc/pagesizes.


/var/spool/hylafax/config



A4. Cek modem sudah terdetect oleh hylafax:


$ sudo /etc/init.d/hylafax restart


* Stopping HylaFAX faxq [ OK ]


* Starting HylaFAX faxq [ OK ]


$ sudo faxstat -a -s


HylaFAX scheduler on server: Running


Modem ttyS1 (5921434): Running and idle



A5. Create Admin dan User. Hal ini diperlukan bila nanti kita akan menggunakan


program fax dari network yang memerlukan login.


$ faxadduser -a 123456 -p 123456 -u 100 admin (123456 adalah passwordnya)


$ faxadduser -u 101 userfax


B. Install dan Setup Paket-paket yang dibutuhkan


Cukup banyak paket-paket yang dibutuhkan dan ada beberapa paket yang memerlukan


setup lebih lanjut.


B1.


$ sudo apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2-common libapache2-mod-php5 libmagic-dev php5-gd php5-cli php5-mysql php5-common php-pear php5 php5-dev php-soap mysql-server imagemagick libtiff4 libtiff4-dev netpbm libungif4g a2ps


Ketika ditanya, berikan password untuk user root mysql.


B2.


$ sudo pear install MDB2 mail mail_mime


Bila ternyata ketika instalasi keluar pesan bahwa dibutuhkan versi pear yang lebih baru, ketikkan


B3.


$ sudo pear install pear/MDB2#MySQL


B4.


$ sudo pecl install fileinfo


B5. Restart Apache:


$ sudo /etc/init.d/apache2 restart



C. Install dan Setup Avantfax


C1. Download paket Avantfax terbaru dari http://www.avantfax.com


C2. Extract filenya dan setup:


# tar zxf avantfax-3.0.2.tgz


# cd avantfax-3.0.2


# mv avantfax /var/www/


C3. Edit file setup.sh dan sesuaikan dengan kondisi Ubuntu kita:


- Ubah baris chown apache.apache menjadi chown www-data.www-data


C4. Jalankan file setup.sh tersebut:


$ sudo ./setup.sh


Creating AvantFAX database


Enter MySQL root password: (if none, press ENTER)


Enter password:


Tables_in_avantfax


AddressBook


AddressBookEmail


AddressBookFAX


DIDRoute


DistroList


FaxArchive


FaxCategory


Modems


SysLog


UserAccount


UserPasswords


Pastikan tidak ada error. Bila ada, betulkan dan jalankan kembali.


C5. Masukkan cronjob ini ke crontab root:


# 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



C6. Setup Avantfax lewat Web interface. Hidupkan web browser dan buka


http://localhost/avantfax/admin


Username standar : admin, passwword : password


Pada pertama kali login ini kita akan diminta untuk segera mengganti password admin:


Ganti bila perlu.


Perlu diperhatikan setelah itu klik menu New User. Isi dan berikan hak-hak administrasi.


D. Hal-hal yang mungkin terjadi ketika instalasi


D1. Bila ternyata dibutuhkan versi pear yang lebih baru, ketik :


$ sudo pear upgrade pear


D2. Bila ternyata dibutuhkan versi fileinfo yang lebih baru


Download filenya di http://pecl.php.net/package/Fileinfo/download/0.2


mekarkan, dan ketikkan: phpize di dalam direktori mekaran tersebut.


Bila keluar pesan :


Notice: Undefined index: acc_enabled in


/var/www/avantfax/includes/AFUserAccount.php on line


341


Jalankan point D1 dan (mungkin) juga D2, setelah itu jalankan instalasi avantfax dari awal :


$ sudo ./setup.sh


dan seterusnya sampai selesai.


Sebelumnya thanx buat bung Fajar Priyanto atas panduannya di http://linux2.arinet.org