このチュートリアルでは、ISPConfig3.1のインストール用にDebianJessieサーバー(nginx、BIND、Dovecotを使用)を準備する方法と、ISPConfig3.1をインストールする方法を示します。 ISPConfig 3は、Webブラウザを介して次のサービスを構成できるWebホスティングコントロールパネルです:Apacheまたはnginx Webサーバー、Postfixメールサーバー、CourierまたはDovecot IMAP / POP3サーバー、MySQL、BINDまたはMyDNSネームサーバー、PureFTPd、SpamAssassin、 ClamAV、その他多数。このセットアップは、(Apacheの代わりに)nginx、DNSサーバーとしてのBIND、およびIMAP/POP3サーバーとしてのDovecotを対象としています。
1予備メモ
このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.1.100およびゲートウェイ192.168.1.1を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。先に進む前に、Debian 8の最小インストールが必要です。これは、ホスティングプロバイダーからのDebian最小イメージであるか、最小Debianサーバーチュートリアルを使用してベースシステムをセットアップしている可能性があります。
2SSHサーバーをインストールします
システムのインストール中にOpenSSHサーバーをインストールしなかった場合は、今すぐインストールできます。
apt-get -y install ssh openssh-server
今後は、PuTTYなどのSSHクライアントを使用して、ワークステーションからDebian 8サーバーに接続し、このチュートリアルの残りの手順に従うことができます。
3シェルテキストエディタをインストールします(オプション)
nanoを使用します このチュートリアルのテキストエディタ。一部のユーザーはクラシックviエディターを好むため、ここで両方のエディターをインストールします。デフォルトのviプログラムは、DebianとUbuntuで奇妙な動作をします。これを修正するには、vim-noxをインストールします:
apt-get -y install nano vim-nox
(joeなどの別のテキストエディタを使用する場合は、これを行う必要はありません。)
4ホスト名を構成します
サーバーのホスト名は、「server1.example.com」のようなサブドメインである必要があります。 「example.com」のようなサブドメイン部分のないドメイン名をホスト名として使用しないでください。後でメールの設定で問題が発生する可能性があります。まず、/ etc / hostsでホスト名を確認し、必要に応じて変更する必要があります。行は次のようになります:「IPアドレス-スペース-ドメインを含む完全なホスト名-スペース-サブドメイン部分」。 / etc/hostsを編集します。次のようにします:
nano / etc / hosts
127.0.0.1 localhost.localdomain localhost192.168.1.100 server1.example.com server1#IPv6対応ホストには次の行が望ましい::1 localhost ip6-localhost ip6-loopbackff02 ::1 ip6-allnodesff02 ::2 ip6 -allrouters
次に、/ etc / hostnameファイルを編集します:
nano / etc / hostname
この場合、サブドメイン部分のみが含まれます:
server1
最後に、サーバーを再起動して変更を適用します。
再起動
もう一度ログインし、次のコマンドを使用してホスト名が正しいかどうかを確認します。
hostname
hostname -f
出力は次のようになります:
[email protected]:/ tmp#hostname
server1
[email protected]:/ tmp#hostname -f
server1.example.com
5Debianインストールを更新する
まず、/ etc / apt / sources.listにwheezy-updatesリポジトリが含まれていることを確認します(これにより、ClamAVウイルススキャナーの最新の更新を常に取得できます。このプロジェクトはリリースを頻繁に公開し、古いバージョンが機能しなくなる場合があります)、また、contribリポジトリとnon-freeリポジトリが有効になっていること(libapache2-mod-fastcgiなどの一部のパッケージはメインリポジトリにありません)。
nano /etc/apt/sources.list
deb http://ftp.us.debian.org/debian/ jessie main contrib non-free
deb-src http://ftp.us.debian.org/debian/ jessie main contrib non-無料
deb http://security.debian.org/ jessie / updates main contrib non-free
deb-src http://security.debian.org/ jessie / updates main contrib non-free
#Debianバックポート-Letsencryptに必要
deb http://ftp.debian.org/debian jessie-backports main
重要: 上記のようにDebianバックポートリポジトリを追加します。
実行
apt-get update
aptパッケージデータベースを更新するには
apt-get upgrade
最新のアップデートをインストールします(ある場合)。
6デフォルトのシェルを変更する
/ bin/shは/bin/ dashへのシンボリックリンクですが、/ bin/dashではなく/bin/bashが必要です。したがって、これを行います:
dpkg-reconfigure dash
デフォルトのシステムシェル(/ bin / sh)としてダッシュを使用しますか? <-いいえ
これを行わないと、ISPConfigのインストールが失敗します。
7システム時計を同期する
システムクロックをNTP( n )と同期することをお勧めします etwork t ime p rotocol)インターネット上のサーバー。実行するだけです
apt-get install ntp
システム時刻は常に同期されます。
8 Postfix、Dovecot、MySQL、rkhunter、binutilsをインストールします
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 dovecot-lmtpd sudo
次の質問があります:
メール構成の一般的なタイプ:<-インターネットサイト
システムメール名:<-server1.example.com
MariaDBの「root」ユーザーの新しいパスワード:<-yourrootsqlpassword
繰り返しますMariaDBの「root」ユーザーのパスワード:<-yourrootsqlpassword
MariaDB / MySQLのインストールを保護し、テストデータベースを無効にするには、次のコマンドを実行します。
mysql_secure_installation
インストール中に新しいパスワードを設定するだけなので、MySQLのrootパスワードを変更する必要はありません。次のように質問に答えてください:
ルートパスワードを変更しますか? [Y / n] <-n
匿名ユーザーを削除しますか? [Y / n] <-y
rootログインをリモートで禁止しますか? [Y / n] <-y
テストデータベースを削除してアクセスしますか? [Y / n] <-y
特権テーブルを今すぐリロードしますか? [Y / n] <-y
次に、PostfixでTLS / SSLと送信ポートを開きます:
nano /etc/postfix/master.cf
次のように、送信セクションとsmtpsセクションのコメントを解除します(不要なため、-o milter_macro_daemon_name =ORIGINATINGのままにします):
[...] subject 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 smtpd_reject_unlisted_recipient =no
#-o smtpd_client_restrictions =$ mua_client_restrictions
#-o smtpd_helo_restrictions =$ mua_helo_ br />#-o smtpd_recipient_restrictions =
#-o smtpd_relay_restrictions =permit_sasl_authenticated、reject
#-o milter_macro_daemon_name =ORIGINATING
smtps inet n --- --- smtpd
-o syslog 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 <=$ mua_client_restrictions
#-o smtpd_helo_restrictions =$ mua_helo_restrictions
#-o smtpd_sender_r estrictions =$ mua_sender_restrictions
#-o smtpd_recipient_restrictions =
#-o smtpd_relay_restrictions =permit_sasl_authenticated、reject
#-o milter_macro_daemon_name =ORIGINATING [...]
その後、Postfixを再起動します:
service postfix restart
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
出力は次のようになります。
[メール保護]:〜#netstat -tap | grep mysql
tcp 0 0 *:mysql *:*リッスン218123 / mysqld
[メール保護]:〜#
9 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 postgreyISPConfig 3のセットアップでは、SpamAssassinフィルターライブラリを内部的にロードするamavisdを使用するため、SpamAssassinを停止してRAMを解放できます。
service spamassassin stop
systemctl disable spamassassin
9.1 Metronome XMPPサーバーのインストール(オプション)
この手順では、XMPPプロトコルと互換性のあるチャットサーバーを提供するMetronomeXMPPサーバーをインストールします。この手順はオプションです。チャットサーバーが必要ない場合は、この手順をスキップできます。他のISPConfig機能はこのソフトウェアに依存していません。
DebianにProsodyパッケージリポジトリを追加します。
echo "deb http://packages.prosody.im/debian jessie main"> /etc/apt/sources.list.d/metronome.list
wget http://prosody.im/files/ prosody-debian-packages.key -O-| sudo apt-key add-パッケージリストを更新します:
apt-get updateビルドプロセスに必要なプログラムをインストールします
apt-get install build-essentialaptを使用してパッケージをインストールします。
apt-get install git lua5.1 liblua5.1-0-dev lua-filesystem libidn11-dev libssl-dev lua-zlib lua-expat lua-event lua-bitop lua-socket lua-sec luarocks luarocks>luarocksはlpcをインストールしますMetronomeのシェルユーザーを追加します。
adduser --no-create-home --disabled-login--gecos'メトロノーム'メトロノームMetronomeを/optディレクトリにダウンロードしてコンパイルします。
cd / opt; git clone https://github.com/maranda/metronome.git Metronome
cd ./metronome; ./configure --ostype =debian --prefix =/ usr
make
make installメトロノームが/opt/metronomeにインストールされました。
10 Nginx、PHP(PHP-FPM)、およびFcgiwrapをインストールします
NginxはDebianのパッケージとして利用可能であり、次のようにインストールできます。
apt-get install nginxApache2がすでにシステムにインストールされている場合は、今すぐ停止してください...
service apache2 stopメッセージ「apache2.serviceの停止に失敗しました:ユニットapache2.serviceがロードされていません。 「は問題なく、エラーを示すものではありません。
...そしてApacheのシステム起動リンクを削除します:
systemctl disable apache2その後nginxを開始します:
service nginx start(Apache2とnginxの両方がインストールされている場合、ISPConfig 3インストーラーはどちらを使用するかを尋ねます。この場合はnginxと答えます。両方の両方がインストールされている場合、ISPConfigは必要な構成を自動的に行います。)
>PHP5をPHP-FPMを介してnginxで動作させることができます(PHP-FPM(FastCGI Process Manager)は、あらゆるサイズのサイト、特に忙しいサイトに役立ついくつかの追加機能を備えた代替のPHP FastCGI実装です)。>>
apt-get install php5-fpmPHP-FPMは、ソケット/var/run/php5-fpm.sockでFastCGIサーバーを実行するデーモンプロセス(initスクリプト/etc/init.d/php5-fpmを使用)です。
PHPでMySQLをサポートするために、php5-mysqlパッケージをインストールできます。他のPHP5モジュールをインストールすることをお勧めします。また、アプリケーションでそれらが必要になる場合もあります。次のような利用可能なPHP5モジュールを検索できます:
apt-cache search php5必要なものを選び、次のようにインストールします:
apt-get install php5-mysql php5-curl php5-gd php5-intl php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-memcached php5-pspell php5-recode php5-sqlite php5-tidy php5 -xmlrpc php5-xsl memcachedAPCは、PHP中間コードをキャッシュおよび最適化するための無料のオープンPHPオペコードキャッシャーです。これは、eAcceleratorやXCacheなどの他のPHPオペコードキャッシャーに似ています。 PHPページを高速化するために、これらのいずれかをインストールすることを強くお勧めします。
APCは次のようにインストールできます:
apt-get install php-apc次に/etc/php5/fpm/php.iniを開きます...
nano /etc/php5/fpm/php.ini...そしてcgi.fix_pathinfo=0とタイムゾーンを設定します:
[...] cgi.fix_pathinfo =0 [...] date.timezone ="Europe / Berlin" [...](使用可能なすべてのタイムゾーンは、/ usr / share / zoneinfoディレクトリとそのサブディレクトリにあります。)
PHP-FPMをリロードします:
service php5-fpm reloadnginxでCGIをサポートするには、Fcgiwrapをインストールします。
Fcgiwrapは、複雑なCGIスクリプトでも機能するCGIラッパーであり、各vhostが独自のcgi-binディレクトリを使用できるため、共有ホスティング環境で使用できます。
fcgiwrapパッケージをインストールします:
apt-get install fcgiwrapインストール後、fcgiwrapデーモンはすでに開始されているはずです。そのソケットは/var/run/fcgiwrap.socketです。実行されていない場合は、fservicefcgiwrapスクリプトを使用して開始できます。
それでおしまい!これで、nginx vhostを作成すると、ISPConfigが正しいvhost構成を処理します。
10.1追加のPHPバージョン
ISPConfig 3.0.5以降では、1つのサーバー上に複数のPHPバージョン(ISPConfigで選択可能)を設定して、PHP-FPMを含めて実行することができます。 PHP7および7.1。追加のPHPバージョン(PHP-FPM)を構築する方法と、ISPConfigを構成する方法については、次のチュートリアルを確認してください:Debian 8(Jessie)にISPConfig3用のPHP7(PHP-FPMとFastCGI)をインストールする方法
10.2phpMyAdminをインストール
次のようにphpMyAdminをインストールします。
apt-get install phpmyadminインストーラーが「Webサーバーに自動的に再構成する:」と要求している場合は、オプションを選択しないでください。 "と[OK]を押します。
dbconfig-commonを使用してphpmyadminのデータベースを構成しますか? <-はい
データベースの管理ユーザーのパスワード:<-MySQLルートパスワードを入力します
phpmyadminのMySQLアプリケーションパスワード:<-Enterキーを押しますこれで、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 unix:/var/run/php5-fpm.sock; 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 unix:/var/run/php5-fpm.sock; 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の両方を使用する場合は、$https変数を使用できます。もう一度nginxDirectivesフィールドに移動し、fastcgi_paramHTTPSの代わりに;行fastcgi_paramHTTPS$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 unix:/var/run/php5-fpm.sock; fastcgi_param HTTPS $ 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; }
10.3 HHVM(HipHop仮想マシン)のインストール
このステップでは、公式のDebianリポジトリからHHVMをインストールします。 HHVMリポジトリを追加し、キーをインポートします。
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0x5a16e7281be7a449
echo deb http://dl.hhvm.com/debian jessie main | sudo tee /etc/apt/sources.list.d/hhvm.listパッケージリストを更新します:
sudo apt-get updateHHVMをインストールします:
sudo apt-get install hhvm
11Let'sEncryptをインストール
ISPConfig 3.1は、無料のSSL認証局Let'sEncryptをサポートしています。 Let's Encrypt機能を使用すると、ISPConfig内からWebサイト用の無料のSSL証明書を作成できます。
apt-get install python-certbot -t jessie-backports
12Mailmanをインストール
ISPConfigを使用すると、Mailmanメーリングリストを管理(作成/変更/削除)できます。この機能を利用する場合は、次のようにMailmanをインストールします。
apt-get install mailman少なくとも1つの言語を選択してください。例:
サポートする言語:<-en(英語)
不足しているサイトリスト<-OkMailmanを開始する前に、mailmanという最初のメーリングリストを作成する必要があります。
newlist mailman[メール保護]:〜#newlist mailman
リストを実行している人のメールアドレスを入力します:<-admin email address、e.g. [メール保護]
最初のメールマンパスワード:<-メールマンリストの管理者パスワード
メールリストの作成を完了するには、/ 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 mailman "
mailman-un subscribe: "| / 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-バウンス: "| / var / lib / mailman / mail /mailmanバウンスmailman"mailman-confirm: "| / var / lib / mailman / mail /mailman確認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を再起動します:
サービスpostfixの再起動次に、Mailmanデーモンを起動します:
サービス郵便配達員の開始ISPConfig 3をインストールした後、次のようにMailmanにアクセスできます。
nginxのポート8081のISPConfigアプリvhostにはMailman構成が付属しているため、http://server1.example.com:8081 / cgi-bin / mailman / admin/
またはhttp://server1.exampleを使用できます。 .com:8081 / cgi-bin / mailman / listinfo/ でMailmanにアクセスします。 WebサイトからMailmanを使用する場合、nginxにはグローバルエイリアス(つまり、すべてのvhostに定義できるエイリアス)がないため、これはApacheよりも少し複雑です。したがって、それぞれに対してこれらのエイリアスを定義する必要があります Mailmanにアクセスするvhost。
これを行うには、ISPConfigのWebサイトの[オプション]タブにあるnginxディレクティブフィールドに以下を貼り付けます。
場所/cgi-bin/mailman{ルート/usr/ lib /; fastcgi_split_path_info(^ / cgi-bin / mailman / [^ /] *)(。*)$; / etc / nginx/fastcgi_paramsをインクルードします。 fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name; fastcgi_param PATH_INFO $ fastcgi_path_info; fastcgi_param PATH_TRANSLATED $ document_root $ fastcgi_path_info; fastcgi_intercept_errors on; fastcgi_pass unix:/var/run/fcgiwrap.socket; }場所/images/mailman{エイリアス/usr/ share / images / mailman; }場所/pipermail{エイリアス/var/ lib / mailman / archives / public;自動インデックスオン; }これにより、vhostのエイリアス/ cgi-bin / mailman /が定義されます。つまり、http://
/ cgi-bin / mailman / admin / にあるリストのMailman管理インターフェースにアクセスでき、メーリングリストのユーザー向けのWebページは、http:// / cgi-bin / mailman / listinfo/ にあります。 http://
/ pipermailの下に、メーリングリストのアーカイブがあります。
13PureFTPdとクォータをインストールする
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 / TLSTLSを使用するには、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/ etc/fstabを編集します。私の場合は次のようになります(マウントポイントのあるパーティションに、usrjquota =quote.user、grpjquota =quote.group、jqfmt =vfsv0を追加しました/):
nano / etc / fstab#/ etc / fstab:静的ファイルシステム情報。
#
#'blkid'を使用して、
#デバイスのユニバーサル一意識別子を出力します。これは、ディスクが追加および削除された場合でも機能するデバイスに名前を付けるためのより堅牢な方法として、UUID=とともに使用できます。
# fstab(5)を参照してください。
#
#<ファイルシステム><マウントポイント><タイプ><オプション><ダンプ><パス>
#/インストール中に/ dev/sda1にありました
UUID =3dc3b58d-97e5-497b-8254-a913fdfc5408 / ext4 errors =remount-ro、usrjquota =quote.user、grpjquota =quote.group、jqfmt =vfsv0 0 1
#スワップは/devにありましたインストール中の/sda5
UUID =36bf486e-8f76-492d-89af-5a8eb3ce8a02 none swap sw 0 0
/ dev / sr0 / media / cdrom0 udf、iso9660 user、noauto 0 0クォータを有効にするには、次のコマンドを実行します。
mount -o remount /quotecheck -avugm
quoteon -avug
14BINDDNSサーバーのインストール
BINDは次のようにインストールできます:
apt-get install bind9 dnsutilsサーバーが仮想マシンの場合は、DNSSEC署名のエントロピーを高くするために、havegedデーモンをインストールすることを強くお勧めします。非仮想サーバーにもhagedをインストールできますが、問題はありません。
apt-get install haveged
systemctl enable haveged
service haveged startそのトピックの説明はここにあります。
15WebalizerとAWstatsをインストールします
WebalizerとAWstatsは次のようにインストールできます:
apt-get install webalizer awstats geoip-database libtimedate-perl 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
16Jailkitのインストール
Jailkitは、SSHユーザーをchrootする場合にのみ必要です。次のようにインストールできます(重要:JailkitはISPConfigの前にインストールする必要があります-後でインストールすることはできません!):
apt-get install build-essential autoconf automake libtool flex bison debhelper binutilscd / tmp
wget http://olivier.sessink.nl/jailkit/jailkit-2.19.tar.gz
tar xvfz jailkit-2.19.tar.gz
cd jailkit- 2.19
./debian/rules binaryこれで、次のようにJailkit.debパッケージをインストールできます。
cd ..
dpkg -i jailkit_2.19-1_*。deb
rm -rf jailkit-2.19 *
17Fail2banとUFWファイアウォールをインストールする
これはオプションですが、ISPConfigモニターがログを表示しようとするため、推奨されます:
apt-get install fail2banfail2banで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 restartUFWファイアウォールをインストールするには、次のaptコマンドを実行します:
apt-get install ufw
18RoundCubeをインストール
RoundcubeはDebian8メインリポジトリでは利用できませんが、バックポートから取得できます。
次のコマンドでRoundCubeをインストールします:
apt-get install roundcube roundcube-core roundcube-mysql roundcube-pluginsインストーラーは次の質問をします:
dbconfig.commonを使用してroundcube用にデータベースを構成しますか? <-yes
データベースタイプを選択します:<-mysql
データベース管理ユーザーのパスワード:<-ここにMySQLルートパスワードを入力します。
roundcubeのMySQLアプリケーションパスワード:<- -Enterキーを押します次に、RoundCube /etc/roundcube/config.inc.phpファイルを編集し、いくつかの設定を調整します。
nano /etc/roundcube/config.inc.phpdefault_hostとsmtp_serverをlocalhostに設定します。
$ config ['default_host'] ='localhost';
$ config ['smtp_server'] ='localhost';ISPConfigには、squirrelmail用のnginxアプリの仮想ホストにいくつかの構成があります。これはroundcubeでも機能します。次のコマンドでアクティブ化します:
ln -s / usr / share / roundcube / usr / share / squirrelmailこれで、次のようにRoundCubeにアクセスできます。
http://192.168.1.100:8081/webmail
http://server1.example.com:8081/webmail(ISPConfigをインストールした後、次の章を参照してください)
19ISPConfig3をインストール
ISPConfigのインストールを開始する前に、Apacheが停止していることを確認してください(インストールされている場合は、インストールされているパッケージの一部が、知らないうちに依存関係としてApacheをインストールしている可能性があります)。 Apache2がすでにシステムにインストールされている場合は、今すぐ停止してください...
service apache2 stop...そしてApacheのシステム起動リンクを削除します:
update-rc.d -f apache2 removenginxが実行されていることを確認してください:
service nginx restart(Apacheとnginxの両方がインストールされている場合、インストーラーはどちらを使用するかを尋ねます:Apacheとnginxが検出されました。ISPConfigに使用するサーバーを選択してください:(apache、nginx)[apache]:
nginxと入力します。 Apacheまたはnginxのみがインストールされている場合、これはインストーラーによって自動的に検出され、質問はありません。)
最新のリリースバージョンから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、SASL、Courierなどのすべてのサービスを構成します。 ISPConfig 2(完全なセットアップガイド)に必要な手動セットアップは必要ありません。
#php -q install.php
------------------------------------------- -------------------------------------
_____ ___________ _____ __ _ ____
| _ _ / ___ | ___ \ / __ \ / _(_)/ __ \
| | \`-。| | _ / / | / \ / ___ _ __ | | _ _ __ _ _ / /
| | `-。 \ __ / | | / _ \ | '_ \ | _ | | / _` | | _ |
_ | | _ / \ __ / / | | \ __ / \(_)| | | | | | | (_ | | ___ \ \
\ ___ / \ ____ / \ _ | \ ____ / \ ___ / | _ | | _ | _ | | _ | \ __、| \ ____ /
__ / |
| ___ /
-------------------------------------- ------------------------------------------
>>初期構成オペレーティングシステム:Debian 8.0(Jessie)または互換性以下は、プライマリ構成に関するいくつかの質問ですので、注意してください。
デフォルト値は[括弧]内にあり、で受け入れることができます。
「quit」をタップします(引用符なし)インストーラーを停止します。
言語を選択(en、de)[en]:<-Enterキーを押しますインストールモード(標準、エキスパート)[標準]:<-Enterキーを押しますサーバーの完全修飾ホスト名(FQDN)、例:server1.domain.tld [server1.canomi.com]:<-Enterキーを押しますMySQLサーバーのホスト名[localhost]:<-Enterキーを押しますMySQLサーバーポート[3306]:<-Enterキーを押しますMySQL rootユーザー名[root]:<-Enterキーを押しますMySQLルートパスワード[]:<-MySQLルートパスワードを入力してください[dbispconfig]を作成するMySQLデータベース:<-Enterキーを押しますMySQL文字セット[utf8]:<-Enterキーを押しますApacheとnginxが検出されました。 ISPConfigに使用するサーバーを選択します:(apache、nginx)[apache]:<-nginx
Postgreyの構成
Postfixの構成
4096ビットのRSA秘密鍵の生成
................................................。 ...................... ++
......................。 .................................................。 .................................................。 .............. ++
'smtpd.key'に新しい秘密鍵を書き込む
-----
これから証明書リクエストに組み込まれる情報を入力します。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
フィールドはかなりありますが、そのままにしておくことができます。一部の空白
一部のフィールドにはデフォルト値があります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名( 2文字のコード)[AU]:<-2文字の国コードを入力
州または県の名前(フルネーム)[一部の州]:<-州の名前を入力
地域名(例:都市)[]:<-都市を入力
組織名(例:会社)[Internet Widgits Pty Ltd]:<-会社名を入力するか、Enterキーを押します
組織単位名(例: 、セクション)[]:<-Enterキーを押します
一般名(例:サーバーFQDNまたはあなたの名前)[]:<-サーバーのホスト名を入力します。私の場合はserver1.example.com
メールアドレス[]:<-Enterキーを押します
Mailmanの設定
Dovecotの構成
Spamassassinの構成
Amavisdの構成
Getmailの構成
BINDの構成
Jailkitの構成
Pureftpdの構成
Nginxの構成
vloggerの構成
MetronomeXMPPサーバーの構成
新しい秘密鍵を「localhost.key」に書き込む
-----
国名(2文字のコード)[AU]:<-Enter 2文字の国コード
地域名(例:都市)[]:<-都市を入力
組織名(例:会社)[Internet Widgits Pty Ltd]:<-会社名を入力するか、を押します入力
組織単位名(例:セクション)[]:<-Enterキーを押します
共通名(例:サーバーFQDNまたはあなたの名前)[server1.canomi.com]:<-サーバーのホスト名を入力します、私の場合:server1.example.com
メールアドレス[]:<-Enterキーを押しますUFWファイアウォールの構成
Fail2banの構成
[INFO]サービスOpenVZが検出されません
Appsvhostの構成
ISPConfigのインストール
ISPConfigポート[8080]:管理者パスワード[admin]:ISPConfig Webインターフェイス(y、n)への安全な(SSL)接続が必要ですか[y]:<-Enterキーを押しますRSA秘密鍵の生成、4096ビット長のモジュラス
....................... ++
..... .................................................。 .................................................。 ....................... ++
eは65537(0x10001)
あなたは次のような情報を入力するように求められようとしています
証明書リクエストに組み込まれます。
入力しようとしているのは、識別名またはDNと呼ばれるものです。
かなりの数のフィールドがありますが、空白のままにすることができます
一部のフィールドにはデフォルト値があります。
「。」と入力すると、フィールドは空白のままになります。
-----
国名(2文字のコード) [AU]:<-2文字の国コードを入力してください
州名または州名(フルネーム)[一部の州]:<-州の名前を入力してください
地域名(例:市区町村) []:<-都市を入力してください
組織名(例:会社)[Internet Widgits Pty Ltd]:<-会社名を入力するか、Enterキーを押してください
組織単位名(例:セクション)[] :<-Enterキーを押します
一般名(例:サーバーFQDNまたはあなたの名前)[]:<-サーバーのホスト名を入力します。私の場合はserver1.example.com
メールアドレス[]:<-Enterキーを押します証明書リクエストとともに送信される次の「追加」属性を入力してください
チャレンジパスワード[]:<-Enterキーを押します
オプションの会社名[]:<- -Enterキーを押します
RSAキーを書き込みます
DBServerの構成
ISPConfigcrontabのインストール
root用のcrontabなし
getmail用のcrontabなし
IPアドレスの検出
サービスの再起動...
インストールが完了しました。インストーラーは基礎となるすべてのサービスを自動的に構成するため、手動で構成する必要はありません。
その後、http(s)://server1.example.com:8080 /またはhttp(s)://192.168.1.100:8080 /でISPConfig3にアクセスできます(httpまたはhttpsは、インストール時に選択したものによって異なります)。ユーザー名adminとパスワードadminでログインします(最初のログイン後にデフォルトのパスワードを変更する必要があります):
これで、システムを使用する準備が整いました。
20.1ISPConfig3マニュアル
ISPConfig 3の使用方法を学ぶために、ISPConfig3マニュアルをダウンロードすることを強くお勧めします。
300ページ以上で、ISPConfig(管理者、再販業者、クライアント)の背後にある概念をカバーし、ISPConfig 3をインストールおよび更新する方法を説明し、有効な入力の例とともにISPConfigのすべてのフォームとフォームフィールドのリファレンスを含み、チュートリアルを提供しますISPConfig 3の最も一般的なタスクについても説明します。また、サーバーをより安全にする方法を示し、最後にトラブルシューティングのセクションがあります。
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 --cap on --save
done
22このチュートリアルの仮想マシンイメージのダウンロード
このチュートリアルは、VMWareおよびVirtualboxと互換性のあるovf/ova形式の仮想マシンイメージをすぐに使用できる状態で利用できます。仮想マシンイメージは、次のログイン詳細を使用します:
SSH/シェルログイン
ユーザー名:管理者
パスワード:howtoforgeユーザー名:root
パスワード:howtoforgeISPConfigログイン
ユーザー名:admin
パスワード:howtoforgeMySQLログイン
ユーザー名:root
パスワード:howtoforgeVMのIPは192.168.1.100で、ファイル/ etc / network/interfacesで変更できます。仮想マシンを保護するために、上記のすべてのパスワードを変更してください。
23リンク
- Debian:http://www.debian.org/
- ISPConfig:http://www.ispconfig.org/