coolwolf / 01/12/2010

Centos Linux ile dansguardian ve squid transparent proxy

Dansguardian’ın çalışabilmesi için sisteminizde squid kurulu olmalıdır. Kurulu değilse yum install squid komutuyla kurabilirsiniz. Transparent proxy kullanacağımızdan bir firewall yazılımı da yüklü olmalıdır. Biz shorewall kullandık. Shorewall kurulumu burada anlatılmıştır.
Rpm install için

wget http://dag.wieers.com/rpm/packages/dansguardian/dansguardian-2.8.0.6-1.2.el5.rf.i386.rpm

Ardından da :

rpm -ivh dansguardian-2.8.0.6-1.2.el5.rf.i386.rpm

komutuyla indirdiğimiz rpm dosyasını kuruyoruz.
Rpm kurduysanız buradan devam ediniz, rpm kurmak istemiyorsanız şu adımları takip edin:
Öncelikle http://dansguardian.org/downloads/2/Stable/ adresinden dansguardian’ın son sürümünü indiriyoruz.
Benim kurduğum sürümün doğrudan linki
http://dansguardian.org/downloads/2/Stable/dansguardian-2.10.1.1.tar.gz
Eğer daha yeni bir sürüm varsa siz onu kurabilirsiniz.

wget http://dansguardian.org/downloads/2/Stable/dansguardian-2.10.1.1.tar.gz
tar xvfz dansguardian-2.10.1.1.tar.gz

komutuyla da arşivi açıyoruz. Ardından:

 cd dansguardian-2.10.1.1/

komutuyla dansguardian dizinine giriyoruz.
şimdi sırasıya “

./configure
make
make install

komutlarını çalıştıracağız. Configure komutunun çalışabilmesi için sistemininizde compiler ve zlib yüklü olmalıdır. Eğer sisteminizde yok ise

yum install gcc gcc-c++ zlib-devel

komutuyla derleyiciyi kurabilirsiniz.
ayrıca PCRE ile ilgili bir hata alırsanız yum install pcre-devel komutunu vermeniz gerekiyor.

./configure
make
make install

komutlarıyla kurulumu tamamlıyoruz. Kurulum tamamlandı.
Şimdi chkconfig dansguardian on komutuyla dansguardian’ın açılışta çalışmasını sağlıyoruz.
Böyle bir dosya olmadığına dair bir hata alabilirsiniz. Bu durumda:

cp /usr/local/share/dansguardian/scripts/systemv-init /etc/init.d/dansguardian
 chmod 755 /etc/init.d/dansguardian

komutuyla da yetkileri ayarladıktan sonra,
tekrar chkconfig dansguardian on komutunu veriyoruz.

/usr/local/etc/dansguardian/dansguardian.conf

(rpm kurduysanız /etc/dansguardian/dansguardian.conf)dosyasini açıp bazı değerleri düzenliyoruz.

language='turkish'
loglocation = '/var/log/dansguardian/access.log'

bu değişiklikleri yaptıktan sonra kaydedip çıkıyoruz. Şimdi log dosyalarının kaydedilebilmesi için:

 chown -R nobody:nobody /var/log/dansguardian

komutunu verdikten sonra kuruluma devam ediyoruz.
Sıra geldi squid ve firewall’da gerekli ayarları yapmaya.

/etc/squid/squid.conf

dosyasında şöyle bir değişiklik yapıyoruz

http_port 127.0.0.1:3128 transparent

Yukarıdaki satırı http_port değişkenini squid.conf dosyasında aratarak bulabilirsiniz.

service squid restart

komutuyla squid’i tekrar başlatalım.

/etc/shorewall/rules

dosyasına aşağıdaki satırı ekliyoruz:

REDIRECT        loc     8080    TCP     80      -       !192.168.2.15,192.168.0.2

burada loc yerel network, 8080 dansguardian portu, 80 http portu, ! ile başlayan ipler ise bu kuralın dışında kalan ip adresleri.Burada benim kurduğum firewall’ın yerel ip’leri.

service dansguardian restart
shorewall restart

komutlarını verdiğimizde transparent proxy’miz kullanıma hazırdır.
Kara listeleri http://dansguardian.org/?page=blacklist adresinden indirebilirsiniz.


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.

coolwolf / 01/12/2010

Centos libclamav.so.4 hatası

Missing Dependency: libclamav.so.4 is needed by package perl-Mail-ClamAV

rpm -e perl-Mail-ClamAV

komutuyla perl-Mail-ClamAV paketini kaldırın. Bu paket kullanımdan kalktı.