サーバー設定 · 2 min read · Feb 06, 2026

完璧なサーバー - Gentoo 2007.0 - ページ 7

18 ISPConfig

18.1 ISPConfig ソフトウェア依存関係のインストール

ISPConfig は内部に spamassassin の独自コピーをインストールしますが、自動的に依存関係は取得しません。これをインストールするには、次のようにします:

emerge --ask --verbose HTML-Parser perl-DB_File Net-DNS

または、次のようにすることもできます。

emerge --ask --verbose --onlydeps spamassassin

これにより、Gentoo の spamassassin が依存しているパッケージがインストールされますが、spamassassin 自体はインストールされません。興味深いことに、ISPConfig の spamassassin のためにインストールしている 3 つのものよりも、はるかに多くのものがインストールされます。

また、ISPConfig は iptables と smrsh を必要とします:

emerge --ask --verbose iptables smrsh

前述のように、ISPConfig は MySQL のデフォルト文字セットが latin1 であることを要求します。もし以前に MySQL をインストールした際にそれを行っていなかった場合は、

echo "dev-db/mysql latin1" >> /etc/portage/package.use   
emerge --ask --verbose mysql

18.2 root の crontab を初期化

次に、ISPConfig のインストーラーが不満を言わないように、root のための crontab ファイルがすでに存在することを確認したいと思います。

echo "# m h  dom mon dow   command" | crontab -

18.3 Postfix の設定

以前、通常の Maildir 操作のために Postfix を設定しました。今、ISPConfig がその機能を引き継ぐために必要な状態に設定したいと思います。

postconf -e 'home_mailbox ='   
postconf -e 'mailbox_command = procmail -a "$EXTENSION"'   
/etc/init.d/postfix restart

18.4 Gentoo 対応に ISPConfig をパッチ

ISPConfig は Gentoo でそのままインストールできません。ISPConfig の tarball を展開するときは、最初にパッチを当てる必要があります。これは、ISPConfig のファイルにいくつかのセクションを追加するだけで、既存のものを編集または削除することはないため、バージョンに依存しないようにスクリプトとして実装されています。とはいえ、これは ISPConfig-2.2.16.tar.gz でのみテストされています。

ディストリビューションのバージョン番号は Gentoo ではあまり意味がないため、ISPConfig でシステムを認識するために使用する「バージョン」番号は、/etc/gentoo-release に書かれている baselayout のメジャー・マイナー バージョン番号に基づいています。リビジョン番号は無視します。したがって、そのファイルに次のように含まれている場合、

Gentoo Base System release 1.12.9

その場合、ISPConfig に対するパッチでは「バージョン」番号として「112」を使用します。

このスクリプトは、必要に応じて ISPConfig をダウンロードし、展開し、Gentoo を認識するための小さなコードでパッチを当てます。ISPConfig がすでに /root に展開されている場合は、それをパッチしようとします。これは、HowTos からリンクされた不可欠なスクリプトが最終的に道を外れるという伝統に敬意を表して、ここに完全に埋め込まれています:

#!/bin/bash
# GentooISPConfig.sh 1.0
echo "ISPConfig の設定中..."
cd ~
if [ -d install_ispconfig ] ; then
    ISPCV=$(grep "version" install_ispconfig/config.inc.php.tmp | cut -f2 -d= | cut -f2 -d'"')
    echo "展開された ISPConfig ${ISPCV} インストーラーが見つかりました。これをパッチしようとします。"
else
    ISPCV="2.2.17"
    echo "ISPConfig ${ISPCV} をダウンロード中"
    wget -Nc http://prdownloads.sourceforge.net/ispconfig/ISPConfig-${ISPCV}.tar.gz?download
    echo "ISPConfig ${ISPV} を展開中"
    tar xvfz ISPConfig-${ISPCV}.tar.gz
fi
cd install_ispconfig
if grep gentoo112 dist.txt > /dev/null ; then
    echo "この ISPConfig インストーラーはすでにパッチされています"
    exit 1
fi
echo "dist.txt にパッチを当てています"
cat >> dist.txt <<-"END"

dist_init_scripts=/etc/init.d ##                                 # gentoo112
dist_runlevel= ##                                                # gentoo112
dist_smrsh=/usr/sbin/smrsh ##                                    # gentoo112
dist_shells=/etc/shells ##                                       # gentoo112
dist_http_user=apache ##                                         # gentoo112
dist_http_group=apache ##                                        # gentoo112
dist_bind_init_script=named ##                                   # gentoo112
dist_bind_user=named ##                                          # gentoo112
dist_bind_group=named ##                                         # gentoo112
dist_bind_conf=/etc/bind/named.conf ##                           # gentoo112
dist_bind_dir=/etc/bind ##                                       # gentoo112
dist_bind_pidfile=/var/run/named/named.pid ##                    # gentoo112
dist_bind_hintfile=named.ca ##                                   # gentoo112
dist_bind_localfile=localhost.zone ##                            # gentoo112
dist_passwd=/etc/passwd ##                                       # gentoo112
dist_shadow=/etc/shadow ##                                       # gentoo112
dist_group=/etc/group ##                                         # gentoo112
dist_cron_daemon=cron ##                                         # gentoo112
dist_cron_tab=/var/spool/cron/crontabs/root ##                   # gentoo112
dist_mysql_group=mysql ##                                        # gentoo112
dist_httpd_daemon=apache2 ##                                     # gentoo112
END
echo "mod/mail/postfix にパッチを当てています"
cat >> mod/mail/postfix <<-"END"

dist_mail_log:/var/log/messages:Log-File:read::gentoo112
dist_mail_virtusertable:/etc/postfix/virtusertable:Virtusertable-File:read::gentoo112
dist_mail_local_host_names:/etc/postfix/local-host-names:Local-Host-Names-File:read::gentoo112
END
echo "mod/ftp/proftpd にパッチを当てています"
cat >> mod/ftp/proftpd <<-"END"

dist_ftp_conf:/etc/proftpd/proftpd.conf:Config-File:read::gentoo112
dist_ftp_version:standalone:Server-Version:exit::gentoo112
dist_ftp_log:/var/log/messages:Log-File:read::gentoo112
END
echo "mod/httpd/httpd にパッチを当てています"
cat >> mod/httpd/httpd <<-"END"

dist_path_httpd_root:/var/www:Web-Root:read::gentoo112
END
echo "setup1 にパッチを当てています"
ed - -s setup1 > /dev/null <<-"END"
    /"$distvers" \
    ;
    if [ -f /etc/gentoo-release ] && [ ! -h /etc/gentoo-release ]; then
       version=`cat /etc/gentoo-release | cut -f5 -d' ' | cut -f1,2 -d'.'`
       distversion="Gentoo Baselayout $version"
       echo $distversion
       distvers=gentoo${version//./}
       echo dist=$distvers '##' > dist.info.tmp
       grep -i $distvers dist.txt >> dist.info.tmp
       cp -f dist.info.tmp dist.info
       VAR1=`cat dist.info.tmp | cut -f1 -d=`
       for var1 in $VAR1
       do
         echo export $var1 >> dist.info.ende
       done
       cat dist.info.ende >> dist.info.tmp
       rm -f dist.info.ende
    fi   
    .
    wq
END
echo "ISPConfig のパッチが完了しました。今すぐセットアップを実行してください。"

18.5 ISPConfig のインストール

cd install_ispconfig   
./setup

サーバーの設定は完了し、ISPConfig をインストールする準備が整いました。ISPConfig のインストールマニュアルを確認してください: http://www.ispconfig.org/manual_installation.htm

19 インストール後の ISPConfig

19.1 スタートアップ

ISPConfig の Web インターフェースをブート時に起動するには、次のように入力します。

rc-update add ispconfig_server default

19.2 Spamassassin

Spamassassin を ISPConfig のデフォルトである各メールのために独自のコピーを直接実行するのではなく、デーモンモードで実行する方が好ましい場合があります(これは遅くなる可能性があります)。これを行うには、次のようにします。

emerge --ask --verbose spamassassin   
/etc/init.d/spamd start   
rc-update add spamd default

次に、/root/ispconfig/isp/conf/spamassassin.rc.master を編集し、この行を置き換えます:

| /home/admispconfig/ispconfig/tools/spamassassin/usr/bin/spamassassin --prefs-file={PREFS_FILE}

単に、

| /usr/bin/spamc

(このバージョン、そしておそらく後のバージョンの ISPConfig は、新しいユーザーのホームディレクトリに symlink を作成して spamc がユーザーの設定を取得できるようにします。)

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。