GNU/Linux >> Linux の 問題 >  >> Ubuntu

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

このチュートリアルでは、Ubuntu 16.04(Xenial Xerus)サーバーをNginx、PHP、MariaDB、Postfix、pure-ftpd、BIND、Dovecot、およびISPConfig3.1とともにインストールする手順を示します。 ISPConfigは、Webブラウザを介してインストールされたサービスを構成できるWebホスティングコントロールパネルです。この設定により、完全なホスティングサーバーに、Web、電子メール(スパムおよびウイルス対策フィルターを含む)、データベース、FTP、およびDNSサービスが提供されます。

1。予備的注意

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

このチュートリアルの手順はrootユーザーとして実行する必要があるため、コマンドの前に「sudo」を追加しません。続行するか実行する前に、rootユーザーとしてサーバーにログインしてください:

 sudo -s 

シェルに別のユーザーとしてログインしたときにrootになります。

ファイルを編集するコマンドはエディタ「nano」を使用します。これを任意のエディタに置き換えることができます。 Nanoは、シェル用の使いやすいファイルエディタです。 nanoを使用するのが好きで、まだインストールしていない場合は、次を実行します:

 apt-get install nano 

2。 Linuxインストールを更新する

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

 nano /etc/apt/sources.list 


#deb cdrom:[Ubuntu-Server 16.04 LTS _Xenial Xerus_-リリースamd64(20160420)] /xenialmain制限付き

#deb cdrom:[Ubuntu-サーバー16.04LTS_Xenial Xerus_-リリースamd64(20160420)] /xenialmain制限付き

#アップグレード方法については、http://help.ubuntu.com/community/UpgradeNotesを参照してください
#newerディストリビューションのバージョン。
debhttp://de.archive.ubuntu.com/ubuntu/ xenialmain制限付き
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial主な制限付き

##
##ディストリビューションの最終リリース後に作成された主要なバグ修正アップデート。
debhttp://de.archive.ubuntu.com/ubuntu/ xenial-updatesmainrestricted
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updatesmainrestricted

## N.B.このリポジトリのソフトウェアは、Ubuntu
##チームによって完全にサポートされておらず、無料のライセンスが適用されていない可能性があります。
##ソフトウェアを使用する権利についてご満足ください。また、
##ユニバースのソフトウェアはUbuntuセキュリティ
##チームからレビューやアップデートを受け取らないことに注意してください。
debhttp://de.archive.ubuntu.com/ ubuntu / xenial universe
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial universe
deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates universe

## N.B.このリポジトリのソフトウェアは、Ubuntu
##チームによって完全にサポートされておらず、無料のライセンスが適用されていない可能性があります。
##ソフトウェアを使用する権利についてご満足ください。また、
##マルチバースのソフトウェアはUbuntu
##セキュリティチームからレビューやアップデートを受け取らないことに注意してください。
debhttp://de.archive.ubuntu.com/ ubuntu / xenial multiverse
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial multiverse
deb http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse
#deb-src http://de.archive.ubuntu.com/ubuntu/ xenial-updates multiverse

## N.B.このリポジトリのソフトウェアは、メインリリースに含まれているものほど広範囲にテストされていない可能性があります。
##便利な機能を提供する可能性のある、一部のアプリケーションの新しいバージョンが含まれています。
# #また、バックポートのソフトウェアは、Ubuntuセキュリティチームからのレビューやアップデートを受け取らないことに注意してください。
deb http://de.archive.ubuntu.com/ubuntu/ xenial-backports主な制限付きユニバースマルチバース
#deb-src http://de.archive.ubuntu.com/ubuntu/xenial-backports主な制限付きユニバースマルチバース
##次の2行のコメントを解除して、Canonicalのソフトウェアを追加します
br /> ##'partner'リポジトリ。
##このソフトウェアはUbuntuの一部ではありませんが、Canonicalと
##それぞれのベンダーによってUbuntuユーザーへのサービスとして提供されています。
#deb http://archive.canonical.com/ubuntuxenialパートナー
#deb-srchttp://archive.canonical.com/ubuntuxenialパートナー

deb http:// security .ubuntu.com /ubuntuxenial-セキュリティの主な制限ted
#deb-srchttp://security.ubuntu.com/ubuntuxenial-securityメイン制限
debhttp://security.ubuntu.com/ubuntu xenial-security universe
# deb-src http://security.ubuntu.com/ubuntu xenial-security universe
deb http://security.ubuntu.com/ubuntu xenial-security multiverse
#deb-src http:// security.ubuntu.com/ubuntuxenial-セキュリティマルチバース

次に実行します:

 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 -y install ntp ntpdate 

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

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

postfixをインストールするには、sendmailがインストールされて実行されていないことを確認する必要があります。 sendmailを停止して削除するには、次のコマンドを実行します:

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

エラーメッセージ:

 sendmail.serviceの停止に失敗しました:ユニットsendmail.serviceがロードされていません。

大丈夫です。sendmailがインストールされていないため、削除するものは何もありませんでした。

Postfix、Dovecot、MariaDB(MySQLの代替として)、rkhunter、binutilsを1つのコマンドでインストールできます:

 apt-get -y 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 

MariaDBは、元のMySQL開発者であるMontyWideniusによって開発されたMySQLデータベースサーバーのフォークです。インターネットで見つかったテストによると、MariaDBはMySQLよりも高速であり、開発はより速いペースで進んでいます。したがって、ほとんどのLinuxディストリビューションはMySQLをデフォルトの「MySQLalike」データベースサーバーとしてMariaDBに置き換えました。 MariaDBよりもMySQLを使用する場合は、上記のコマンドの「mariadb-clientmariadb-server」を「mysql-clientmysql-server」に置き換えてください。

次の質問があります:

メール構成の一般的なタイプ:<-インターネットサイト
システムメール名:<-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 =なし#-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、拒否#-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の再起動

MariaDB / MySQLは、ローカルホストだけでなく、すべてのインターフェイスでリッスンする必要があります。したがって、/ etc / mysql / mariadb.conf.d / 50-server.cnf(MariaDBの場合は/etc/mysql/my.cnf(MySQLの場合))を編集し、bind-address =127.0.0.1:

MariaDB

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

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

 service mysql restart 

MariaDBとMySQLのsystemdサービス名は「mysql」であるため、restartコマンドは両方のデータベースサーバーで同じです。

次に、MariaDBでrootパスワードを設定します。実行:

 mysql_secure_installation 

次の質問があります:

 rootの現在のパスワードを入力します(noneの場合はEnter):<-Enterキーを押します
rootパスワードを設定しますか? [Y / n] <-y
新しいパスワード:<-ここに新しいMariaDBルートパスワードを入力します
新しいパスワードを再入力します:<-パスワードを繰り返します
匿名ユーザーを削除しますか? [Y / n] <-y
rootログインをリモートで禁止しますか? [Y / n] <-y
特権テーブルを今すぐリロードしますか? [Y / n] <-y

MySQL

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

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

 service mysql restart 

MariaDBとMySQLのsystemdサービス名は「mysql」であるため、restartコマンドは両方のデータベースサーバーで同じです。

MySQLおよびMariaDBの場合:

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

 netstat -tap | grep mysql 

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

 [メール保護]:〜#netstat -tap | grep mysql 
tcp6 0 0 [::]:mysql [::]:* LISTEN 13796 / mysqld
[email protected]:〜#

7。 Amavisd-new、SpamAssassin、およびClamAVをインストールします

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

を実行します。
 apt-get -y 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 postgrey 

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

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

ClamAVアンチウイルス署名を更新し、Clamdサービスを開始します。更新プロセスには時間がかかる場合があります。中断しないでください。

 service clamav-freshclam restart 
service clamav-daemon start

7.1 Metronome XMPPサーバーのインストール(オプション)

Metronome XMPPサーバーは、XMPPチャットサーバーを提供します。この手順はオプションです。チャットサーバーが必要ない場合は、この手順をスキップできます。他のISPConfig機能はこのソフトウェアに依存していません。

次のパッケージをaptでイ​​ンストールします。

 apt-get -y 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にインストールされました。


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

  2. 完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3を搭載したUbuntu15.10(Wily Werewolf)

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

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

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

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

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

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

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