これは、DirectAdminコントロールパネルがインストールされたVPSにMailmanをインストールする方法のチュートリアルです。
Mailmanは、電子メールディスカッションと電子ニュースレターリストを管理するための無料ソフトウェアです。
インストールするには、次のコマンドを実行します。
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 [email protected] your_password
それに応じて「your_password」と「your-hostname.com」を変更することを忘れないでください。
「/etc/exim.conf」Exim構成ファイルを編集して、次の行を追加します。
primary_hostnameの前に追加:
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
トランスポートを開始したら、次を追加します:
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 = apache
「/etc/aliases」ファイルに次の行を追加します。
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"
次に、次のコマンドを実行します。
newaliases /usr/local/mailman/bin/config_list -i /usr/local/mailman/data/sitelist.cfg mailman
initスクリプトを作成します:
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
次のコマンドを実行します。
chmod 755 /etc/init.d/mailman chkconfig --add mailman
「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'}
「/etc/httpd/conf/httpd.conf」Apache構成ファイルに次の行を追加します。
Include conf/extra/mailman.conf
「mailman.conf」構成ファイルを作成します(「Your_IP_address」を実際のIPに変更します):
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
「.htaccess」ファイルを作成します:
vi /usr/local/mailman/.htaccess
AuthName "Mailman" AuthType Basic AuthUserFile /usr/local/mailman/cgi-bin/.htpasswd require valid-user
「.htpasswd」ファイルを作成します:
cd /usr/local/mailman/cgi-bin/ touch .htpasswd
htpasswd -c .htpasswd mailman
EximおよびApacheサービスを再起動して変更を有効にし、Mailmanサービスを開始します。
/etc/init.d/exim restart /etc/init.d/httpd restart /etc/init.d/mailman start
それでおしまい。次の場所に関連情報を入力すると、新しいメーリングリストを作成できるはずです。
https://Your_IP_address/mailman/create username: mailman password: your_password
もちろん、Linux VPSホスティングサービスのいずれかを使用している場合は、これを行う必要はありません。その場合は、専門のLinux管理者にインストールを依頼するだけです。 24時間年中無休でご利用いただけます。リクエストはすぐに処理されます。
PS。 この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。