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

完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfigを備えたUbuntu 14.10

完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BINDを備えたUbuntu 14.10 、Postfix、Dovecot、ISPConfig

このチュートリアルでは、ISPConfig3をインストールするためにUbuntu14.10(Utopic Unicorn)サーバー(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の代わりに)のインストールを対象としています。

ISPConfig3マニュアル

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

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

1。予備的注意

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。先に進む前に、チュートリアルで説明されているように、Ubuntu14.10の基本的な最小限のインストールが必要です。

2。 /etc/apt/sources.listを編集し、Linuxインストールを更新します

/etc/apt/sources.listを編集します。コメントアウトするか、ファイルからインストールCDを削除し、ユニバースおよびマルチバースリポジトリが有効になっていることを確認します。次のようになります:

 nano /etc/apt/sources.list 
 ## deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_-リリースamd64(20141022.2)] / utopic mainstricted#deb cdrom:[Ubuntu-Server 14.10 _Utopic Unicorn_-リリースamd64(20141022.2)] / utopic mainstricted#参照http://help.ubuntu.com/community/UpgradeNotesを#新しいバージョンのdistribution.debにアップグレードする方法についてhttp://de.archive.ubuntu.com/ubuntu/ utopic mainstricteddeb-src http:// de .archive.ubuntu.com / ubuntu / utopic main Limitated ####ディストリビューションの最終リリース後に作成された主要なバグ修正アップデート.debhttp://de.archive.ubuntu.com/ubuntu/ utopic-updates main requireddeb- src http://de.archive.ubuntu.com/ubuntu/ utopic-updates main required ## N.B.このリポジトリのソフトウェアは、Ubuntu##チームによって完全にサポートされていません。また、ユニバースのソフトウェアは、Ubuntuセキュリティチームから##レビューやアップデートを受け取らないことに注意してください。debhttp://de.archive.ubuntu.com/ubuntu/ utopic universedeb-src http://de.archive。 ubuntu.com/ubuntu/ utopic universedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates universedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates universe ## N.B.このリポジトリのソフトウェアは、Ubuntu ##チームによって完全にサポートされておらず、無料のライセンスが適用されていない可能性があります。 ##ソフトウェアを使用する権利についてご満足ください。また、## multiverseのソフトウェアは、Ubuntu##セキュリティチームからレビューやアップデートを受け取らないことに注意してください。debhttp://de.archive.ubuntu.com/ubuntu/ utopic multiversedeb-src http://de。 archive.ubuntu.com/ubuntu/ utopic multiversedeb http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiversedeb-src http://de.archive.ubuntu.com/ubuntu/ utopic-updates multiverse ## N.B.このリポジトリのソフトウェアは、メインリリースに含まれているものほど広範囲にテストされていない可能性がありますが、##便利な機能を提供する可能性のある一部のアプリケーションの新しいバージョンが含まれています。##また、バックポートのソフトウェアは受信しないことに注意してくださいレビュー##またはUbuntuセキュリティチームからの更新.debhttp://de.archive.ubuntu.com/ubuntu/utopic-backportsメイン制限付きユニバースmultiversedeb-srchttp://de.archive.ubuntu.com/ubuntu/ utopic-backportsメイン制限付きユニバースmultiversedebhttp://security.ubuntu.com/ubuntuutopic-securityメインrestricteddeb-srchttp://security.ubuntu.com/ubuntuutopic-securityメインrestricteddebhttp://security.ubuntu.com / ubuntu utopic-security universedeb-src http://security.ubuntu.com/ubuntu utopic-security universedeb http://security.ubuntu.com/ubuntu utopic-security multiversedeb-src http://security.ubuntu.com/ ubuntu utopic-security multiverse ##次の2行のコメントを解除して、Canonicalの##'パートナー'担当者からソフトウェアを追加しますository。##このソフトウェアはUbuntuの一部ではありませんが、Canonicalと##それぞれのベンダーによってUbuntuユーザーへのサービスとして提供されています。#deb http://archive.canonical.com/ubuntu utopic Partner#deb-src http ://archive.canonical.com/ubuntu utopicpartner ##次の2行のコメントを解除して、Ubuntuの##'extras'リポジトリからソフトウェアを追加します。##このソフトウェアはUbuntuの一部ではありませんが、サードパーティによって提供されています##最新のソフトウェアを出荷したい開発者。#deb http://extras.ubuntu.com/ubuntu utopic main#deb-src http://extras.ubuntu.com/ubuntu utopic main 

次に実行します

 apt-get update 

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

 apt-get upgrade 

最新のアップデートをインストールします(ある場合)。更新の一部として新しいカーネルがインストールされていることがわかった場合は、後でシステムを再起動する必要があります。

再起動

3。デフォルトのシェルを変更する

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

 dpkg-reconfigure dash 

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

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

4。 AppArmorを無効にする

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

次のように無効にできます:

 service apparmor stop 
update-rc.d -f apparmor remove
apt-get remove apparmor apparmor-utils

5。システム時計を同期する

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

 apt-get install ntp ntpdate 

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

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

postfixをインストールするには、sendmailを停止して削除する必要があります

 service sendmail stop; update-rc.d -f sendmail remove 

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

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

次の質問があります:

MySQL "root"ユーザーの新しいパスワード:<-yourrootsqlpassword
MySQL "root"ユーザーのパスワードを繰り返します:<-yourrootsqlpassword
自己署名SSL証明書を作成しますか?:<-はい
ホスト名:<-server1.example.com
ローカルのみ:<-OK
メール構成の一般的なタイプ:<-インターネットサイト
システムメール名:<- --server1.example.com

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

 nano /etc/postfix/master.cf 

次のように送信セクションとsmtpsセクションのコメントを解除します-行-osmtpd_client_restrictions=permit_sasl_authenticatedを追加し、両方のセクションを拒否し、その後すべてコメントを残します:

 [...] subject inet n --- --- smtpd -o syslog_name =postfix / subject -o smtpd_tls_security_level =encode -o smtpd_sasl_auth_enable =yes -o smtpd_client_restrictions =permit_sasl_authenticated、reject  # -o smtpd_reject_unlisted_recipient=no# -o smtpd_client_restrictions=$mua_client_restrictions# -o smtpd_helo_restrictions=$mua_helo_restrictions# -o smtpd_sender_restrictions=$mua_sender_restrictions# -o smtpd_recipient_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_sasl_authenticated、reject  #-o smtpd_reject_unlisted_recipient =no#-o smtpd_client_restrictions =$ mua_client_restrictions#-o smtpd_helo_restrictions =$ mua_helo_restrictions#-o smtpd_sender_restrictions =$ mua_sender_restrictions#-o smtpd_ 

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

サービスpostfixの再起動

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

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

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

 service mysql restart 

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

 netstat -tap | grep mysql 

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

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

7。 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を解放できます。

 service spamassassin stop 
update-rc.d -f spamassassin remove

clamavを実行するには

 freshclam 
service clamav-daemon start

完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfigを備えたUbuntu14.10-2ページ

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

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

 apt-get install apache2 apache2-doc apache2-utils 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-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-sqlite php5 -整頓されたphp5-xmlrpcphp5-xslmemcached 

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

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

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

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

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

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

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

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

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

 service apache2 restart 

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

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

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

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

 service apache2 restart 

8.1 Xcache

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

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

 apt-get install php5-xcache 

次にApacheを再起動します:

 service apache2 restart 

8.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エイリアス
service apache2 restart

8.3追加のPHPバージョン

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

9。 Mailmanをインストールする

バージョン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メーリングリスト
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 mailma n "
mailman-unsubscribe:" | / var / lib / mailman / mail / mailman unsubscribe mailman "

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

[email protected]:〜#

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

 nano / 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メールマンの退会」 

実行

 newaliases 

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

サービスpostfixの再起動

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

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

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

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

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

 service apache2 restart 

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

サービス郵便配達員の開始

10。 PureFTPdとクォータをインストールする

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

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

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

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

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

 [...] STANDALONE_OR_INETD=スタンドアロン [...] 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を再起動します:

 service pure-ftpd-mysql restart 
 [email protected]:〜#service pure-ftpd-mysql restart 
ftpサーバーの再起動:実行中:/ usr / sbin / pure-ftpd-mysql-virtualchroot -l mysql:/ etc / pure-ftpd /db/mysql.conf -l pam -8 UTF-8 -u 1000 -E -O clf:/var/log/pure-ftpd/transfer.log -Y 1 -B
[email protected]: 〜#

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

 nano / etc / fstab 
#/ etc / fstab:静的ファイルシステム情報。##「blkid」を使用して、デバイスのユニバーサル一意識別子を出力します。これは、ディスクが追加および削除された場合でも機能するデバイスに名前を付けるためのより堅牢な方法として、UUID=とともに使用できます。 fstab(5)を参照してください。##<ファイルシステム><マウントポイント><タイプ><オプション><ダンプ><パス>/ dev / mapper / server1--vg-root / ext4 errors =remount-ro 、usrjquota =quote.user、grpjquota =quote.group、jqfmt =vfsv0  0 1#/bootはインストール中に/dev/sda1にありましたUUID=9b8299f1-b2a2-4231-9ba1-4540fad76b0f /bootext2デフォルト02/ dev / mapper / server1--vg-swap_1 none swap sw 0 0 

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

 mount -o remount / 
 quotecheck -avugm 
quoteon -avug

11。 BINDDNSサーバーをインストールする

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

 apt-get install bind9 dnsutils 

12。 Vlogger、Webalizer、AWstatsをインストールする

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

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

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

 nano /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 

13。 Jailkitをインストールする

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 *

14。 fail2banをインストールする

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

 apt-get install fail2ban 

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

を作成します。
 nano /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 [postfix-sasl] enabled =trueport =smtpfilter =postfix-sasllogpath =/var/log/mail.logmaxretry =3 

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

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

postfix-saslファイルに欠落しているignoreregex行を追加します:

 echo "ignoreregex =">> /etc/fail2ban/filter.d/postfix-sasl.conf 

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

 service fail2ban restart 

完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfigを備えたUbuntu14.10-3ページ

15SquirrelMailをインストールする

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 =Binc IMAP server
courier =Courier IMAP server
cyrus cot ove =Cyrus IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
macosx =Mac OS X Mailserver
mercury32 =Mercury / 32
/> gmail =Googleメール(Gmail)アカウントへのIMAPアクセス

quit=何も変更しないでください
コマンド>><-dovecot


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

引き続き、すべてが正しいことを確認する必要があることに注意してください。

これによってすべてが変わるわけではありません。
これが変更される設定はごくわずかです。

IMAPサーバーを選択してください:
bincimap =Binc IMAP server
courier =Courier IMAP server
cyrus cot ove =Cyrus IMAP server
exchange =Microsoft Exchange IMAP server
hmailserver =hMailServer
macosx =Mac OS X Mailserver
mercury32 =Mercury / 32
/> gmail =Googleメール(Gmail)アカウントへのIMAPアクセス

quit=何も変更しないでください
コマンド>>dovecot

ip />_ 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_del imiter =detect
delete_folder =false

続行するには任意のキーを押してください...<-キーを押してください


SquirrelMailの構成:読み取り: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-available / 
ln -s ../../squirrelmail/apache.conf squirrelmail.conf
service apache2 reload

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

 nano /etc/apache2/conf-available/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   [ ...] 

ディレクトリ/var/ lib / squirrelmail / tmp ...

を作成します
 mkdir / var / lib / squirrelmail / tmp 

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

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

次に、apache2でsquirrelmailを有効にする必要があります。

 a2enconf squirrelmail 

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

 service apache2 reload 

すでにそれだけです-/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 ...

を開くだけです。
 nano /etc/apache2/conf-available/squirrelmail.conf 

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

という行を追加します。
エイリアス/squirrelmail/ usr / share / squirrelmail エイリアス/ webmail / usr / share / squirrelmail  [...] 

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

 service apache2 reload 

これで、次のように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に追加する必要があります。

 nano /etc/apache2/conf.d/squirrelmail.conf 
 [...]  DocumentRoot / usr / share / squirrelmail ServerName webmail.example.com  

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

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

 service apache2 reload 

...そしてhttp://webmail.example.com

からSquirrelMailにアクセスできます

16。 ISPConfig3をインストールします

最新のリリースバージョンから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


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


>>初期構成

オペレーティングシステム:14.10不明

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


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

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

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

MySQL server hostname [localhost]:<-ENTER

MySQL root username [root] :<-ENTER

MySQL root password []:<-yourroot sqlpassword

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

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

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

セキュリティで保護しますか(SSL)ISPConfigウェブインターフェースへの接続(y、n)[y]:<-ENTER

RSAプライベートキーの生成、4096ビット長のモジュラス
......。 ... ++
...... ++ eは65537(0x10001)です。
証明書のリクエストに組み込まれる情報を
入力するように求められます。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]: <-- ENTER
State or Province Name (full name) [Some-State]: <-- ENTER
Locality Name (eg, city) []: <-- ENTER
Organization Name (eg, company) [Internet Widgits Pty Ltd]: <-- ENTER
Organizational Unit Name (eg, section) []: <-- ENTER
Common Name (e.g. server FQDN or YOUR name) []: <-- ENTER
Email Address []: <-- ENTER

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []: <-- ENTER
An optional company name []: <-- ENTER
writing RSA key
Configuring DBServer
Installing ISPConfig crontab
no crontab for root
no crontab for getmail
Restarting services ...
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service mysql restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. mysqlを停止します。 mysqlを起動します。 The restart(8) utility is also available.
mysql stop/waiting
mysql start/running, process 2817
 * Stopping Postfix Mail Transport Agent postfix
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
 * Starting Postfix Mail Transport Agent postfix
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: und efined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr /sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
/usr/sbin/postconf: warning: /etc/postfix/main.cf: undefined parameter: virtual_mailbox_limit_maps
   ...done.
Stopping amavisd: amavisd-new.
Starting amavisd: amavisd-new.
 * Stopping ClamAV daemon clamd
   ...done.
 * Starting ClamAV daemon clamd
   ...done.
Rather than invoking init scripts through /etc/init.d, use the service(8)
utility, e.g. service dovecot restart

Since the script you are attempting to invoke has been converted to an
Upstart job, you may also use the stop(8) and then start(8) utilities,
e.g. stop dovecot ; start dovecot. The restart(8) utility is also available.
dovecot stop/waiting
dovecot start/running, process 3962
 * Restarting web server apache2
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:00 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:443 has no VirtualHosts
[Fri Apr 26 00:55:01 2013] [warn] NameVirtualHost *:80 has no VirtualHosts
 ... waiting    ...done.
Restarting ftp server: Running: /usr/sbin/pure-ftpd-mysql-virtualchroot -l mysql:/etc/pure-ftpd/db/mysql.conf -l pam -A -b -u 1000 -D -H -Y 1 -E -8 UTF-8 -O clf:/var/log/pure-ftpd/transfer.log -B
Installation completed.
[email protected]:/tmp/ispconfig3_install/install#

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

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

Afterwards you can access ISPConfig 3 under http(s)://server1.example.com:8080/ or http(s)://192.168.0.100:8080/ ( http or https depends on what you chose during installation).ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):







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

16.1 ISPConfig 3 Manual

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

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

17. Additional Notes

17.1 OpenVZ

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

VPSID=101 
for CAP in 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 --capability ${CAP}:on --save
done

18. Links

  • Ubuntu:http://www.ubuntu.com/
  • ISPConfig:http://www.ispconfig.org/

Panels
  1. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3.1を搭載したUbuntu16.10(Yakkety Yak)

  2. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3.1を搭載したUbuntu17.10(Artful Aardvark)

  3. 完璧なサーバー-Ubuntu16.04(Nginx、MySQL、PHP、Postfix、BIND、Dovecot、Pure-FTPD、ISPConfig 3.1)

  1. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3.1を搭載したUbuntu16.04(Xenial Xerus)

  2. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3.1を搭載したUbuntu18.04(Bionic Beaver)

  3. 完璧なサーバー-Ubuntu18.04(Nginx、MySQL、PHP、Postfix、BIND、Dovecot、Pure-FTPD、ISPConfig 3.1)

  1. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3を搭載したUbuntu15.04(Vivid Vervet)

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

  3. 完璧なサーバー-Ubuntu15.10(nginx、MySQL、PHP、Postfix、BIND、Dovecot、Pure-FTPD、ISPConfig 3)