GNU/Linux >> Linux の 問題 >  >> Cent OS

Apache、PHP 7.2、Postfix、Dovecot、Pure-FTPD、BIND、およびISPConfig3.1を搭載したPerfectServer CentOS 7.6

このチュートリアルでは、CentOS 7.6(64ビット)サーバーへのISPConfig3.1のインストールについて説明します。 ISPConfigは、Webブラウザを介して次のサービスを構成できるWebホスティングコントロールパネルです:Apache Webサーバー、PHP 7.2、Postfixメールサーバー、MySQL、BINDネームサーバー、PureFTPd、SpamAssassin、ClamAV、Mailmanなど。

1要件

このようなシステムをインストールするには、次のものが必要です。

  • Centos7.6の最小限のサーバーシステム。これは、Centos 7の最小限のサーバーチュートリアルで説明されているように最初からインストールされたサーバー、または最小限のCentos7.6セットアップがインストールされているホスティング会社の仮想サーバーまたはルートサーバーの場合があります。
  • 高速インターネット接続。

2予備メモ

このチュートリアルでは、ホスト名server1.example.comとIPアドレス192.168.0.100およびゲートウェイ192.168.0.1を使用します。これらの設定はユーザーによって異なる場合があるため、必要に応じて置き換える必要があります。

3サーバーを準備します

キーボードレイアウトを設定する

サーバーのキーボードレイアウトがキーボードと一致しない場合は、右のキーボードに切り替えることができます(私の場合、ドイツ語のキーボードレイアウトの場合は、localectlコマンドを使用して「de」を使用します。

 localectl set-keymap de 

使用可能なすべてのキーマップのリストを取得するには、次のコマンドを実行します。

localectllist-キーマップ

このチュートリアルの最後にISPConfigをインストールしたいのですが、ISPConfigには、ファイアウォールとして使用するBastilleファイアウォールスクリプトが付属しているため、デフォルトのCentOSファイアウォールを無効にします。もちろん、CentOSファイアウォールをオンのままにして、必要に応じて構成することもできます(ただし、CentOSファイアウォールに干渉する可能性が高いため、後で他のファイアウォールを使用しないでください)。

実行...

 yum -y install net-tools 
systemctl stop Firewalld.service
systemctl disable Firewalld.service

CentOSファイアウォールを停止して無効にします。ここでエラーが発生しても問題ありません。これは、ファイアウォールがインストールされていないことを示しているだけです。

次に、ファイアウォールが実際に無効になっていることを確認する必要があります。これを行うには、次のコマンドを実行します:

 iptables -L 

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

 [[email protected]〜]#iptables -L 
Chain INPUT(policy ACCEPT)
target prot opt source destination
 Chain FORWARD(ポリシーACCEPT)
target prot opt source destination
チェーン出力(ポリシーACCEPT)
target prot opt source destination

または、firewall-cmdコマンドを使用します:

ファイアウォール-cmd--state
 [[email protected]〜]#firewall-cmd --state 
not running
[[email protected]〜]#

次に、ネットワーク構成エディターと、構成ファイルを編集するための次の手順で使用するシェルベースのエディター「nano」をインストールします。

 yum -y install nano wget NetworkManager-tui yum-utils 

インストール中にネットワークカードを構成しなかった場合は、ここで構成できます。実行...

 nmtui 

...そして接続の編集に移動します:

ネットワークインターフェースを選択します:

次に、ネットワークの詳細を入力します。DHCPを無効にして、静的IPアドレス、ネットマスク、ゲートウェイ、および1つまたは2つのネームサーバーを入力し、[OK]をクリックします。

次に、[OK]を選択して、ネットワーク設定で行った変更を確認します

終了してnmtuiネットワーク構成ツールを閉じます。

実行する必要があります

 ifconfig 

次に、インストーラーがIPアドレスを正しく取得したかどうかを確認します。

 [[email protected]〜]#ifconfig 
ens33:flags =4163 mtu 1500
inet 192.168.0.100 netmask 255.255.255.0 broadcast 192.168.0.255
inet6 fe80 ::20c:29ff:fee5:5b47 prefixlen 64 scopeid 0x20
inet6 2003:c2:9731:a445:20c:29ff:fee5:5b47 prefixlen 64 scopeid 0x0
ether 00:0c:29:e5:5b:47 txqueuelen 1000(イーサネット)
RXパケット227784バイト317714901(302.9 MiB)
RXエラー0ドロップ0オーバーラン0フレーム0
TXパケット205574バイト23608521(22.5 MiB)
TXエラー0ドロップ0オーバーラン0キャリア0衝突0

lo:flags =73 mtu 65536
inet 127.0 .0.1ネットマスク255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 1(ローカルループバック)
RXパケット0バイト0(0.0 B)
RXエラー0ドロップ0オーバーラン0フレーム0
TXパケット0バイト0(0.0 B)
TXエラー0ドロップ0オーバーラン0キャリア0衝突0

[[メール保護]〜 ]#

ネットワークカードがそこに表示されない場合は、起動時に有効になっていません。この場合、ファイル/ etc / sysconfig / network-scripts / ifcfg-eth0

を開きます。
 nano / etc / sysconfig / network-scripts / ifcfg-ens33 

ONBOOTをyesに設定します:

 [...] 
ONBOOT =yes
[...]

サーバーを再起動します。

/etc/resolv.confに、以前に構成したすべてのネームサーバーがリストされているかどうかを確認してください。

 cat /etc/resolv.conf 

ネームサーバーがない場合は、実行します

 nmtui 

不足しているネームサーバーを再度追加します。

次に、構成に移ります...

/ etc/hostsと/etc/hostnameの調整

次に、/ etc/hostsを編集します。次のようにします:

 nano / etc / hosts 
 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 
192.168.0.100 server1.example.com server1

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

/ etc/hostnameファイルにホスト名を設定します。ファイルには、「server1」のような短い名前だけでなく、完全修飾ドメイン名(たとえば、私の場合はserver1.example.com)が含まれている必要があります。 nanoエディターでファイルを開きます:

 nano / etc / hostname 

そして、ファイルにホスト名を設定します。

 server1.example.com 

ファイルを保存してnanoを終了します。

SELinuxをパーミッシブに設定

SELinuxはCentOSのセキュリティ拡張であり、拡張セキュリティを提供する必要があります。 ISPConfigにはSELinuxルールセットが付属していないため、permissiveに設定しました(後でISPConfigをインストールする場合は必須です)。

/ etc / selinux / configを編集し、SELINUX =permissiveを設定します:

 nano / etc / selinux / config 
#このファイルは、システム上のSELinuxの状態を制御します。#SELINUX =は、次の3つの値のいずれかを取ることができます。ポリシーがロードされます。SELINUX=permissive#SELINUXTYPE =は、次の2つの値のいずれかを取ることができます。 

その後、システムを再起動する必要があります:

再起動

4追加のリポジトリを有効にして、いくつかのソフトウェアをインストールする

まず、ソフトウェアパッケージのGPGキーをインポートします:

 rpm --import / etc / pki / rpm-gpg / RPM-GPG-KEY * 

次に、このチュートリアルの過程でインストールするパッケージの多くが公式のCentOS 7リポジトリで利用できないため、CentOSシステムでEPELリポジトリを有効にします。

 yum -y install epel-release 

次に、システム上の既存のパッケージを更新します。

 yum -y update 

次に、後で必要になるいくつかのソフトウェアパッケージをインストールします。

 yum -ygroupinstall'開発ツール'

5クォータ

(私が行ったのとは異なるパーティションスキームを選択した場合は、この章を調整して、必要なパーティションにクォータが適用されるようにする必要があります。)

クォータをインストールするには、次のコマンドを実行します:

yum-yインストールクォータ

次に、Webサイト(/ var / www)とmaildirデータ(var / vmail)が保存されているファイルシステムでクォータがすでに有効になっているかどうかを確認します。このセットアップ例では、大きなルートパーティションが1つあるので、「/」を検索します:

マウント| grep'/' 
 [[メール保護]〜]#マウント| grep'/' 
/ dev / mapper / centos-root on / type xfs(rw、relatime、attr2、inode64、noquota)
[[email protected]〜]#

別の/varパーティションがある場合は、次を使用します:

マウント| grep'/ var' 

代わりは。行に「noquota」という単語が含まれている場合 "次に、次の手順に進んでクォータを有効にします。

/(ルート)パーティションのクォータを有効にする

通常は/etc/ fstabファイルでクォータを有効にしますが、ファイルシステムがルートファイルシステム「/」の場合は、Linuxカーネルのブートパラメータでクォータを有効にする必要があります。

grub構成ファイルを編集します:

 nano / etc / default / grub 

GRUB_CMDLINE_LINUXで始まる行を検索し、rootflags =uquota、gquotaをコマンドラインパラメーターに追加して、結果の行が次のようになるようにします。

 GRUB_CMDLINE_LINUX ="crashkernel =auto rd.lvm.lv =centos / root rd.lvm.lv =centos / swap rhgb quick rootflags =uquota、gquota" 

次のコマンドを実行して変更を適用します。

 cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak 
grub2-mkconfig -o /boot/grub2/grub.cfg

サーバーを再起動します。

再起動

次に、クォータが有効になっているかどうかを確認します:

マウント| grep'/' 
 [[メール保護]〜]#マウント| grep'/' 
/ dev / mapper / centos-root on / type xfs(rw、relatime、attr2、inode64、usrquota、grpquota)
[[email protected]〜]#

クォータがアクティブな場合、「 usrquota、grpquota」が表示されます。 「マウントオプションリストにあります。

別の/varパーティションでクォータを有効にする

別の/varパーティションがある場合は、/ etc / fstabを編集し、、uquota、gquotaを/パーティション(/ dev / mapper / centos-var)に追加します。

 nano / etc / fstab 
 

#/ etc / fstab
#2014年9月21日16:33:45にanacondaによって作成

#参照可能なアクセス可能なファイルシステム、'/ dev / disk'の下で管理されます
#詳細については、マニュアルページfstab(5)、findfs(8)、mount(8)、blkid(8)を参照してください

/ dev / mapper / centos-root / xfs defaults 1 1
/ dev / mapper / centos-var / var xfs defaults、uquota、gquota 1 2
UUID =9ac06939-7e43-4efd-957a- 486775edd7b4 / boot xfs defaults 1 3
/ dev / mapper / centos-swap swap swap defaults 0 0

次に実行します

 mount -o remount / var 
 quotecheck -avugm 
quoteon -avug

クォータを有効にします。クォータが有効になっているパーティションがないというエラーが発生した場合は、続行する前にサーバーを再起動してください。

6 Apache、PHP、MySQL、およびphpMyAdminをインストールします

Remiリポジトリを有効にして、新しいPHPバージョンを取得します。

 yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm 
yum-config-manager --enable remi-php72

1つのコマンドで必要なパッケージをインストールできます:

 yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin 

HTTPOXYの脆弱性を介してサーバーが攻撃されないようにするために、ApacheのHTTP_PROXYヘッダーをグローバルに無効にします。

httpd.confファイルの最後にapacheヘッダールールを追加します:

 echo "RequestHeader unset Proxy Early">> /etc/httpd/conf/httpd.conf 

そして、httpdを再起動して構成変更を適用します。

 service httpd restart 

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

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

  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.10(nginx、MySQL、PHP、Postfix、BIND、Dovecot、Pure-FTPD、ISPConfig 3)

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