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

完璧なサーバー-DebianWheezy(Apache2、BIND、Dovecot、ISPConfig 3)

完璧なサーバー-DebianWheezy(Apache2、BIND、Dovecot、ISPConfig 3)

このチュートリアルでは、ISPConfig3のインストール用にDebianWheezyサーバー(Apache2、BIND、Dovecotを使用)を準備する方法と、ISPConfig3をインストールする方法を示します。ISPConfig3は、Webを介して次のサービスを構成できるWebホスティングコントロールパネルです。ブラウザ:Apacheまたはnginx Webサーバー、Postfixメールサーバー、CourierまたはDovecot IMAP / POP3サーバー、MySQL、BINDまたはMyDNSネームサーバー、PureFTPd、SpamAssassin、ClamAVなど。このセットアップは、Apache(nginxの代わりに)、BIND(MyDNSの代わりに)、およびDovecot(Courierの代わりに)を対象としています。

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

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

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要件

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

  • Debian WheezyネットワークインストールCD、ここから入手可能:http://cdimage.debian.org/debian-cd/7.0.0/i386/iso-cd/debian-7.0.0-i386-netinst.iso(i386 )またはhttp://cdimage.debian.org/debian-cd/7.0.0/amd64/iso-cd/debian-7.0.0-amd64-netinst.iso(x86_64)
  • 高速インターネット接続。

2予備メモ

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

3ベースシステム

Debian WheezyネットワークインストールCDをシステムに挿入し、そこから起動します。 [インストール]を選択します(これにより、テキストインストーラーが起動します。グラフィカルインストーラーが必要な場合は、[グラフィカルインストール]を選択してください):

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

次に、場所を選択します:

言語と場所の珍しい組み合わせ(私の場合のように、言語として英語、場所としてドイツなど)を選択した場合、インストーラーは、この組み合わせにロケールが定義されていないことを通知する場合があります。この場合、ロケールを手動で選択する必要があります。ここでen_US.UTF-8を選択します:

キーボードレイアウトを選択してください:

インストーラーはインストールCDとハードウェアをチェックし、ネットワークにDHCPサーバーがある場合はDHCPを使用してネットワークを構成します。

ホスト名を入力します。この例では、私のシステムの名前は server1.example.com です。 、だから私は server1と入力します :

ドメイン名を入力します。この例では、これはexample.comです:

その後、rootユーザーにパスワードを与えます:

タイプミスを避けるために、そのパスワードを確認してください:

通常のユーザーアカウントを作成します。たとえば、ユーザー名administratorを持つユーザーAdministrator(Debian Wheezyで予約されている名前であるため、ユーザー名adminは使用しないでください):

完璧なサーバー-DebianWheezy(Apache2、BIND、Dovecot、ISPConfig 3)-ページ2

4 SSHサーバーのインストール(オプション)

システムのインストール中にOpenSSHサーバーをインストールしなかった場合は、今すぐインストールできます。

 apt-get install ssh openssh-server 

今後は、PuTTYなどのSSHクライアントを使用して、ワークステーションからDebian Wheezyサーバーに接続し、このチュートリアルの残りの手順に従うことができます。

5 vim-noxをインストールします(オプション)

このチュートリアルでは、テキストエディタとしてviを使用します。デフォルトのviプログラムは、DebianとUbuntuで奇妙な動作をします。これを修正するには、vim-noxをインストールします:

 apt-get install vim-nox 

(joeやnanoなどの別のテキストエディタを使用する場合は、これを行う必要はありません。)

6ネットワークの構成

Debian WheezyインストーラーはDHCP経由でネットワーク設定を取得するようにシステムを構成しているため、サーバーには静的IPアドレスが必要であるため、ここで変更する必要があります。 / etc / network / interfacesを編集し、必要に応じて調整します(この例では、IPアドレス192.168.0.100を使用します)(allow-hotplugeth0をautoeth0に置き換えることに注意してください。そうしないと、ネットワークを再起動できません。 、システム全体を再起動する必要があります):

 vi / etc / network / interfaces 
#このファイルには、システムで使用可能なネットワークインターフェイス#とそれらをアクティブ化する方法が記載されています。詳細については、interfaces(5)を参照してください。#ループバックネットワークインターフェイスauto loiface lo inet loopback#プライマリネットワークインターフェイス#allow-hotplug eth0#iface eth0 inet dhcpauto eth0ifaceeth0inet静的アドレス192.168.0.100ネットマスク255.255.255.0ネットワーク192.168.0.0ブロードキャスト192.168.0.255ゲートウェイ192.168.0.1

次に、ネットワークを再起動します:

 /etc/init.d/networking restart 

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

 vi / etc / hosts 
 127.0.0.1 localhost.localdomain localhost192.168.0.100 server1.example.com server1#IPv6対応ホストには次の行が望ましいです。:1localhost ip6-localhost ip6 -loopbackff02 ::1 ip6-allnodesff02 ::2 ip6-allrouters 

今すぐ実行

 echo server1.example.com> / etc / hostname 
/etc/init.d/hostname.sh start

その後、実行します

 hostname 
hostname -f

両方がserver1.example.comを今すぐ表示することが重要です!

7Debianインストールを更新する

まず、/ etc / apt / sources.listにwheezy-updatesリポジトリが含まれていることを確認します(これにより、ClamAVウイルススキャナーの最新の更新を常に取得できます。このプロジェクトはリリースを頻繁に公開し、古いバージョンが機能しなくなる場合があります)、また、contribリポジトリとnon-freeリポジトリが有効になっていること(libapache2-mod-fastcgiなどの一部のパッケージはメインリポジトリにありません)。

 vi /etc/apt/sources.list 
 deb http://ftp.de.debian.org/debian/ wheezy main contrib non-freedeb-src http://ftp.de.debian.org/ debian / wheezy main contrib non-freedeb http://security.debian.org/ wheezy / updates main contrib non-freedeb-src http://security.debian.org/ wheezy / updates main contrib non-free#wheezy-updates 、以前は「volatile」として知られていましたdeb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-freedeb-src http://ftp.de.debian.org/debian/ wheezy-updates main無料ではない貢献

実行

 apt-get update 

aptパッケージデータベースを更新するには

 apt-get upgrade 

最新のアップデートをインストールします(ある場合)。

8デフォルトシェルの変更

/ bin/shは/bin/ dashへのシンボリックリンクですが、/ bin/dashではなく/bin/bashが必要です。したがって、これを行います:

 dpkg-reconfigure dash 

デフォルトのシステムシェル(/ bin / sh)としてダッシュを使用しますか? <-いいえ

これを行わないと、ISPConfigのインストールが失敗します。

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

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

 apt-get install ntp ntpdate 

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

10 Postfix、Dovecot、MySQL、phpMyAdmin、rkhunter、binutilsをインストールします

Postfix、Dovecot、MySQL、rkhunter、binutilsを1つのコマンドでインストールできます:

 apt-get install postfix postfix-mysql postfix-doc mysql-client mysql-server openssl getmail4 rkhunter binutils dovecot-imapd dovecot-pop3d dovecot-mysql dovecot-sieve sudo 

次の質問があります:

メール構成の一般的なタイプ:<-インターネットサイト
システムメール名:<-server1.example.com
MySQL「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
繰り返しますMySQLの「root」ユーザーのパスワード:<-yourrootsqlpassword

次に、PostfixでTLS / SSLと送信ポートを開きます:

 vi /etc/postfix/master.cf 

次のように、送信セクションとsmtpsセクションのコメントを解除します(不要なため、-o milter_macro_daemon_name =ORIGINATINGのままにします):

 [...] submit inet n --- --- smtpd -o syslog_name =postfix / subject -o smtpd_tls_security_level =encrypt -o smtpd_sasl_auth_enable =yes -o smtpd_client_restrictions =permit_sasl_authenticated 、reject#-o milter_macro_daemon_name =ORIGINATINGsmtps inet n --- --- smtpd -o syslog_name =postfix / smtps -o smtpd_tls_wrappermode =yes -o smtpd_sasl_auth_enable =yes -o smtpd_client_restrictions =permit -o smtpd_client_restrictions =permit 

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

 /etc/init.d/postfix restart 

MySQLがローカルホストだけでなくすべてのインターフェースでリッスンするようにしたいので、/ etc / mysql / my.cnfを編集して、bind-address =127.0.0.1:

の行をコメントアウトします。
 vi /etc/mysql/my.cnf 
 [...]#スキップネットワーキングの代わりに、デフォルトでは、互換性が高く安全性が低くないローカルホストでのみリッスンするようになりました。#bind-address =127.0.0.1 [...] 

次に、MySQLを再起動します:

 /etc/init.d/mysql restart 

次に、ネットワーキングが有効になっていることを確認します。実行

 netstat -tap | grep mysql 

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

 [email protected]:〜#netstat -tap | grep mysql 
tcp 0 0 *:mysql *:* LISTEN 26757 / mysqld
[email protected]

11 Amavisd-new、SpamAssassin、およびClamavをインストールします

amavisd-new、SpamAssassin、およびClamAVをインストールするには、

を実行します。
 apt-get install amavisd-new spamassassin clamav clamav-daemon zoo unzip bzip2 arj nomarch lzop cabextract apt-listchanges libnet-ldap-perllibauthen-sasl-perlclamav-docsデーモンlibio-string-perllibio-socket-ssl- perl libnet-ident-perl zip libnet-dns-perl 

ISPConfig 3のセットアップでは、SpamAssassinフィルターライブラリを内部的にロードするamavisdを使用するため、SpamAssassinを停止してRAMを解放できます。

 /etc/init.d/spamassassin stop 
update-rc.d -f spamassassin remove

完璧なサーバー-DebianWheezy(Apache2、BIND、Dovecot、ISPConfig 3)-4ページ

12 Apache2、PHP5、phpMyAdmin、FCGI、suExec、Pear、およびmcryptをインストールします

Apache2、PHP5、phpMyAdmin、FCGI、suExec、Pear、およびmcryptは、次のようにインストールできます。

 apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached 

次の質問が表示されます:

自動的に再構成するWebサーバー:<-apache2 
dbconfig-commonを使用してphpmyadminのデータベースを構成しますか? <-いいえ

次に、次のコマンドを実行して、Apacheモジュールのsuexec、rewrite、ssl、actions、およびinclude(さらに、WebDAVを使用する場合はdav、dav_fs、およびauth_digest)を有効にします。

 a2enmod suexecrewritesslアクションには次のものが含まれます
 a2enmod dav_fs dav auth_digest 

次に、/ etc / apache2 / mods-available / suphp.conf ...

を開きます。
 vi /etc/apache2/mods-available/suphp.conf 

...そしてセクションをコメントアウトし、AddType application / x-httpd-suphp .php .php3 .php4.php5.phtmlという行を追加します。それ以外の場合はすべてのPHPファイルSuPHPによって実行されます:

  #SetHandler application / x-httpd-suphp # AddType application / x-httpd-suphp .php .php3 .php4 .php5 .phtml suPHP_AddHandler application / x-httpd-suphp  suPHP_Engine on #デフォルトでは、debianパッケージのsuPHPを無効にしますファイルとしてのWebアプリケーション#はrootが所有し、min_uidのためにsuPHPで実行できません。  suPHP_Engine off  ##特定のphp構成ファイル(php.iniファイルを含むdir)を使用する#suPHP_ConfigPath / etc / php5 / cgi / suphp / ##mod_suphpに処理しないように指示するタイプが。#suPHP_RemoveHandler  
のリクエスト

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

/etc/init.d/apache2再起動

ISPConfigを介して作成されたWebサイトで拡張子.rbのRubyファイルをホストする場合は、/ etc/mime.typesのapplication/x-rubyrb行をコメントアウトする必要があります。

 vi /etc/mime.types 
 [...]#application / x-ruby rb [...] 

(これは.rbファイルにのみ必要です。拡張子が.rbxのRubyファイルはそのまま使用できます。)

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

/etc/init.d/apache2再起動

12.1 Xcache

Xcacheは、PHP中間コードをキャッシュおよび最適化するための無料のオープンPHPオペコードキャッシャーです。これは、eAcceleratorやAPCなどの他のPHPオペコードキャッシャーに似ています。 PHPページを高速化するために、これらのいずれかをインストールすることを強くお勧めします。

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

 apt-get install php5-xcache 

次にApacheを再起動します:

/etc/init.d/apache2再起動

12.2 PHP-FPM

ISPConfig 3.0.5以降、Apacheで使用するために選択できる追加のPHPモードがあります:PHP-FPM。

PHP-FPMをApacheで使用するには、mod_fastcgi Apacheモジュールが必要です(これをmod_fcgidと混同しないでください。これらは非常に似ていますが、PHP-FPMをmod_fcgidで使用することはできません)。 PHP-FPMとmod_fastcgiは次のようにインストールできます:

 apt-get install libapache2-mod-fastcgi php5-fpm 

モジュールを有効にして、Apacheを再起動してください:

a2enmodアクションfastcgiエイリアス
/etc/init.d/apache2restart

12.3追加のPHPバージョン

ISPConfig 3.0.5以降では、FastCGIおよびPHP-FPMを介して実行できる複数のPHPバージョンを1つのサーバー(ISPConfigで選択可能)に配置することができます。追加のPHPバージョン(PHP-FPMおよびFastCGI)を構築する方法、およびISPConfigを構成する方法については、このチュートリアルを確認してください:ISPConfig 3(Debian Wheezy)で複数のPHPバージョン(PHP-FPMおよびFastCGI)を使用する方法。

>

13Mailmanのインストール

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

 apt-get install mailman 

少なくとも1つの言語を選択してください。例:

サポートする言語:<-en(英語)
サイトリストがありません<-OK

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

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

## mailman mailing list
mailman: "| / var / lib / mailman / mail / mailman post mailman "
mailman-admin:" | / var / lib / mailman / mail / mailman admin mailman "
mailman-bounces:" | / var / lib / mailman / mail / mailman bounces mailman "
mailman-confirm: "| / var / lib / mailman / mail / mailman confirm mailman"
mailman-join: "| / var / lib / mailman / mail / mailman join mailman"
mailman -leave: "| / var / lib / mailman / mail / mailman Leave mailman"
mailman-owner: "| / var / lib / mailman / mail / mailman owner mailman"
mailman-request: " | / var / lib / mailman / mail / mailman request mailman "
mailman-subscribe:" | / var / lib / mailman / mail / mailman subscribe mailm an "
mailman-unsubscribe:" | / var / lib / mailman / mail / mailman unsubscribe mailman "

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

[email protected]:〜#

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

 vi / etc / aliases 

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

 [...] ## mailman mailing listmailman: "| / var / lib / mailman / mail / mailman post mailman" mailman-admin: "| / var / lib / mailman / mail / mailman admin mailman "mailman-bounces:" | / var / lib / mailman / mail / mailman bounces mailman "mailman-confirm:" | / var / lib / mailman / mail / mailmanfirm mailman "mailman- join: "| / var / lib / mailman / mail / mailman join mailman" mailman-leave: "| / var / lib / mailman / mail / mailman Leave mailman" mailman-owner: "| / var / lib / mailman / mail / mailman owner mailman "mailman-request:" | / var / lib / mailman / mail / mailman request mailman "mailman-subscribe:" | / var / lib / mailman / mail / mailman subscribe mailman "mailman-unsubscribe:" | / var / lib / mailman / mail / mailman unsubscribe mailman "

実行

 newaliases 

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

 /etc/init.d/postfix restart 

最後に、MailmanApache構成を有効にする必要があります。

 ln -s /etc/mailman/apache.conf /etc/apache2/conf.d/mailman.conf 

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

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

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

/etc/init.d/apache2再起動

次に、Mailmanデーモンを起動します:

 /etc/init.d/mailman start 

14PureFTPdとクォータのインストール

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

 apt-get install pure-ftpd-common pure-ftpd-mysqlquotaquotatool 

ファイル/etc/ default / pure-ftpd-common ...

を編集します
 vi / etc / default / pure-ftpd-common 

...そして、開始モードがスタンドアロンに設定されていることを確認し、VIRTUALCHROOT =trueを設定します:

 [...] STANDALONE_OR_INETD =Standalone [...] VIRTUALCHROOT =true [...] 

次に、FTPおよびTLSセッションを許可するようにPureFTPdを構成します。 FTPは、すべてのパスワードとすべてのデータがクリアテキストで転送されるため、非常に安全でないプロトコルです。 TLSを使用することで、通信全体を暗号化できるため、FTPの安全性が大幅に向上します。

FTPおよびTLSセッションを許可する場合は、

を実行します。
 echo 1> / etc / pure-ftpd / conf / TLS 

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文字のコード)[AU]:<-国名を入力します(例:「DE」)。
州名または州名(フルネーム)[一部の州]:<-州名または州名を入力してください。
地域名(例:市)[]:<-市名を入力してください。
組織名(例:会社)[Internet Widgits Pty Ltd]:<-入力組織名(例:会社名)。
組織単位名(例:セクション)[]:<-組織単位名(例:「IT部門」)を入力します。
一般名(例:あなたの名前)[]:<-システムの完全修飾ドメイン名を入力します(例: "server1.example.com")。
メールアドレス[]:<-メールアドレスを入力します。

SSL証明書の権限を変更します:

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

次に、PureFTPdを再起動します:

 /etc/init.d/pure-ftpd-mysql restart 

/ etc/fstabを編集します。私の場合は次のようになります(マウントポイントのあるパーティションに、usrjquota =quote.user、grpjquota =quote.group、jqfmt =vfsv0を追加しました/):

 vi / etc / fstab 
#/ etc / fstab:静的ファイルシステム情報。##「blkid」を使用して、#デバイスのユニバーサル一意識別子を出力します。これは、ディスクが追加および削除された場合でも機能するデバイスに名前を付けるためのより堅牢な方法として、UUID=とともに使用できます。 fstab(5)を参照してください。## / dev / mapper / server1-root / ext4 errors =remount-ro、usrjquota =quote.user、grpjquota =quote.group、jqfmt =vfsv0 0 1#/ boot was on / dev / sda1インストール中UUID=46d1bd79-d761-4b23-80b8-ad20cb18e049 /bootext2デフォルト02/ dev / mapper / server1-swap_1 none swap sw 0 0 / dev / sr0 / media / cdrom0 udf、iso9660 user、noauto 0 0 
>

クォータを有効にするには、次のコマンドを実行します。

 mount -o remount / 
 quotecheck -avugm 
quotaon-avug

15BINDDNSサーバーのインストール

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

 apt-get install bind9 dnsutils 

16 Vlogger、Webalizer、およびAWstatsをインストールします

Vlogger、webalizer、AWstatsは次のようにインストールできます:

 apt-get install vlogger webalizer awstats geoip-database libclass-dbi-mysql-perl 

その後、/ etc / cron.d/awstatsを開きます...

 vi /etc/cron.d/awstats 

...そしてそのファイルのすべてをコメントアウトします:

#MAILTO =root#* / 10 * * * * www-data [-x /usr/share/awstats/tools/update.sh] &&/ usr / share / awstats / tools / update.sh#静的レポートを生成します:#10 03 * * * www-data [-x /usr/share/awstats/tools/buildstatic.sh] &&/usr/share/awstats/tools/buildstatic .sh 

17Jailkitをインストールする

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

 apt-get install build-essential autoconf automake1.9 libtool flex bison debhelper binutils-gold 
 cd / tmp 
wget http://olivier.sessink.nl/jailkit/jailkit-2.17.tar.gz
tar xvfz jailkit-2.17.tar.gz
cd jailkit- 2.17
./debian/rules binary

これで、次のようにJailkit.debパッケージをインストールできます。

 cd .. 
dpkg -i jailkit_2.17-1_*。deb
rm -rf jailkit-2.17 *

18fail2banをインストール

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

 apt-get install fail2ban 

fail2banでPureFTPdとDovecotを監視するには、ファイル/etc/fail2ban/jail.local:

を作成します。
 vi /etc/fail2ban/jail.local 

 [pureftpd] enabled =trueport =ftpfilter =pureftpdlogpath =/ var / log / syslogmaxretry =3 [dovecot-pop3imap] enabled =truefilter =dovecot-pop3imapaction =iptables-multiport [name =dovecot-pop3imap、port ="pop3、 pop3s、imap、imaps "、protocol =tcp] logpath =/var/log/mail.logmaxretry =5 [sasl] enabled =trueport =smtpfilter =sasllogpath =/var/log/mail.logmaxretry =3 

次に、次の2つのフィルターファイルを作成します。

 vi /etc/fail2ban/filter.d/pureftpd.conf 
 [Definition] failregex=。*pure-ftpd:\(。* @  \)\[WARNING\]ユーザーの認証に失敗しました。*ignoreregex=
 vi /etc/fail2ban/filter.d/dovecot-pop3imap.conf 
 [Definition] failregex =(?:pop3-login | imap-login):。*(?:認証の失敗|ログインの中止\(認証に失敗しました|ログインの中止\(無効にしようとしました|切断されました\(認証に失敗しました|ログインの中止\(\ d +認証の試行)。* rip =(?P  \ S *),. * ignoreregex =

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

/etc/init.d/fail2ban再起動

完璧なサーバー-DebianWheezy(Apache2、BIND、Dovecot、ISPConfig 3)-5ページ

19SquirrelMailをインストールする

SquirrelMailウェブメールクライアントをインストールするには、

を実行します
 apt-get install squirrelmail 

次に、SquirrelMailを設定します:

 squirrelmail-configure 

Dovecot-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=CourierIMAPサーバー
cyrus =CyrusIMAPサーバー
dovecot=DovecotSecureIMAPサーバー
exchange=Microsoft Exchange IMAP server
hmailserver =hMailServer
hmailserver =hMailServer
/ 32
uw=ワシントン大学のIMAPサーバー
gmail=Googleメール(Gmail)アカウントへのIMAPアクセス

-dovecot


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

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

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



              imap_server_type = dovecot
         default_folder_prefix = 
                  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 =detect
delete_folder =false

任意のキーを押して続行します...<-キーを押します
読む: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

次に、/squirrelmailまたは/webmailエイリアスを使用して、(ISPConfigを介して作成された)Webサイト内からSquirrelMailを使用できるように構成します。したがって、Webサイトがwww.example.comの場合、www.example.com/squirrelmailまたはwww.example.com/webmailを使用してSquirrelMailにアクセスできます。

SquirrelMailのApache設定はファイル/etc/squirrelmail/apache.confにありますが、このファイルは/etc/apache2/conf.d/ディレクトリにないため、Apacheによってロードされません。したがって、/ etc / squirrelmail / apache.confを指す/etc/apache2/conf.d/ディレクトリにsquirrelmail.confというシンボリックリンクを作成し、後でApacheをリロードします。

 cd /etc/apache2/conf.d/ 
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
/etc/init.d/apache2リロード
>

/etc/apache2/conf.d/squirrelmail.confを開きます...

 vi /etc/apache2/conf.d/squirrelmail.conf 

...そして、ISPConfigでWebサイトに選択したPHPモードに関係なく、mod_phpがSquirrelMailへのアクセスに使用されることを確認する次の行をコンテナーに追加します。

 [...] オプションFollowSymLinks AddType application / x-httpd-php .php php_flag magic_quotes_gpc Off php_flag track_vars On php_admin_flag allow_url_fopen Offphp_valueinclude_path。 php_admin_value upload_tmp_dir / var / lib / squirrelmail / tmp php_admin_value open_basedir / usr / share / squirrelmail:/ etc / squirrelmail:/ var / lib / squirrelmail:/ etc / hostname:/ etc / mailname php_flag register_globals off   DirectoryIndex index.php  #configtestへのアクセスは、情報漏えいを防ぐためにデフォルトで制限されています
 order deny、allow deny from all permit from 127.0.0.1   [ ...] 

mkdir / var / lib / squirrelmail/tmpディレクトリ/var/ lib / squirrelmail/tmpを作成します...

...そしてそれをユーザーが所有するようにするwww-data:

 chown www-data / var / lib / squirrelmail / tmp 

Apacheを再度リロードします:

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

すでにそれだけです-/etc/apache2/conf.d/squirrelmail.confは、SquirrelMailのインストールディレクトリ/ usr / share/squirrelmailを指す/squirrelmailというエイリアスを定義しています。

これで、次のようにWebサイトからSquirrelMailにアクセスできます。

 http://192.168.0.100/squirrelmail 
http://www.example.com/squirrelmail

次のように、ISPConfigコントロールパネルvhost(ISPConfigをインストールした後、次の章を参照)からアクセスすることもできます(これにはISPConfigでの構成は必要ありません):

 http://server1.example.com:8080/squirrelmail 

/squirrelmailの代わりにエイリアス/webmailを使用する場合は、/ etc / apache2 / conf.d / squirrelmail.conf ...

を開くだけです。
 vi /etc/apache2/conf.d/squirrelmail.conf 

...そして、Alias / webmail / usr / share / squirrelmail:

という行を追加します。

 Alias / squirrelmail / usr / share / squirrelmailAlias / webmail / usr / share / squirrelmail [...] 

次に、Apacheをリロードします:

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

これで、次のようにSquirrelmailにアクセスできます。

http://192.168.0.100/webmail
http://www.example.com/webmail
http://server1.example.com:8080/webmail(ISPConfigをインストールした後、次の章)

  

ユーザーがSquirrelMailにアクセスできるwebmail.example.comのようなvhostを定義する場合は、次のvhost構成を/etc/apache2/conf.d/squirrelmail.confに追加する必要があります。

 vi /etc/apache2/conf.d/squirrelmail.conf 

 [...]  DocumentRoot / usr / share / squirrelmail ServerName webmail.example.com  
>

/etc/init.d/apache2 reloadここで、Apacheをリロードします...もちろん、vhost構成で使用するIPアドレスを指すwebmail.example.comのDNSレコードが必要です。また、vhost webmail.example.comがISPConfigに存在しないことを確認してください(存在しない場合、両方のvhostが相互に干渉します!)。

...そしてhttp://webmail.example.comからSquirrelMailにアクセスできます!

20ISPConfig3をインストール

最新のリリースバージョンから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インストーラーが起動します。インストーラーは、Postfix、Dovecotなどのすべてのサービスを構成します。 ISPConfig 2(完全なセットアップガイド)に必要な手動セットアップは必要ありません。

 [email protected]:/tmp/ispconfig3_install/install# php -q install.php 
PHPの非推奨:「#」で始まるコメントは、/ etc / php5 / cli / conf.d/mingで非推奨になります.ini on line 1 in Unknown on line 0


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


>>初期構成

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

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


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

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

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

MySQLサーバーのホスト名[localhost]:<-ENTER

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

MySQL r oot password []:<-yourrootsqlpassword

作成するMySQLデータベース[dbispconfig]:<-ENTER

MySQL charset [utf8]:<-ENTER

4096ビットのRSA秘密鍵を生成する
.................................。 ........................... ++
................。 .................................................。 .................................................。 .... ++
「smtpd.key」に新しい秘密鍵を書き込む
-----
組み込まれる情報の入力を求められようとしています
証明書のリクエストに入力します。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
かなりの数のフィールドがありますが、一部のフィールドは空白のままにすることができます
一部のフィールドについてはデフォルト値になります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード)[AU]:<- -ENTER
州または州の名前(フルネーム)[Some-State]:<-ENTER
Locality Name(eg、city)[]:<-ENTER 組織名(例:会社)[Internet Widgits Pty Ltd]:<-ENTER
組織単位名(例:セクション)[]:<-ENTER
共通名(例:サーバーFQDNまたはあなたの名前)[]:<-ENTER
メールアドレス[]:<-ENTER
Jailkitの設定
Dovecotの設定
Spamassassinの設定
Amavisdの設定
Getmailの構成
Pureftpdの構成
BINDの構成
Apacheの構成
Vloggerの構成
Appsvhostの構成
Bastilleファイアウォールの構成
Fail2banの構成
ISPConfigのインストール
ISPConfigポート[8080]:<-ENTER

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

RSA秘密鍵を生成し、長さ4096ビットのモジュラス
.......................。 .................................................。 ....................... ++
........ ++
eは65537(0x10001)
証明書のリクエストに組み込まれる情報を入力するように求められます。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
quがありますいくつかのフィールドがありますが、一部を空白のままにすることができます
一部のフィールドでは、デフォルト値が表示されます。
「。」と入力すると、フィールドは空白のままになります。
---- -
国名(2文字コード)[AU]:<-ENTER
州名または州名(氏名)[一部の州]:<-ENTER
地域名(例: 、city)[]:<-ENTER
組織名(例:会社)[Internet Widgits Pty Ltd]:<-ENTER
組織単位名(例:セクション)[]:<- ENTER
一般名(例:サーバーFQDNまたはあなたの名前)[]:<-ENTER
メールアドレス[]:<-ENTER

次の「追加」属性を入力して
送信してください証明書のリクエスト
チャレンジパスワード[]:<-ENTER
オプションの会社名[]:<-ENTER
RSAキーの書き込み
DBServerの設定
インストールISPConfig crontab
rootのcrontabがありません
getmailのcrontabがありません
サービスを再開しています...
MySQLデータベースサーバーの停止:mysqld。
MySQLデータベースサーバーの開始:mysqld ..
アップグレードが必要なテーブル、破損しているテーブル、または完全に閉じられていないテーブルを確認しています。
Postfix Mail Transport Agent:postfixを停止しています。
Postfix Mail Transport Agent:postfixを開始しています。
amavisdの停止:amavisd-new。
amavisdの開始:amavisd-new。
ClamAVデーモンの停止:clamd。
ClamAVデーモンの開始:clamd。
IMAP/POP3メールの再開サーバー:dovecot。
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:443にはありませんVirtualHosts
[Tue May 07 02:36:22 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Tue May 07 02:36:23 2013] [warn] NameVirtualHost *:80にはVirtualHostsがありません
ウェブサーバーを再起動しています:apache2...待機中です。
ftpサーバーを再起動しています:実行中: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -H -O clf:/var/log/pure-ftpd/transfer.log- Y 1 -D -u 1000 -A -E -b -8 UTF-8 -B
インストールが完了しました。
[email protected]:/ tmp / ispconfig3_install / install#

インストーラーは基礎となるすべてのサービスを自動的に構成するため、手動で構成する必要はありません。

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

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

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

20.1ISPConfig3マニュアル

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

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

Android用20.2ISPConfigモニターアプリ

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/にアクセスしてください。

21の追加の注意事項

21.1 OpenVZ

このチュートリアルでセットアップしたばかりのDebianサーバーがOpenVZコンテナー(仮想マシン)である場合は、ホストシステムでこれを行う必要があります(OpenVZコンテナーのIDは101であると想定しています-これをシステムの正しいVPSID):

 VPSID =101 
CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE CHOWN DAC_READ_SEARCH SETGID SETUID NET_BIND_SERVICE NET_ADMIN SYS_CHROOT SYS_NICE
do
vzctl set $ VPSID --save
完了

  • Debian:http://www.debian.org/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. 完璧なサーバー– CentOS 7(Apache2、Dovecot、ISPConfig 3)

  2. 完璧なサーバー-Ubuntu14.10(nginx、BIND、Dovecot、ISPConfig 3)

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

  1. 完璧なサーバー– Apache2、Postfix、Dovecot、Pure-FTPD、BIND、ISPConfig3を搭載したCentOS7.1

  2. 完璧なサーバー-Debian8Jessie(Apache2、BIND、Dovecot、ISPConfig 3)

  3. 完璧なサーバー-Debian8.4Jessie(Apache2、BIND、Dovecot、ISPConfig 3.1)

  1. 完璧なサーバー-Debian8.6(nginx、BIND、Dovecot、ISPConfig 3.1)

  2. 完璧なサーバー-Debian9(Nginx、BIND、Dovecot、ISPConfig 3.1)

  3. 完璧なサーバー-Debian10(Nginx、BIND、Dovecot、ISPConfig 3.2)