coolwolf / 01/12/2010
Centos Linux ile Faks sunucusu kurmak
DİKKAT !!! Centos 5 kullanınız. Centos 6’da bazı hatalara bir türlü çözüm bulamadık.
os üzerine hylafax kurulumu :
Önce varsa mgetty-senfax paketini kaldıralım:
rpm -e mgetty-sendfax
Varsa GNOME ve X Windows sistemini de kaldıralım :
yum groupremove "GNOME Desktop Environment" -y
yum groupremove "X Window System" -y
Sistem dili olarak Türkçe seçtiyseniz groupremove hata (sqlite3.IntegrityError: trans_with_pkgs.tid may not be NULL) ile sonuçlanabilir. Bu durumda, sistem dilini ingilizce olarak değiştirip groupremove komutunu tekrar çalıştırınız:
yum install system-config-language
system-config-language
Ardından hylafaxı kurmaya başlamadan önce ghostscript ve sharutils’i kuralım :
yum install ghostscript sharutils
Şimdi gerekli kullanıcı ve grubu ekleyelim :
groupadd fax
useradd -g fax fax
Hylafax+ centos 5 rpm dosyasını indirelim:
wget http://sourceforge.net/projects/hylafax/files/hylafax%20CentOS%205%20RPM/hylafax-5.5.2-1.el5.i386.rpm/download
Ardından aşağıdaki komutla kurulumu yapalım :
rpm -ivh hylafax-5.5.2-1.el5.i386.rpm
Şimdi faxsetup komutunu kullanarak fax sunucumuzu yapılandırıp, modem ile irtibatını sağlayalım :
/usr/sbin/faxsetup
komutuyla faks programını yapılandırıyoruz.
Users to receive fax-related mail [root]
sorusuna fax yazıyoruz.
Country code [1] 90
yazıyoruz
Area code [000] ?
karşısına 216 yazıyoruz.
Long distance dialing prefix [1] ?
karşısına 0 yazıyoruz
International dialing prefix [011] ?
karşısına 00 yazıyoruz
Do you want to run faxaddmodem to configure a modem [yes] ? yes
diyoruz. Bizim örneğimizde com1 portunu kullandık.
Serial port that modem is connected to [] ? ttyS0
yazıyoruz. ttyS0 COM1 portunun linux karşılığı, COM2 için ttyS1 yazabilirsiniz.
Country code [90] ?
bu şekilde bırakıyoruz. Çünkü faxsetup ile bunları ayarlamıştık.
Area code [216] ?
Phone number of fax modem [+1.999.555.1212] ?
buraya faks hattımızın numarasını yazıyoruz. Örneğin +90.216.4440444
Local identification string (for TSI/CIG) [“NothingSetup”] ?
Buraya kendimizi tanıtacak bir metin yazıyoruz. Örneğin CodeLama.Com
Long distance dialing prefix [1] ? 0
yazıyoruz
International dialing prefix [011]? 00
yazıyoruz
Dial string rules file (relative to /var/spool/hylafax) [etc/dialrules]?
direk enter’a basıyoruz
Tracing during normal server operation [1]?
Tracing during send and receive sessions [0xFFF]?
Protection mode for received facsimile [0600]?
Protection mode for session logs [0600]?
Protection mode for ttyS0 [0600]?
Rings to wait before answering [1]?
Doğrudan enter’a basıyoruz. Böylece 1 çalmada faksı almasını söylüyoruz. Eğer faksa cevap vermeden önce 2 yada 3 defa çalmasını istiyorsanız buraya ona göre rakkam girmelisiniz.
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) [""]?
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 [""]?
The non-default server configuration parameters are:
CountryCode: 90
AreaCode: 216
FAXNumber: +90.216.4444444
LongDistancePrefix: 0
InternationalPrefix: 00
DialStringRules: etc/dialrules
RingsBeforeAnswer: 1
SpeakerVolume: off
GettyArgs: "-h %l dx_%s"
LocalIdentifier: CodeLama
TagLineFont: etc/lutRS18.pcf
TagLineFormat: "From %%l|%c|Page %%P of %%T"
MaxRecvPages: 25
Are these ok [yes]?
Böylece modemi eklemiş olduk.
Şimdi /etc/inittab dosyasının en altına aşağıdaki kodu ekliyoruz:
#Hylafax
mo:2345:respawn:/usr/sbin/faxgetty ttyS0
ardınan
/usr/sbin/ntsysv
komutunu çalıştırıp hylafax servisinin işaretli olduğundan emin olun. eğer işaretli değilse işaretleyip ok butonuna basarak onaylayınız. Kurulum esnasında hylafax programı /etc/aliases içinde FaxMaster adında bir alias oluşturuyor. Gelen faksların kime iletilmesini istiyorsak bu aliası o şekilde değiştiriyoruz.
FaxMaster: faxuser@mydomain.com şeklinde olan girdiyi faxuser@mydomain.com un yerine faksları almasını sitediğiniz kişinin adı ile değiştirin.
ardından
/usr/bin/newaliases
komutunu çalıştırın ki değişikliklerimiz etkili olsun.
reboot yada /sbin/init q komutuyla servisleri yeniden başlatıyoruz.
Eğer gelen faksları bir eposta adresine yönlendirmek istiyorsak :
/var/spool/hylafax/etc/FaxDispatch
adında bir dosya oluşturup içine :
FILETYPE=tif;
SENDTO=FaxMaster;
Postfix’imizin faxlarımızı hangi mail sunucusuna göndereceğini de ayarlayalım :
vi /etc/postfix/main.cf
Dosyanın en altına aşağıdakileri ekleyelim :
relayhost = 192.168.0.2
smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination
smtp_sasl_password_maps = hash:/etc/postfix/smtp_sasl_password_map
Eğer 192.168.0.2 adresindeki mail sunucusu kullanıcı adı doğrulaması gerektiriyorsa
/etc/postfix/smtp_sasl_password_map
adında bir dosya oluşturuarak içine de şunları yazalım :
192.168.10.2 faxuser@mymailserver.com:faxsuser
Şimdi :
/usr/sbin/postmap /etc/postfix/smtp_sasl_password_map
komutuyla map dosyamızı derleyelim, ve :
service postfix restart
komutuyla posta sunucumuzu yeniden başlatalım.
Artık bir arkadaşımızdan bize faz göndermesini isteyip sistemi test etme zamanı.
Gelen fakslar daha önce tanımladığımız FaxMaster eposta adresine gidecektir.
Dikkat etmeniz gereken bu yazdığınız eposta adresinin centos tarafından çözümlenebiliyor olması.
//////////////////////////////////////////////////////////////
//////////Server’a email atarak fax göndermek istiyorum // 🙂 //////
//////////////////////////////////////////////////////////////
Postfix main.cf dosyasının en altına şunları ekleyin :
virtual_alias_maps = hash:/etc/postfix/valias
Sonra da /etc/postfix/valias adında bir dosya oluşturup içine size gelen fax maillerinin nasıl ve nereye yönlendirileceğini yazalım:
@faxalanadi.com mail2fax
Tabi bu alan adının gerçek olmamasına, hiç değilse herkesin mail atmasına müsait olmamasına dikkat ediniz. Ardından bu yazdığımızı etkin hale getirelim :
postmap /etc/postfix/valias
service postfix restart
Son olarak gelen epostaları uygun fax dokümanına dönüştürmesi için /etc/aliases dosyasının en altına bunları yazalım :
mail2fax: |/usr/local/bin/mail2fax.sh
Hemen peşinden:
newaliases
komutuyla değişiklikleri uygulayalım. Bu dosyayı /usr/local/bin altına indirip,
chmod a+x mail2fax.sh
komutuyla da çalıştırılabilir hale getirdikten sonra işlemimiz tamamdır. Email ile fax göndermek için yukarıda tanımladığınız alan adına telefonnumarasi@yukarıdakialanadi.com şeklinde mail attığınıza telefonnumarai ile belirtilen numaraya fax gönderecektir.