サーバー設定 · 4 min read · Nov 07, 2025
完璧なサーバー - CentOS 6.0 x86_64 [ISPConfig 3] - ページ 5
14 Amavisd-new、SpamAssassin、および ClamAV のインストール
amavisd-new、spamassassin、および clamav をインストールするには、次のコマンドを実行します:
yum install amavisd-new spamassassin clamav clamd unzip bzip2 unrar perl-DBD-mysql次に、freshclam、amavisd、および clamd を起動します:
sa-update
chkconfig –levels 235 amavisd on
chkconfig –levels 235 clamd on
/usr/bin/freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd start
15 mod_php、mod_fcgi/PHP5、および suPHP を使用した Apache2 のインストール
ISPConfig 3 では、mod_php、mod_fcgi/PHP5、cgi/PHP5、および suPHP をウェブサイトごとに使用できます。
mod_php5、mod_fcgid、および PHP5 を使用して Apache2 を次のようにインストールできます:
yum install php php-devel php-gd php-imap php-ldap php-mysql php-odbc php-pear php-xml php-xmlrpc php-eaccelerator php-mbstring php-mcrypt php-mssql php-snmp php-soap php-tidy curl curl-devel perl-libwww-perl ImageMagick libxml2 libxml2-devel mod_fcgid php-cli httpd-devel 次に、/etc/php.ini を開きます…
vi /etc/php.ini… そしてエラーレポートを変更します(通知が表示されないように)し、cgi.fix_pathinfo=1 のコメントを解除します:
| [...] ;error_reporting = E_ALL & ~E_DEPRECATED error_reporting = E_ALL & ~E_NOTICE [...] ; cgi.fix_pathinfo は CGI のための *実際の* PATH_INFO/PATH_TRANSLATED サポートを提供します。 PHP の ; 以前の動作は PATH_TRANSLATED を SCRIPT_FILENAME に設定し、 ; PATH_INFO が何であるかを理解しませんでした。 PATH_INFO についての詳細は cgi スペックを参照してください。これを 1 に設定すると、PHP CGI は ; スペックに従ってパスを修正します。ゼロの設定は PHP を以前のように動作させます。デフォルトは 1 です。スクリプトを修正する必要があります ; SCRIPT_FILENAME を使用するように PATH_TRANSLATED ではなく。 ; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfo cgi.fix_pathinfo=1 [...] |
次に、suPHP をインストールします(リポジトリには mod_suphp パッケージがありますが、残念ながら ISPConfig とは互換性がないため、suPHP を自分でビルドする必要があります):
cd /tmp
wget http://suphp.org/download/suphp-0.7.1.tar.gz
tar xvfz suphp-0.7.1.tar.gz
cd suphp-0.7.1/
./configure –prefix=/usr –sysconfdir=/etc –with-apr=/usr/bin/apr-1-config –with-apxs=/usr/sbin/apxs –with-apache-user=apache –with-setid-mode=owner –with-php=/usr/bin/php-cgi –with-logfile=/var/log/httpd/suphp_log –enable-SUPHP_USE_USERGROUP=yes
make
make install
次に、suPHP モジュールを Apache 設定に追加します…
vi /etc/httpd/conf.d/suphp.conf| LoadModule suphp_module modules/mod_suphp.so |
… そして、次のように /etc/suphp.conf ファイルを作成します:
vi /etc/suphp.conf| [global] ;ログファイルへのパス logfile=/var/log/httpd/suphp.log ;ログレベル loglevel=info ;Apache が実行されるユーザー webserver_user=apache ;すべてのスクリプトが存在する必要があるパス docroot=/ ;スクリプトを実行する前に chroot() するパス ;chroot=/mychroot ; セキュリティオプション allow_file_group_writeable=true allow_file_others_writeable=false allow_directory_group_writeable=true allow_directory_others_writeable=false ;スクリプトが DOCUMENT_ROOT 内にあるかどうかを確認 check_vhost_docroot=true ;小さなエラーメッセージをブラウザに送信 errors_to_browser=false ;PATH 環境変数 env_path=/bin:/usr/bin ;設定する umask、8 進数で指定 umask=0077 ; 最小 UID min_uid=100 ; 最小 GID min_gid=100 [handlers] ;php スクリプトのハンドラ x-httpd-suphp="php:/usr/bin/php-cgi" ;CGI スクリプトのハンドラ x-suphp-cgi="execute:!self" |
最後に Apache を再起動します:
/etc/init.d/httpd restart15.1 Ruby
バージョン 3.0.3 から、ISPConfig 3 には Ruby の組み込みサポートがあります。CGI/FastCGI を使用する代わりに、ISPConfig はサーバーの Apache に mod_ruby が利用可能であることに依存しています。
CentOS 6.0 では、mod_ruby パッケージは利用できないため、自分でコンパイルする必要があります。まず、いくつかの前提条件をインストールします:
yum install httpd-devel ruby ruby-devel次に、mod_ruby を次のようにダウンロードしてインストールします:
cd /tmp
wget http://modruby.net/archive/mod_ruby-1.3.0.tar.gz
tar zxvf mod_ruby-1.3.0.tar.gz
cd mod_ruby-1.3.0/
./configure.rb –with-apr-includes=/usr/include/apr-1
make
make install
最後に、mod_ruby モジュールを Apache 設定に追加する必要があるため、/etc/httpd/conf.d/ruby.conf ファイルを作成します…
vi /etc/httpd/conf.d/ruby.conf| LoadModule ruby_module modules/mod_ruby.so RubyAddPath /1.8 |
… そして Apache を再起動します:
/etc/init.d/httpd restart(もし RubyAddPath /1.8 ディレクティブを省略すると、Ruby ファイルを呼び出したときに Apache のエラーログに次のようなエラーが表示されます:
[Thu May 26 02:05:05 2011] [error] mod_ruby: ruby:0:in `require’: no such file to load – apache/ruby-run (LoadError)
[Thu May 26 02:05:05 2011] [error] mod_ruby: failed to require apache/ruby-run
[Thu May 26 02:05:05 2011] [error] mod_ruby: error in ruby ) #### 15.2 WebDAV WebDAV はすでに有効になっているはずですが、これを確認するために、/etc/httpd/conf/httpd.conf を開き、次の 3 つのモジュールがアクティブであることを確認します: vi /etc/httpd/conf/httpd.conf | [...] LoadModule auth_digest_module modules/mod_auth_digest.so [...] LoadModule dav_module modules/mod_dav.so [...] LoadModule dav_fs_module modules/mod_dav_fs.so [...] | /etc/httpd/conf/httpd.conf を修正する必要がある場合は、その後に Apache を再起動することを忘れないでください: /etc/init.d/httpd restart ### 16 PureFTPd のインストール PureFTPd は次のコマンドでインストールできます: yum install pure-ftpd 次に、システム起動リンクを作成し、PureFTPd を起動します: chkconfig –levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start 次に、PureFTPd を構成して FTP および TLS セッションを許可します。FTP は非常に安全でないプロトコルであり、すべてのパスワードとすべてのデータが平文で転送されます。TLS を使用することで、通信全体を暗号化できるため、FTP ははるかに安全になります。 TLS には OpenSSL が必要です。OpenSSL をインストールするには、次のように実行します: yum install openssl /etc/pure-ftpd/pure-ftpd.conf を開きます… vi /etc/pure-ftpd/pure-ftpd.conf FTP および TLS セッションを許可する場合は、TLS を 1 に設定します: | [...] # このオプションは 3 つの値を受け入れることができます: # 0 : SSL/TLS 暗号化レイヤーを無効にします(デフォルト)。 # 1 : 従来のセッションと暗号化されたセッションの両方を受け入れます。 # 2 : SSL/TLS セキュリティメカニズムを使用しない接続を拒否します。 # 匿名セッションを含みます。 # このコメントを無視して解除しないでください。次のことを確認してください: # 1) サーバーが SSL/TLS サポートでコンパイルされていること (--with-tls)、 # 2) 有効な証明書が存在すること、 # 3) 互換性のあるクライアントのみがログインすること。 TLS 1 [...] | TLS を使用するには、SSL 証明書を作成する必要があります。私は /etc/ssl/private/ に作成するので、まずそのディレクトリを作成します: mkdir -p /etc/ssl/private/ その後、次のように SSL 証明書を生成できます: openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem 国名 (2 文字コード) [XX]: <– 国名を入力します(例:「DE」)。
州または県名 (フルネーム) []: <– 州または県名を入力します。
市名 (例:市) [Default City]: <– 市名を入力します。
組織名 (例:会社) [Default Company Ltd]: <– 組織名を入力します(例:会社名)。
組織単位名 (例:部門) []: <– 組織単位名を入力します(例:「IT 部門」)。
共通名 (例:あなたの名前またはサーバーのホスト名) []: <– システムの完全修飾ドメイン名を入力します(例:「server1.example.com」)。
メールアドレス []: <– メールアドレスを入力します。 SSL 証明書の権限を変更します: chmod 600 /etc/ssl/private/pure-ftpd.pem 最後に PureFTPd を再起動します: /etc/init.d/pure-ftpd restart これで完了です。FTP クライアントを使用して接続を試みることができます。ただし、FTP クライアントを TLS を使用するように構成する必要があります。 ### 17 BIND のインストール BIND を次のようにインストールできます: yum install bind bind-utils 次に、/etc/sysconfig/named を開きます… vi /etc/sysconfig/named … そして ROOTDIR=/var/named/chroot 行がコメントアウトされていることを確認します: | # BIND named プロセスオプション # ~~~~~~~~~~~~~~~~~~~~~~~~~~ # 現在、次のオプションを使用できます: # # ROOTDIR="/var/named/chroot" -- chroot 環境で named を実行します。 # chroot 環境を設定する必要があります # (bind-chroot パッケージをインストール) # これを行う前に。 # 注意: # これらのディレクトリは、ROOTDIR ディレクトリ内が空である場合に自動的に chroot にマウントされます。 # これにより、chroot 環境のメンテナンスが簡素化されます。 # - /var/named # - /etc/pki/dnssec-keys # - /etc/named # - /usr/lib64/bind または /usr/lib/bind (アーキテクチャ依存) # # 対象ファイルが chroot 内に存在しない場合も、これらのファイルがマウントされます。 # - /etc/named.conf # - /etc/rndc.conf # - /etc/rndc.key # - /etc/named.rfc1912.zones # - /etc/named.dnssec.keys # - /etc/named.iscdlv.key # # /etc/rsyslog.conf ファイルに "$AddUnixListenSocket /var/named/chroot/dev/log" の行を追加することを忘れないでください。 # そうしないと、rsyslogd デーモンが再起動されると、ロギングが壊れます(たとえば、更新時など)。 # # OPTIONS="whatever" -- これらの追加オプションは、起動時に named に渡されます。 # ここに -t を追加しないでください、代わりに ROOTDIR を使用してください。 # # KEYTAB_FILE="/dir/file" -- named サービスの keytab ファイルを指定します (GSS-TSIG 用) #ROOTDIR=/var/named/chroot | 既存の /etc/named.conf ファイルのバックアップを作成し、新しいファイルを次のように作成します: cp /etc/named.conf /etc/named.conf_bak
cat /dev/null > /etc/named.conf
vi /etc/named.conf | // named.conf // // Red Hat bind パッケージによって提供され、ISC BIND named(8) DNS // サーバーをキャッシュ専用のネームサーバーとして構成します(ローカルホスト DNS リゾルバとしてのみ)。 // // 例の named 構成ファイルについては /usr/share/doc/bind*/sample/ を参照してください。 // options { listen-on port 53 { any; }; listen-on-v6 port 53 { any; }; directory "/var/named"; dump-file "/var/named/data/cache_dump.db"; statistics-file "/var/named/data/named_stats.txt"; memstatistics-file "/var/named/data/named_mem_stats.txt"; allow-query { any; }; recursion no; allow-recursion { none; }; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.conf.local"; | /etc/named.conf の最後に含まれる /etc/named.conf.local ファイルを作成します(/etc/named.conf.local は、ISPConfig で DNS ゾーンを作成すると後で ISPConfig によってポピュレートされます): touch /etc/named.conf.local 次に、起動リンクを作成し、BIND を起動します: chkconfig –levels 235 named on
/etc/init.d/named start ### 18 Vlogger、Webalizer、および AWStats のインストール Vlogger、webalizer、および AWStats は次のようにインストールできます: yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder cd /tmp
wget http://n0rp.chemlab.org/vlogger/vlogger-1.3.tar.gz
tar xvfz vlogger-1.3.tar.gz
mv vlogger-1.3/vlogger /usr/sbin/
rm -rf vlogger ### 19 Jailkit のインストール Jailkit は SSH ユーザーを chroot したい場合にのみ必要です。次のようにインストールできます(重要:Jailkit は ISPConfig の前にインストールする必要があります - その後にインストールすることはできません!): cd /tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.14.tar.gz
tar xvfz jailkit-2.14.tar.gz
cd jailkit-2.14
./configure
make
make install
cd ..
rm -rf jailkit-2.14 ### 20 fail2ban のインストール これはオプションですが推奨されます。なぜなら、ISPConfig モニターはログを表示しようとするからです: yum install fail2ban chkconfig –levels 235 fail2ban on
/etc/init.d/fail2ban start ### 21 rkhunter のインストール rkhunter は次のようにインストールできます: yum install rkhunter
新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。