Quản Trị Mạng – Mailman là một phần mềm mã nguồn mở miễn phí dùng để làm quản lý bản kê gửi thư, nó có thể được sử dụng trong việc quản lý những cuộc thảo luận email và danh sách các bản tin. Với đặc điểm là được tích hợp với các trang web, giúp người dùng dễ quản lý tài khoản của mình, tự động giải quyết thư vị trả lại, lọc nội dung, thư rác… Do đó Mailman hiện là một chương trình quản lý danh sách thư phổ biến nhất và được sử dụng rộng rãi nhất trên Internet.
Bài viết sau sẽ chỉ dẫn các bạn cách cài đặt và cấu hình Mailman trên máy server Debian Squeeze với một mail server Postfix.
1. Một số lưu ý
Trong phần minh họa dưới đây chúng tôi sẽ cấu hình một máy server ảo với hostname lists.example.com – nơi dùng để cài đặt Mailman. lists.example.com cũng là phần bên phải của danh sách địa điểm email gửi thư được cấu hình trong Mailman. Như vậy, thư được gửi tới một danh sách email sẽ địa điểm là @lists.example.com .
Ngoài ra, do hostname của bạn sẽ được sự khác biệt nên cần điều chỉnh lại cho phù hợp. Đồng thời chắc chắn rằng hostname của mình luôn hiện diện trong DNS.
Mailman có thể được sử dụng với nhiều mail server (như Postfix, Exim, Sendmail, Qmail). Trong tình huống này chúng tôi chọn Postfix. Nếu bạn làm theo chỉ dẫn này hãy đáp ứng có một cài đặt Postfix đang hoạt động.
2. Cài đặt Mailman và Apache
Trước tiên chúng ta cần một máy server web để Mailman có thể thông qua nó. Ở đây chúng tôi chọn Apache. Mailman và Apache có thể cài đặt bằng dòng lệnh:
apt-get install mailman apache2
Bạn sẽ nhận được những câu hỏi/thông báo dưới đây:
Languages to support: <– en (English)
Missing site list
Mailman needs a so-called “site list”, which is the list from which password reminders and such are sent out from. This list needs to be created before mailman will start. To create the list, run “newlist mailman” and follow the instructions on-screen. Note that you also need to start mailman after that, using /etc/init.d/mailman start. <– Ok
Mailman đi cùng với tập tin cấu hình Apache /etc/mailman/apache.conf , chúng ta sẽ copy tới /etc/apache2/sites-available/mailman.conf :
cp /etc/mailman/apache.conf /etc/apache2/sites-available/mailman.conf
Sau đó mở /etc/apache2/sites-available/mailman.conf…
vi /etc/apache2/sites-available/mailman.conf
… và thêm vào cấu hình vhost dưới đây cho tập tin:
[...] ServerName lists.example.com DocumentRoot /var/www/lists ErrorLog /var/log/apache2/lists-error.log CustomLog /var/log/apache2/lists-access.log combined Options FollowSymLinks AllowOverride None Alias /pipermail/ /var/lib/mailman/archives/public/ Alias /images/mailman/ /usr/share/images/mailman/ ScriptAlias /admin /usr/lib/cgi-bin/mailman/admin ScriptAlias /admindb /usr/lib/cgi-bin/mailman/admindb ScriptAlias /confirm /usr/lib/cgi-bin/mailman/confirm ScriptAlias /create /usr/lib/cgi-bin/mailman/create ScriptAlias /edithtml /usr/lib/cgi-bin/mailman/edithtml ScriptAlias /listinfo /usr/lib/cgi-bin/mailman/listinfo ScriptAlias /options /usr/lib/cgi-bin/mailman/options ScriptAlias /private /usr/lib/cgi-bin/mailman/private ScriptAlias /rmlist /usr/lib/cgi-bin/mailman/rmlist ScriptAlias /roster /usr/lib/cgi-bin/mailman/roster ScriptAlias /subscribe /usr/lib/cgi-bin/mailman/subscribe ScriptAlias /mailman/ /usr/lib/cgi-bin/mailman/ ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo
Dòng thứ 2 từ dưới lên ” ScriptAlias / /usr/lib/cgi-bin/mailman/listinfo ” là tùy chọn không bắt buộc; dòng này còn có công hiệu khi bạn vào trang http://lists.example.com/ sẽ có chuyển hướng tới http://lists.example.com/listinfo . Điều này đặc biệt có ý nghĩa trong trường hợp bạn không có bất kỳ tập tin nào phục vụ trong document root /var/www/lists .
Tiếp theo tạo document root /var/www/lists , kích hoạt cấu hình vhost lists.example.com và khởi động lại Apache.
mkdir /var/www/lists
a2ensite mailman.conf
/etc/init.d/apache2 restart
Bởi vì tại đây chúng ta đang sử dụng một vhost ( lists.example.com ), do dó cần điều chỉnh các biến trong /etc/mailman/mm_cfg.py :
vi /etc/mailman/mm_cfg.py
[...] DEFAULT_URL_PATTERN = 'http://%s/' [...] DEFAULT_EMAIL_HOST = 'lists.example.com' [...] DEFAULT_URL_HOST = 'lists.example.com' [...]
3. Cấu hình Postfix
Bây giờ chúng ta sẽ cấu hình cho Postfix, trước mắt chạy lệnh:
postconf -e 'relay_domains = lists.example.com'
postconf -e 'mailman_destination_recipient_limit = 1'
Sau đó mở /etc/postfix/master.cf…
vi /etc/postfix/master.cf
… và đáp ứng rằng bạn có các dòng như sau:
[...] mailman unix - n n - - pipe flags=FR user=list argv=/usr/lib/mailman/bin/postfix-to-mailman.py ${nexthop} ${user} [...]
Tiếp theo chúng ta phối hợp tên miền lists.example.com tới mailman: transport. Để làm điều ấy lệ thuộc vào cấu hình Postfix của bạn. Chẳng hạn nếu bạn đã thiết lập máy server của mình theo chỉ dẫn này transport sẽ được lưu giữ trong cơ sở dữ liệu MySQL. Trong đa số các thiết lập, tập tin /etc/postfix/transport được sử dụng cho quá trình tạo những transport. Sau đây là hai trường hợp phổ biến:
a. Transport trong 1 cơ sở dữ liệu MySQL
Trường hợp transport được lưu trữ trong bảng transport của MySQL database mang tên mail . Để tạo transport cần thiết, đăng nhập vào MySQL:
mysql -u root -p
Và chạy lệnh MySQL sau:
USE mail;
INSERT INTO `transport` (`domain`, `transport`) VALUES ('lists.example.com', 'mailman:');
quit;
Sau đó khởi động lại Postfix:
/etc/init.d/postfix restart
b. Transports trong /etc/postfix/transport
Nếu bạn không có transport trong MySQL database, cũng có thể sử dụng /etc/postfix/transport . Trong trường hợp này bạn luôn phải có lập transport như sau:
postconf -e 'transport_maps = hash:/etc/postfix/transport'
Mở /etc/postfix/transport . ..
vi /etc/postfix/transport
… và thêm vô dòng lệnh sau:
lists.example.com mailman:
Tiếp theo chạy:
postmap -v /etc/postfix/transport
Cuối cùng khởi động lại Postfix:
/etc/init.d/postfix restart
4. Tạo bản kê gửi thư Mailman
Trước khi chúng ta có thể sử dụng Mailman, cần tạo nên một bản kê danh sách gửi thư có tên mailman; – đây là điều bắt buộc, nếu không Mailman sẽ không thể khởi động.
newlist –urlhost=lists.example.com –emailhost=lists.example.com mailman
Trong hầu hết các trường hợp, –urlhost và –emailhost là chẳng cần phải có bởi vhost của chúng ta đã có tên lists.example.com , ngoài ra chúng ta cũng đều có nó trong /etc/mailman/mm_cfg.py ( DEFAULT_EMAIL_HOST và DEFAULT_URL_HOST ). Nhưng nếu bạn muốn chắc chắn rằng Mailman sử dụng hostname chính xác, có thể dùng:
root@server1:~# newlist --urlhost=lists.example.com --emailhost=lists.example.com mailman Enter the email of the person running the list: <-- specify the list administrator email address, e.g. sales@example.com Initial mailman password: <-- mailman_password To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:
## mailman mailing list
mailman: "|/var/lib/mailman/mail/mailman post mailman"
mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman"
mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman"
mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman"
mailman-join: "|/var/lib/mailman/mail/mailman join mailman"
mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman"
mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman"
mailman-request: "|/var/lib/mailman/mail/mailman request mailman"
mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman"
mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Hit enter to notify mailman owner... <-- ENTER root@server1:~#
Bây giờ mở /etc/aliases và thêm vào các alias mà bạn thấy trong đầu ra của lệnh newlist (thực hiện bằng tay cho từng bản kê mà bạn cũng có thể tạo mới):
[...] ## mailman mailing list mailman: "|/var/lib/mailman/mail/mailman post mailman" mailman-admin: "|/var/lib/mailman/mail/mailman admin mailman" mailman-bounces: "|/var/lib/mailman/mail/mailman bounces mailman" mailman-confirm: "|/var/lib/mailman/mail/mailman confirm mailman" mailman-join: "|/var/lib/mailman/mail/mailman join mailman" mailman-leave: "|/var/lib/mailman/mail/mailman leave mailman" mailman-owner: "|/var/lib/mailman/mail/mailman owner mailman" mailman-request: "|/var/lib/mailman/mail/mailman request mailman" mailman-subscribe: "|/var/lib/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe mailman"
Bất cứ bao giờ bạn sửa đổi /etc/aliases, cần chạy lệnh sau:
newaliases
/etc/init.d/postfix restart
Sau đó bạn có thể khởi động Mailman:
/etc/init.d/mailman start
root@server1:~# /etc/init.d/mailman start
Starting Mailman master qrunner: mailmanctl.
root@server1:~#
5. Sử dụng Mailman
Bắt đầu từ đây chúng ta cũng có thể có thể sử dụng giao diện web của Mailman để quản lý nó (với một ngoại lệ – bất kể bao giờ bạn tạo mới một bản kê gửi thư, bạn phải thêm alias mới vào /etc/aliases từ dòng lệnh).
Giao diện admin cũng đều có thể được tiếp cận trên http://lists.example.com/admin – tại trang này bạn sẽ tìm thấy một liên kết tới danh sách gửi thư Mailman mà tôi đã tạo ở mục 4 :
Nếu kích vào link đó ( http://lists.example.com/admin/mailman ) bạn sẽ được chuyển tới trang quản lý của bản kê Mailman. Nhưng trước tiên cần đăng nhập với mật khẩu của mình (đã được chỉ định trong lệnh newlist ).
Trên trang quản lý, các chức năng sẽ có liệt kê đầy đủ:
Thay đối thiết lập cơ bản của danh sách…
… hoặc hòa hợp các thông báo mới ( http://lists.example.com/mailman/admindb/mailman ):
Người dùng có thể tới trang http://lists.example.com/listinfo để thu được toàn bộ bản kê thư gửi…:
… hay vào trang http://lists.example.com/listinfo/mailman để vào một bản kê cụ thể (ví dụ Mailman ) nơi họ cũng có thể đăng ký:
Admin cũng đều có thể tạo các list mới trực diện trên giao diện web (trên http://lists.example.com/create ), nhưng trước tiên cần chạy:
mmsitepass mailman_password
Nếu không chạy lệnh trên bạn sẽ thu được thông báo lỗi “ Error: You are not authorized to create new mailing lists ” khi tái tạo mailing list (khuyến cáo bạn sử dụng và một mật khẩu – mailman_password – như lệnh newsite ở mục 4 ).
Để tạo một danh sách mới thông qua giao diện web, định vị tên cho nó và địa điểm email của chủ sở hữu. Nhập vào mật khẩu cho danh sách này hoặc chọn Yes tại mục Auto-generate initial list password để giao diện web tự tạo cho bạn.
Phía cuối trang, chỉ định password mà bạn sử dụng với lệnh mmsitepass ; sau đó kích Create List :
Một khi thành công, bạn sẽ thấy trang như dưới đây:
Một thông báo sẽ có gửi tới email mà bạn khai báo phía trên và hướng dẫn sửa đổ i /etc/aliases để tạo ra danh sách đầy đủ:
The mailing list `testlist1' has been created via the through-the-web interface. In order to complete the activation of this mailing list, the proper /etc/aliases (or equivalent) file must be updated. The program `newaliases' may also have to be run. Here are the entries for the /etc/aliases file: testlist1: "|/var/lib/mailman/mail/mailman post testlist1" testlist1-admin: "|/var/lib/mailman/mail/mailman admin testlist1" testlist1-bounces: "|/var/lib/mailman/mail/mailman bounces testlist1" testlist1-confirm: "|/var/lib/mailman/mail/mailman confirm testlist1" testlist1-join: "|/var/lib/mailman/mail/mailman join testlist1" testlist1-leave: "|/var/lib/mailman/mail/mailman leave testlist1" testlist1-owner: "|/var/lib/mailman/mail/mailman owner testlist1" testlist1-request: "|/var/lib/mailman/mail/mailman request testlist1" testlist1-subscribe: "|/var/lib/mailman/mail/mailman subscribe testlist1" testlist1-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe testlist1"
Theo đó, bạn mở /etc/aliases . ..
vi /etc/aliases
… và thêm vô các alias mới:
[...] ## testlist1 mailing list testlist1: "|/var/lib/mailman/mail/mailman post testlist1" testlist1-admin: "|/var/lib/mailman/mail/mailman admin testlist1" testlist1-bounces: "|/var/lib/mailman/mail/mailman bounces testlist1" testlist1-confirm: "|/var/lib/mailman/mail/mailman confirm testlist1" testlist1-join: "|/var/lib/mailman/mail/mailman join testlist1" testlist1-leave: "|/var/lib/mailman/mail/mailman leave testlist1" testlist1-owner: "|/var/lib/mailman/mail/mailman owner testlist1" testlist1-request: "|/var/lib/mailman/mail/mailman request testlist1" testlist1-subscribe: "|/var/lib/mailman/mail/mailman subscribe testlist1" testlist1-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe testlist1"
sau đó chạy lệnh:
newaliases
/etc/init.d/postfix restart
Thay vì sử dụng giao diện web của Mailman, bạn cũng đều có thể dùng lệnh newlist để tạo nên những bản kê mới nhưsự bộc lộ trong mục 4 .
newlist –urlhost=lists.example.com –emailhost=lists.example.com testlist2
root@server1:~# newlist --urlhost=lists.example.com --emailhost=lists.example.com testlist2 Enter the email of the person running the list: <-- sales@example.com Initial testlist2 password: <-- testlist2_password To finish creating your mailing list, you must edit your /etc/aliases (or
equivalent) file by adding the following lines, and possibly running the
`newaliases' program:
## testlist2 mailing list
testlist2: "|/var/lib/mailman/mail/mailman post testlist2"
testlist2-admin: "|/var/lib/mailman/mail/mailman admin testlist2"
testlist2-bounces: "|/var/lib/mailman/mail/mailman bounces testlist2"
testlist2-confirm: "|/var/lib/mailman/mail/mailman confirm testlist2"
testlist2-join: "|/var/lib/mailman/mail/mailman join testlist2"
testlist2-leave: "|/var/lib/mailman/mail/mailman leave testlist2"
testlist2-owner: "|/var/lib/mailman/mail/mailman owner testlist2"
testlist2-request: "|/var/lib/mailman/mail/mailman request testlist2"
testlist2-subscribe: "|/var/lib/mailman/mail/mailman subscribe testlist2"
testlist2-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe testlist2"
Hit enter to notify testlist2 owner... <-- ENTER root@server1:~#
vi /etc/aliases
[...] ## testlist2 mailing list testlist2: "|/var/lib/mailman/mail/mailman post testlist2" testlist2-admin: "|/var/lib/mailman/mail/mailman admin testlist2" testlist2-bounces: "|/var/lib/mailman/mail/mailman bounces testlist2" testlist2-confirm: "|/var/lib/mailman/mail/mailman confirm testlist2" testlist2-join: "|/var/lib/mailman/mail/mailman join testlist2" testlist2-leave: "|/var/lib/mailman/mail/mailman leave testlist2" testlist2-owner: "|/var/lib/mailman/mail/mailman owner testlist2" testlist2-request: "|/var/lib/mailman/mail/mailman request testlist2" testlist2-subscribe: "|/var/lib/mailman/mail/mailman subscribe testlist2" testlist2-unsubscribe: "|/var/lib/mailman/mail/mailman unsubscribe testlist2"
newaliases
/etc/init.d/postfix restart
Cuối cùng, địa chỉ email của 1 bản kê mới luôn có dạng @lists.example.com , chẳng hạn như testlist1@lists.example.com hoặc testlist2@lists.example.com . ..
6. Các link tham khảo:
Mailman: http://www.gnu.org/s/mailman/index.html
Debian: http://www.debian.org/
cấu hình Mailman, Mailman, phần mềm mã nguồn mở, quản lý email, quản lý danh sách thư, máy chủ Debian Squeeze, mail server Postfix, Cài đặt Mailman, Cấu hình Postfix, Tạo danh sách Mailman, Sử dụng Mailman
Nội dung Cài đặt và cấu hình Mailman (với Postfix) trên Debian Squeeze được tổng hợp sưu tầm biên tập bởi: Tin Học Trường Tín. Mọi ý kiến vui lòng gửi Liên Hệ cho truongtin.top để điều chỉnh. truongtin.top tks.
Bài Viết Liên Quan
Bài Viết Khác
- Sửa Wifi Tại Nhà Quận 4
- Cài Win Quận 3 – Dịch Vụ Tận Nơi Tại Nhà Q3
- Vệ Sinh Máy Tính Quận 3
- Sửa Laptop Quận 3
- Dịch Vụ Cài Lại Windows 7,8,10 Tận Nhà Quận 4
- Dịch Vụ Cài Lại Windows 7,8,10 Tận Nhà Quận 3
- Tuyển Thợ Sửa Máy Tính – Thợ Sửa Máy In Tại Quận 4 Lương Trên 10tr
- Tuyển Thợ Sửa Máy Tính – Thợ Sửa Máy In Tại Quận 3
- Nhập văn bản bằng giọng nói trên Google Docs như nào?
- Địa Chỉ Sửa Bếp Điện Từ Quận 2
- Cách hủy Admin Fanpage Facebook
- Top 10 Cửa Hàng Bán Máy Tính Cũ Chơi Game Ở Tại Quận 1 Tphcm
- Địa Chỉ Cài Win Ở Phường Phường 1 Quận 5