Coretan Kemenangan dari seorang yang awam

Agustus 13, 2008

Cara Setting Ip tables

Filed under: Cara Setting Iptables — boocex @ 12:23 pm

Cara setting iptables

IptablesPada kernel linux yang baru, terdapat fasilitas netfilter dan iptables yang menggantikan ipchains dengan penambahan beberapa fasilitas diantaranya pemberian tanda pada setiap paket yang difilter, penambahan table NAT dan mangle.

Table-table ini mempunyai fungsi sendiri-sendiri, sesuai dengan namanya, table NAT menangani semua keperluan mengenai Network Addresss Translation, termasuk juga port redirection dan IP Masquerading, sedangkan untuk table Mangle bisa digunakan untuk memberikan tanda pada sebuah paket, dan selanjutnya untuk diolah atau ditransmisikan pada kondisi tertentu.

Pembahasan mengenai table Mangle ini tidak dibahas disini, karena hal tersebut menyimpang dari topik kita, yaitu Network Address Translation (NAT).
Seperti dibicarakan sebelumnya. terjadi perubahan juga pada implementasi IP Masquerading, yang semula diletakkan di table filter, namun pada iptables, IP Masqurading diletakkan pada table tersendiri yaitu NAT. Oleh karena itu penulis hanya menambahkan pengimplementasian IP Masquerading pada kernel 2.4.xx, sedangkan untuk hak ciptanya masih dipegang sdr. Agus Hartanto -) .

Jika anda belum mengetahui apakah IP Masquerade itu, dan apa kegunaannya, silahkan lihat tulisan terdahulu yaitu NAT dengan linux hasil karya sdr. Agus, karena dalam artikel ini tidak dijelaskan lagi secara detail mengenai hal tersebut, takut nanti dituduh menyontek ide orang lain -) , penulis juga masih menggunakan gambaran yang dikemukakan oleh tulisan sdr. Agus karena iptables pada dasarnya mirip dengan ipchains dan agar pembaca lebih mudah memahaminya. Pembahasan pada contoh-contoh yang dikemukakan menggunakan RedHat linux sebagai acuan, sehingga mungkin ada perbedaan letak file jika anda menggunakan distro lain selain RedHat.

1. Persiapan

Untuk koneksi ke internet menggunakan IP Masquerade, minimal harus ada sebuah mesin linux dalam jaringan yang tersambung ke internet dan mempunyai sedikitnya satu real/official IP, selain itu tentu saja kernel linux juga harus mendukung IP Masquerade. Adapun program untuk mengaktifkan IP Masquerade pada kernel 2.4.x adalah menggunakan iptables, meskipun sebenarnya ipchains dan ipfwadm juga tersedia, namun iptables mempunyai kinekerja lebih cepat dibandingkan dengan pendahulunya, dan mempunyai tingkat keamanan lebih tinggi, seperti pembatasan jumlah paket yang masuk.

iptables secara default telah tersedia pada kernel 2.4.x, namun apabila anda ingin mengkompilasinya secara terpisah, program tersebut dapat anda cari dan download melalui netfilter.samba.org, atau melalui site site linux archive lainnya seperti freshmeat.

Untuk langkah awal, komputer-komputer yang terkoneksi ke jaringan internal, sebaiknya diberi alamat menggunakan IP private dan diletakkan dalam satu netmask dengan komputer yang menjadi gateway.

Contoh :

ISP ppp0 router.linux-kita.com
client1 192.168.1.2
client2 192.168.1.3
client3 192.168.1.4
server 192.168.1.1
netmask 255.255.255.0

Untuk keperluan IP-Masquerade, kernel anda harus mendukung beberapa driver dibawah ini :

* Enable loadable module support
CONFIG_MODULES
– Mengijinkan anda untuk memanggil komponen kernel
dalam bentuk modul

* Networking support
CONFIG_NET

* Network firewalls
CONFIG_FIREWALL

* TCP/IP networking
CONFIG_INET

* Netfilter Support
CONFIG_NETFILTER

* Netfilter: Connection Tracking
CONFIG_IP_NF_CONNTRACK

* Netfilter: Iptables Style support
CONNFIG_IP_NF_IPTABLES

* Netfilter: Filter Packets
CONFIG_IP_NF_FILTER

* Netfilter: Reject Packets
CONFIG_IP_NF_TARGET_REJECT

* Netfilter: NAT Support
CONFIG_IP_NF_NAT
CONFIG_IP_NF_NAT_NEEDED

* Netfilter: IP Masquerading
CONFIG_IP_NF_TARGET_MASQUERADE

* Netfilter: Redirection
CONFIG_IP_NF_TARGET_REDIRECT

* Netfilter: IRC NAT Support
CONFIG_IP_NF_NAT_IRC

* Netfilter: Table Mangle
CONFIG_IP_NF_MANGLE

* Netfilter: Log target support
CONFIG_IP_NF_TARGET_LOG

* Netfilter: Ipchains Style Support
CONFIG_IP_NF_COMPAT_IPCHAINS

* Netfilter: Ipfwadm Style Support
CONFIG_IP_NF_COMPAT_IPFWADM

* Dummy net driver support
CONFIG_DUMMY

Pada kernel 2.4.x yang terpasang pada redhat, option-option di atas sudah diaktifkan dalam bentuk modul, sehingga anda tidak perlu mengkompile ulang kernel lagi, yang tentu sangat melelahkan bagi yang belum terbiasa -) . Dan untuk menggunakan modul-modul tersebut, anda tidak perlu memanggilnya terlebih dahulu menggunakan modprobe, namun anda hanya perlu menjalankan iptables, dan secara otomatis, modul yang diperlukan akan diload ke dalam memory oleh iptables.

2. Mengaktifkan IP_FORWARDING

Untuk mengaktifkan ip_forward anda harus memberikan nilai 1 ke file /proc/sys/net/ipv4/ip_forward, contohnya dengan mengetikkan perintah di prompt linux :

[root@server /]# echo “1? > /proc/sys/net/ipv4/ip_forward

Ini sangat penting untuk diperhatikan, karena sejak Kernel 2.0.34 , kernel tidak mengaktifkannya secara default.

Atau cara lain, anda bisa menambahkan baris berikut pada file /etc/sysctl.conf:

net.ipv4.ip_forward = 1

dengan adanya baris tersebut maka script /etc/rc.d/init.d/network akan memberikan nilai 1 secara otomatis ke file /proc/sys/net/ipv4/ip_forward pada saat memulai linux.

3. Memanggil modul modul pendukung IP Masquerade

Seperti yang telah disebutkan diatas, pada kernel 2.4.x modul-modul yang tersedia tidak perlu dipanggil terlebih dahulu, anda hanya menjalankan iptables, dan secara otomatis, modul-modul yang diperlukan akan diload ke memory. Adapun beberapa modul netfilter yang terdapat pada kernel 2.4.x (terletak di direktori /lib/modules/2.4.x/kernel/net/ipv4/netfilter) adalah:

ipchains.o ip_nat_ftp.o iptable_nat.o ipt_mark.o ipt_owner.o ipt_TCPMSS.o
ip_conntrack_ftp.o ip_nat_irc.o ip_tables.o ipt_MARK.o ipt_REDIRECT.o ipt_tos.o
ip_conntrack_irc.o ip_queue.o ipt_limit.o ipt_MASQUERADE.o ipt_REJECT.o ipt_TOS.o
ip_conntrack.o iptable_filter.o ipt_LOG.o ipt_MIRROR.o ipt_state.o ipt_unclean.o
ipfwadm.o iptable_mangle.o ipt_mac.o ipt_multiport.o ipt_tcpmss.o

4. Mengkonfigurasikan Aturan dari IP Forwarding dan sedikit ttg Firewall

Untuk mengaktifkan IP Masquerade, anda harus memberikan perintah :

iptables -t nat -A POSTROUTING -s yyy.yyy.yyy.yyy./x -j MASQUERADE dengan table seperti diatas.

Untuk lebih jelasnya coba perhatikan contoh dibawah ini :

Anda mempunyai jaringan dengan alamat IP gateway linux 192.168.1.1 dan klien klien 192.168.1.2 s/d 192.168.0.4 dengan netmask 255.255.255.0 , dan anda ingin mengaktifkan IP Masquerading atas alamat alamat ini, maka anda harus mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0.0.0.0/0 -j MASQUERADE

Anda mempunyai alamat alamat IP spt diatas tapi anda ingin hanya klien dengan IP bernomer 192.168.1.5 dan 192.168.0.10 saja yang bisa mengakses internet, maka seharusnya anda hanya mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.5/32 -d 0.0.0.0/0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.1.10/32 -d 0.0.0.0/0 -j MASQUERADE

Anda mempunyai alamat alamat IP spt diatas dan anda ingin semua klien bisa mengakses internet, kecuali IP 192.168.1.5 dan 192.168.1.10 saja yang tidak bisa mengakses internet, maka seharusnya anda mengetikkan perintah :

iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -d 0/0 -j MASQUERADE

untuk mengaktifkan masquerading. Baru kemudian kita cegat kedua komputer tersebut dengan perintah :

iptables -I INPUT -s 192.168.1.5/32 -d 0/0 -j DROP
iptables -I INPUT -s 192.168.1.10/32 -d 0/0 -j DROP

Administrasi fasilitas fasilitas tertentu
Kita bisa juga melakukan pencegatan terhadap paket paket yang akan masuk ke port tertentu, hal ini juga memungkinkan kita untuk mematikan atau menghidupkan beberapa fasilitas internet, misalnya anda ingin klien anda dengan alamat 192.168.1.5 tidak diperbolehkan untuk melakukan chatting, maka kita bisa men-deny, paket paket dari klien 192.168.1.5 yang akan menuju ke port IRC (contoh port nomer 6667).
Dibawah ini contoh untuk mencegat paket TCP dari klien dengan alamat 192.168.1.5 yang menuju ke port 6667 :

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP

Untuk membuka atau menghapus aturan aturan yang telah kita buat kita bisa mengganti option -I , -A dsb, misalnya dengan option -D sebagai contoh:

iptables -I INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP

dapat dihapus dengan perintah :

iptables -D INPUT -p tcp -s 192.168.1.5/32 -d 0/0 –destination-port 6667 -j DROP

Catatan option option iptables yg digunakan diatas

-A menambahkan rule
-I menyisipkan (insert) rule firewall ke baris paling atas
-D menghapus rule yg telah dibuat
-s source address
-d destination address
DROP Pada iptables tidak dikenal target DENY, sebagai pengganti menggunakan target DROP

Source : http://www.ghaza.li/

Membangun Fax Dengan Hylafax

Filed under: Membangun Fax dengan Membangun Fax Dengan Hylafax — boocex @ 12:20 pm

Tutorial membangun Fax Server menggunakan Hylafax

HylafaxTutorial membangun Fax Server menggunakan Hylafax

Perkakas yang dibutuhkan untuk membangun fax server :

1. hylafax-4.2.5.tar.gz (source hylafax)

2. tiff-3.8.0.tar.gz (library tiff format)

3. OS (yang pasti linux dong)

4. Fax Modem External (Fax/Voice)

5. rokok, kopi, dan sepiring tahu goreng ;-)

Untuk mendapatkan perkakas tersebut bisa di download di sini

1. hylafax-4.2.5.tar.gz

Download : ftp://ftp.hylafax.org/source/hylafax-4.2.5.tar.gz

atau wget ftp://ftp.hylafax.org/source/hylafax-4.2.5.tar.gz

2. tiff-3.8.0.tar.gz

Download : http://dl.maptools.org/dl/libtiff/tiff-3.8.0.tar.gz

atau wget http://dl.maptools.org/dl/libtiff/tiff-3.8.0.tar.gz

3. OS Trustix Secure Linux 2.2 (Tidak harus trustix, untuk pilihan ketiga ini saya tulis trustix, karena kebetulan saya memakai trustix)

Download : http://trustix.secsup.org/releases/trustix-2.2/iso/trustix-2.2-200512141534.i586.iso

4. Fax Modem bisa didapatkan di toko2 komputer terdekat ditempat anda, harga berkisar 300 sampai 500 ribu, modem External tidak diwajibkan kok ;-)

5. Rokok, kopi, dan sepiring tahu goreng ;-)

Kalau yang ini bisa didapatkan di kedai terdekat ditempat anda ( yang pasti jangan di download ya…), okeh lanjut bro…

Pertama sekali tancapkan dulu modem external-nya di COM1 dan extract-lah file tiff-3.8.0.tar.gz dengan perintah :

# tar xvfz tiff-3.8.0.tar.gz

setelah selesai extract

# cd tiff-3.8.0

# ./configure

# make

Selanjutnya tunggulan beberapa saat sampai make-nya selesai sambil melihat apakah ada yang error, anda sudah dapat menggunakan perkakas yang kelima, ambil sebatang rokok dan sambil melahap tahu goreng yang telah disediakan (siiiippp dah…)

# make install

oke deh install tiff library sudah selesai, dan selanjutnya baru kita install program utamanya hylafax, sekarang extract-lah file hylafax-4.2.5

dengan perintah :

# tar xvfz hylafax-4.2.5.tar.gz

# cd hylafax-4.2.5

# ./configure

# make

hmmmm……habis di make, gunakan lagi perkakas yang kelima ya…. wuenak tenan….

# make install

setelah di make install, selesai deh install fax server-nya dan sekarang kita tinggal konfigurasi fax server tersebut, tinggal ketik

# /usr/local/sbin/faxsetup

setelah di ketik seperti yang diatas nanti akan keluar perintah dan langkah2 konfigurasi-nya, baca dan ikuti, setelah selesai coba anda periksa apakah proses fax server-nya sudah jalan atau belum dengan mengetik:

# ps -aux |grep hylafax

jika keluar kira2 seperti dibawah ini, mungkin saja tidak persis sama yaa,….. tanda (?) menandakan kalau daemon untuk hylafax sudah jalan.

uucp 1218 0.0 0.9 3784 1456 ? S Feb12 0:00 /usr/local/sbin/hfaxd -i hylafax

Jika semua berjalan dengan lancar anda sudah bisa membuat user untuk fax server-nya dengan mengetik

# /usr/local/sbin/faxadduser -u sample -p terserah

jika sudah, cobalah habiskan dulu tahu goreng yang masih tersisa hehe ;-), ada server pasti ada klient, yaa nggak??

sekarang download-lah fax client untuk windows

download : http://www.uli-eckhardt.de/whfc/download/whfc-1.2.3_setup.exe

setelah selesai di install masukkan username dan password yang telah anda buat tadi,…. kalau sudah terkoneksi anda sudah bisa menerima dan mengirim fax. Selamat mencoba semoga berhasil,..sampai ketemu lagi pada tutorial selanjutnya…. daaa,………

Untuk referensi, semua file yang diinstall akan tersimpan di :

HylaFAX configuration parameters are:

[ 1] Directory for applications: /usr/local/bin

[ 2] Directory for lib data files: /usr/local/lib/fax

[ 3] Directory for lib executables: /usr/local/sbin

[ 4] Directory for system apps: /usr/local/sbin

[ 5] Directory for manual pages: /usr/local/man

[ 6] Directory for HTML documentation: /var/httpd/htdocs/hylafax

[ 7] Directory for spooling: /var/spool/hylafax

[ 8] Directory for uucp lock files: /var/lock

[ 9] Uucp lock file scheme: ascii

[10] PostScript imager package: gs

[11] PostScript imager program: /usr/bin/gs

[12] Manual page installation scheme: bsd-source-cat

[13] Default page size: North American Letter

[14] Default vertical res (lpi): 98

[15] Location of getty program: /sbin/agetty

[16] Location of voice getty program: /bin/vgetty

[17] Location of sendmail program: /usr/sbin/sendmail

[18] Location of TIFF tools: /usr/local/bin

[19] Location of SysV init scripts: /etc/init.d

[20] Location of SysV start scripts: ../rc2.d ../rc3.d ../rc4.d ../rc5.d

[21] Location of SysV stop scripts: ../rc0.d ../rc1.d ../rc6.d

[22] Name of SysV start script: S97hylafax

[23] Name of SysV stop script: K05hylafax

[24] Init script starts faxq: yes

[25] Init script starts hfaxd yes

[26] Start old protocol: no

[27] Start paging protocol: no

Tutorial Install Cacti

Filed under: Install Cacti — boocex @ 12:17 pm

Tutorial Instalasi Cacti di Fedora Core 2 dan Redhat 9

Mungkin rekan2 linuxer agak kesulitan untuk mendapatkan tutorial installasi cacti secara lengkap kalaupun ada itupun dalam bahasa inggris yang sebagian rekan2 linuxer tidak seratus persen paham dengan bahasa yang dituliskan didalam tutorial berbahasa inggris tersebut, disini saya akan mencoba membantu rekan2 memberikan tutorial secara lengkap dalam bahasa indonesia dengan cara saya sendiri dan sebagian ada yang saya adopsi dari “Cacti SNMP Management” yaitu tutorial instalasi atau dukumentasi dari cacti sendiri.

Pertama sekali kita akan meng-install Fedora Core 2 atau Redhat 9 yang mana tampilan instalasi saya rasa sama aja kok, silahkan anda ikuti langkah demi langkah dan saya harap rekan2 tidak meninggalkan salah satu dari langkah2 yang diberikan ini, karena jalan atau tidak jalannya installasi anda berikut berawal dari sini, dan permasalahan yang seringkali ditemui dalam instalasi cacti ini adalah, graphic sering tidak keluar atau Trap SNMP tidak jalan atau mungkin masalah Permission folder atau file dan juga masalah crontab untuk poller cacti.

Langkah-langkah Installasi Fedora Core 2 dan Redhat 9

TAMPILAN INSTALASI YANG HARUS ANDA LAKUKAN
Media Test Pilih saja “Skip” dan klik OK
Welcome To Fedora Core Klik Next
Language Standarnya adalah “English” selanjutnya klik “Next
Keyboard Configuration Standarnya adalah “English” selanjutnya klik “Next
Installation Type Pilih “Custom” dan klik “Next
Disk Partitioning Setup Pilih saja “Automatically Partition” lanjutkan dengan “Next
Automatic Partition Pilih “Remove All” abaikan Warning Screen klik “Yes
Disk Setup Klik “Next
Boot Loader Configuration Klik “Next
Network Configuration Sesuaikan saja dengan keadaan jaringan anda, selanjutnya klik “Next
Firewall Configuration Standarnya “Enable Firewall“  coba anda “Disable” saja dulu
Additional Language Support Standarnya “English(USA)” klik “Next
Time Zona Selection Silahkan arahkan kursor anda “Asia/Jakarta
Set Root Password Isikan Password untuk Login Root
Package Group Selection Silahkan anda ikuti Tabel2 Selanjutnya

Langkah-langkah Memilih Paket

Selanjutnya memilih paket2 yang dibutuhkan agar pas installasi paket secara manual seperti “RRDTOOL” tidak error atau meminta “Dependency” yang lain. Mohon diperhatikan, bagian-bagian yang dikosongkan berarti tidak diberi tanda centang, kalaupun dalam keadaan di centang ya dihilangkan saja :).

Desktops

NAMA PAKET AKSI 1 AKSI 2
X-Windows
Gnome Desktop
KDE

Applications

NAMA PAKET AKSI 1 AKSI 2
Editors
Engeneering and Scientific
Graphical Internet Klik Detail Tambahkan paket “GFTP
Text-Based Internet Klik Detail Tambahkan paket “Lynx
Office / Productivity Hilangkan Centangnya
Sound and Video Hilangkan Centangnya
Authoring and publishing
Graphics Hilangkan Centangnya
Games and Entertainment Hilangkan Centangnya

Servers

NAMA PAKET AKSI 1 AKSI 2
Server Configuration Tools Centang dan Klik Detail Tambahkan paket “System-Config-Boot
Web Server Berilah Centang Tambahkan paket “php-mysql
Mail Server
Windows File Server Berilah Centang
DNS Name Server
FTP Server
SQL Database Server Berilah Centang
News Server
Network Servers

Development

NAMA PAKET AKSI 1 AKSI 2
Development Tools Beri Centang
Kernel Development Beri Centang
X Software Development Beri Centang
Gnome Software Development Beri Centang
KDE Software Development

System

NAMA PAKET AKSI 1 AKSI 2
Administration Tools Beri Centang
System Tools Beri Centang dan Klik Detail Tambahkan paket “nmap-frontend” dan “tsclient
Printing Support Hilangkan Centang

Pesan singkat : PC yang digunakan setidaknya “Celeron 733 dengan RAM 256″ tapi itu nggak masalah kok, itu kan hanya recommended saja sedangkan komputer yang saya gunakan secara pribadi adalah “IBM Pentium II dengan hardisk 3,2 G dan RAM 128 MB.

Selanjutnya silahkan anda jalankan service “httpd” dan “mysqld”

# service httpd start

# service mysql start

Jangan lupa, silahkan anda coba terlebih dahulu apakah web server anda sudah berjalan dengan baik atau belum ;-)

silahkan login ke linux box anda dan masuklah ke :

# cd /var/www/html

# touch phpinfo.php

# vi phpinfo.php

Isinya :

<? phpinfo(); ?>

Selanjutnya buka via Browser kesayangan anda dari klient atau dari komputer windows kesayangan anda hehe -)

http://ip-linuxbox-anda/phpinfo.php

Kalau sudah keluar tampilan tentang Informasi PHP-nya berarti web server anda sudah berjalan dengan baik.

KEBUTUHAN

Pertama buatkan folder “cacti-install”

mkdir /cacti-install
cd /cacti-install
wget http://www.cacti.net/downloads/cacti-0.8.6b.tar.gz
wget http://rrdtool.hostarica.com/rrdtool-1.0.x/rrdtool-1.0.49.tar.gz
wget http://download.fedoralegacy.org/fedora/2/os/i386/php-snmp-4.3.4-11.i386.rpm <– Untuk Fedora Core 2
wget http://download.fedoralegacy.org/redhat/9/os/i386/php-snmp-4.2.2-17.i386.rpm <– Untuk Redhat 9
wget http://ftp.easynet.es/ftp/net-snmp/net-snmp-5.1.2.tar.gz

Note : Semua file yang anda download akan berada di folder “cacti-install”

Jika seandainya file yang disebutkan diatas sudah ada di komputer windows anda. Anda bisa meng-Upload file tersebut via “WinSCP3″ memakai port SSH (22) karena waktu memilih paket, paket ftp tidak diintall, anda bisa download di :

http://optusnet.dl.sourceforge.net/sourceforge/winscp/winscp382.exe

contoh : Drag and Drop

Winscp

Oke rekan2 sekarang kita lanjutkan untuk mengkonfigurasi mysql dan membuat user baru dan memberi password untuk user mysql-nya.

# cd /cacti-install
# groupadd cacti
# useradd -g cacti cactiuser
# mysql
mysql> set password for root@localhost=password(’rootpw‘);
mysql> create database cactidb;
mysql> grant all on cactidb.* to root;
mysql> grant all on cactidb.* to root@localhost;
mysql> grant all on cactidb.* to cactiuser;
mysql> grant all on cactidb.* to cactiuser@localhost;
mysql> set pawword for cactiuser@localhost=password(’cactipw’);
mysql> exit

Sekarang kita lanjutnya Instalasi RRDTOOL

# cd /cacti-install
# tar xvfz rrdtool*
# cd rrdtool*
# ./configure –prefix=/usr/local/rrdtool
# make
# make install

Sekarang kita lanjutnya dengan meng-install NET-SNMP

# cd /cacti-install
# tar xvfz net-snmp*
# cd net-snmp*
./configure

Pesan singkat : Waktu anda melakukan perintah ./configure nanti anda akan diminta untuk mengisi beberapa settingan untuk net-snmp, dan silahkan anda isikan saja seperti dibawah ini, jangan cemas nggak rumit kok hehe ;-), yang dicetak tebal adalah isiannya.

Setup Menu:

Default Version of SNMP (3): 1

System Contact Information (root@): New Cacti User

System Location (Unknown): Data Center Rack

Location to write logfile (/var/log/snmpd.log): “Enter” saja

Location to write presistant information (/var/net-snmp): “Enter” saja

# make
# make install

Instalasi php-snmp

# cd /cacti-install
Untuk Fedora Core 2
# rpm -ivh php-snmp-4.3.4-11.i386.rpm
Untuk Redhat 9
# rpm -ivh php-snmp-4.2.2-17.i386.rpm
Pesan singkat : Biasa waktu installasi php-snmp-4.3.4-11.i386.rpm pada linux Fedora Core 2 dia minta libnetsnmp.so.5, Jika hal ini terjadi coba abaikan saja atau installasi php-snmp-nya nanti saja hehe,… walaupun php-snmp-nya tidak terintall graphic cacti tetap keluar kok, tapi belum tahu nih kalau nanti ada masalah atau bagian tertentu yang tidak ditampilkan, tetapi sampai saat sekarang ini cacti saya masih aman-aman saja tuh, error ini terjadi hanya di Fedora Core 2 saja, sedangkan di Redhat 9 berjalan dengan aman dan lancar. Anggap ini PR buat anda :-).

Sekarang kita lanjutnya untuk Installasi CACTI

# cd /cacti-install
# cp cacti* /var/www/html/
# cd /var/www/html/
# tar xvfz cacti*
# mv cacti-0.8.6b cacti/
# cd cacti
# mysql –user=root –password=rootpw cactidb < cacti.sql
# chown -R cactiuser rra/ log/

Saya harap anda masih berada dalam folder “cacti” saat sekarang ini, dan selanjutnya editlah file config.php yang berada dalam folder include/config.php

# vi include/config.php

Editlah bagian yang dibawah ini :

$database_default = “cactidb”;

$database_hostname = “localhost”;

$database_username = “cactiuser”;

$database_password = “cactipw”;

Setelah selesai keluarlah dari text editor anda.

:wq

Selanjutnya tambahkan baris dibawah ini pada file /etc/crontab

# vi /etc/crontab

*/5 * * * * cactiuser /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1

Oke kita sudah hampir selesai, sekarang anda tinggal link-kan file execute rrdtool yang berada di folder /usr/local/rrdtool/bin/rrdtool ke folder

/usr/local/bin/rrdtool dengan cara :

# cd /usr/local/bin/

# ln -s /usr/local/rrdtool/bin/rrdtool rrdtool

Configurasi Penutup

Sekarang bukalah web browser anda via windows client lalu ketikkan :

http://ip_linuxbox_anda/cacti

atau jika anda buka di-localhost

http://localhost/cacti

Jika anda menemui masalah seperti dibawah ini :

Cannot connect to MySQL server on ‘localhost’. Please make sure you have specified a valid MySQL database name in ‘include/config.php’.

Berarti user dengan nama “cactiuser” tidak punya hak untuk akses mySQL sekarang solusinya coba anda ganti isi config.php cacti-nya menjadi seperti dibawah :

$database_default = “cactidb”;

$database_hostname = “localhost”;

$database_username = “root”;

$database_password = “rootpw”;

Sekarang coba anda buka lagi via browser seperti tadi :

http://ip_linuxbox_anda/cacti

Saya harap anda bisa menemukan tampilan seperti dibawah ini :

setup_1

Klik Next

setup_2

Klik Next

setup_3a

Note : Perlu anda perhatikan semua file binary harus ditemukan waktu installasi seperti yang diberi lingkar merah.

Sekarang  klik “Finish”

Untuk Login pertama sekali isikan :

cacti_login

Login           : admin

Password    : admin

Selanjutnya silahkan anda ganti password dengan password anda sendiri.

SELAMAT CACTI ANDA SUDAH TERINSTALL DENGAN BAIK

grap

Mohon untuk rekan2 yang sudah expert, kalau ada bahasa dan penulisan yang salah silahkan berikan kritik dan saran atau mungkin ada pertanyaan jangan sungkan layangkan email anda ke saya :

Membuat Sms gateway

Filed under: Membuat sms gateway — boocex @ 12:12 pm

Membuat SMS Gateway dgn Modem GSM Itegno, Kannel, & Playsms

Membuat SMS Gateway sendiri memiliki tantangan yang cukup berat. Di internet
sebenarnya telah tersedia banyak dokumentasinya, namun yang masih kurang adalah
tutorial yang benar2 cocok untuk newbie. Setelah bergadang hampir 2 minggu
akhirnya penulis berhasil menyetelnya. Berbeda dengan program SMS bawaan dari
telepon genggam, dengan Kannel dan Playsms, kita bisa menjadikannya multi-user
dan bisa diakses dari mana saja.

Pertama2 penulis ingin berterima kasih kepada semua rekan yang telah banyak
membantu, terutamanya:

1. Developer modem Itegno yang telah memberikan daftar AT command modemnya.

2. Mas Anton Rahardja dan team yang telah menyediakan playsms dan bersedia
ditanya2 jam 2 dini hari )

3. Pak Adi Prasaja yang telah memberikan kunci2 settingan modem gsm.

4. Semua rekan2 yang telah berbaik hati berdiskusi, Mas Dave Muhammad, Mas Rist.
Andy Nugroho, Arief Suherlan, dll.

5. Oom Google dan Pakde Milist )

Baiklah mari kita mulai. Hal2 yang diperlukan adalah:

1. Modem GSM. Dalam hal ini penulis menggunakan Itegno 3000 yang menggunakan
koneksi USB (http://www.dsc.co.id/?page=category&catid=5&pid=120). Sebenarnya
kita dapat pula menggunakan telepon genggam GPRS kita, tapi mungkin di lain
artikel yah.

2. Kannel (http://www.kannel.org) sebagai sms engine.

3. Playsms (http://playsms.sourceforge.net) sebagai web-based Mobile Portal
System.

4. Linux OS dgn MySQL, kali ini penulis menggunakan Fedora Core 4, dengan kernel
terbaru 2.6.15-1.1830.

5. Kopi kental, roti bakar, dan mie instant sesuai selera sebagai teman
bergadang )

Langkah2 yang harus dilakukan adalah:

1. Mensetting Modem GSM.

2. Menginstall dan mensetup kannel.

3. Menginstall dan mensetup playsms.

4. Mentesting

A. Mensetting Modem GSM

Masukkan kartu GSM ke dalam modem GSM, dan jangan lupa pasang tutupnya. Sebab
kalau tidak terpasang, modem tidak akan berfungsi dengan baik.

Hidupkan Linux, dan colokkan modem ke port USB.

Buka terminal, dan lakukan tail -f /var/log/messages. Di dalam /var/log/messages
itu akan terlihat ini bila Linux berhasil mengenali modem GSM kita:

Feb 18 19:36:01 fc4 kernel: usb 2-2: new full speed USB device using uhci_hcd
and address 3

Feb 18 19:36:01 fc4 kernel: usbcore: registered new driver usbserial

Feb 18 19:36:01 fc4 kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for generic

Feb 18 19:36:01 fc4 kernel: usbcore: registered new driver usbserial_generic

Feb 18 19:36:01 fc4 kernel: drivers/usb/serial/usb-serial.c: USB Serial Driver
core

Feb 18 19:36:02 fc4 kernel: drivers/usb/serial/usb-serial.c: USB Serial support
registered for pl2303

Feb 18 19:36:02 fc4 kernel: pl2303 2-2:1.0: pl2303 converter detected

Feb 18 19:36:02 fc4 kernel: usb 2-2: pl2303 converter now attached to ttyUSB0

Feb 18 19:36:02 fc4 kernel: usbcore: registered new driver pl2303

Feb 18 19:36:02 fc4 kernel: drivers/usb/serial/pl2303.c: Prolific PL2303 USB to
serial adaptor driver

Secara fisik kita bisa melihat apakah Modem telah dikenali dengan baik dari
lampunya yang berkedip2.

B1. Menginstall kannel.

Kita bisa menginstall dari source, ataupun dari binary. Tidak masalah.
Menggunakan FC4, kita dapat menginstallnya dengan cara:

yum install kannel kannel-devel

Ia berada di dalam repository extras.

B2. Mensetup kannel.

Selanjutnya yang cukup sulit adalah mensetting kannel. Sangat disarankan kita
mendownload dan mempelajari kannel userguide dari kannel.org. Playsms telah
menyediakan settingan awal untuk kita, kita tinggal melengkapinya sesuai
perlengkapan yang kita gunakan.

Berikut ini adalah file /etc/kannel.conf penulis:

# CORE

group = core

admin-port = 13000

admin-password = pwd

status-password = pwd

log-file = “/var/log/kannel/kannel.log”

log-level = 0

access-log = “/var/log/kannel/access.log”

smsbox-port = 13001

store-file = “/var/log/kannel/kannel.store”

# SMSC Fake

#group = smsc

#smsc = fake

#host = localhost

#port = 13013

#SMSC modem gsm

group = smsc

smsc = at

host = localhost

port = 13013

smsc-id = linuxku

modemtype = wavecom

device = /dev/ttyUSB0

speed = 115200

sms-center = 0816124

group = modems

id = WAVECOM

name = wavecom

detect-string = WAVECOM

init-string = “AT+CNMI=1,2,0,1,0;+CMEE=1″

# SMSBOX SETUP

group = smsbox

bearerbox-host = localhost

sendsms-port = 13131

sendsms-chars = “0123456789+”

log-file = “/var/log/kannel/smsbox.log”

log-level = 0

access-log = “/var/log/kannel/access.log”

# SEND-SMS USERS

group = sendsms-user

username = playsms

password = pwd

# SMS SERVICE ‘Default’

# there should be default always

group = sms-service

keyword = default

max-messages = 0

exec = /usr/local/bin/kannel_incoming %t %q %a

#get-url =
“http://localhost/~playsms/plugin/gateway/kannel/geturl.php?t=%t&q=%q&a=%a”

Penjelasan:

Bagian SMSC Fake kita comment out sebab dia berfungsi untuk testing saja. Kita
tidak akan bisa mengirimkan sms yang sesungguhnya menggunakan SMSC Fake ini.
Sebaliknya, kita definisikan group smsc modem gsm. sms-center juga kita
sesuaikan dengan kartu gsm kita.

Kita definisikan juga group modems. Yang penting disini adalah init-stringnya
yaitu “AT+CNMI=1,2,0,1,0;+CMEE=1″, CMEE=1 itu berarti kita menginstruksikan
modem agar menyebutkan jenis error yang terjadi pada Mobile Equipment kita.
Kalau tidak dibuat verbose, maka ketika terjadi error misalnya pulsa kita habis
sehingga tidak bisa kirim sms, modem gsm kita cuma bilang error tapi tidak
disebutkan kenapa, sehingga kannel tidak mengetahui error apa yang terjadi:

2006-02-18 10:20:46 [8984] [7] ERROR: AT2[/dev/ttyUSB0]: Error occurs: ERROR
(error number not known to us. ask google and add it.)

Setelah dibuat verbose menjadi keliatan sebab errornya:

2006-02-18 10:25:20 [8984] [7] CMS ERROR: +CMS ERROR: 38 (Network out of order)

Kemudian yang juga penting adalah bagian max-messages = 0 di group sms-service.
Option max-message = 0 ini berguna agar modem kita tidak mengirimkan reply
ketika menerima sms. Sebab akan terjadi kesalahan yang sangat fatal yaitu
looping send-receive, dimana jika kita mengirimkan sms ke diri sendiri, maka
modem akan mengirimkan reply ke diri sendiri, dan selanjutnya reply ini akan di
reply, begitu seterusnya, sampai pulsa kita habis.

Bagaimana kannel bekerja?

Kannel sebenarnya lebih dari sekedar sms engine, dia juga dapat berfungsi
sebagai wap engine. Ada 3 komponen utama kannel, yaitu: bearerbox, smsbox, dan
wapbox. Bearerbox ini adalah inti dari kannel. Dia berfungsi sebagai koordinator
dari 2 komponen lainnya yaitu smsbox dan wapbox. Kira2 demikian deh )

C. Menginstall dan mensetup playsms

Untuk lengkapnya, baca file INSTALL dari playsms yah! Berikut cuplikannya:

1. It is important to meet all minimum requiments above (Its a must!)

2. Setup a system user named ‘playsms’ to manage PlaySMS

# adduser playsms

# passwd playsms

Note: on some Linux distributions adduser and passwd combined

3. On most Linux distributions actions (2) will create system user and group
named playsms

with home directory /home/playsms, there you will install all PlaySMS files

4. Create public_html on user’s home directory, if its not already exists

# mkdir /home/playsms/public_html

5. Extract PlaySMS package somewhere (Place in /usr/local/src if you want to)

# tar -zxvf playsms-x.x.x.tar.gz -C /usr/local/src

# cd /usr/local/src/playsms-x.x.x

6. Copy ‘web’ directory to public_html directory and set owner back to user
playsms again

(for security reason)

# cp -rR web/* /home/playsms/public_html

# chown -R playsms /home/playsms/public_html

# chmod 701 /home/playsms

7. Setup database (import database)

# mysqladmin -u root -p create playsms

# mysql -u root -p playsms < /usr/local/src/playsms-x.x.x/db/playsms.sql

Note: you dont need to use MySQL root access nor this method to setup PlaySMS

database, but this is beyond our scope, you should read MySQL manual’s for
custom

installation method

8. Edit config.php on playsms web directory
(/home/playsms/public_html/config.php)

Please read and fill all required fields carefully

9. Enter bin directory and copy playsmsd and playsmsd_start to /usr/local/bin

# cd /usr/local/src/playsms-x.x.x

# cd bin

# cp playsmsd playsmsd_start /usr/local/bin/

10. Enter /etc/init.d or /etc/rc.d/init.d and look for file rc.local, im sure
you’ll

found it. Edit that file and put “/usr/local/bin/playsmsd_start” (without
quotes) on the

bottom of the file (before exit if theres exit). This way playsmsd_start will be
run

everytime the system startup. You need ‘root’ access for this purpose.

11 Browse http://localhost/~playsms and login using default administrator user

username: admin

password: admin

12. At this point you should be able to logon PlaySMS webbased interface.

Lets move on to gateway module part, the hard one )

If you decide to use kannel gateway module, then you must install kannel on the
same

server where PlaySMS installed. There are discussion on hoto install Kannel on
separate machine

with PlaySMS.

Due to complexity of installation process for kannel, we decide to leave this
module for experts.

Well experts, there’s something you should see on this package
contrib/kannel/kannel.conf,

sms service ‘Default’ part.

Dont forget to:

1. Create kannel cache directory and make it writable to the web servers user

# mkdir /usr/local/cache

# mkdir /usr/local/cache/smsd

# chmod -R 777 /usr/local/cache

Note:

– make it writable to the world (chmod -R 777) just to simplify installation

– it is better if you know what is the web server’s user (eg: ‘nobody’)

and instead chmod -R 777 you use:

# chown -R nobody /usr/local/cache

2. Create log directory

# mkdir /var/log/kannel

3. Enter bin directory in this package, and copy kannel_incoming to
/usr/local/bin

If you decide to use kannel gateway module, but you dont want to use ‘exec’
method in sms service,

just replace you kannel.conf near to sms service ‘Default’ part, with sms
service ‘Default’ part in

this package contrib/kannel/kannel-geturl.conf

After copying sample configuration, dont forget to change
‘CHANGE_THIS_TO_YOUR_PLAYSMS_URL’

in your kannel.conf near to sms service ‘Default’ part, to your working PlaySMS
URL

Catatan:

Di FC4, secara default direktori home user ngga bisa diakses dari web. Untuk
membuatnya aktif, kita edit file /etc/httpd/conf/httpd.conf. Cari baris berikut
dan beri tanda comment di depan UserDir disable:

# UserDir: The name of the directory that is appended onto a user’s home

# UserDir is disabled by default since it can confirm the presence

# UserDir disable

Ok, sekarang kita restart apache, dan kemudian kita coba buka web playsmsnya.
Kalau ada di localhost, kita ketik ini di browser:

http://localhost/~playsms

Loginlah dengan username: admin, password: admin

Squid Server

Filed under: Squid Server — boocex @ 12:03 pm

Disini saya akan coba menjelaskan bgmn cara menginstall dan meng-configure Squid sebagai Transparent Proxy. Squid sangat membutuhkan memory yang cukup besar. Maksud saya disini adalah semakin besar memory yg kita punya makin baik.. bukan berarti bila kita mempunyai memory yg kecil tidak bisa melakukan penginstallan Squid, hanya performance dari squid kita akan melambat saja.
O iya, ini pengalaman pertama saya install squid, jadinya klo ada kekurangan2 yg signifikan dan kurang komplit langsung di kritik aja yak D
Ayolah kita mulai penginstallan Squid di OS Fedora Core 6. Saya menggunakan squid-2.6.STABLE6 (sekarang sudah ada yang STABLE9) pada penginstallan kali ini. Bila anda masih merasa kurang jelas dari penjelasan saya di bawah ini, anda bisa membaca ttg Squid FAQ.

Saya meletakkan squid saya di folder /usr/local/

[root@ghoz local]#tar -zxvf squid-2.6.STABLE6.tar.gz
[root@ghoz local]#mv squid-2.6.STABLE6 squid
==> Rename squid-2.6.STABLE6 menjadi squid

Membuat user untuk menjalankan squid, jadi tidak perlu root untuk menjalankan squid lalu tidak usah memberikan shell kepada usernya.

[root@ghoz local]#useradd -d /usr/local/squid/ -r -s /dev/null squid > /dev/null 2>&1

Sekarang saatnya kita meng-compile Squid.

[root@ghoz squid]#./configure \
–prefix=/usr/local/squid –enable-delay-pools \
–exec-prefix=/usr/local/squid –enable-cache-diggests \
–enable-poll –disable-ident-lookups –disable-wccp \
–enable-snmp –enable-gnuregex \
–enable-default-err-languages=English \
–enable-err-languages=English \ –enable-removal-policies=heap \
–enable-storeio=aufs,diskd –enable-async-io=24 \
–enable-aufs-threads=24 –enable-linux-filter \
–enable-kill-parent-hack

Keterangan :
–enable-gnuregex : ketika sistem tidak mempunyai “regular expression” atau yg paling biasa kita kenal adalah “regex”, squid secara otomatis akan langsung menggunakan GNU Library.
–enable-kill-parent-hack : Ketika squid crash.. dan squid akan restart dengan sendirinya.
–enable-removal-policies=heap : Berguna untuk replacement cache yang telah disimpan, dengan menggunakan heap.. berarti kita dapat menggunakan algoritma LFUDA dan GDSF
–enable-storeio=diskd,ufs : sangat berguna sekali, kecepatan utamanya.
–disable-wccp : Berguna ketika kita menggunakan cisco
–enable-linux-filter : Digunakan untuk membuat transparent proxy
–disable-ident-lookups: mengurasi dos
–enable-auth=basic \
–enable-basic-auth-helpers=NCSA / Berguna ketika squid kita menggunakan atuhentication user
Untuk lebih lengkapnya bisa melihat di helpnya : [root@ghoz squid]#./configure -h

[root@ghoz squid]#make all
[root@ghoz squid]#make install

Sekarang kita akan masuk ke konfigurasi squid.conf

[root@ghoz squid]#vi /usr/local/squid/etc/squid.conf

Ini adalah tambahan2 yang saya letakkan di squid.conf (sisanya default): http_port 3128
hierarchy_stoplist cgi-bin ?
acl QUERY urlpath_regex cgi-bin \?
cache deny QUERY
cache_mem 128 MB
cache_swap_low 98
cache_swap_high 99
maximum_object_size 64 MB
minimum_object_size 0 KB
maximum_object_size_in_memory 32 KB
ipcache_size 2048
ipcache_low 98
ipcache_high 99
cache_replacement_policy heap LFUDA
memory_replacement_policy heap GDSF
cache_dir aufs /usr/local/squid/var/cache 10000 23 256
access_log /usr/local/squid/var/logs/access.log squid
cache_log /usr/local/squid/var/logs/cache.log
cache_store_log /usr/local/squid/var/logs/store.log
log_fqdn off
cache_effective_user squid
acl user src 192.168.1.0/255.255.255.0
http_access allow user

Bila sudah anda tambahkan semuanya.. sekarang saatnya menjalankan squid kita:

Kita mengaktifkan terlebih dahulu cache kita.

[root@ghoz squid]#/usr/local/squid/sbin/squid -z

Jika muncul pesan error, pahamilah terlebih dahulu dari message yang ditampilkan. Apabila message yang ditampilkan ketika pembuatan cache kita error.. periksalah owner dan permission dari folder tersebut (/usr/local/squid/var/cache or /usr/local/squid/var/logs), dan periksa juga apakah ada folder cache di dalam /usr/local/squid/var/. Biasanya kita menggunakan command dibawah ini untuk mengatasi masalah tersebut.

[root@ghoz squid]#chmod 777 /usr/local/squid/var/logs

Memberikan hak pada user squid untuk menjalankan prosesnya, dan memberikan hak terhadap folder squid (/usr/loca/squid/)

[root@ghoz squid]#chown -R squid:squid /usr/local/squid/

Disini saya menjalankan squid tanpa DNS test, check swap yg telah kita create dan No daemon (proses tidak jalan di belakang layar)

[root@ghoz squid]#/usr/local/squid/sbin/squid -SDN

Bila sudah, saatnya kita lihat apakah prosesnya sudah jalan??

[root@ghoz squid]#netstat -pln | grep squid

atau

[root@ghoz squid]#ps -aux | grep squid

tcp 0 0 0.0.0.0:3128 0.0.0.0:* LISTEN 2953/(squid)
udp 0 0 0.0.0.0:32805 0.0.0.0:* 2953/(squid)
udp 0 0 0.0.0.0:3130 0.0.0.0:* 2953/(squid)
udp 0 0 0.0.0.0:3401 0.0.0.0:* 2953/(squid) Klo waktu menggunakan perintah netstat keluar seperti diatas ini.. berarti squid telah berjalan… Bila menggunakan perintah ps -aux anda akan mendapatkan tampilan seperti di bawah ini.. dan tandanya squid anda juga sudah berjalan dengan mulus!!! Sekarang saatnya membuat iptablesnya utk redirect ke port 3128.
root 2951 0.0 0.1 4132 588 ? Ss 17:16 0:00 /usr/local/squid/sbin/squid -SDN

[root@ghoz squid]#echo “1″ > /proc/sys/net/ipv4/ip_forward
[root@ghoz squid]#iptables -F -t nat
[root@ghoz squid]#iptables -A PREROUTING -p tcp –dport 80 -j REDIRECT –to-port 3128

Klo iptables telah diterapkan.. buka browser anda dan masukkan IP address si proxy beserta port yang telah kita assignkan untuk port proxy.
Utk Firefox : Tools -> Options -> Advanced -> Network -> Settings
Utk IE : Tools -> Internet options -> Connection -> Lan settings -> “Centangin” Proxy server
Utk Mozzila : Edit -> Preferences -> Advanced -> ProxyAkhirnya selesai juga pembuatan transparent proxy kali ini. Hihihi… Klo ada tambahan atau kekurangan di dalamnya.. Harap langsung di tanggapi saja yah lewat comments.

Konfig postfix + dovecot Japan Edition

Filed under: Postfix + dovecot fc6 — boocex @ 11:54 am

■Postfixインストール

[root@fedora ~]# yum -y install postfix

■Postfix設定

(1)Postfix設定

[root@fedora ~]# vi /etc/postfix/main.cf ← Postfix設定ファイル編集
# INTERNET HOST AND DOMAIN NAMES
#
# The myhostname parameter specifies the internet hostname of this
# mail system. The default is to use the fully-qualified domain name
# from gethostname(). $myhostname is used as a default value for many
# other configuration parameters.
#
#myhostname = host.domain.tld
#myhostname = virtual.domain.tld
myhostname = fedora.fedorasrv.com ← 追加(自FQDN名を指定)

# The mydomain parameter specifies the local internet domain name.
# The default is to use $myhostname minus the first component.
# $mydomain is used as a default value for many other configuration
# parameters.
#
#mydomain = domain.tld
mydomain = fedorasrv.com ← 追加(自ドメイン名を指定)

# SENDING MAIL
#
# The myorigin parameter specifies the domain that locally-posted
# mail appears to come from. The default is to append $myhostname,
# which is fine for small sites.  If you run a domain with multiple
# machines, you should (1) change this to $mydomain and (2) set up
# a domain-wide alias database that aliases each user to
# user@that.users.mailhost.
#
# For the sake of consistency between sender and recipient addresses,
# myorigin also specifies the default domain name that is appended
# to recipient addresses that have no @domain part.
#
#myorigin = $myhostname
#myorigin = $mydomain
myorigin = $mydomain ← 追加(ローカルからのメール送信時の送信元メールアドレス@以降にドメイン名を付加)

# The inet_interfaces parameter specifies the network interface
# addresses that this mail system receives mail on.  By default,
# the software claims all active interfaces on the machine. The
# parameter also controls delivery of mail to user@[ip.address].
#
# See also the proxy_interfaces parameter, for network addresses that
# are forwarded to us via a proxy or network address translator.
#
# Note: you need to stop/start Postfix when this parameter changes.
#
#inet_interfaces = all
#inet_interfaces = $myhostname
#inet_interfaces = $myhostname, localhost
inet_interfaces = localhost
↓
inet_interfaces = all ← 変更(外部からのメール受信を許可)

# The mydestination parameter specifies the list of domains that this# machine considers itself the final destination for.
#
# These domains are routed to the delivery agent specified with the
# local_transport parameter setting. By default, that is the UNIX
# compatible delivery agent that lookups all recipients in /etc/passwd
# and /etc/aliases or their equivalent.
#
# The default is $myhostname + localhost.$mydomain.  On a mail domain
# gateway, you should also include $mydomain.
#
# Do not specify the names of virtual domains - those domains are
# specified elsewhere (see VIRTUAL_README).
#
# Do not specify the names of domains that this machine is backup MX
# host for. Specify those names via the relay_domains settings for
# the SMTP server, or use permit_mx_backup if you are lazy (see
# STANDARD_CONFIGURATION_README).
#
# The local machine is always the final destination for mail addressed
# to user@[the.net.work.address] of an interface that the mail system
# receives mail on (see the inet_interfaces parameter).
#
# Specify a list of host or domain names, /file/name or type:table
# patterns, separated by commas and/or whitespace. A /file/name
# pattern is replaced by its contents; a type:table is matched when
# a name matches a lookup key (the right-hand side is ignored).
# Continue long lines by starting the next line with whitespace.
#
# See also below, section "REJECTING MAIL FOR UNKNOWN LOCAL USERS".
#
mydestination = $myhostname, localhost.$mydomain, localhost
↓
mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain ← 変更(自ドメイン宛メールを受信できるようにする)
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain
#mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain,
#       mail.$mydomain, www.$mydomain, ftp.$mydomain

# DELIVERY TO MAILBOX
#
# The home_mailbox parameter specifies the optional pathname of a
# mailbox file relative to a user's home directory. The default
# mailbox file is /var/spool/mail/user or /var/mail/user.  Specify
# "Maildir/" for qmail-style delivery (the / is required).
#
#home_mailbox = Mailbox
#home_mailbox = Maildir/
home_mailbox = Maildir/ ← 追加(メールボックス形式をMaildir形式にする)

# SHOW SOFTWARE VERSION OR NOT
#
# The smtpd_banner parameter specifies the text that follows the 220
# code in the SMTP server's greeting banner. Some people like to see
# the mail version advertised. By default, Postfix shows no version.
#
# You MUST specify $myhostname at the start of the text. That is an
# RFC requirement. Postfix itself does not care.
#
#smtpd_banner = $myhostname ESMTP $mail_name
#smtpd_banner = $myhostname ESMTP $mail_name ($mail_version)
smtpd_banner = $myhostname ESMTP unknown ← 追加(メールサーバーソフト名の隠蔽化)

以下を最終行へ追加(SMTP-Auth設定)
smtpd_sasl_auth_enable = yes
smtpd_sasl_local_domain = $myhostname
smtpd_recipient_restrictions =
    permit_mynetworks
    permit_sasl_authenticated
    reject_unauth_destination

以下を最終行へ追加(受信メールサイズ制限)
message_size_limit = 10485760 ← 追加(受信メールサイズを10MB=10*1024*1024に制限)

(2)SMTP-Auth設定
SMTP-Auth用ユーザ名、パスワードにシステムのユーザ名、パスワードを使用する場合)

[root@fedora ~]# /etc/rc.d/init.d/saslauthd start ← saslauthd起動
saslauthd を起動中:                                        [  OK  ]

[root@fedora ~]# chkconfig saslauthd on ← saslauthd自動起動設定

[root@fedora ~]# chkconfig --list saslauthd ← saslauthd自動起動設定確認
saslauthd       0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2~5のonを確認

SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合

[root@fedora ~]# vi /usr/lib/sasl2/smtpd.conf ← SMTP-Auth認証設定ファイル編集
pwcheck_method: saslauthd
↓
pwcheck_method: auxprop ← 変更

(3)Maildir形式メールボックス作成
Postfixのメール格納形式は共有ディレクトリ形式(「/var/spool/mail/ユーザ名」というファイルに全てのメールが蓄積されていく形式)だが、アクセス性能改善及びセキュリティ強化の観点からMaildir形式へ移行する。

【既存ユーザ対処】
既存ユーザのホームディレクトリにMaildir形式のメールボックスを作成して、蓄積済のメールデータを当該メールボックスへ移行する⇒メールデータ移行を参照

【新規ユーザ対処】
新規ユーザ追加時に自動でホームディレクトリにMaildir形式のメールボックスが作成されるようにする

[root@fedora ~]# mkdir -p /etc/skel/Maildir/{new,cur,tmp} ← 新規ユーザ追加時に自動でMaildir形式メールボックス作成

[root@fedora ~]# chmod -R 700 /etc/skel/Maildir/ ← メールボックスパーミッション設定

(4)未承諾広告メールの削除
未承諾広告メール(件名に「未承諾広告※」と表示されているメール)は受信せずに削除するようにする。

[root@fedora ~]# vi /etc/postfix/main.cf ← Postfix設定ファイル編集
# The mailbox_command parameter specifies the optional external
# command to use instead of mailbox delivery. The command is run as
# the recipient with proper HOME, SHELL and LOGNAME environment settings.
# Exception:  delivery for root is done as $default_user.
#
# Other environment variables of interest: USER (recipient username),
# EXTENSION (address extension), DOMAIN (domain part of address),
# and LOCAL (the address localpart).
#
# Unlike other Postfix configuration parameters, the mailbox_command
# parameter is not subjected to $parameter substitutions. This is to
# make it easier to specify shell syntax (see example below).
#
# Avoid shell meta characters because they will force Postfix to run
# an expensive shell process. Procmail alone is expensive enough.
#
# IF YOU USE THIS TO DELIVER MAIL SYSTEM-WIDE, YOU MUST SET UP AN
# ALIAS THAT FORWARDS MAIL FOR ROOT TO A REAL USER.
#
#mailbox_command = /some/where/procmail
#mailbox_command = /some/where/procmail -a "$EXTENSION"
mailbox_command = /usr/bin/procmail ← 追加(Procmailと連携するようにする)

[root@fedora ~]# vi /etc/procmailrc ← procmail設定ファイル作成
SHELL=/bin/bash
PATH=/usr/bin:/bin
DROPPRIVS=yes
MAILDIR=$HOME/Maildir
DEFAULT=$MAILDIR/
LOGFILE=$HOME/.procmail.log # ログ出力先
#VERBOSE=ON # 詳細ログ出力

# 未承諾広告メール削除※システムの文字コードがUTF-8(デフォルト)の場合
:0
* ^Subject:.*iso-2022-jp
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -mwZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
/dev/null

# 未承諾広告メール削除※システムの文字コードがEUCの場合
:0
* ^Subject:.*iso-2022-jp
* ^Subject:\/.*
* ? echo "$MATCH" | nkf -meZ2 | sed 's/[[:space:]]//g' | egrep '未承諾広告※'
/dev/null

[root@fedora ~]# vi /etc/logrotate.d/procmail ← procmailログローテーション設定ファイル作成
/home/*/.procmail.log {
    missingok
    nocreate
    notifempty
}

■Postfix起動

(1)sendmail停止
デフォルトで起動しているSMTPサーバーであるsendmailを停止する

[root@fedora ~]# /etc/rc.d/init.d/sendmail stop ← sendmail停止
sendmailを停止中:                                          [  OK  ]
sm-clientを停止中:                                         [  OK  ]

[root@fedora ~]# chkconfig sendmail off ← sendmail自動起動設定解除

[root@fedora ~]# chkconfig --list sendmail ← sendmail自動起動設定解除確認
sendmail        0:off   1:off   2:off   3:off   4:off   5:off   6:off ← 全ランレベルのoffを確認

(2)メールサーバー切替え
システムで使用するメールサーバー機能をsendmailからPostfixに切替える

[root@fedora ~]# alternatives --config mta ← メールサーバー切替え

2 プログラムがあり 'mta'を提供します。

  選択       コマンド
-----------------------------------------------
*+ 1           /usr/sbin/sendmail.sendmail
   2           /usr/sbin/sendmail.postfix

Enterを押して現在の選択[+]を保持するか、選択番号を入力します:2 ← 2を応答

(3)Postfix起動

[root@fedora ~]# /etc/rc.d/init.d/postfix start ← Postfix起動
postfix を起動中:                                          [  OK  ]

[root@fedora ~]# chkconfig postfix on ← Postfix自動起動設定

[root@fedora ~]# chkconfig --list postfix ← Postfix自動起動設定確認
postfix         0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2~5のonを確認

(4)ポート25番のOPEN
ルーター側の設定でポート25番をOPENする。

ポートチェック【外部からポート開放確認】で「host名」にサーバー名(例:fedorasrv.com)、「port番号」に25と入力して「ポートチェック」ボタン押下し、「ホスト=fedorasrv.com ポート=25 にアクセスできました。」と表示されることを確認。

■OP25B対策

OP25B(Outbound Port 25 Blocking)対策参照

■Dovecotインストール

[root@fedora ~]# yum -y install dovecot ← Dovecotインストール

■Dovecot設定

[root@fedora ~]# vi /etc/dovecot.conf ← Dovecot設定ファイル編集
# Protocols we want to be serving: imap imaps pop3 pop3s
# If you only want to use dovecot-auth, you can set this to "none".
#protocols = imap imaps pop3 pop3s
protocols = imap imaps pop3 pop3s ← 追加

# Location for users' mailboxes. This is the same as the old default_mail_env
# setting. The default is empty, which means that Dovecot tries to find the
# mailboxes automatically. This won't work if the user doesn't have any mail
# yet, so you should explicitly tell Dovecot the full location.
#
# If you're using mbox, giving a path to the INBOX file (eg. /var/mail/%u)
# isn't enough. You'll also need to tell Dovecot where the other mailboxes are
# and where Dovecot can place its index files. This is called the "root mail
# directory", and it must be the first path given in the mail_location setting.
#
# There are a few special variables you can use, eg.:
#
#   %u - username
#   %n - user part in user@domain, same as %u if there's no domain
#   %d - domain part in user@domain, empty if there's no domain
#   %h - home directory
#
# See doc/variables.txt for full list. Some examples:
#
#   mail_location = maildir:~/Maildir
#   mail_location = mbox:~/mail:INBOX=/var/mail/%u
#   mail_location = mbox:/var/mail/%d/%1n/%n:INDEX=/var/indexes/%d/%1n/%n
#
# http://wiki.dovecot.org/MailLocation
#
#mail_location =
mail_location = maildir:~/Maildir ← 追加(メールボックス形式をMaildir形式とする)※FC6,F7,F8,F9の場合

default_mail_env = maildir:~/Maildir ← 追加(メールボックス形式をMaildir形式とする)※FC1,FC2,FC3,FC4,FC5の場合

# ':' separated list of directories under which chrooting is allowed for mail
# processes (ie. /var/mail will allow chrooting to /var/mail/foo/bar too).
# This setting doesn't affect login_chroot or auth_chroot variables.
# WARNING: Never add directories here which local users can modify, that
# may lead to root exploit. Usually this should be done only if you don't
# allow shell access for users. See doc/configuration.txt for more information.
#valid_chroot_dirs =
valid_chroot_dirs = /home ← 追加※OpenSSH+Chrootを導入している場合のみ

■Dovecot起動

(1)Dovecot起動

[root@fedora ~]# /etc/rc.d/init.d/dovecot start ← Dovecot起動
Dovecot Imapを起動中:                                      [  OK  ]

[root@fedora ~]# chkconfig dovecot on ← Dovecot自動起動設定

[root@fedora ~]# chkconfig --list dovecot ← Dovecot自動起動設定確認
dovecot         0:off   1:off   2:on    3:on    4:on    5:on    6:off ← ランレベル2~5のonを確認

(2)ポート110番(POPの場合)または143番(IMAPの場合)のOPEN
ルーター側の設定でポート110番(POPの場合)または143番(IMAPの場合)をOPENする。

ポートチェック【外部からポート開放確認】で 「host名」にサーバー名(例:fedorasrv.com)、「port番号」に110(POPの場合)または143(IMAPの場合)と入力して 「ポートチェック」ボタン押下し、「ホスト=fedorasrv.com ポート=110(POPの場合)または143(IMAPの場合) にアクセスで きました。」と表示されることを確認。

■メールユーザ追加

(1)メールユーザ追加(SSHによるリモート接続はできないようにする場合)
※例としてユーザ名をfedoraとする

[root@fedora ~]# useradd -s /sbin/nologin fedora ← ユーザ追加

[root@fedora ~]# passwd fedora ← パスワード設定
Changing password for user fedora.
New UNIX password:  ← パスワード応答
Retype new UNIX password:  ← パスワード応答(確認)
passwd: all authentication tokens updated successfully.

以下はSMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ
[root@fedora ~]# echo "パスワード" | saslpasswd2 -p -u fedora.fedorasrv.com -c fedora ← SMTP-Auth用ユーザ/パスワード登録

[root@fedora ~]# sasldblistusers2 ← SMTP-Auth用ユーザ名、パスワード確認
fedora@fedora.fedorasrv.com: userPassword

[root@fedora ~]# chgrp postfix /etc/sasldb2 ← sasldb2所有グループをpostfixに変更※最初の1回のみ

※SMTP-Auth用ユーザ名、パスワードを削除する場合
[root@fedora ~]# saslpasswd2 -d fedora -u fedora.fedorasrv.com ← SMTP-Auth用ユーザ名、パスワード削除

(2)メールユーザ追加(SSHによるリモート接続もできるようにする場合)
※例としてユーザ名をfedoraとする

[root@fedora ~]# useradd fedora ← ユーザ追加

[root@fedora ~]# passwd fedora ← パスワード設定
Changing password for user fedora.
New UNIX password:  ← パスワード応答
Retype new UNIX password:  ← パスワード応答(確認)
passwd: all authentication tokens updated successfully.

以下はSMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ
[root@fedora ~]# echo "パスワード" | saslpasswd2 -p -u fedora.fedorasrv.com -c fedora ← SMTP-Auth用ユーザ/パスワード登録

[root@fedora ~]# sasldblistusers2 ← SMTP-Auth用ユーザ名、パスワード確認
fedora@fedora.fedorasrv.com: userPassword

[root@fedora ~]# chgrp postfix /etc/sasldb2 ← sasldb2所有グループをpostfixに変更※最初の1回のみ

※SMTP-Auth用ユーザ名、パスワードを削除する場合
[root@fedora ~]# saslpasswd2 -d fedora -u fedora.fedorasrv.com ← SMTP-Auth用ユーザ名、パスワード削除

(3)既存ユーザをメールユーザとする場合
※例としてユーザ名をfedoraとする

以下はSMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ
[root@fedora ~]# echo "パスワード" | saslpasswd2 -p -u fedora.fedorasrv.com -c fedora ← SMTP-Auth用ユーザ/パスワード登録

[root@fedora ~]# sasldblistusers2 ← SMTP-Auth用ユーザ名、パスワード確認
fedora@fedora.fedorasrv.com: userPassword

[root@fedora ~]# chgrp postfix /etc/sasldb2 ← sasldb2所有グループをpostfixに変更※最初の1回のみ

※SMTP-Auth用ユーザ名、パスワードを削除する場合
[root@fedora ~]# saslpasswd2 -d fedora -u fedora.fedorasrv.com ← SMTP-Auth用ユーザ名、パスワード削除

■メールクライアント設定(受信メールサーバーをPOPにする場合)

自宅や会社等の複数拠点でメールを使用する場合で、メールボックスを同期しなくてもいい場合(例:会社で受信したメールは自宅で受信できなくてもいい場合)、受信メールサーバーにPOPを使用する。
ここでは、メールソフトとしてOutlook Expressを使用する。

Outlook Expressを起動し、メニューの「ツール」⇒「アカウント」⇒「メール」タブ⇒「追加」ボタン⇒「メール」としてメール設定を行う

「表示名」に送信者の名前(任意)を入力して「次へ」

「電子メールアドレス」に送信者のメールアドレス(例:fedora@fedorasrv.com)を入力して「次へ」

「受信メールサーバー」にメールサーバー名(例:fedorasrv.com)を入力
「送信メールサーバー」にメールサーバー名(例:fedorasrv.com)を入力して「次へ」

「パスワード」にパスワードを入力して「次へ」

「完了」

追加したアカウントをダブルクリックしてプロパティを開く

「サーバー」タブの「このサーバーは認証が必要」をチェック
SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ「設定」ボタンをクリックして次の設定を行う

※SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ
「次のアカウントとパスワードでログオンする」をチェック
「アカウント名」にSMTP-Auth用ユーザ名を入力
「パスワード」にSMTP-Auth用パスワードを入力して「OK」

「閉じる」

■メールクライアント設定(受信メールサーバーをIMAPにする場合)

自宅や会社等の複数拠点でメールを使用する場合で、メールボックスを同期したい場合(例:会社で受信したメールを自宅でも受信したい場合)、受信メールサーバーにIMAPを使用する。
ここでは、メールソフトとしてOutlook Expressを使用する。

Outlook Expressを起動し、メニューの「ツール」⇒「アカウント」⇒「メール」タブ⇒「追加」ボタン⇒「メール」としてメール設定を行う

「表示名」に送信者の名前(任意)を入力して「次へ」

「電子メールアドレス」に送信者のメールアドレス(例:fedora@fedorasrv.com)を入力して「次へ」

「受信メールサーバーの種類」で「IMAP」を選択
「受信メールサーバー」にメールサーバー名(例:fedorasrv.com)を入力
「送信メールサーバー」にメールサーバー名(例:fedorasrv.com)を入力して「次へ」

「パスワード」にパスワードを入力して「次へ」

「完了」

追加したアカウントをダブルクリックしてプロパティを開く

「サーバー」タブの「このサーバーは認証が必要」をチェック
SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ「設定」ボタンをクリックして次の設定を行う

※SMTP-Auth用ユーザ名、パスワードとシステムのユーザ名、パスワードを別々にする場合のみ
「次のアカウントとパスワードでログオンする」をチェック
「アカウント名」にSMTP-Auth用ユーザ名を入力
「パスワード」にSMTP-Auth用パスワードを入力して「OK」

「IMAP」タブの「送信済みアイテムのパス」に「Sent」と入力
「IMAP」タブの「下書きのパス」に「Drafts」と入力して「OK」

「閉じる」

「はい」

「OK」

Buat situs web atau blog gratis di WordPress.com.