GNU/Linux >> Linux の 問題 >  >> Panels >> Panels

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)

パーフェクトサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)

このチュートリアルでは、ISPConfig3のインストール用にCentOS6.3 x86_64サーバーを準備する方法と、ISPConfig3をインストールする方法を示します。ISPConfig3は、Webブラウザーを介して次のサービスを構成できるWebホスティングコントロールパネルです。nginxWebサーバー、Postfixメールサーバー、MySQL、BINDネームサーバー、PureFTPd、SpamAssassin、ClamAV、Mailman、その他多数。バージョン3.0.4以降、ISPConfigには、Apacheに加えてnginxWebサーバーの完全なサポートが付属しています。このチュートリアルでは、Apacheではなくnginxを使用するサーバーのセットアップについて説明します。

この設定はISPConfig2では機能しないことに注意してください ! ISPConfig3でのみ有効です。

これがあなたのために働くという保証はありません!

ISPConfig3マニュアル

ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。

300ページ以上で、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、チュートリアルを提供しますISPConfig 3の最も一般的なタスクについても説明します。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。

Android用ISPConfigモニターアプリ

ISPConfig Monitor Appを使用すると、サーバーのステータスを確認し、すべてのサービスが期待どおりに実行されているかどうかを確認できます。 TCPおよびUDPポートを確認し、サーバーにpingを実行できます。さらに、このアプリを使用して、ISPConfigがインストールされているサーバーに詳細を要求できます(ISPConfigモニターアプリをサポートするインストール済みのISPConfig3の最小バージョンは3.0.3.3です! );これらの詳細には、ISPConfigコントロールパネルのモニターモジュールから知っているすべてのもの(サービス、メールとシステムのログ、メールキュー、CPUとメモリの情報、ディスク使用量、クォータ、OSの詳細、RKHunterログなど)が含まれます。 、ISPConfigはマルチサーバー対応であるため、ISPConfigマスターサーバーから制御されているすべてのサーバーを確認できます。

ダウンロードと使用方法については、http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/にアクセスしてください。

1要件

このようなシステムをインストールするには、次のものが必要です。

  • 隣のミラーから2枚のCentOS6.3DVDをダウンロードします(ミラーのリストはここにあります:http://isoredirect.centos.org/centos/6/isos/x86_64/)。
  • 高速インターネット接続。

2予備メモ

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。

3ベースシステムのインストール

最初のCentOS6.3DVD(DVD 1)から起動します。 [既存のシステムのインストールまたはアップグレード]を選択します:

インストールメディアのテストには長い時間がかかる可能性があるため、ここではこのテストをスキップします:

CentOSインストーラーのウェルカム画面が表示されます。 [次へ]をクリックします:

次に言語を選択してください:

キーボードレイアウトを選択します:

ローカルに接続されたハードドライブを使用していると想定しているため、ここで基本ストレージデバイスを選択する必要があります:

次の警告が表示される場合があります-ドライブの処理中にエラーが発生しました。これが表示された場合は、[すべて再初期化]ボタンをクリックして続行します。

サーバーのホスト名(例:server1.example.com)を入力し、[ネットワークの構成]ボタンをクリックします。

[有線]タブに移動し、ネットワークインターフェイス(おそらくeth0)を選択して、[編集...]をクリックします。:

[自動的に接続する]チェックボックスをオンにして、[IPv4設定]タブに移動し、[方法]ドロップダウンメニューで[手動]を選択します。 [DNSサーバー]フィールド(例:8.8.8.8、8.8.4.4)に1つ、2つ、または3つのネームサーバー(コンマで区切って)を入力し、[アドレス]領域の横にある[追加]ボタンをクリックします。

次に、ネットワークカードに静的IPアドレスとネットマスクを指定します(このチュートリアルでは、デモンストレーションの目的でIPアドレス192.168.0.100とネットマスク255.255.255.0を使用しています。正しい値がわからない場合は、http://www。サブネットマスク.infoが役立つ場合があります)。また、ゲートウェイ(192.168.0.1など)に入力して、[適用...]ボタンをクリックします:

これでネットワーク構成は完了です。 [次へ]ボタンをクリックします:

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)-ページ2

4 / etc/hostsを調整します

次に、/ etc/hostsを編集します。次のようにします:

 vi / etc / hosts 
 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 192.168.0.100 server1.example.com server1 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 

5ファイアウォールの構成

(基本的なシステムインストールの最後にファイアウォールをすでに無効にしている場合は、この章をスキップできます。)

このチュートリアルの最後に、独自のファイアウォールが付属しているISPConfigをインストールしたいと思います。そのため、今はデフォルトのCentOSファイアウォールを無効にしています。もちろん、そのままにして、必要に応じて構成することもできます(ただし、CentOSファイアウォールに干渉する可能性が高いため、後で他のファイアウォールを使用しないでください)。

実行

 system-config-firewall 

ファイアウォールを無効にします。

ファイアウォールが実際に無効になっていることを確認するには、

を実行できます。
 iptables -L 

その後。出力は次のようになります。

[[email protected]〜]#iptables -L
Chain INPUT(policy ACCEPT)
target prot opt source destination

Chain FORWARD(policy ACCEPT)
target prot opt source destination

Chain OUTPUT(policy ACCEPT)
target prot opt source destination
[[email protected]〜]#

6SELinuxを無効にする

SELinuxはCentOSのセキュリティ拡張であり、拡張セキュリティを提供する必要があります。私の意見では、安全なシステムを構成するためにそれを必要とせず、通常、利点よりも多くの問題を引き起こします(一部のサービスが期待どおりに機能しなかったため、1週間のトラブルシューティングを行った後、それを考えてください。すべてが問題ないことを確認してください。SELinuxのみが問題を引き起こしていました)。したがって、無効にします(後でISPConfigをインストールする場合は必須です)。

/ etc / selinux / configを編集し、SELINUX =disableを設定します:

 vi / etc / selinux / config 
#このファイルは、システム上のSELinuxの状態を制御します。 #SELINUX =は、次の3つの値のいずれかを取ることができます。#enforcing-SELinuxセキュリティポリシーが強制されます。 #permissive-SELinuxは強制する代わりに警告を出力します。 #無効-SELinuxポリシーがロードされていません。 SELINUX =disable#SELINUXTYPE =は、次の2つの値のいずれかを取ることができます。#targeted-ターゲットプロセスは保護されます。#mls-マルチレベルセキュリティ保護。 SELINUXTYPE =targeted 

その後、システムを再起動する必要があります:

再起動

7追加のリポジトリを有効にして、いくつかのソフトウェアをインストールする

まず、ソフトウェアパッケージのGPGキーをインポートします:

 rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY * 

次に、CentOSシステムでRPMforgeおよびEPELリポジトリを有効にします。これは、このチュートリアルの過程でインストールするパッケージの多くが、公式のCentOS6.3リポジトリでは利用できないためです。

 rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt 

cd / tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release- 0.5.2-2.el6.rf.x86_64.rpm

(上記のリンクが機能しなくなった場合は、rpmforge-releaseの現在のバージョンをここで見つけることができます:http://packages.sw.be/rpmforge-release/)

rpm --import https://fedoraproject.org/static/0608B895.txt
wgethttp://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch。 rpm
rpm -ivh epel-release-6-7.noarch.rpm

また、後でインストールするphp-fpmパッケージを含むRemiRPMリポジトリを有効にする必要があります。

rpm --import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

>
 yum install yum-priorities 

/etc/yum.repos.d/epel.repoを編集します...

 vi /etc/yum.repos.d/epel.repo 

...そして[epel]セクションにpriority=10という行を追加します:

 [epel] name =Enterprise Linux6用の追加パッケージ-$basearch#baseurl =http://download.fedoraproject.org/pub/epel/ 6 / $ basearchmirrorlist =https://mirrors.fedoraproject.org/metalink?repo =epel-6&arch =$ basearchfailovermethod =priorityenabled =1priority =10gpgcheck =1gpgkey =file:/// etc / pki / rpm-gpg / RPM-GPG -KEY-EPEL-6 [...] 

次に、/ etc / yum.repos.d / remi.repoの[remi]セクションについても同じことを行い、さらに1に変更します。

 vi /etc/yum.repos.d/remi.repo 
 [remi] name =Les RPM de remi pour Enterprise Linux $ releasever-$ basearch#baseurl =http://rpms.famillecollet.com/enterprise /$releasever/remi/$basearch/mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirrorenabled=1priority=10gpgcheck=1gpgkey=file:/// etc / pki / rpm-gpg / RPM -GPG-KEY-remifailovermethod =priority [remi-test] name =Les RPM de remi en test pour Enterprise Linux $ releasever-$ basearch#baseurl =http://rpms.famillecollet.com/enterprise/$releasever/test/ $ basearch / mirrorlist =http://rpms.famillecollet.com/enterprise/$releasever/test/mirrorenabled=0gpgcheck=1gpgkey=file:/// etc / pki / rpm-gpg / RPM-GPG-KEY-remi 
>

次に、システム上の既存のパッケージを更新します。

yumアップデート

次に、後で必要になるいくつかのソフトウェアパッケージをインストールします。

 yumgroupinstall'開発ツール'

8クォータ

(私が行ったのとは異なるパーティションスキームを選択した場合は、この章を調整して、必要なパーティションにクォータが適用されるようにする必要があります。)

クォータをインストールするには、次のコマンドを実行します:

yumインストールクォータ

/ etc / fstabを編集し、、usrjquota =aquota.user、grpjquota =aquota.group、jqfmt =vfsv0を/パーティション(/ dev / mapper / vg_server1-lv_root)に追加します。

 vi / etc / fstab 
 ## / etc / fstab#anacondaによってWedJul11に作成17:52:572012##アクセス可能なファイルシステムは、参照により、 '/ dev / disk'#詳細については、マニュアルページfstab(5)、findfs(8)、mount(8)、blkid(8)を参照してください。#/ dev / mapper / vg_server1-lv_root / ext4 defaults、usrjquota =aquota .user、grpjquota =aquota.group、jqfmt =vfsv0 1 1UUID =806910a1-dbdf-4746-bd94-cbe73ce81493 / boot ext4 defaults 1 2 / dev / mapper / vg_server1-lv_swap swap swap defaults 0 0tmpfs / dev / shm tmpfs defaults 0 0devpts / dev / pts devpts gid =5、mode =620 0 0sysfs / sys sysfs defaults 0 0proc / proc proc defaults 0 0 

次に実行します

 mount -o remount / 

quotacheck -avugm
queueon -avug

クォータを有効にします。

9システム時計を同期する

システムクロックをNTPと同期することをお勧めします( n etwork t ime p rotocol)インターネット上のサーバー。単に実行する

 yum install ntp 

システム時刻は常に同期されます。

10MySQLをインストール

次のようにMySQLをインストールします。

 yum install mysql mysql-server 

次に、MySQLのシステム起動リンクを作成して起動します:

chkconfig --levels 235 mysqld on
/etc/init.d/mysqld start

MySQLルートアカウントのパスワードを設定します:

 mysql_secure_installation 

[[email protected] tmp]#mysql_secure_installation




注:このスクリプトのすべての部分を実行することは、本番環境のすべてのMySQLに推奨されます
使用する!各ステップを注意深くお読みください。


MySQLにログインしてセキュリティで保護するには、rootユーザーの現在の
パスワードが必要です。 MySQLをインストールしたばかりで、
rootパスワードをまだ設定していない場合、パスワードは空白になります。
ここで、Enterキーを押すだけです。

Enter rootの現在のパスワード(noneの場合は入力):
OK、正常に使用されたパスワード、次に進みます...

rootパスワードを設定すると、誰もMySQLにログインできないようになります
root適切な権限のないユーザー。

rootパスワードを設定しますか? [Y / n] <-ENTER
新しいパスワード:<-yourrootsqlpassword
新しいパスワードを再入力:<-yourrootsqlpassword
パスワードが正常に更新されました!
特権テーブルを再読み込みしています。 。
...成功!


デフォルトでは、MySQLのインストールには匿名のユーザーが含まれているため、ユーザーアカウントを持たなくても誰でもMySQLにログインできます。

それらのために作成されました。これは、テストのみを目的としており、インストールを
少しスムーズにすることを目的としています。
本番環境に移動する前に、それらを削除する必要があります。

匿名ユーザーを削除しますか? [Y / n] <-ENTER
...成功!

通常、rootは「localhost」からの接続のみを許可する必要があります。これにより、
誰かが、ネットワークからのルートパスワードを推測できないようになります。

ルートログインをリモートで禁止しますか? [Y / n] <-ENTER
...成功!

デフォルトでは、MySQLには「test」という名前のデータベースが付属しており、誰でもアクセスできます。
これもテストのみを目的としており、
本番環境に移動する前に削除する必要があります。

テストデータベースを削除して、データベースにアクセスしますか? [Y / n] <-ENTER
-テストデータベースを削除しています...
...成功しました!
-テストデータベースの特権を削除しています...
...成功しました!

特権テーブルを再読み込みすると、これまでに行われたすべての変更が
すぐに有効になります。

特権テーブルを今すぐ再読み込みしますか? [Y / n] <-ENTER
...成功!

クリーンアップ...



すべて完了しました!上記のすべての手順を完了した場合、MySQLのインストールは安全になっているはずです。

MySQLをご利用いただきありがとうございます。


[example @ unixlinux.online tmp]#

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)-4ページ

11 Courier-IMAP、Courier-Authlib、およびMaildropをインストールします

残念ながら、Courier-IMAP、Courier-Authlib、およびMaildrop用のrpmパッケージはないため、自分で作成する必要があります。

最初にDovecotを削除します:

 yum remove dovecot dovecot-mysql 

次に、Courierrpmパッケージをビルドするために必要な前提条件をインストールします。

 yum install rpm-build gcc mysql-devel openssl-devel cyrus-sasl-devel pkgconfig zlib-devel pcre-devel openldap-devel postgresql-devel expected libtool-ltdl-devel openldap-servers libtool gdbm-devel pam-devel gamin -devel libidn-devel 

RPMパッケージはrootとしてビルドしないでください。 courier-imapは、コンパイルがrootユーザーとして実行されていることを検出した場合でも、コンパイルを拒否します。したがって、ここで通常のユーザーアカウント(この例ではfalko)を作成し、パスワードを与えます:

useradd -m -s / bin / bash falko
passwd falko

ユーザーfalkoがrpmパッケージをコンパイルしてインストールできるように、後でsudoコマンドが必要になります。ただし、最初に、falkoがsudoを使用してすべてのコマンドを実行できるようにする必要があります:

実行

 visudo 

開いたファイルには、ルートALL =(ALL)ALLという行があります。その行のすぐ下にfalkoの同様の行を追加します:

 [...]##rootが任意のコマンドをどこでも実行できるようにするrootALL=(ALL)ALLfalko ALL =(ALL)ALL [...] 

これで、rpmパッケージをビルドする準備が整いました。最初にユーザーfalkoになります:

 su falko 

次に、ビルド環境を作成します:

mkdir $ HOME / rpm
mkdir $ HOME / rpm / SOURCES
mkdir $ HOME / rpm / SPECS
mkdir $ HOME / rpm / BUILD
mkdir $ HOME / rpm / BUILDROOT
mkdir $ HOME / rpm / SRPMS
mkdir $ HOME / rpm / RPMS
mkdir $ HOME / rpm / RPMS / i386
mkdir $ HOME / rpm / RPMS / x86_64

>
 echo "%_topdir $ HOME / rpm">> $ HOME / .rpmmacros 

次に、ダウンロードディレクトリを作成し、http://www.courier-mta.org/download.phpからソースファイルをダウンロードします。

mkdir $ HOME / downloads
cd $ HOME / downloads

wget --no-check-certificate https://sourceforge.net/projects/courier/files/authlib/0.64.0/courier-authlib-0.64.0.tar.bz2/download
wget --no- check-certificate https://sourceforge.net/projects/courier/files/imap/4.9.3/courier-imap-4.9.3.tar.bz2/download
wget --no-check-certificate https: //sourceforge.net/projects/courier/files/maildrop/2.5.5/maildrop-2.5.5.tar.bz2/download

(4.10.0はFedoraに存在するsystemctlに依存しますが、CentOSには依存しないため、ここでは新しい4.10.0の代わりにCourier-IMAP 4.9.3を使用していることに注意してください。)

これで(まだ$ HOME / downloadsにあります)、courier-authlibを作成できます:

 sudo rpmbuild -ta courier-authlib-0.64.0.tar.bz2 

ビルドプロセスの後、rpmパッケージは/ root / rpmbuild / RPMS / x86_64(i686システムを使用している場合は/ root / rpmbuild / RPMS / i686)にあります。コマンド

 sudo ls -l / root / rpmbuild / RPMS / x86_64 

利用可能なrpmパッケージを表示します:

[[email protected] downloads] $ sudo ls -l / root / rpmbuild / RPMS / x86_64
total 524
-rw-r--r-- 1 root root 125304 Jul 11​​ 19:09 courier -authlib-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 263700 Jul 11​​19:09courier-authlib-debuginfo-0.64.0-1.el6。 x86_64.rpm
-rw-r--r-- 1 root root 37804 Jul 11​​ 19:09 courier-authlib-devel-0.64.0-1.el6.x86_64.rpm
-rw-r --r-- 1 root root 17264 Jul 11​​ 19:09 courier-authlib-ldap-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13864 Jul 11 19:09 courier-authlib-mysql-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13004 Jul 11​​19:09courier-authlib-pgsql-0.64。 0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 8240 Jul 11​​ 19:09 courier-authlib-pipe-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 34644 Jul 11​​ 19:09 courier-authlib-userdb-0.64.0-1.el6.x86_64.rpm
[[email protected] downloads] $

インストールするものを選択し、次のようにインストールします。

 sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/courier-authlib-0.64.0-1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-mysql-0.64.0- 1.el6.x86_64.rpm /root/rpmbuild/RPMS/x86_64/courier-authlib-devel-0.64.0-1.el6.x86_64.rpm 

次に、ダウンロードディレクトリに戻ります:

 cd $ HOME / downloads 

次のコマンドを実行して、必要なディレクトリを作成するか、ディレクトリのアクセス許可を変更します(そうしないと、Courier-Imapのビルドプロセスが失敗するため):

sudo mkdir -p / var / cache / ccache / tmp
sudo chmod o + rwx / var / cache / ccache /
sudo chmod 777 / var / cache / ccache / tmp

ここで、今度はsudoを使用せずにrpmbuildを再度実行します。そうしないと、rootとして実行されたため、コンパイルが失敗します。

 rpmbuild -ta courier-imap-4.9.3.tar.bz2 

ビルドプロセス後、rpmパッケージは$ HOME / rpm / RPMS / x86_64(i686システムを使用している場合は$ HOME / rpm / RPMS / i686)にあります:

 cd $ HOME / rpm / RPMS / x86_64 

コマンド

 ls -l <​​/ pre> 

利用可能なrpmパッケージを表示します:

[[email protected] x86_64] $ ls -l <​​br /> total 1108
-rw-rw-r-- 1 falko falko 331736 Jul 12 15:17 courier-imap-4.9.3-1.x86_64 .rpm
-rw-rw-r-- 1 falko falko 800664 Jul 12 15:17 courier-imap-debuginfo-4.9.3-1.x86_64.rpm
[[email protected] x86_64] $

次のようにcourier-imapをインストールできます:

 sudo rpm -ivh courier-imap-4.9.3-1.x86_64.rpm 

次に、ダウンロードディレクトリに戻ります:

 cd $ HOME / downloads 

そして、rpmbuildを再度実行して、今度はメールドロップパッケージをビルドします。

 sudo rpmbuild -ta maildrop-2.5.5.tar.bz2 

ビルドプロセスの後、rpmパッケージは/ root / rpmbuild / RPMS / x86_64(i686システムを使用している場合は/ root / rpmbuild / RPMS / i686)にあります。コマンド

 sudo ls -l / root / rpmbuild / RPMS / x86_64 

利用可能なrpmパッケージを表示します:

[[email protected] downloads] $ sudo ls -l / root / rpmbuild / RPMS / x86_64
total 1708
-rw-r--r-- 1 root root 125316 Jul 12 15:08 courier -authlib-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 263720 Jul 1215:08courier-authlib-debuginfo-0.64.0-1.el6。 x86_64.rpm
-rw-r--r-- 1 root root 37804 Jul 12 15:08 courier-authlib-devel-0.64.0-1.el6.x86_64.rpm
-rw-r --r-- 1 root root 17264 Jul 12 15:08 courier-authlib-ldap-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13864 Jul 12 15:08 courier-authlib-mysql-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 13008 Jul 1215:08courier-authlib-pgsql-0.64。 0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 8244 Jul 12 15:08 courier-authlib-pipe-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 34648 Jul 12 15:08 courier-authlib-userdb-0.64.0-1.el6.x86_64.rpm
-rw-r--r-- 1 root root 286476 Jul 12 15:25 maildrop-2.5.5-1.x86_64.rpm
-rw-r--r-- 1 root root 751216 Jul 12 15:25 maildrop-debuginfo-2.5.5- 1.x86_64.r pm
-rw-r--r-- 1 root root 102096 July 12 15:25 maildrop-devel-2.5.5-1.x86_64.rpm
-rw-r--r-- 1 root root 65928 Jul 12 15:25 maildrop-man-2.5.5-1.x86_64.rpm
[[email protected] downloads] $

これで、次のようにメールドロップをインストールできます:

 sudo rpm -ivh /root/rpmbuild/RPMS/x86_64/maildrop-2.5.5-1.x86_64.rpm 

必要なすべてのパッケージをコンパイルしてインストールしたら、「

」と入力して再びrootになることができます。
終了

次に、Courier-IMAP/-POP3を次のように起動します。

 /etc/init.d/courier-imap start 

12Postfixをインストール

Postfixは次のようにインストールできます:

 yum install postfix 

次に、Sendmailをオフにして、Postfixを開始します:

chkconfig --levels 235 sendmail off
chkconfig --levels 235 postfix on
/etc/init.d/sendmail stop
/etc/init.d/postfix restart

13Getmailをインストールする

Getmailは次のようにインストールできます:

 yum install getmail 

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.amavisdを開始します:

sa-update
chkconfig --levels 235 amavisd on
chkconfig --del clamd
chkconfig --levels 235 clamd.amavisd on
/ usr / bin / freshclam
/etc/init.d/amavisd start
/etc/init.d/clamd.amavisd start

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)-5ページ

15 Nginx、PHP5(PHP-FPM)、およびFcgiwrapをインストールします

Nginxは、CentOS 6.3(EPELから)のパッケージとして提供されており、次のようにインストールできます。

 yum install nginx 

Apache2がすでにシステムにインストールされている場合は、今すぐ停止してください...

 /etc/init.d/httpd stop 

...そしてApacheのシステムスタートアップリンクを削除します:

 chkconfig --del httpd 

次に、nginxのシステム起動リンクを作成して起動します:

chkconfig --levels 235 nginx on
/etc/init.d/nginx start

(Apache2とnginxの両方がインストールされている場合、ISPConfig 3インストーラーはどちらを使用するかを尋ねます。この場合はnginxと答えます。両方の両方がインストールされている場合、ISPConfigは必要な構成を自動的に行います。)

>

PHP5をPHP-FPMを介してnginxで動作させることができます(PHP-FPM(FastCGI Process Manager)は、あらゆるサイズのサイト、特に忙しいサイトに役立ついくつかの追加機能を備えた代替のPHP FastCGI実装です)。次のように、phpスクリプトからMySQLを使用する場合に必要なphp-cliおよびphp-mysqlなどのいくつかのPHP5モジュールと一緒にphp-fpmをインストールできます。

 yum install php-fpm php-cli php-mysql php-gd php-imap php-ldap php-odbc php-pear php-xml php-xmlrpc php-pecl-apc php-magickwand php-magpierss php-mbstring php -mcrypt php-mssql php-shout php-snmp php-soap php-tidy 

次に、/ etc/php.iniを開きます...

 vi /etc/php.ini 

...エラーレポートを変更します(通知が表示されなくなるようにします):

 [...]; error_reporting =E_ALL&〜E_DEPRECATEDerror_reporting =E_ALL&〜E_NOTICE [...] 

また、cgi.fix_pathinfo =0を設定します:

 vi /etc/php.ini 
 [...]; cgi.fix_pathinfoは、CGIの*実際の* PATH_INFO/PATH_TRANSLATEDサポートを提供します。 PHPの;以前の動作は、PATH_TRANSLATEDをSCRIPT_FILENAMEに設定し、grokしないことでした。 PATH_INFOとは何ですか。 PATH_INFOの詳細については、cgiの仕様を参照してください。設定;これを1にすると、PHPCGIはそのパスを仕様に準拠するように修正します。設定;ゼロの場合、PHPは以前と同じように動作します。デフォルトは1です。スクリプトを修正する必要があります。 PATH_TRANSLATEDではなくSCRIPT_FILENAMEを使用します。; http://www.php.net/manual/en/ini.core.php#ini.cgi.fix-pathinfocgi.fix_pathinfo=0 [...] 

(http://wiki.nginx.org/Pitfallsを読んで、これを行う必要がある理由を確認してください。)

それに加えて、

のようなエラーを回避するために
 [08-Aug-2011 18:07:08] PHP警告:phpinfo():システムのタイムゾーン設定に依存することは安全ではありません。 date.timezone設定またはdate_default_timezone_set()関数を使用する必要があります。これらの方法のいずれかを使用してもこの警告が表示される場合は、タイムゾーン識別子のスペルを間違えている可能性があります。 2行目の/usr/share/nginx/html/info.phpで、代わりに「CEST / 2.0/DST」に「Europe/Berlin」を選択しました

... /var/log/php-fpm/www-error.logで、ブラウザでPHPスクリプトを呼び出す場合は、/ etc/php.iniでdate.timezoneを設定する必要があります。

 [...] [Date];日付関数で使用されるデフォルトのタイムゾーンを定義します。 http://www.php.net/manual/en/datetime.configuration.php#ini.date.timezonedate.timezone ="Europe / Berlin" [...] 

次のコマンドを実行すると、システムの正しいタイムゾーンを見つけることができます:

 cat / etc / sysconfig / clock 

[[email protected] tmp]#cat / etc / sysconfig / clock
ZONE ="Europe / Berlin"
[[email protected] tmp]#

次に、php-fpmのシステム起動リンクを作成して起動します:

chkconfig --levels 235 php-fpm on
/etc/init.d/php-fpm start

PHP-FPMは、ポート9000でFastCGIサーバーを実行するデーモンプロセス(initスクリプト/etc/init.d/php-fpmを使用)です。

nginxでCGIをサポートするには、Fcgiwrapをインストールします。

Fcgiwrapは、複雑なCGIスクリプトでも機能するCGIラッパーであり、各vhostが独自のcgi-binディレクトリを使用できるため、共有ホスティング環境で使用できます。

CentOS 6.3にはfcgiwrapパッケージがないため、自分でビルドする必要があります。まず、いくつかの前提条件をインストールします:

 yum install fcgi-devel 

これで、次のようにfcgiwrapを作成できます。

cd /usr/local/src/
git clone git://github.com/gnosek/fcgiwrap.git
cd fcgiwrap
autoreconf -i
./configure
make
make install

これにより、fcgiwrapが/ usr / local / sbin/fcgiwrapにインストールされます。

次に、fcgiwrapをデーモンとして実行できるようにするspawn-fcgiパッケージをインストールします。

 yum install spawn-fcgi 

/ etc / sysconfig / spawn-fcgi ...

を開きます
 vi / etc / sysconfig / spawn-fcgi 

...そして次のようにファイルを変更します:

#「spawn-fcgi」サービスが機能する前に、いくつかの機能オプションを設定する必要があります。#SOCKETがファイルを指している場合、このファイルはクリーンアップされます。 initスクリプトでアップします。##可能なすべてのオプションについてはspawn-fcgi(1)を参照してください。##例:#SOCKET =/ var / run / php-fcgi.sock#OPTIONS ="-u apache -g apache -s $ SOCKET -S -M 0600 -C 32 -F 1 -P /var/run/spawn-fcgi.pid-/usr/bin/php-cgi"FCGI_SOCKET=/var/run/fcgiwrap.socketFCGI_PROGRAM=/usr/local /sbin/fcgiwrapFCGI_USER=apacheFCGI_GROUP=apacheFCGI_EXTRA_OPTIONS="-M 0770 "OPTIONS ="-u $ FCGI_USER -g $ FCGI_GROUP -s $ FCGI_SOCKET -S $ FCGI_EXTRA_OPTIONS -F 1 -P /var/run/spawn-fcgi.pid- $ FCGI_PROGRAM "

次に、ユーザーnginxをグループapacheに追加します:

 usermod -a -G apache nginx 

spawn-fcgiのシステム起動リンクを作成します...

 chkconfig --levels 235 spawn-fcgi on 

...そして次のように開始します:

 /etc/init.d/spawn-fcgi start 

これで、ユーザーとグループapacheが所有するfcgiwrapソケットが/var/run/fcgiwrap.socketにあるはずです(Mailmanなどの一部のスクリプトはユーザー/グループapacheによって実行されることを期待しているため、spawnを実行しません-fcgiをユーザー/グループnginxとして使用しますが、代わりにnginxをapacheグループに追加します)。

16phpMyAdminをインストール

次に、phpMyAdminをインストールします:

 yum install phpmyadmin 

次に、phpMyAdminの認証をcookieからhttp:

に変更します。
 vi /usr/share/phpmyadmin/config.inc.php 
 [...]/*認証タイプ*/$ cfg ['Servers'] [$ i] ['auth_type'] ='http'; [...] 

これで、phpMyAdminは/ usr / share /phpmyadmin/ディレクトリにあります。

ISPConfig 3をインストールした後、次のようにphpMyAdminにアクセスできます。

nginxのポート8081のISPConfigアプリvhostにはphpMyAdmin構成が付属しているため、http://server1.example.com:8081/phpmyadminまたはhttp://server1.example.com:8081/phpMyAdminを使用してphpMyAdminにアクセスできます。

Webサイトから使用できる/phpmyadminまたは/phpMyAdminエイリアスを使用する場合、nginxにはグローバルエイリアス(つまり、すべてのvhostに定義できるエイリアス)がないため、これはApacheよりも少し複雑です。したがって、それぞれに対してこれらのエイリアスを定義する必要があります phpMyAdminにアクセスするvhost。

これを行うには、ISPConfigのWebサイトの[オプション]タブにある[nginxディレクティブ]フィールドに以下を貼り付けます。

 location / phpmyadmin {root / usr / share /; index index.php index.html index.htm;場所〜^ / phpmyadmin /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / phpmyadmin /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / phpMyAdmin {rewrite ^ / * / phpmyadmin last; } 

http sを使用する場合 vhostのhttpの代わりに、fastcgi_paramHTTPSという行を追加する必要があります。このようにphpMyAdmin構成に:

 location / phpmyadmin {root / usr / share /; index index.php index.html index.htm;場所〜^ / phpmyadmin /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_paramHTTPSオン; #<-この行を追加fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / phpmyadmin /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / phpMyAdmin {rewrite ^ / * / phpmyadmin last; } 

vhostにhttpとhttpsの両方を使用する場合は、訪問者がhttpまたはhttpsのどちらを使用して設定するかを決定する、/ etc / nginx /nginx.confのhttp{}セクションに次のセクションを追加する必要があります(インクルード行の前)。それに応じて、$ fastcgi_https変数(phpMyAdmin構成で使用します):

 vi /etc/nginx/nginx.conf 
 [...] http {[...]##HTTPSが使用されていることを検出するmap$schema $fastcgi_https{デフォルトオフ; https on; } [...]} [...] 

後でnginxをリロードすることを忘れないでください:

/etc/init.d/nginxリロード

次に、nginx Directivesフィールドに再度移動し、fastcgi_paramHTTPSの代わりに;行fastcgi_paramHTTPS$fastcgi_httpsを追加します。 httpリクエストとhttpsリクエストの両方にphpMyAdminを使用できるようにします。

 location / phpmyadmin {root / usr / share /; index index.php index.html index.htm;場所〜^ / phpmyadmin /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $ fastcgi_https; #<-この行を追加fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / phpmyadmin /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / phpMyAdmin {rewrite ^ / * / phpmyadmin last; } 

17Mailmanのインストール

バージョン3.0.4以降、ISPConfigではMailmanメーリングリストを管理(作成/変更/削除)することもできます。この機能を利用する場合は、次のようにMailmanをインストールします。

 yum install mailman 

Mailmanを開始する前に、mailmanという最初のメーリングリストを作成する必要があります。

 / usr / lib / mailman / bin / newlist mailman 

[[email protected] tmp]#/ usr / lib / mailman / bin / newlist mailman
リストを実行している人のメールアドレスを入力します:<-admin email address、e.g. [email protected]
最初のメールマンパスワード:<-メールマンリストの管理者パスワード
メールリストの作成を完了するには、/ etc / aliases(または
同等の)ファイルを編集する必要があります次の行を追加し、場合によっては
`newaliases'プログラムを実行します。

## mailman mailing list
mailman:" | / usr / lib / mailman / mail / mailman post mailman "
mailman-admin:" | / usr / lib / mailman / mail / mailman admin mailman "
mailman-bounces:" | / usr / lib / mailman / mail / mailman bounces mailman "
mailman-confirm: "| / usr / lib / mailman / mail / mailman confirm mailman"
mailman-join: "| / usr / lib / mailman / mail / mailman join mailman"
mailman -leave: "| / usr / lib / mailman / mail / mailman Leave mailman"
mailman-owner: "| / usr / lib / mailman / mail / mailman owner mailman"
mailman-request: " | / usr / lib / mailman / mail / mailman request mailman "
mailman-subscribe:" | / usr / lib / mailman / mail / mailman subscribe mailman "
mailma n-unsubscribe: "| / usr / lib / mailman / mail / mailman unsubscribe mailman"

Enterキーを押して、メールマンの所有者に通知します... <-ENTER

[example @ unixlinux.online tmp]#

後で/etc/aliasesを開きます...

 vi / etc / aliases 

...そして次の行を追加します:

 [...] mailman: "| / usr / lib / mailman / mail / mailman post mailman" mailman-admin: "| / usr / lib / mailman / mail / mailman admin mailman "mailman-bounces:" | / usr / lib / mailman / mail / mailman bounces mailman "mailman-confirm:" | / usr / lib / mailman / mail/mailman確認mailman"mailman- join: "| / usr / lib / mailman / mail / mailman join mailman" mailman-leave: "| / usr / lib / mailman / mail / mailman Leave mailman" mailman-owner: "| / usr / lib / mailman / mail / mailman owner mailman "mailman-request:" | / usr / lib / mailman / mail / mailman request mailman "mailman-subscribe:" | / usr / lib / mailman / mail / mailman subscribe mailman "mailman-unsubscribe:" | / usr / lib / mailman / mail / mailman unsubscribe mailman "

実行

 newaliases 

その後、Postfixを再起動します:

 /etc/init.d/postfix restart 

Mailmanのシステム起動リンクを作成して起動します:

chkconfig --levels 235 mailman on
/etc/init.d/mailman start

次に、MailmanをISPConfigで機能させるために、このシンボリックリンクを作成する必要があります。

cd / usr / lib / mailman / cgi-bin /
ln -s ./ mailman

ISPConfigを介して作成されたWebサイトからMailmanを使用する場合、nginxにはグローバルエイリアス(つまり、すべてのvhostに対して定義できるエイリアス)がないため、これはApacheよりも少し複雑です。したがって、それぞれに対してこれらのエイリアスを定義する必要があります Mailmanにアクセスするvhost。

これを行うには、ISPConfigのWebサイトの[オプション]タブにある[nginxディレクティブ]フィールドに以下を貼り付けます。

場所/cgi-bin/mailman{エイリアス/usr/ lib / mailman / cgi-bin; fastcgi_split_path_info(^ / cgi-bin / mailman / [^ /] *)(。*)$; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param SCRIPT_FILENAME / usr / lib / mailman $ fastcgi_script_name; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param PATH_TRANSLATED / usr / lib / mailman $ fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; }場所/images/mailman{エイリアス/usr/ lib / mailman / icons; }場所/pipermail{エイリアス/var/ lib / mailman / archives / public;自動インデックスオン; } 

これにより、vhostのエイリアス/ cgi-bin / mailman /が定義されます。つまり、http:// / cgi-bin / mailman / admin / にあるリストのMailman管理インターフェースにアクセスでき、メーリングリストのユーザー向けのWebページは、http:// / cgi-bin / mailman / listinfo/にあります。

http:// / pipermailの下に、メーリングリストのアーカイブがあります。

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)-6ページ

18PureFTPdをインストールします

PureFTPdは、次のコマンドでインストールできます。

 yum install pure-ftpd 

次に、システム起動リンクを作成し、PureFTPdを起動します。

chkconfig --levels 235 pure-ftpd on
/etc/init.d/pure-ftpd start

次に、FTPおよびTLSセッションを許可するようにPureFTPdを構成します。 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)互換性のあるクライアントのみがログインする。TLS1[.. 。]

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」)。
州名または州名(フルネーム)[]:<-州名または州名を入力します。
地域名(例:都市)[デフォルトの都市]:<-都市を入力します。
組織名(例:会社)[デフォルトの会社株式会社]:<-組織名を入力します(例: 、会社名)。
組織単位名(例:セクション)[]:<-組織単位名(例:「IT部門」)を入力します。
一般名(例:名前またはサーバーのホスト名)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。
メールアドレス[]:<-メールアドレスを入力します。

SSL証明書のアクセス許可を変更します:

 chmod 600 /etc/ssl/private/pure-ftpd.pem 

最後にPureFTPdを再起動します:

/etc/init.d/pure-ftpd再起動

それでおしまい。これで、FTPクライアントを使用して接続を試みることができます。ただし、TLSを使用するようにFTPクライアントを構成する必要があります。

19BINDをインストール

BINDは次のようにインストールできます:

 yum install bind bind-utils 

次に/etc/ sysconfig / named ...

を開きます
 vi / etc / sysconfig / named 

...そして、ROOTDIR =/ var / named / chroot行がコメントアウトされていることを確認してください:

#BIND名前付きプロセスオプション#~~~~~~~~~~~~~~~~~~~~~~~~~ 〜#現在、次のオプションを使用できます。## 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##「$ AddUnixListenSocket / var / named / chroot / dev / log」#行を追加することを忘れないでください/etc/rsyslog.confファイル。そうしないと、rsyslogdデーモンが再起動されたときにログが壊れます(更新など)。## OPTIONS ="whatever"-これらの追加オプションは、起動時にnamed#に渡されます。ここに-tを追加せず、代わりにROOTDIRを使用します。## KEYTAB_FILE ="/ dir / file"-名前付きサービスkeytabファイルを指定します(GSS-TSIGの場合)## DISABLE_ZONE_CHECKING-デフォルトでは、initscriptはnamed-checkzone#ユーティリティを呼び出します名前付きの開始前にすべてのゾーンが#有効であることを確認するために、すべてのゾーンに対して。このオプション#を「yes」に設定すると、initscriptはそれらの#チェックを実行しません。

既存の/etc/named.confファイルのバックアップを作成し、次のように新しいファイルを作成します。

cp /etc/named.conf /etc/named.conf_bak
cat / dev / null> /etc/named.conf
vi /etc/named.conf

 //// named.conf //// ISC BIND named(8)DNS//サーバーを次のように構成するためにRedHatバインドパッケージによって提供されますキャッシングのみのネームサーバー(ローカルホストDNSリゾルバーとしてのみ)////名前付き構成ファイルなどの/ usr / share / doc / bind * /sample/を参照してください。//options{listen-onport 53 {any; }; listen-on-v6ポート53{any; };ディレクトリ"/var / named";ダンプファイル"/var/named/data/cache_dump.db";統計ファイル"/var/named/data/named_stats.txt"; memstatistics-ファイル"/var/named/data/named_mem_stats.txt"; allow-query {any; };再帰なし; allow-recursion{なし; };}; logging {channel default_debug {file "data / named.run";重大度動的; };};ゾーン "。" IN{タイプヒント; file "named.ca";}; include "/etc/named.conf.local"; 

/etc/named.confの最後に含まれるファイル/etc/named.conf.localを作成します(ISPConfigでDNSゾーンを作成すると、後でISPConfigによって/etc/named.conf.localにデータが入力されます):

 touch /etc/named.conf.local 

次に、スタートアップリンクを作成し、BINDを開始します:

chkconfig --levels 235 named on
/etc/init.d/named start

20WebalizerとAWStatsをインストールする

WebalizerとAWStatsは次のようにインストールできます:

 yum install webalizer awstats perl-DateTime-Format-HTTP perl-DateTime-Format-Builder 

21Jailkitのインストール

Jailkitは、SSHユーザーをchrootする場合にのみ必要です。次のようにインストールできます(重要:JailkitはISPConfigの前にインストールする必要があります-後でインストールすることはできません!):

cd / tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.15.tar.gz
tar xvfz jailkit-2.15.tar.gz
cd jailkit-2.15
./configure
make
make install
cd ..
rm -rf jailkit-2.15 *

22fail2banをインストール

これはオプションですが、ISPConfigモニターがログを表示しようとするため、推奨されます:

 yum install fail2ban 

ログファイル/var/log/fail2ban.logにログを記録するようにfail2banを設定する必要があります。これは、ISPConfigMonitorモジュールによって監視されるログファイルであるためです。 /etc/fail2ban/fail2ban.confを開きます...

 vi /etc/fail2ban/fail2ban.conf 

...そしてlogtarget=SYSLOG行をコメントアウトし、logtarget =/var/log/fail2ban.log:

を追加します。
 [...]#オプション:logtarget#注:ログターゲットを設定します。これは、ファイル、SYSLOG、STDERR、またはSTDOUTのいずれかです。#指定できるログターゲットは1つだけです。#値:STDOUT STDERR SYSLOGファイルデフォルト:/var/log/fail2ban.log##logtarget =SYSLOGlogtarget =/ var / log / fail2ban .log [...] 

次に、fail2banのシステム起動リンクを作成して開始します。

chkconfig --levels 235 fail2ban on
/etc/init.d/fail2ban start

23rkhunterをインストールする

rkhunterは次のようにインストールできます:

 yum install rkhunter 

完璧なサーバー-CentOS6.3x86_64(nginx、Courier、ISPConfig 3)-7ページ

24SquirrelMailをインストール

SquirrelMailウェブメールクライアントをインストールするには、次を実行します...

 yum install squirrelmail 

次に、SquirrelMailを設定します:

 /usr/share/squirrelmail/config/conf.pl 

Courier-IMAP / -POP3を使用していることをSquirrelMailに通知する必要があります:

SquirrelMail Configuration:Read:config.php(1.4.0)
--------------------------------- ------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオフにします
Sデータを保存します
Q終了します

コマンド>><-D


SquirrelMailの構成:読み取り:config.php
--------------------------- ------------------------------
SquirrelMailを構築している間に、いくつかの
設定を発見しましたこれは、他のサーバーではうまく機能しない一部のサーバーでうまく機能します。
IMAPサーバーを選択した場合、このオプションにより、そのサーバーに事前定義された設定が
設定されます。

引き続き、すべてを確認する必要があることに注意してください。
正しい。これによってすべてが変わるわけではありません。
これが変更される設定はごくわずかです。

IMAPサーバーを選択してください:
bincimap =BincIMAPサーバー
courier=クーリエIMAPサーバー
cyrus =Cyrus IMAP server
dovecot =Dovecot Secure IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
/ 32
uw=ワシントン大学のIMAPサーバー
gmail=Googleメール(Gmail)アカウントへのIMAPアクセス

変更しない
変更しない
-courier


SquirrelMail Configuration:Read:config.php
----------------------- ----------------------------------
SquirrelMailを構築している間に、いくつかを発見しました
一部のサーバーではうまく機能し、他のサーバーではうまく機能しない
設定。 IMAPサーバーを選択した場合、このオプションにより、そのサーバーに事前定義された設定が
設定されます。

引き続き、すべてを確認する必要があることに注意してください。
正しい。これによってすべてが変わるわけではありません。
これが変更される設定はごくわずかです。

IMAPサーバーを選択してください:
bincimap =BincIMAPサーバー
courier=クーリエIMAPサーバー
cyrus =Cyrus IMAP server
dovecot =Dovecot Secure IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
/ 32
uw=ワシントン大学のIMAPサーバー
gmail=Googleメール(Gmail)アカウントへのIMAPアクセス



              imap_server_type = courier
         default_folder_prefix = INBOX.
                  trash_folder = Trash
                   sent_folder = Sent
                  draft_folder = Drafts
            show_prefix_option = false
default_sub_of_inbox =false
show_contain_subfolders_option =false
optional_delimiter=。
delete_folder=true

Enterキーを押して続行します...<-Enterキーを押します


Squirrel Mail読む:config.php(1.4.0)
------------------------------------ ---------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオフにします
Sデータを保存します
Q終了します

コマンド>><-S


SquirrelMailの構成:読み取り:config.php(1.4.0)
---------------------- -----------------------------------
メインメニュー-
1。組織の設定
2。サーバー設定
3。フォルダのデフォルト
4。一般的なオプション
5。テーマ
6。アドレス帳
7。今日のメッセージ(MOTD)
8。プラグイン
9。データベース
10。言語

D.特定のIMAPサーバー用に事前定義された設定を設定します

C色をオフにします
Sデータを保存します
Q終了します

コマンド>><-Q

最後に行う必要があるのは、ファイル/etc/squirrelmail/config_local.phpを変更し、$ default_folder_prefix変数をコメントアウトすることです。これを行わないと、ログイン後にSquirrelMailに次のエラーメッセージが表示されます。 :クエリ:CREATE "Sent"理由指定:メールボックス名が無効です。

 vi /etc/squirrelmail/config_local.php 
 <?php /***ローカル構成のオーバーライド。 **ここでconfig.php設定を上書きできます。 *自分が何をしているのかわからない限り、それをしないでください。 *標準のPHP構文を使用します。例についてはconfig.phpを参照してください。 * * @copyright&copy; 2002-2006SquirrelMailプロジェクトチーム*@licensehttp://opensource.org/licenses/gpl-license.php GNU Public License * @version $ Id:config_local.php、v 1.2 2006/07/11 03:33:47 wtogami Exp $ * @package squirrelmail * @subpackage config * /// $ default_folder_prefix ='';?> 

これで、SquirrelMailは/ usr / share /squirrelmail/ディレクトリにあります。

ISPConfig 3をインストールした後、次のようにSquirrelMailにアクセスできます。

nginxのポート8081のISPConfigアプリvhostにはSquirrelMail構成が付属しているため、http://server1.example.com:8081/squirrelmailまたはhttp://server1.example.com:8081/webmailを使用してSquirrelMailにアクセスできます。

Webサイトから使用できる/webmailまたは/squirrelmailエイリアスを使用する場合、nginxにはグローバルエイリアス(つまり、すべてのvhostに定義できるエイリアス)がないため、これはApacheよりも少し複雑です。したがって、それぞれに対してこれらのエイリアスを定義する必要があります SquirrelMailにアクセスするvhost。

これを行うには、ISPConfigのWebサイトの[オプション]タブにある[nginxディレクティブ]フィールドに以下を貼り付けます。

 location / squirrelmail {root / usr / share /; index index.php index.html index.htm;場所〜^ / squirrelmail /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / squirrelmail /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / webmail {rewrite ^ / * / squirrelmail last; } 

http sを使用する場合 vhostのhttpの代わりに、fastcgi_paramHTTPSという行を追加する必要があります。次のようにSquirrelMail構成に追加します:

 location / squirrelmail {root / usr / share /; index index.php index.html index.htm;場所〜^ / squirrelmail /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_paramHTTPSオン; #<-この行を追加fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / squirrelmail /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / webmail {rewrite ^ / * / squirrelmail last; } 

vhostにhttpとhttpsの両方を使用する場合は、訪問者がhttpまたはhttpsのどちらを使用して設定するかを決定する、/ etc / nginx /nginx.confのhttp{}セクションに次のセクションを追加する必要があります(インクルード行の前)。それに応じて$fastcgi_https変数(SquirrelMail構成で使用します)(たとえば、phpMyAdminを構成した場合など、以前にこのセクションを追加したことがある場合は、これを行う必要がないことに注意してください-第16章を参照):

>
 vi /etc/nginx/nginx.conf 
 [...] http {[...]##HTTPSが使用されていることを検出するmap$schema $fastcgi_https{デフォルトオフ; https on; } [...]} [...] 

後でnginxをリロードすることを忘れないでください:

/etc/init.d/nginxリロード

次に、nginx Directivesフィールドに再度移動し、fastcgi_paramHTTPSの代わりに;行fastcgi_paramHTTPS$fastcgi_httpsを追加します。 httpとhttpsの両方のリクエストにSquirrelMailを使用できるようにするため:

 location / squirrelmail {root / usr / share /; index index.php index.html index.htm;場所〜^ / squirrelmail /(。+ \。php)$ {try_files $ uri =404;ルート/usr/ share /; fastcgi_pass 127.0.0.1:9000; fastcgi_param HTTPS $ fastcgi_https; #<-この行を追加fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $ request_filename; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param PATH_INFO $ fastcgi_script_name; fastcgi_buffer_size 128k; fastcgi_buffers 256 4k; fastcgi_busy_buffers_size 256k; fastcgi_temp_file_write_size 256k; fastcgi_intercept_errors on; }場所〜* ^ / squirrelmail /(。+ \。(jpg | jpeg | gif | css | png | js | ico | html | xml | txt))$ {root / usr / share /; }} location / webmail {rewrite ^ / * / squirrelmail last; } 

25ISPConfig3をインストール

ISPConfigのインストールを開始する前に、Apacheが停止していることを確認してください(インストールされている場合、インストールされているパッケージの一部が、知らないうちに依存関係としてApacheをインストールしている可能性があります)。 Apache2がすでにシステムにインストールされている場合は、今すぐ停止してください...

 /etc/init.d/httpd stop 

...そしてApacheのシステムスタートアップリンクを削除します:

 chkconfig --del httpd 

nginxが実行されていることを確認してください:

 /etc/init.d/nginx restart 

(Apacheとnginxの両方がインストールされている場合、インストーラーはどちらを使用するかを尋ねます:Apacheとnginxが検出されました。ISPConfigに使用するサーバーを選択してください:(apache、nginx)[apache]:

nginxと入力します。 Apacheまたはnginxのみがインストールされている場合、これはインストーラーによって自動的に検出され、質問はありません。)

現在のISPConfig3バージョンをダウンロードしてインストールします。 ISPConfigインストーラーは、Postfix、Courierなどのすべてのサービスを構成します。 ISPConfig2に必要な手動セットアップはもう必要ありません。

また、インストーラーがISPConfigコントロールパネルのSSL vhostを作成できるようにして、http://ではなくhttps://を使用してISPConfigにアクセスできるようにすることもできます。これを実現するには、次の質問が表示されたらEnterキーを押します。ISPConfigWebインターフェイス(y、n)[y]への安全な(SSL)接続が必要ですか。

最新のリリースバージョンからISPConfig3をインストールするには、次のようにします。

cd / tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install / install /

次のステップは実行することです

 php -q install.php 

これにより、ISPConfig3インストーラーが起動します。

[[email protected] install]#php -q install.php


----------------------- -------------------------------------------------- -------
_____ ___________ _____ __ _ ____
| _ _ / ___ | ___ \ / __ \ / _(_)/ __ \
| | \`-。| | _ / / | / \ / ___ _ __ | | _ _ __ _ _ / /
| | `-。 \ __ / | | / _ \ | '_ \ | _ | | / _` | | _ |
_ | | _ / \ __ / / | | \ __ / \(_)| | | | | | | (_ | | ___ \ \
\ ___ / \ ____ / \ _ | \ ____ / \ ___ / | _ | | _ | _ | | _ | \ __、| \ ____ /
_ |
| ___ /
------------------------------------- ------------------------------------------


>>初期構成

オペレーティングシステム:Redhatまたは互換性のある、不明なバージョン。

以下は、プライマリ構成に関するいくつかの質問になるため、注意が必要です。
デフォルト値は[括弧]内にあり、で受け入れることができます。
「終了」(引用符なし)をタップして、インストーラーを停止します。


言語を選択します(en、de)[en]:<-ENTER

インストールモード(標準、エキスパート)[標準]:<-ENTER

完全修飾ホスト名(FQDN)サーバーの例:server1.domain.tld [server1.example.com]:<-ENTER

MySQL server hostname [localhost]:<-ENTER

MySQLルートユーザー名[ルート]:<-ENTER

MySQLルートパスワード[]:<- -yourrootsqlpassword

MySQLデータベースを作成して[dbispconfig]:<-ENTER

MySQL文字セット[utf8]:<-ENTER

Apache and nginxが検出されました。 ISPConfigに使用するサーバーを選択します:(apache、nginx)[apache]:<-nginx

2048ビットのRSAプライベートキーを生成します
...+++
。 ........+++
「smtpd.key」に新しいプライベートキーを書き込む
-----
これから、次の情報の入力を求められます
証明書のリクエストに組み込まれます。
入力しようとしているのは、いわゆる識別名またはDNです。
かなりの数のフィールドがありますが、空白のままにすることができます
一部のフィールドでは、デフォルト値が表示されます。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[ XX]:<-ENTER
州名または州名(フルネーム)[]:<-ENTER
地域名(例:市区町村)[デフォルトの市区町村]:<-ENTER
組織名(例:会社)[デフォルトのCompany Ltd]:<-ENTER
組織単位名(例:セクション)[]:<-ENTER
一般的な名前(例:名前またはサーバーの名前) hostname)[]:<-ENTER
メールアドレス[]:<-ENTER
Jailkitの設定
SASLの構成
PAMの構成
Courierの構成
Spamassassinの構成
Amavisdの構成
Getmailの構成
Pureftpdの構成
BINDの構成
nginxの構成
Vloggerの構成
Appsvhostの構成
Bastilleファイアウォールの構成
Fail2banの構成
ISPConfigのインストール
ISPConfigポート[8080]:<-ENTER

ISPConfigウェブインターフェースへの安全な(SSL)接続が必要ですか(y、n)[y]:<-ENTER

RSA秘密鍵、4096ビット長のモジュラスを生成します
.............................................。 ..................................
...........。 .................................................。 ..................
............................。 .................................................。 ..
............................................。 ....................................
.........。 ............ ++
................................。 ............................. ++
e is 65537(0x10001)
証明書のリクエストに組み込まれる情報を入力するように求められます。
入力しようとしているのは、いわゆるaです。識別名またはDN。
かなりの数のフィールドがありますが、空白のままにすることができます
一部のフィールドでは、デフォルト値になります。
「。」と入力すると、フィールドは次のようになります。空白のままにします。
-----
国名(2文字のコード)[XX]:<-ENTER
州名または州名(フルネーム)[]:<- ENTER
Locality Name(eg、city)[Default City]:<-ENTER
Organization Name(eg、company)[Default Company Ltd]:<-ENTER
Organizational Unit Name(例:section)[]:<-ENTER
Common Name(eg、your name or your server's hostname)[]:<-ENTER
Email Address []:<-ENTER

次の「追加」属性を入力して、証明書のリクエストとともに送信してください
チャレンジパスワード[]:<-ENTER
オプションの会社名[]:<-ENTER
RSAkeを書くy
DBServerの設定
ISPConfigcrontabのインストール
root用のcrontabなし
getmail用のcrontabなし
サービスの再開...
mysqldの停止:[]
Starting mysqld:                                           [  OK  ]
Shutting down postfix:                                     [  OK  ]
Starting postfix:                                          [  OK  ]
Stopping saslauthd:                                        [FAILED]
Starting saslauthd:                                        [  OK  ]
Shutting down amavisd: Daemon [1531] terminated by SIGTERM
                                                           [  OK  ]
amavisd stopped
Starting amavisd:                                          [  OK  ]

Stopping clamd.amavisd :[OK]
clamd.amavisdを開始します: nサービス:authdaemond
Courier認証サービスの開始:authdaemond
Courier-IMAPサーバーの停止:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの開始:imap imap-ssl pop3
Courier-IMAPサーバーの停止:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの開始:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの停止:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの開始:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの停止:imap imap-ssl pop3 pop3-ssl
Courier-IMAPサーバーの開始: imap imap-ssl pop3 pop3-ssl
Reloading php-fpm:                                         [  OK  ]
Reloading nginx:                                           [  OK  ]
Stopping pure-ftpd:                                        [  OK  ]
Starting pure-ftpd :[OK]
インストールが完了しました。
/var/spool/mail/root
[[email protected]]に新しいメールがあります

ISPConfigのインストール中に発生する可能性のあるMailmanエラーを修正するには、/ usr / lib / mailman / Mailman / mm_cfg.py ...

を開きます。
 vi /usr/lib/mailman/Mailman/mm_cfg.py 

...そしてDEFAULT_SERVER_LANGUAGE='en'を設定します:

 [...]#------------------------- ------------------------------------#このサーバーのデフォルト言語。DEFAULT_SERVER_LANGUAGE='en' [ ...] 

Mailmanを再起動します:

 /etc/init.d/mailman restart 

その後、http(s)://server1.example.com:8080 /またはhttp(s)://192.168.0.100:8080 /でISPConfig3にアクセスできます(httpまたはhttpsは、インストール時に選択した内容によって異なります)。ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):

これで、システムを使用する準備が整いました。

nginx vhostでIPv6アドレスを使用する場合は、ISPConfigでIPv6 vhostを作成する前に、次の手順を実行してください。

/etc/sysctl.confを開きます...

 vi /etc/sysctl.conf 

...そしてnet.ipv6.bindv6only=1:

という行を追加します
 [...] net.ipv6.bindv6only =1 

実行...

 sysctl -p 

...その後、変更を有効にします。

25.1ISPConfig3マニュアル

ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。

300ページ以上で、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、チュートリアルを提供しますISPConfig 3の最も一般的なタスクについても説明します。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。

25.2Android用ISPConfigモニターアプリ

ISPConfig Monitor Appを使用すると、サーバーのステータスを確認し、すべてのサービスが期待どおりに実行されているかどうかを確認できます。 TCPおよびUDPポートを確認し、サーバーにpingを実行できます。さらに、このアプリを使用して、ISPConfigがインストールされているサーバーに詳細を要求できます(ISPConfigモニターアプリをサポートするインストール済みのISPConfig3の最小バージョンは3.0.3.3です! );これらの詳細には、ISPConfigコントロールパネルのモニターモジュールから知っているすべてのもの(サービス、メールとシステムのログ、メールキュー、CPUとメモリの情報、ディスク使用量、クォータ、OSの詳細、RKHunterログなど)が含まれます。 、ISPConfigはマルチサーバー対応であるため、ISPConfigマスターサーバーから制御されているすべてのサーバーを確認できます。

ダウンロードと使用方法については、http://www.ispconfig.org/ispconfig-3/ispconfig-monitor-app-for-android/にアクセスしてください。

  • CentOS:http://www.centos.org/
  • ISPConfig:http://www.ispconfig.org/

著者について

FalkoTimmeはの所有者です Timme Hosting(超高速nginx Webホスティング)。彼はHowtoForge(2005年以降)の主任メンテナーであり、ISPConfig(2000年以降)のコア開発者の1人です。彼はまた、O'Reillyの本「LinuxSystemAdministration」にも寄稿しています。


Panels
  1. 完璧なサーバー-OpenSUSE12.3x86_64(nginx、Dovecot、ISPConfig 3)

  2. 完璧なサーバー-Fedora15x86_64 [ISPConfig 3]

  3. 完璧なサーバー-CentOS5.6x86_64 [ISPConfig 2]

  1. 完璧なサーバー-Apache2を搭載したCentOS6.1x86_64 [ISPConfig 3]

  2. 完璧なサーバー-OpenSUSE12.1x86_64 with Nginx [ISPConfig 3]

  3. 完璧なサーバー-CentOS5.7x86_64 [ISPConfig 2]

  1. 完璧なサーバー-CentOS5.7x86_64 [ISPConfig 3]

  2. 完璧なサーバー-CentOS6.0x86_64 [ISPConfig 2]

  3. 完璧なサーバー-CentOS6.0x86_64 [ISPConfig 3]