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

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

このチュートリアルでは、Apache2、Postfix、Dovecot、Bind、PureFTPDを備えたUbuntu 17.04(Zesty Zapus)ウェブホスティングサーバーをインストールして、ISPConfig3.1のインストールに備える方法を示します。結果として得られるシステムは、Web、メール、メーリングリスト、DNS、およびFTPサーバーを提供します。

ISPConfig 3は、Webブラウザを介して次のサービスを構成できるWebホスティングコントロールパネルです:Apacheまたはnginx Webサーバー、Postfixメールサーバー、CourierまたはDovecot IMAP / POP3サーバー、MySQL、BINDまたはMyDNSネームサーバー、PureFTPd、SpamAssassin、 ClamAV、その他多数。このセットアップは、Apache(Nginxの代わりに)、BIND(MyDNSの代わりに)、およびDovecot(Courierの代わりに)のインストールを対象としています。

このチュートリアルは、LTS(ロングタームサポート)以外のバージョンであるUbuntu17.04に関するものです。ほとんどのユーザーは、更新とセキュリティパッチをはるかに長い時間取得するサーバーとしてLTSバージョンを好みます。最新のLTSリリースはUbuntu16.04です。このチュートリアルは、Ubuntu16.04バージョンにも存在します。最新のパッケージが必要な場合(およびサポート期間が短くても問題がない場合)は慎重に検討してから、このチュートリアルを続行してください。長年のサポートが必要な場合は、代わりにUbuntu16.04パーフェクトサーバーチュートリアルを使用してください。

1。予備的注意

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

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

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

 nano /etc/apt/sources.list 


#deb cdrom:[Ubuntu-Server 17.04 _Zesty Zapus_ --Release amd64(20170412)] / zesty main required

#deb cdrom:[Ubuntu-Server 17.04 _Zesty Zapus_-リリースamd64(20170412)] /zestymain制限付き

#アップグレード方法については、http://help.ubuntu.com/community/UpgradeNotesを参照してください
#新しいバージョンの配布。
debhttp://de.archive.ubuntu.com/ubuntu/ zestymain制限付き
#deb-src http://de.archive.ubuntu.com/ubuntu/zestymain制限付き

##
##ディストリビューションの最終リリース後に作成された主要なバグ修正アップデート。
debhttp://de.archive.ubuntu.com/ubuntu/ zesty-メイン制限付きアップデート
#deb-srchttp://de.archive.ubuntu.com/ubuntu/zesty-メイン制限付きアップデート

## N.B.このリポジトリのソフトウェアは、Ubuntu
##チームによって完全にサポートされていません。また、ユニバースのソフトウェアは、Ubuntuセキュリティチームから
##レビューやアップデートを受け取らないことに注意してください。
deb http://de.archive.ubuntu.com/ubuntu/ zesty universe
#deb-src http://de.archive.ubuntu.com/ubuntu/ zesty universe
deb http://de.archive.ubuntu.com/ubuntu/ zesty-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ zesty-updates universe

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

## N.B.このリポジトリのソフトウェアは、メインリリースに含まれているものほど広範囲にテストされていない可能性があります。
##便利な機能を提供する可能性のある、一部のアプリケーションの新しいバージョンが含まれています。
# #また、バックポートのソフトウェアは、Ubuntuセキュリティチームからのレビューやアップデートを受け取らないことに注意してください。
deb http://de.archive.ubuntu.com/ubuntu/ zesty-backports主な制限付きユニバースマルチバース
#deb-srchttp://de.archive.ubuntu.com/ubuntu/zesty-backports主な制限付きユニバースマルチバース

##次の2行のコメントを解除して追加しますCanonicalの
##'パートナー'リポジトリからのソフトウェア。
##このソフトウェアはUbuntuの一部ではありませんが、Canonicalと
##それぞれのベンダーによってUbuntuユーザーへのサービスとして提供されています。
#deb http://archive.canonical.com/ubuntuzestyパートナー
#deb-srchttp://archive.canonical.com/ubuntuzestyパートナー

deb http ://security.ubuntu.com/ubuntu zesty-security main restri cted
#deb-srchttp://security.ubuntu.com/ubuntuzesty-securityメイン制限
debhttp://security.ubuntu.com/ubuntu zesty-security universe
# deb-src http://security.ubuntu.com/ubuntu zesty-security universe
deb http://security.ubuntu.com/ubuntu zesty-security multiverse
#deb-src http:// security.ubuntu.com/ubuntuzesty-セキュリティマルチバース

次に実行します

 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 

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

6。 Postfix、Dovecot、MariaDB、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 

次の質問があります:

メール構成の一般的なタイプ:<-インターネットサイト
システムメール名:<-server1.example.com

後でメールドメイン(yourdomain.tldなど)として使用するドメインではなく、server1.example.comやserver1.yourdomain.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、拒否 #-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_ 

注:「-o ....」行の前の空白は重要です!

後でPostfixを再起動します:

サービスpostfixの再起動

MySQLには、ローカルホストだけでなく、すべてのインターフェイスでリッスンする必要があります。したがって、/ etc / mysql / mariadb.conf.d / 50-server.cnfを編集し、bind-address =127.0.0.1の行をコメントアウトして、 sql-mode ="NO_ENGINE_SUBSTITUTION"の行を追加します。 :

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

sql-mode ="NO_ENGINE_SUBSTITUTION"

[...]

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

 mysql_secure_installation 

次の質問があります:

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

MariaDBのパスワード認証方法をネイティブに設定して、後でPHPMyAdminを使用してrootユーザーとして接続できるようにします。

 echo "update mysql.user set plugin ='mysql_native_password' where user ='root';" | mysql -u root 

ファイル/etc/mysql/debian.cnfを編集し、パスワードで始まる行にMYSQL/MariaDBルートパスワードを2回設定します。

 nano /etc/mysql/debian.cnf 

追加する必要のあるMySQLルートパスワードはreadに表示されます。この例では、パスワードは「howtoforge」です。

#Debianスクリプト用に自動的に生成されます。触れないでください!
[client]
host =localhost
user =root
password =howtoforge
socket =/var/run/mysqld/mysqld.sock
[mysql_upgrade]
host =localhost
user =root
password =howtoforge
socket =/var/run/mysqld/mysqld.sock
basedir =/ usr

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

 service mysql restart 

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

 netstat -tap | grep mysql 

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

 [メール保護]:〜#netstat -tap | grep mysql 
tcp6 0 0 [::]:mysql [::]:* LISTEN 28036 / 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のセットアップでは、SpamAssassinフィルターライブラリを内部的にロードするamavisdを使用するため、SpamAssassinを停止してRAMを解放できます。

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

ClamAVを開始するには:

 freshclam 
service clamav-daemon start

次のエラーは、freshclamの最初の実行では無視できます。

エラー:/var/log/clamav/freshclam.logが別のプロセスによってロックされています
エラー:内部ロガーに問題があります(UpdateLogFile =/var/log/clamav/freshclam.log)。

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. 完璧なサーバー-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)

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

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

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

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

  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)