サーバー設定 · 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 mysql18.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 restart18.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 default19.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 がユーザーの設定を取得できるようにします。)
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。