Cách cài đặt Mailman trên VPS với DirectAdmin
Mailman là một phần mềm miễn phí để quản lý thư điện tử và thảo luận danh sách các bản tin điện tử. Bài viết dưới đây là hướng dẫn về cách cài đặt Mailman trên VPS với một bảng điều khiển DirectAdmin được cài đặt trên đó.
Xem thêm: thuê máy chủ ảo VPS- được gì
Để cài đặt nó trên VPS bạn thực hiện các lệnh như sau:
cd /usr/local/src /usr/sbin/useradd -r -s /bin/false mailman mkdir /usr/local/mailman chown mailman:mailman /usr/local/mailman chmod 02775 /usr/local/mailman wget http://ftp.gnu.org/gnu/mailman/mailman-2.1.15.tgz tar xzf mailman-2.1.15.tgz cd mailman-2.1.15 ./configure --with-cgi-gid=apache make make install chmod 755 /usr/local/mailman/cgi-bin chmod u-s,g-s /usr/local/mailman/cgi-bin/* chmod 777 /usr/local/mailman/logs chown -R mailman:mailman /usr/local/mailman chown nobody:mailman /usr/local/mailman/logs/error /usr/local/mailman/bin/newlist -q -e your-hostname.com mailman mailman@your-hostname.com your_password
Xin đừng quên thay đổi 'your_password' và 'your-hostname.com' theo.
Chỉnh sửa tập tin cấu hình Exim '/etc/exim.conf' và thêm các dòng sau:
Trước khi primary_hostname thêm vào:
Sau khi bắt đầu bộ định tuyến thêm:MAILMAN_HOME=/usr/local/mailman MAILMAN_WRAP=MAILMAN_HOME/mail/mailman
mailman_router: driver = accept require_files = MAILMAN_HOME/lists/$local_part/config.pck local_part_suffix_optional local_part_suffix = -bounces : -bounces+* : \ -confirm+* : -join : -leave : \ -owner : -request : -admin transport = mailman_transport
Sau đó bạn sử dụng các lệnh tiếp
mailman_transport: driver = pipe command = MAILMAN_WRAP \ '${if def:local_part_suffix \ {${sg{$local_part_suffix}{-(\\w+)(\\+.*)?}{\$1}}} \ {post}}' \ $local_part current_directory = MAILMAN_HOME home_directory = MAILMAN_HOME user = apache group = apacheThêm các dòng sau vào tập tin '/ etc / aliases' của bạn:
mailman: "|/usr/local/mailman/mail/mailman post mailman" mailman-admin: "|/usr/local/mailman/mail/mailman admin mailman" mailman-bounces: "|/usr/local/mailman/mail/mailman bounces mailman" mailman-confirm: "|/usr/local/mailman/mail/mailman confirm mailman" mailman-join: "|/usr/local/mailman/mail/mailman join mailman" mailman-leave: "|/usr/local/mailman/mail/mailman leave mailman" mailman-owner: "|/usr/local/mailman/mail/mailman owner mailman" mailman-request: "|/usr/local/mailman/mail/mailman request mailman" mailman-subscribe: "|/usr/local/mailman/mail/mailman subscribe mailman" mailman-unsubscribe: "|/usr/local/mailman/mail/mailman unsubscribe mailman"
Sau đó, thực hiện các lệnh sau
newaliases /usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman
Sau đó thực hiện 1 lệnh Script:
vi /etc/init.d/mailman
#!/bin/sh # # mailman This shell script starts and stops GNU Mailman. PYTHON=/usr/bin/python MAILMANHOME=/usr/local/mailman MAILMANCTL=$MAILMANHOME/bin/mailmanctl SRC_CRON_SCRIPT=$MAILMANHOME/cron/crontab.in DST_CRON_SCRIPT=/etc/cron.d/mailman function InstallCron() { install -m644 -o root -g root $SRC_CRON_SCRIPT $DST_CRON_SCRIPT } function RemoveCron() { cat > $DST_CRON_SCRIPT <<EOF # DO NOT EDIT THIS FILE! # # Contents of this file managed by /etc/init.d/mailman # Master copy is /usr/local/mailman/cron/crontab.in # Consult that file for documentation EOF } # Source function library. . /etc/rc.d/init.d/functions RETVAL=0 prog="mailman" function start() { echo -n $"Starting $prog: " daemon $PYTHON $MAILMANCTL -s -q start RETVAL=$? if [ $RETVAL -eq 0 ] then touch /var/lock/subsys/$prog InstallCron fi echo return $RETVAL } function stop() { echo -n $"Shutting down $prog: " daemon $PYTHON $MAILMANCTL -q stop RETVAL=$? if [ $RETVAL -eq 0 ] then rm -f /var/lock/subsys/$prog RemoveCron fi echo return $RETVAL } function restart() { stop start RETVAL=$? return $RETVAL } case "$1" in 'start') start RETVAL=$? ;; 'stop') stop RETVAL=$? ;; 'restart') restart RETVAL=$? ;; 'condrestart') $PYTHON $MAILMANCTL -q -u status retval=$? if [ $retval -eq 0 ] then restart RETVAL=$? fi ;; 'status') $PYTHON $MAILMANCTL -u status RETVAL=$? ;; *) echo $"Usage: $prog {start|stop|restart|condrestart}" ;; esac exit $RETVAL
Thực hiện các lệnh sau:
chmod 755 /etc/init.d/mailman chkconfig --add mailmanChỉnh sửa tệp 'mm_cfg.py':
vi /usr/local/mailman/Mailman/mm_cfg.py
DEFAULT_EMAIL_HOST = 'mail.your_domain.com' DEFAULT_URL_HOST = 'www.your_domain.com' IMAGE_LOGOS = '/mailman_images/' add_virtualhost(DEFAULT_URL_HOST, DEFAULT_EMAIL_HOST) VIRTUAL_HOSTS = {'www.your-domain.com': 'your-domain.com'}
Thêm dòng sau vào tập tin cấu hình Apache '/etc/httpd/conf/httpd.conf':
Include conf/extra/mailman.conf
Tạo tệp tin cấu hình 'mailman.conf' (thay đổi 'Your_IP_address' bằng địa chỉ IP thực của bạn):
vi /etc/httpd/conf/extra/mailman.conf
Alias /mailman_images/ /usr/local/mailman/icons/ Alias /mailman/archives/ /usr/local/mailman/archives/public/ Alias /pipermail/ /usr/local/mailman/archives/public/ ScriptAlias /mailman/ /usr/local/mailman/cgi-bin/ RedirectMatch ^/mailman[/]*$ http://Your_IP_address/mailman/listinfo
Tạo ‘.htaccess’ file:
vi /usr/local/mailman/.htaccess
AuthName "Mailman" AuthType Basic AuthUserFile /usr/local/mailman/cgi-bin/.htpasswd require valid-userTạo file ‘.htpasswd’ :
cd /usr/local/mailman/cgi-bin/ touch .htpasswd
htpasswd -c .htpasswd mailman
Khởi động lại dịch vụ Exim và Apache của bạn để những thay đổi có hiệu lực và bắt đầu dịch vụ Mailman:
/etc/init.d/exim restart /etc/init.d/httpd restart /etc/init.d/mailman start
Bạn có thể tạo một danh sách gửi thư mới bằng cách nhập thông tin có liên quan tại:
https://Your_IP_address/mailman/create username: mailman password: your_password
Tất nhiên bạn sẽ không phải làm gì nếu chọn gói vps tại https://inet.vn/vps. Chúng tôi luôn sẵn sàng 24/7 để đảm bảo phục vụ bạn nhanh nhất có thể.
Hãy share nếu bài này có ích nhé.
Nhận xét
Đăng nhận xét