Instalasi Mailman
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:
- 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.
- Minta alokasi IP address dari tempat colocation server.
- 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
- 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.
- 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 ==
- Buat mailing list mailman untuk menerima komentar atau permohonan pembuatan mailinglist.
# bin/newlist mailman
- 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.
- Setup tabel cron
# cd /var/lib/mailman/cron
# crontab -u mailman crontab.in
- Jalankan Mailman qrunner daemon
# cd /var/lib/mailman
# bin/mailmanctl start
- 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