GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

DirectAdminを使用してVPSにMailmanをインストールする方法

これは、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。 この投稿が気に入った場合は、左側のボタンを使用してソーシャルネットワーク上の友達と共有するか、下に返信を残してください。ありがとう。


Panels
  1. Nginxを使用してCentosVPSにWordPressマルチサイトをインストールする方法

  2. Apacheを使用してCentosVPSにWordPressマルチサイトをインストールする方法

  3. DirectAdminを使用してCentOS6VPSにClamAVをインストールします

  1. LinuxVPSにVirtualminをインストールする方法

  2. DirectAdminコントロールパネルを使用してLinuxVPSにSSL証明書をインストールします

  3. Ubuntu14.04VPSにOPcacheを使用してSuiteCRMをインストールおよび構成する方法

  1. Ubuntu14.04VPSにMuninをインストールする方法

  2. Ubuntu14.04VPSにContaoをインストールする方法

  3. UbuntuVPSにNginxを使用してEspoCRMをインストールする方法