Onno W. Purbo
Tulisan ini merupakan kumpulan pengalaman selama beberapa hari
menginstalasi dan mengoperasikan mailing list server groups.or.id.
Mesin server-nya merupakan hasil saweran beberapa aktifis IT
Indonesia mengumpulkan uang rata-rata Rp. 100-200.000 / orang.
Koordinasi saweran dilakukan oleh Donny BU.
Server Groups.or.berlokasi di Colocation dan bandwidth sumbangan
dari CBN. Memang bukan server yang besar sekali karena dia hanyalah
kelas Pentium III, dengan /var sekitar 7Gbyte saja dan RAM 256 Mbyte.
Mailing list server tersebut telah dapat di akses melalui Web di http://groups.or.id/mailman/listinfo.
Mudah-mudahan dapat menampung beberapa mailing list yang besar-besar
supaya mengurangi traffic internasional yahoogroups.com yang membuang
devisa kita.
Persiapkan Komputer
Spesifikasi komputer tentunya sangat tergantung pada beban pekerjaan
yang harus di handle. Harddisk dan directory /var harus besar karena
tempat penyimpanan arsip mailing list dilakukan pada /var.
Pada kesempatan ini, kami menggunakan spesifikasi server
Pentium III
RAM 256Mbyte
Harddisk sekitar 14 Gbyte
Beberapa hal administratif lain yang perlu dilakukan jika kita
menginginkan server tersebut dapat berfungsi secara baik di Internet
adalah:
1. Mencari tempat meletakan server tersebut di Internet, sebaiknya
di ISP lokal di kota anda. Atau di Indonesia Internet Exchange. Pada
kesempatan ini kami meletakannya di CBN karena teman-teman di CBN
bersedia menyumbangkan tempat colocation dan bandwidth
Internasional-nya untuk traffic mailing list tersebut.
2. Minta alokasi IP address dari tempat colocation server.
3. Registrasikan domain ke IDNIC melalui web http://www.idnic.net.id.
Mungkin yang paling mudah adalah menggunakan domain *.web.id.
Instalasi System Operasi
Di bulan puasa, Bona Simandjuntak dan saya membutuhkan waktu sekitar
dua (2) jam untuk menginstalasi server mailing list dari nol. Sambil
nyambi memaksa Donny BU untuk belajar menginstalasi Linux.
Linux merupakan pilihan terbaik untuk server mailing list. Beberapa
fasilitas yang wajib di install agar mailing list server dapat
beroperasi dengan baik adalah:
* Postfix, mail server.
* Mailman, mailing list server.
* Apache, web server, karena mailman menggunakan web untuk interaksi.
* Python, bahasa pemrogramman yang digunakan Mailman.
* Ssh, agar kita dapat login dari remote.
* BIND. untuk mengoperasikan Domain Name System agar dapat memperkenalkan nama domain dari server yang kita operasikan.
* Webmin, bagi mereka yang lebih suka mengadministrasi server dari jauh.
* Sebaiknya di instalasi juga semua fasilitas yang dibutuhkan untuk
development karena kita akan banyak mengcompile software untuk
mengupdate berbagai fasilitas yang ada.
Bagi mereka yang agak paranoid tentunya dapat menginstalasi software
firewall, seperti iptables dan shorewall, maupun Intrusion Detection
System (IDS), seperti, snort dan prelude untuk menambah pertahanan
server.
Pada Mandrake 9.0 maupun 9.1 semua software yang dibutuhkan terdapat
dalam bentuk RPM. Instalasi software jadi amat sangat mudah sekali.
Kita perlu mengupgrade mailman yang digunakan karena mailman RPM
bawaan Mandrake 9.1 adalah versi 2.0.13. Mailman yang terbaru saat
tulisan ini dibuat adalah 2.1.3.
Sebaiknya kita tetap menginstalasi Mailman RPM bawaan Mandrake
karena akan menjadi dasar untuk setup folder dan lain sebagainya bagi
instalasi Mailman selanjutnya.
Test Awal Operasi Server
Selesai di instalasi server mailing list dapat langsung di test
operasional-nya. Beberapa hal yang perlu di tuning sebelum test
dilakukan adalah:
Edit /etc/postfix/main.cf dan isikan parameter,
* myhostname = nama hostname anda.
* inet_interfaces = all
* owner_request_special = no
* recipient_delimiter = +
* unknown_local_recipient_reject_code = 500
* alias_maps=hash:/etc/postfix/aliases,hash:/var/lib/mailman/data/aliases
Edit /etc/httpd/conf/httpd.conf (Mandrake 9.0) atau
/etc/httpd/conf/httpd2.conf (Mandrake 9.1), tambahkan pada line paling
bawah agar
* Include conf/mailman.conf
Bagi mereka yang juga mengoperasikan DNS server untuk domain dari mailinglist server tersebut, sebaiknya di edit file
/var/named/nama-domain.hosts
isikan dengan benar informasi domain yang diregistrasikan ke IDNIC.
Restart semua server yang kita tuning, melalui perintah
# service postfix restart
# service httpd restart
# service named restart
Check routing menggunakan ping.
Browse secara ke http://localhost/mailman/admin. Anda harusnya akan
melihat tampilan interface administrator mailing list Mailman melalui
Web browser.
Upgrade Mailman 2.1.3
Ambil mailman versi terakhir dari http://www.list.org/download.html atau http://sourceforge.net/projects/mailman/.
Setelah berhasil di download
# cp mailman-2.1.3.tgz /usr/local/src
# cd /usr/local/src
# tar zxvf mailman-2.1.3.tgz
Lakukan
# cd /usr/local/src/mailman-2.1.3
Baca semua file README.*, terutama README.POSTFIX dan INSTALL anda
akan memperoleh gambaran cara terbaik untuk menginstalasi mailing list
server menggunakan Mailman dan Postfix.
Siapkan system untuk Mailman
1. Tambahkan user mailman dan group mailman
# adduser mailman -G nogroup
# groupadd mailman
Biasanya group mailman akan di buat secara automatis oleh adduser
mailman. adduser di tambahkan switch -G nogroup agar user mailman dapat
berinteraksi dengan baik ke postfix yang berjalan di bawah group
nogroup.
2. jika anda sudah pernah menginstalasi mailman 2.0.13 dari RPM Mandrake. Lakukan
# rm -rf /var/lib/mailman
# mkdir /var/lib/mailman
# chown -R mailman.mailman /var/lib/mailman
# chmod -R 02775 /var/lib/mailman
# rm /var/lib/mailman dan # mkdir /var/lib/mailman jangan dilakukan
jika anda ingin menyelamatan mailing list yang pernah dibuat sebelumnya.
Instalasi Mailman-2.1.3
Lakukan
# cd /usr/local/src/mailman-2.1.3
# ./configure -prefix=/var/lib/mailman –with-mail-gid=nogroup -with-cgi-gid=apache
# make install
Biasanya anda akan dapat masalah pada saat ./configure jika library
python untuk development belum di instalasi, atau linux tidak di
siapkan untuk melakukan compile software dan sebangsa itu.
Kadang-kadang -with-mail-gid akan memberikan masalah kalau Postfix
di jalankan dengan group ID lain. Yang biasanya digunakan
-with-mail-gid=nogroup atau -with-mail-gid=mailman.
Cek Instalasi Mailman-2.1.3
Lakukan
# cd /var/lib/mailman
# bin/check_perms
Biasakan akan keluar error mod harus 02775 untuk folder messages dan templates. Dapat diperbaiki melalui,
# chmod -R 02775 messages
# chmod -R 02775 templates
Yang juga sering ke salahan adalah group awal mailman 2.0.13 yang
menggunakan group mail, sedang mailman 2.1.3 menggunakan mailman.
Agar perbaikan dapat dilakukan secara automatis, dapat pula dilakukan melalui
# bin/check_perms -f
Setting Final Untuk Mailman
1. Buat mailing list mailman untuk menerima komentar atau permohonan pembuatan mailinglist.
# bin/newlist mailman
2. Konfigurasi mailing list mailman menggunakan sitelist.cfg standar.
# bin/config_list -i data/sitelist.cfg mailman
default konfigurasi sitelist.cfg tidak dapat menerima mail dari
non-member, dan reply kepada si pengirim berita (poster) bukan ke
mailing list. Hal ini dapat diubah dikemudian hari melalui interface
web.
3. Setup tabel cron
# cd /var/lib/mailman/cron
# crontab -u mailman crontab.in
4. Jalankan Mailman qrunner daemon
# cd /var/lib/mailman
# bin/mailmanctl start
5. Agar mailman berjalan setiap kali system di boot
# cp scripts/mailman /etc/init.d/mailman
# chkconfig -add mailman
Beberapa system menggunakan /etc/rc.d/init.d bukan /etc/init.d.
Setelah chkconfig dilakukan, anda dapat merestart mailman melalui
# service mailman restart
Beberapa customisasi yang dapat dilakukan
Tidak banyak yang perlu kita customisasi dari Default setting mailman. Saya biasanya hanya mengganti parameter
MTA = ‘Manual’
Menjadi
MTA = ‘Postfix’
Di file /var/lib/mailman/Mailman/Default.py
Yang juga perlu di customisasi adalah password untuk administrator
mailman yang dibutuhkan pada saat membuatkan mailing list bagi yang
meminta dibuatkan mailing list. Hal ini dilakukan melalui
# cd /var/lib/mailman
# bin/mmsitepass
Selesai sudah semua konfigurasi mailman. Kita harusnya sudah dapat memberikan service mailinglist bagi pengguna di Internet.
Beberapa Catatan Untuk Membuat & Membuang Mailing List
Untuk Membuat Mailing list (sebagai contoh di groups.or.id).
1. http://groups.or.id/mailman/create
2. Name of list –> nama mailing list
3. Initial list owner address –> e-mail list owner
4. Auto-generate initial list password? –> Yes
5. List creator’s (Authentication) password –> password yang di set bin/mmsitepass
ssh ke root shell
# service postfix restart
Maaf tak ada jalan lain yang lebih sederhana, postfix harus di
restart untuk mengaktifkan alias secara automatis. Alternatif lain
adalah memodifikasi source code.
Untuk membuang / meremove sebuah mailing list
# cd /var/lib/mailman
# bin/rmlist -a nama-mailing-list
Panduan Amat Sangat Singkat Bagi Pengguna MailingList Biasa
Untuk menggunakan mailing list server mailman tidak berbeda jauh
dengan yahoogoups.com. Hanya saja pembuatan mailing list harus
dilakukan oleh administrator di mailman@nama-mailing-list-server. Hal
ini dilakukan karena tidak ada mekanisme authentikasi bagi si pembuat
mailing list, tidak seperti yahoogroups.com yang dapat membuat mailing
list adalah mereka yang mempunyai account mail di yahoo.com.
Sebagai contoh untuk membuat mailing list di groups.or.id anda cukup
mengirimkan mail ke mailman@groups.or.id untuk meminta dibuatkan
mailing list. Pada saat mailing list dibuat, anda akan dapat konfirmasi
via e-mail beserta password untuk administrator mailing list tersebut
yang di generate secara random.
Seluruh daftar mailing list di groups.or.id dapat dilihat di
http://groups.or.id/mailman/listinfo. Pengguna biasa dapat subscribe
melalui e-mail namamailinglist-subscribe@groups.or.id atau melalui web
http://groups.or.id/mailman/listinfo/namamailinglist.
Untuk administrator mailing list yang ingin mengadmini mailing list
dapat dilakukan melalui
http://groups.or.id/mailman/admin/namamailinglist
masukan password administrator mailing list yang di peroleh melalui e-mail saat dibuatkan mailing list tersebut.
Beberapa hal yang sering dilakukan oleh administrator mailing list
melalui Web http://groups.or.id/mailman/admin/namamailinglist adalah,
* Passwords (utk ubah password administrator)
* Membership Management –> Mass Subscription
* Privacy Options –> Subscription Rules –> advertised –> Yes
Di samping itu, ada beberapa parameter yang akan membantu operasional mailing list server seperti,
* General Options –> Owner (utk ubah -owner)
* General Options –> Description (pemberitahuan di listinfo)
* General Options –> first_strip_reply_to –> yes
* General Options –> reply_goes_to_list –> this list