http://linux2.arinet.org
Panduan Setup Fax server (Hylafax) lengkap dengan Avantfax di Ubuntu 7.10
page 1 of 16
http://linux2.arinet.org Pendahuluan Panduan ini dibuat dengan latar belakang keingintahuan penulis mengenai cara menyetel fungsi-fungsi server di Ubuntu. Penulis berlatar belakang dari distro keluarga RedHat seperti Mandriva, Fedora, CentOs, dan Suse (walaupun sebenarnya Suse adalah keturunan Slackware). Telah kira-kira 8 bulan ini penulis menggunakan distro Ubuntu yang merupakan keluarga Debian. Sebenarnya panduan mensetup Fax server menggunakan Hylafax dan Avantfax telah banyak terdapat di internet, namun sebagian besar dibuat untuk distro keluarga RedHat, sangat sedikit yang berbasiskan Debian, dalam hal ini Ubuntu. Kalaupun ada, kebanyakan sudah cukup lama tidak diupdate. Oleh karena itulah juga penulis membuat panduan ini menggunakan paket-paket yang terbaru. Latar Belakang Sebenarnya mengapa sih repot-repot membuat faxserver? Selama ini kita mengenal mesin fax untuk mengirim dan menerima fax. Tergantung merek dan tipenya, harga mesin fax dapat mencapai jutaan rupiah. Ada beberapa kendala bila menggunakan mesin fax konvensional: 1. Mesin harus rutin di maintenance agar dapat dioperasikan dengan lancar (kertas tidak macet, hasil fax tetap jelas, dll). 2. Dokumen harus di print dahulu bila ingin di fax, dan seringkali kiriman fax tersebut kurang bagus. 3. Hasil fax harus difoto-kopi dahulu bila ingin disimpan lama, sebab hasil fax akan pudar bila terlalu lama disimpan. 4. Perlu usaha khusus untuk mengarsip fax-fax yang dikirim dan masuk. 5. Perlu personel khusus untuk mendistribusikan fax-fax yang masuk. Oleh karenanya, kini banyak perusahan yang telah menerapkan solusi FaxServer, karena memberikan keunggulan-keunggulan berikut ini: 1. Tidak perlu maintenance khusus, karena menggunakan sebuah PC sebagai servernya. 2. Dokumen dapat langsung di fax ke tujuan tanpa harus di print dahulu. Hemat kertas, tinta, dan fax terkirim dengan kualitas seperti pada di layar komputer. 3. Fax yang masuk disimpan dalam bentuk file PDF di komputer, sehingga terjamin. 4. Fax terkirim/diterima langsung tersimpan dalam folder-folder khusus dalam bentuk file PDF. 5. Fax yang masuk dapat secara otomatis dikirim melalui email.
Feature-feature Faxserver ini: 1. Murni menggunakan software OpenSource. 2. Cukup menggunakan PC dan fax modem external biasa. 3. Multi user. page 2 of 16
http://linux2.arinet.org 4. Dapat mengunakan web based fax client ataupun windows client. 5. Konfirmasi send/receive fax lewat email. Hal-hal yang diperlukan: 1. PC/Notebook yang telah terinstall Ubuntu 7.10 2. Modem External 3. Mesin Fax untuk testing 4. Koneksi internet / DVD Repo Ubuntu 5. Semangat tinggi untuk belajar dan mencoba :) Secara garis besar, langkah-langkahnya adalah: 1. Install Ubuntu 2. Pasang Modem 3. Install dan setup Hylafax 4. Install paket-paket Ubuntu yang dibutuhkan 5. Install dan setup Avantfax 6. Testing kirim/terima fax Baiklah kita mulai, install Ubuntu seperti biasa. Pasang modem ke PC, sambungkan ke line telpon dan hidupkan. Selanjutnya kita mulai install-install. Bisa menggunakan synaptic ataupun apt-get dari console, terserah sesuai kebiasaan kita. Di dalam panduan ini dicantumkan menggunakan apt-get.
A. Install dan Setup Hylafax A1. Kita install Postfix dulu. Mengapa? Sebab kalau tidak hylafax akan menginstall pula Exim mailserver, kalau kita familiar sih tidak apa-apa. (Tulisan-tulisan yang didahului oleh tanda '#' dan berhuruf tebal berarti adalah command yang harus kita ketik di console). # apt-get install postfix Setup saja postfix seperti biasa/default. Secara default postfix sudah dapat mengirim email. A2. Install hylafax: # 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
page 3 of 16
http://linux2.arinet.org modem. Modem kita biasanya akan terdeteksi sebagai /dev/ttyS0 (serial pertama), kecuali di contoh panduan ini, karena saya menggunakan modem virtual, maka modem saya adalah /dev/ttyx0 dan /dev/ttyx1: # 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.
page 4 of 16
http://linux2.arinet.org
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: [2] Init script starts hfaxd [3] Start old protocol: [4] Start paging protocol: Are these ok [yes]?
yes yes no no
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]? ttyx0 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]? 021 Phone number of fax modem [+1.999.555.1212]? 5551234 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 ttyx0 [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]?
page 5 of 16
http://linux2.arinet.org 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 (021). The number should be a fully qualified international dialing number of the form: +1 021
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: AreaCode: FAXNumber: LongDistancePrefix: InternationalPrefix: DialStringRules: SessionTracing: RingsBeforeAnswer: SpeakerVolume: GettyArgs: LocalIdentifier: TagLineFont: TagLineFormat: MaxRecvPages:
1 021 5551234 1 011 etc/dialrules 11 1 off "-h %l dx_%s" UbuntuFax etc/lutRS18.pcf "From %%l|%c|Page %%P of %%T" 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 Class Class Class Class
1 relies on HylaFAX to perform the bulk of the fax protocol. 2 relies on the modem to perform the bulk of the fax protocol. 2.0 is similar to Class 2 but may include more features. 1.0 is similar to Class 1 but may add V.34-fax capability. 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
page 6 of 16
http://linux2.arinet.org 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 "T38FAX". Other information (ATI3) is "Vyacheslav Frolov". DTE-DCE flow control scheme [default]? Modem manufacturer is "Vyacheslav Frolov". Modem model is "t38modem". Using prototype configuration file t38modem... The modem configuration parameters are: ModemFlowControl: ModemRevQueryCmd:
rtscts AT+FREV?
Are these ok [yes]? Creating new configuration file /var/spool/hylafax/etc/config.ttyx0... Creating fifo /var/spool/hylafax/FIFO.ttyx0 for faxgetty... done. 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: AreaCode: LongDistancePrefix: InternationalPrefix: DialStringRules:
1 021 1 011 etc/dialrules
Are these ok [yes]? Creating new configuration file /var/spool/hylafax/etc/config... ...saving current file as /var/spool/hylafax/etc/config.sav. Don't forget to restart hylafax in order to run faxgetty on this new modem line. Updating /etc/hylafax/config from /var/spool/hylafax/etc/config. Creating /etc/hylafax/config.sav from /var/spool/hylafax/etc/config.sav. Creating /etc/hylafax/config.ttyx0 from /var/spool/hylafax/etc/config.ttyx0. Updating /etc/hylafax/setup.cache from /var/spool/hylafax/etc/setup.cache. Updating /etc/hylafax/setup.modem from /var/spool/hylafax/etc/setup.modem. /var/spool/hylafax/config
A4. Cek modem sudah terdetect oleh hylafax: # /etc/init.d/hylafax restart * Stopping HylaFAX faxq * Starting HylaFAX faxq
[ OK ] [ OK ]
# faxstat -a -s
HylaFAX scheduler on voyager2: Running
page 7 of 16
http://linux2.arinet.org Modem ttyx0 (5551234): Running and idle Modem ttyx1 (5554321): 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. # apt-get install apache2 apache2-mpm-prefork apache2-utils apache2.2common libapache2-mod-php5 libmagic-dev php5-gd php5-cli php5-mysql php5common 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. # pear install MDB2 mail mail_mime B3. # pear install pear/MDB2#MySQL B4. # pecl install fileinfo B5. Restart Apache: # /etc/init.d/apache2 restart
page 8 of 16
http://linux2.arinet.org
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.3 # 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: # ./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 # 0 # 0
runs once an hour to update the phone book * * * * /var/www/avantfax/includes/phb.php runs once a day to remove old files 0 * * * /var/www/avantfax/includes/remold.php
page 9 of 16
http://linux2.arinet.org C6. Setup Avantfax lewat Web interface. Hidupkan web browser dan buka http://localhost/avantfax/admin Kita akan melihat layar login seperti ini (username standard: admin, passwordnya: password):
Pada pertama kali login ini kita akan diminta untuk segera mengganti password admin:
page 10 of 16
http://linux2.arinet.org Setelah login, kita akan melihat layar administration seperti ini:
Seperti dapat dilihat di gambar di atas, sepertinya ada bug di avantfax dimana user admin pertama kita tidak memiliki info apapun, oleh karena itu segeralah kita membuat user baru dengan mengklik menu New User. Berikan ia hak-hak administrasi. Tuliskan pula email accountnya ke user linux.
page 11 of 16
http://linux2.arinet.org Seperti terlihat dibawah ini jadinya:
Selanjutnya yang juga penting dan wajib adalah mensetup modem di Avantfax. Klik menu Configure Modems. Bila modem kita adalah /dev/ttyS0, maka cukup dituliskan ttyS0. Disini karena modem saya /dev/ttyx0 dan /dev/ttyx1, maka saya menuliskannya ttyx0. Alias modem pilih identifikasi terserah kita saja, misalnya: modem1. Contact dikosongkan saja dulu.
page 12 of 16
http://linux2.arinet.org Bila sudah tersetel user dan modem, maka kita sudah bisa login dari layar depan Avantfax, yaitu: http://localhost/avantfax
page 13 of 16
http://linux2.arinet.org Selanjutnya silahkan dicoba kirim/terima fax. Bila sudah ada fax masuk, maka di Inbox Avantfax kita akan terlihat seperti ini:
D. Troubleshooting Kita dapat memonitor proses kirim/terima fax dari /var/log/syslog. Dengan demikian kita bisa mengetahui apa kesalahan apa, misalnya busy tone, dll. Seperti di bawah ini bila kita mengirim fax, akan terlihat: D1. # tail -f /var/log/syslog
Jan 16 11:14:53 voyager2 FaxSend[4467]: MODEM VYACHESLAV FROLOV T38FAX/0.8.0 Jan 16 11:14:54 voyager2 FaxSend[4467]: SEND FAX: JOB 10 DEST 0123 COMMID 000000032 DEVICE '/dev/ttyx0' FROM 'root ' USER admin Jan 16 11:15:03 voyager2 FaxGetty[15482]: ANSWER: FAX CONNECTION DEVICE '/dev/ttyx1' Jan 16 11:15:17 voyager2 FaxGetty[4532]: RECV FAX (000000033): from UbuntuFax, page 1 in 0:14, INF, 3.85 line/mm, 2-D MMR, 14400 bit/s Jan 16 11:15:18 voyager2 FaxSend[4467]: SEND FAX: JOB 10 SENT in 0:12 Jan 16 11:15:32 voyager2 FaxGetty[4562]: RECV FAX (000000033): from UbuntuFax, page 2 in 0:13, INF,
page 14 of 16
http://linux2.arinet.org 3.85 line/mm, 2-D MMR, 14400 bit/s Jan 16 11:15:32 voyager2 FaxGetty[4563]: RECV FAX (000000033): recvq/fax000000008.tif from UbuntuFax, route to , 2 pages in 0:29 Jan 16 11:15:32 voyager2 FaxSend[4467]: SEND FAX: JOB 10 SENT in 0:13 Jan 16 11:15:34 voyager2 FaxGetty[15482]: RECV FAX: bin/faxrcvd.php "recvq/fax000000008.tif" "ttyx1" "000000033" ""
Setiap hari Avantfax juga akan mengirimkan summary penggunaan fax server kita ke email seperti ini: From [email protected] Thu Mar 29 18:38:12 2007 Date: Thu, 29 Mar 2007 18:38:11 +0700 From: root To: [email protected] Subject: HylaFAX Usage Report Facsimile transmitted since : Sender Pages Time Pg/min Errs TypRate TypData [email protected] (fajar) 1 0:29 2.1 0 9600 2-D MR --------------------------------------------------------------------------Total 1 0:29 2.1 0 Facsimile transmitted since last week: Sender Pages Time Pg/min Errs TypRate TypData [email protected] (fajar) 1 0:29 2.1 0 9600 2-D MR --------------------------------------------------------------------------Total 1 0:29 2.1 0 Facsimile received since : Sender CIDName CIDNumber Pages Time Pg/min Errs TypRate TypData 0218309747 6 4:39 1.3 0 9600 2-D MR -----------------------------------------------------------------------------------------Total 6 4:39 1.3 0 Facsimile received since last week: Sender CIDName CIDNumber Pages Time Pg/min Errs TypRate TypData 0218309747 6 4:39 1.3 0 9600 2-D MR -----------------------------------------------------------------------------------------Total 6 4:39 1.3 0 Report failed calls and associated session logs: Nothing to purge in info directory. Truncate merged session logs older than 730 days: Nothing to purge in receive queue. Nothing to purge in the tmp directory.
D2. Kemana lagi bila masih mengalami kesulitan? Yang paling tepat adalah dengan mengikuti mailing list hylafax di http://www.hylafax.org
page 15 of 16
http://linux2.arinet.org Atau bisa juga menghubungi saya di [email protected], semoga saya bisa membantu.
E. Penutup Demikianlah panduan Faxserver dengan Hylafax dan Avantfax di Ubuntu. Masih banyak kekurangan dan mungkin saja ada cara yang lebih baik. Oleh karena itu silahkan kirimkan koreksi/kritik/saran kamu ke [email protected]. Dapat juga menghubungi saya lewat yahoo messenger di fajarpri Jakarta, 16 January 2008 -Fajar Priyanto | Reg'd Linux User #327841 | Linux tutorial http://linux2.arinet.org 14:52:43 up 7:10, 2.6.22-14-generic GNU/Linux Let's use OpenOffice. http://www.openoffice.org The real challenge of teaching is getting your students motivated to learn.
Semua hasil karya penulis di website http://linux2.arinet.org ini dilisensikan di bawah terms Creative Commons License. Silahkan di klik link di atas untuk melihat secara detail, tapi secara singkat memiliki arti: Kamu bebas untuk: 1. Mengcopy, mendistribusikan, dan mempraktekkannya 2. Melakukan perubahan atas aslinya. Namun dengan syarat: 1. Kamu harus menyebutkan penulis aslinya. 2. Tidak digunakan untuk keperluan komersial. 3. Jika kamu melakukan perubahan apapun, atau melakukan pekerjaan atas dasar artikel disini, kamu harus JUGA menggunakan lisensi yang IDENTIK dengan lisensi disini. Selamat belajar :)
page 16 of 16