このチュートリアルでは、Nginx、PHP、MariaDB、Postfix、pure-ftpd、BIND、Dovecot、およびISPConfig3.1を使用してUbuntu18.04(Bionic Beaver)サーバーをインストールする手順を示します。 ISPConfigは、Webブラウザを介してインストールされたサービスを構成できるWebホスティングコントロールパネルです。この設定により、完全なホスティングサーバーに、Web、電子メール(スパムおよびウイルス対策フィルターを含む)、データベース、FTP、およびDNSサービスが提供されます。
1。予備的注意
このチュートリアルでは、ネットワーク構成にホスト名server1.example.comとIPアドレス192.168.1.100およびゲートウェイ192.168.1.1を使用します。これらの設定は異なる場合があるため、必要に応じて置き換える必要があります。先に進む前に、このチュートリアルで説明されているように、Ubuntu18.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 18.04 LTS _Bionic Beaver_-リリースamd64(20180425.1)] /bionicmain制限付き
#deb cdrom:[Ubuntu-サーバー18.04LTS_Bionic Beaver_-リリースamd64(20180425.1)] /bionicmain制限付き
#アップグレード方法については、http://help.ubuntu.com/community/UpgradeNotesを参照してください
#newerディストリビューションのバージョン。
debhttp://de.archive.ubuntu.com/ubuntu/ bionicmain制限付き
#deb-src http://de.archive.ubuntu.com/ubuntu/ bionic主な制限付き
##
##ディストリビューションの最終リリース後に作成された主要なバグ修正アップデート。
debhttp://de.archive.ubuntu.com/ubuntu/ bionic-updatesmain制限付き
#deb-src http://de.archive.ubuntu.com/ubuntu/bionic-updatesmain制限付き
## N.B.このリポジトリのソフトウェアは、Ubuntu
##チームによって完全にサポートされていません。また、ユニバースのソフトウェアは、Ubuntuセキュリティチームから
##レビューやアップデートを受け取らないことに注意してください。
deb http://de.archive.ubuntu.com/ubuntu/ bionic universe
#deb-src http://de.archive.ubuntu.com/ubuntu/ bionic universe
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates universe
# deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates universe
## N.B.このリポジトリのソフトウェアは、Ubuntu
##チームによって完全にサポートされておらず、無料のライセンスが適用されていない可能性があります。
##ソフトウェアを使用する権利についてご満足ください。また、
##マルチバースのソフトウェアはUbuntu
##セキュリティチームからレビューやアップデートを受け取らないことに注意してください。
debhttp://de.archive.ubuntu.com/ ubuntu / bionic multiverse
#deb-src http://de.archive.ubuntu.com/ubuntu/ bionic multiverse
deb http://de.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
#deb-src http://de.archive.ubuntu.com/ubuntu/ bionic-updates multiverse
## N.B.このリポジトリのソフトウェアは、メインリリースに含まれているものほど広範囲にテストされていない可能性があります。
##便利な機能を提供する可能性のある、一部のアプリケーションの新しいバージョンが含まれています。
# #また、バックポートのソフトウェアは、Ubuntuセキュリティチームからのレビューやアップデートを受け取らないことに注意してください。
deb http://de.archive.ubuntu.com/ubuntu/ bionic-backports主な制限付きユニバースマルチバース
#deb-srchttp://de.archive.ubuntu.com/ubuntu/bionic-backports主な制限付きユニバースマルチバース
##次の2行のコメントを解除して追加しますCanonicalの
##'パートナー'リポジトリからのソフトウェア。
##このソフトウェアはUbuntuの一部ではありませんが、Canonicalと
##それぞれのベンダーによってUbuntuユーザーへのサービスとして提供されています。
#debhttp://archive.canonical.com/ubuntuバイオニックパートナー
#deb-srchttp://archive.canonical.com/ubuntuバイオニックパートナー
deb http ://security.ubuntu.com/ubuntu bionic-security main r制限付き
#deb-srchttp://security.ubuntu.com/ubuntubionic-securityメイン制限付き
debhttp://security.ubuntu.com/ubuntu bionic-security universe
# deb-src http://security.ubuntu.com/ubuntu bionic-security universe
deb http://security.ubuntu.com/ubuntu bionic-security multiverse
#deb-src http:// security.ubuntu.com/ubuntubionic-securityマルチバース
次に実行します:
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_注: 「-o....」行の前の空白は重要です!
後で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でrootパスワードを設定します。実行:
mysql_secure_installation次の質問があります:
rootの現在のパスワードを入力します(noneの場合はEnter):<-Enterキーを押します
rootパスワードを設定しますか? [Y / n] <-y
新しいパスワード:<-ここに新しいMariaDBルートパスワードを入力します
新しいパスワードを再入力します:<-パスワードを繰り返します
匿名ユーザーを削除しますか? [Y / n] <-y
rootログインをリモートで禁止しますか? [Y / n] <-y
特権テーブルを今すぐリロードしますか? [Y / n] <-yMariaDBのパスワード認証方法をネイティブに設定して、後で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 restartMariaDBとMySQLのsystemdサービス名は「mysql」であるため、restartコマンドは両方のデータベースサーバーで同じです。
MySQL
nano /etc/mysql/my.cnf[...]#スキップネットワークの代わりに、デフォルトでは、より互換性があり、安全性が低くない#localhostでのみリッスンするようになりました。# bind-address =127.0.0.1 [...]次に、MySQLを再起動します:
service mysql restartMariaDBとMySQLのsystemdサービス名は「mysql」であるため、restartコマンドは両方のデータベースサーバーで同じです。
MySQLおよびMariaDBの場合:
次に、ネットワークが有効になっていることを確認します。実行:
netstat -tap | grep mysql出力は次のようになります。
[メール保護]:〜#netstat -tap | grep mysql
tcp6 0 0 [::]:mysql [::]:* LISTEN 12210 / mysqld7。 Amavisd-new、SpamAssassin、およびClamAVをインストールします
amavisd-new、SpamAssassin、およびClamAVをインストールするには、
を実行します。apt-get -y install amavisd-new spamassassin clamav clamav-daemon 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 libdbd-mysql-perlISPConfig 3のセットアップではamavisd-newを使用して、SpamAssassinフィルターライブラリを内部でロードするため、SpamAssassinを停止してRAMを解放できます。
service spamassassin stop
update-rc.d -f spamassassin removeClamAVアンチウイルス署名を更新し、Clamdサービスを開始します。更新プロセスには時間がかかる場合があります。中断しないでください。
freshclam
service clamav-daemon start次のエラーは、freshclamの最初の実行では無視できます。
エラー:/var/log/clamav/freshclam.logが別のプロセスによってロックされています
エラー:内部ロガーに問題があります(UpdateLogFile =/var/log/clamav/freshclam.log)。amavisd-newプログラムには、現在Ubuntu 18.04にバグがあり、メールがDkimで正しく署名されないようになっています。次のコマンドを実行して、amavisd-newにパッチを適用します。
cd / tmp
wget https://git.ispconfig.org/ispconfig/ispconfig3/raw/stable-3.1/helper_scripts/ubuntu-amavisd-new-2.11.patch
cd / usr / sbin
cp -pf amavisd-new amavisd-new_bak
patch最後の「patch」コマンドでエラーが発生した場合は、Ubuntuがその間に問題を修正した可能性があるため、そのエラーを無視しても安全です。
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 luarocksluarocksは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にインストールされました。
完璧なサーバー-Apache、PHP、MySQL、PureFTPD、BIND、Postfix、Dovecot、ISPConfig3.1を搭載したUbuntu18.04(Bionic Beaver) Ubuntu18.04LTSにCroogoCMSをインストールする方法Ubuntu