サーバー設定 · 3 min read · Jan 14, 2026

OpenSUSE 11.4で完璧なサーバーを自動設定し、ISPConfig 3をインストールするためのスクリプト

OpenSUSE 11.4で完璧なサーバーを自動設定し、ISPConfig 3をインストールするためのスクリプト

著者: George Yohng (georgesc#oss3d.com)
スクリプトバージョン: 2.2
最終更新日: 2011年10月26日

ここに、完璧なサーバー - OpenSUSE 11.4 x86_64 [ISPConfig 3] の設定作業を自動化する小さなスクリプトがあります。最後に、ISPConfig 3もインストールします。

注意: このスクリプトは、すでに稼働中のサーバーでは実行しないでください。このスクリプトは設定ファイルを上書きし、稼働中のシステムを壊す可能性があります。これは、OpenSUSE 11.4の新規インストールでのみ使用することを意図しています。

OpenSUSE 11.2またはOpenSUSE 11.3にインストールする場合は、別のバージョンのこのスクリプトを使用してください(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.4 Perfect Server ISPConfig script by George Yohng (georgesc#oss3d.com)
# Script Version 2.2

# 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.4/noarch/getmail-4.20.4-11.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.4/$THIS_PLATFORM/suphp-0.7.1-3.2.$THIS_PLATFORM.rpm

AWSTATS_RPM=http://download.opensuse.org/repositories/network:/utilities/openSUSE_11.4/noarch/awstats-7.0-14.1.noarch.rpm

SQUIRRELMAIL_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/squirrelmail-1.4.22-1.1.noarch.rpm

JAILKIT_TARGZ=http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz

PHPMYADMIN_RPM=http://download.opensuse.org/repositories/server:/php:/applications/openSUSE_11.4/noarch/phpMyAdmin-3.4.3.2-15.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
#EACCELERATOR_TARGZ=http://www.debiantutorials.com/static/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

zypper -n install -l 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

zypper -n install -l 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

zypper -n install -l mc

zypper -n install -l GeoIP libGeoIP-devel libGeoIP1

geoip-fetch

zypper -n install -l findutils libreadline6 compat-readline4 readline-devel libgcc45 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
zypper -n install -l postfix postfix-mysql mysql-community-server mysql-community-server-client mysql-community-server-tools
zypper -n install -l python cron
zypper -n install -l libmysqlclient-devel pwgen
zypper -n install -l dovecot12 dovecot12-backend-mysql
zypper -n install -l 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
zypper -n install -l pam-devel pam-32bit pam-devel-32bit pam-modules-32bit
fi

if [ “$THIS_PLATFORM” == “i586” ]; then
zypper -n install -l 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
zypper -n install -l spamassassin amavisd-new clamav clamav-db zoo unzip bzip2 unarj perl-DBD-mysql
zypper -n install -l unrar

sa-update

# TODO: change /etc/amavisd.conf

#$mydomain = “$MY_DOMAIN”; # a convenient default for other settings
#$myhostname = “$MY_HOSTNAME”;

sed -i ‘s/ $mydomain = ‘\

Share: X/Twitter LinkedIn

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

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