サーバー設定 · 3 min read · Jan 14, 2026
OpenSUSE 11.3で完璧なサーバーを自動設定し、ISPConfig 3をインストールするためのスクリプト
OpenSUSE 11.3で完璧なサーバーを自動設定し、ISPConfig 3をインストールするためのスクリプト
著者: George Yohng (georgesc#oss3d.com)
スクリプトバージョン: 2.1
最終更新日: 2011年6月6日
完璧なサーバー - OpenSUSE 11.3 x86_64 [ISPConfig 3] を設定する作業を自動化する小さなスクリプトがあります。最後にはISPConfig 3もインストールします。
注意: すでに稼働しているサーバーでこのスクリプトを実行しないでください。このスクリプトは設定ファイルを上書きし、稼働中のシステムを壊す可能性があります。これはOpenSUSE 11.3の新規インストールでのみ使用することを意図しています。
OpenSUSE 11.2にインストールする場合は、別のバージョンのこのスクリプトを使用してください(www.howtoforge.comでも入手可能です)。
チュートリアルにはいくつかの欠落があることがわかりました。私はチュートリアルに基づいて、システムを準備するスクリプトを作成しました。このスクリプトには、実行しないとシステムが何らかの形で未完成になるいくつかのステップが含まれています。
注目すべき追加機能:
- fail2banの設定
- SuSEfirewall2の有効化
- Pure-ftpdの設定変更(名前変更を許可、パッシブポートと権限の変更)
- Postfix証明書の生成
- Apache SSL証明書の生成、およびISPConfigをHTTPSに切り替え
- OpenSUSEでのNameVirtualHost apache設定の修正(ISPConfigから複数のドメインを認識するために重要)
- cronを使用したrdiff-backupの設定
- SSLを有効にし、courier互換性をサポートするためのdovecot設定の修正
- 64ビットシステムで動作するようにpam_mysqlを修正
- clamdソケットを見つけるためのamavisの修正
- eAcceleratorのインストール
- apacheカスタムエラーパスの修正
- awstatsのインストールと設定
- apacheとawstatsをmod_logioを使用して正しい帯域幅測定を行うように設定
このスクリプトは、mysql_secure_installを実行するときと、ispconfig_update_svnを実行するときに手動入力が2回必要であるという点で不完全です。(私はsvnを使用しています。なぜなら、ISPConfigの最新のSVNははるかに見栄えが良いからです。しかし、安定版を入力することもできます - 本番システムでは安定版を使用するべきです!)
このスクリプトを実行する前に、
zypper updateと
rebootを実行してください。
また、このスクリプトを実行する前にyast2でホスト名(ファイルHOSTNAME)を手動で変更する方が良いので、OpenSUSEがPostfix設定に適切な名前を入れることができます。
このスクリプトには2つの手動アクションが必要です:
最初 - mysql_secure_installを実行するとき。
2番目 - ISPConfig3の更新のため、SVN更新が選択された場合、SSLを有効にするために’y’と入力する必要がありますが、他のすべてのオプションについては、ENTERを押すだけでデフォルト値を選択できます。
スクリプトを実行する前に、次の変数を変更する必要があります:
THIS_PLATFORM: x86_64またはi586のいずれか。
MYSQLROOTPASS: MYSQLROOTPASSを変更し、mysql_secure_installのインストール中にそのまま入力してください。
MY_HOSTNAME, MY_DOMAIN: これをサーバー名に変更します。デフォルトではserver1.mydomain.comに設定されています。ウェブサイトがdomain.comのような完全なドメインをホストしている場合でも、MY_HOSTNAMEには何かを残してください。server1またはhostは良い名前です。
ISPCONFIG_TAR_GZ: ISPCONFIG_TAR_GZが最新のISPConfig 3バージョンを保持していることを確認してください。自動的にすべての質問に回答するパイプがISPConfig 3.0.3.3で動作するように設定されているため、ISPConfigがそれ以降のバージョンの場合は、スクリプトのその部分を変更する必要があります。
スクリプトをサーバーに保存します(例: /root/opensuse_ispconfig3.sh):
vi /root/opensuse_ispconfig3.sh| ``` #!/bin/sh
# OpenSUSE 11.3 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Script Version 2.1
# Do zypper update and reboot before running this script
# Also better change host name manually with yast2 before running this script.
# This script requires two manual actions.
# First - when mysql_secure_install is running. One should type a new mysql password, the same as here
# Second - for ISPConfig3 update. One should type ‘svn’ when the update type is asked
# For both of scripts, all other options are default, one can just press ENTER.
# Also, please change MYSQLROOTPASS below, and be sure to enter it verbatim
# during the installation of mysql_secure_install.
# Important: When setting an MX entry, point it to mail.yourdomain.com rather than
# just to yourdomain.com, and create a CNAME entry for mail. Otherwise it doesn’t
# seem to work somehow.
# Platform is x86_64 or i586
THIS_PLATFORM=x86_64
MYSQLROOTPASS=87h4eq2jr2
# Change this to your server name. By default it’s configured to server1.mydomain.com
# If your web site hosts a complete domain, such as domain.com, still leave
# something for MY_HOSTNAME. ‘server1’ or ‘host’ is a good name.
MY_HOSTNAME=server1
MY_DOMAIN=mydomain.com
# Uncomment to use SVN-version of ISP config, and to run update once the installation is finished
#ISPCONFIG_SVN=yes
# Packages may have been updated, therefore also check the RPM and TARGZ locations below,
# and preferably use the latest versions of everything.
GETMAIL_RPM=http://download.opensuse.org/repositories/server:/mail/openSUSE_11.3/noarch/getmail-4.20.0-1.1.noarch.rpm
PAM_MYSQL_TARGZ=http://heanet.dl.sourceforge.net/sourceforge/pam-mysql/pam_mysql-0.7RC1.tar.gz
SUPHP_RPM=http://download.opensuse.org/repositories/server:/php/openSUSE_11.3/$THIS_PLATFORM/suphp-0.7.1-3.1.$THIS_PLATFORM.rpm
AWSTATS_RPM=http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.3/noarch/awstats-6.95-3.1.noarch.rpm
SQUIRRELMAIL_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.3/noarch/squirrelmail-1.4.21-1.1.noarch.rpm
JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/jailkit-2.12.tar.gz
PHPMYADMIN_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.3/noarch/phpMyAdmin-3.3.4-1.1.noarch.rpm
VLOGGER_TARGZ=http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
RDIFF_BACKUP_TARGZ=http://savannah.nongnu.org/download/rdiff-backup/rdiff-backup-1.2.8.tar.gz
EACCELERATOR_TARGZ=http://bart.eaccelerator.net/source/0.9.6.1/eaccelerator-0.9.6.1.tar.bz2
ISPCONFIG_TAR_GZ=http://downloads.sourceforge.net/ispconfig/ISPConfig-3.0.3.3.tar.gz?use_mirror=
MY_FULLHOSTNAME=$MY_HOSTNAME.$MY_DOMAIN
# Disable apparmor
/etc/init.d/boot.apparmor stop
chkconfig -d boot.apparmor
# Install SuSEfirewall
yast2 -i SuSEfirewall2 iptables
# Allow ports through firewall
SuSEfirewall2 open EXT TCP 22
SuSEfirewall2 open EXT TCP 21 80 8080 25 143 465 585 993 30000:30500
SuSEfirewall2
# Switch off X login (check!)
chkconfig –del xdm
rcxdm stop
# Quota
yast2 -i quota
touch /aquota.user /aquota.group
chmod 600 /aquota.
touch /srv/aquota.user /srv/aquota.group
chmod 600 /srv/aquota.
# TODO: change fstab here
# Ignore errors from the below commands
mount -o remount /
mount -o remount /srv
mount -o remount /home
quotacheck -avugm
quotaon -avug
# Basic packages
yast2 -i mc
yast2 -i GeoIP libGeoIP-devel libGeoIP1
geoip-fetch
yast2 -i findutils readline libgcc glibc-devel findutils-locate gcc flex lynx compat-readline4 db-devel wget gcc-c++ subversion make vim telnet cron iptables iputils man man-pages nano pico
# Host name
echo $MY_FULLHOSTNAME > /etc/HOSTNAME
echo 127.0.0.2 $MY_FULLHOSTNAME $MY_HOSTNAME >> /etc/hosts
export HOST=$MY_FULLHOSTNAME
export HOSTNAME=$MY_FULLHOSTNAME
SuSEconfig
# Postfix, Dovecot, MySQL
yast2 -i postfix postfix-mysql mysql-community-server mysql-community-server-client mysql-community-server-tools
yast2 -i python cron
yast2 -i libmysqlclient-devel pwgen
yast2 -i dovecot12 dovecot12-backend-mysql
yast2 -i bind
chkconfig –add mysql
chkconfig –add postfix
chkconfig –add dovecot
chkconfig –add named
test -d /lib64 && ln -s /usr/lib64/dovecot/modules /usr/lib/dovecot
/etc/init.d/mysql start
/etc/init.d/postfix start
/etc/init.d/dovecot start
/etc/init.d/named start
# getmail
cd /tmp
rpm -i $GETMAIL_RPM
# pam
if [ “$THIS_PLATFORM” == “x86_64” ]; then
yast2 -i pam-devel pam-32bit pam-devel-32bit pam-modules-32bit
fi
if [ “$THIS_PLATFORM” == “i586” ]; then
yast2 -i pam-devel pam pam-modules
fi
# pam_mysql
cd /tmp
wget -c $PAM_MYSQL_TARGZ
tar xvfz pam_mysql-.tar.gz
rm -rf pam_mysql-.tar.gz
cd pam_mysql-
./configure
make
make install
cd /tmp
rm -rf /tmp/pam_mysql-
test -d /lib64 && cp /lib/security/pam_mysql* /lib64/security
# mysql_secure_installation
mysql_secure_installation
#(echo Y; echo $MYSQLROOTPASS; echo $MYSQLROOTPASS; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; echo; )
# amavis, spam asassin, etc
yast2 -i spamassassin amavisd-new clamav clamav-db zoo unzip unrar bzip2 unarj perl-DBD-mysql
sa-update
# TODO: change /etc/amavisd.conf
#$mydomain = “$MY_DOMAIN”; # a convenient default for other settings
#$myhostname = “$MY_HOSTNAME”;
sed -i ‘s/ \$mydomain = ‘\
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。