サーバー設定 · 2 min read · Sep 22, 2025
完璧なサーバー – Apache2、Postfix、Dovecot、Pure-FTPD、BIND、ISPConfig 3を搭載したCentOS 7.1
このチュートリアルでは、CentOS 7.1 (64Bit) サーバーにISPConfig 3をインストールする方法を示します。ISPConfig 3は、次のサービスをWebブラウザを通じて構成できるWebホスティングコントロールパネルです: Apache Webサーバー、Postfixメールサーバー、MySQL、BINDネームサーバー、PureFTPd、SpamAssassin、ClamAV、Mailmanなど。バージョン3.0.4以降、ISPConfigはApacheに加えてnginx Webサーバーの完全サポートを提供します。このチュートリアルでは、nginxではなくApacheを使用するサーバーのセットアップをカバーします。
1 要件
このようなシステムをインストールするには、次のものが必要です:
- CentOS 7.1の最小サーバーシステム。これは、私たちのCentOS 7.1最小サーバーチュートリアルに記載されているように、ゼロからインストールされたサーバーか、最小のCentOS 7.1セットアップがインストールされたホスティング会社の仮想サーバーまたはルートサーバーである必要があります。
- 高速なインターネット接続。
2 予備ノート
このチュートリアルでは、ホスト名server1.example.com、IPアドレス192.168.1.100、ゲートウェイ192.168.1.254を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換える必要があります。
3 キーボードレイアウトの設定
サーバーのキーボードレイアウトがあなたのキーボードと一致しない場合、正しいキーボードに切り替えることができます(私の場合はドイツ語キーボードレイアウトのため「de」):
localectl set-keymap deすべての利用可能なキーマップのリストを取得するには、次のコマンドを実行します:
localectl list-keymapsこのチュートリアルの最後にISPConfigをインストールしたいと思います。ISPConfigには、私がファイアウォールとして使用したいBastilleファイアウォールスクリプトが付属しているため、デフォルトのCentOSファイアウォールを無効にします。もちろん、CentOSファイアウォールを有効にして、必要に応じて構成することもできます(ただし、その場合は、後で他のファイアウォールを使用しない方が良いでしょう。おそらくCentOSファイアウォールと干渉するためです)。
次のコマンドを実行して、CentOSファイアウォールを停止し、無効にします:
yum -y install net-tools
systemctl stop firewalld.service
systemctl disable firewalld.service次に、ファイアウォールが本当に無効になっているか確認する必要があります。そのためには、次のコマンドを実行します:
iptables -L出力は次のようになります:
[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destinationChain FORWARD (policy ACCEPT)
target prot opt source destinationChain OUTPUT (policy ACCEPT)
target prot opt source destinationまたは、firewall-cmdコマンドを使用します:
firewall-cmd --state[root@server1 ~]# firewall-cmd --state
not running
[root@server1 ~]#次に、ネットワーク構成エディタと、次のステップで構成ファイルを編集するために使用するシェルベースのエディタ「nano」をインストールします:
yum -y install nano wget NetworkManager-tuiインストール中にネットワークカードを構成しなかった場合は、今すぐ行うことができます。次のコマンドを実行します:
nmtui… そして「接続を編集」を選択します:

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

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

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

そして、nmtuiネットワーク構成ツールを閉じるためにQuitを選択します。

次に、インストーラーがIPアドレスを正しく取得したかどうかを確認するために、次のコマンドを実行します:
ifconfig[root@server1 ~]# ifconfig
ens33: flags=4163 mtu 1500
inet 192.168.1.100 netmask 255.255.255.0 broadcast 192.168.1.255
inet6 fe80::20c:29ff:fecd:cc52 prefixlen 64 scopeid 0x20
ether 00:0c:29:cd:cc:52 txqueuelen 1000 (Ethernet)
RX packets 55621 bytes 79601094 (75.9 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 28115 bytes 2608239 (2.4 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73 mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10
loop txqueuelen 0 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 ネットワークカードがそこに表示されない場合、起動時に有効になっていない可能性があります。この場合、ファイル/etc/sysconfig/network-scripts/ifcfg-eth0を開きます。
nano /etc/sysconfig/network-scripts/ifcfg-ens33ONBOOTをyesに設定します:
[...]
ONBOOT=yes
[...] そしてサーバーを再起動します。
/etc/resolv.confを確認して、以前に構成したすべてのネームサーバーがリストされているか確認します:
cat /etc/resolv.confネームサーバーが欠けている場合は、次のコマンドを実行して再度追加します:
nmtui次に、構成に進みます…
4 /etc/hostsの調整
次に、/etc/hostsを編集します。次のようにします:
nano /etc/hosts127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
192.168.1.100 server1.example.com server1
::1 localhost localhost.localdomain localhost6 localhost6.localdomain65 SELinuxの無効化
SELinuxは、拡張セキュリティを提供するCentOSのセキュリティ拡張です。私の意見では、セキュアなシステムを構成するために必要ありませんし、通常は利点よりも問題を引き起こすことが多いです(あるサービスが期待通りに動作しなかったために1週間のトラブルシューティングを行った後、すべてが正常で、SELinuxが問題を引き起こしていたことがわかることを考えてみてください)。したがって、私はそれを無効にします(ISPConfigを後でインストールしたい場合は必須です)。
/etc/selinux/configを編集し、SELINUX=disabledに設定します:
nano /etc/selinux/config# このファイルは、システム上のSELinuxの状態を制御します。
# SELINUX=は次の3つの値のいずれかを取ることができます:
# enforcing - SELinuxセキュリティポリシーが強制されます。
# permissive - SELinuxは強制する代わりに警告を表示します。
# disabled - SELinuxポリシーはロードされません。
SELINUX=disabled
# SELINUXTYPE=は次の2つの値のいずれかを取ることができます:
# targeted - 対象プロセスが保護されます。
# mls - マルチレベルセキュリティ保護。
SELINUXTYPE=targeted
その後、システムを再起動する必要があります:
reboot6 追加リポジトリの有効化とソフトウェアのインストール
まず、ソフトウェアパッケージのGPGキーをインポートします:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*次に、CentOSシステムでEPELリポジトリを有効にします。チュートリアルの過程でインストールする多くのパッケージは、公式のCentOS 7リポジトリにはありません:
yum -y install epel-releaseyum -y install yum-priorities/etc/yum.repos.d/epel.repoを編集します…
nano /etc/yum.repos.d/epel.repo… そして[epel]セクションにpriority=10の行を追加します:
[epel]
name=Extra Packages for Enterprise Linux 7 - $basearch
#baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch
mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch
failovermethod=priority
enabled=1
priority=10
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7
[...]次に、システム上の既存のパッケージを更新します:
yum update次に、後で必要なソフトウェアパッケージをインストールします:
yum -y groupinstall 'Development Tools'7 クォータ
(私が選んだパーティショニングスキームが異なる場合は、この章を調整して、クォータが必要なパーティションに適用されるようにしてください。)
クォータをインストールするには、次のコマンドを実行します:
yum -y install quota次に、ウェブサイト(/var/www)とメールデータ(var/vmail)が保存されているファイルシステムでクォータがすでに有効になっているかどうかを確認します。この例のセットアップでは、1つの大きなルートパーティションがあるため、’ / ‘を検索します:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,noquota)
[root@server1 ~]#別の/varパーティションがある場合は、次のようにします:
mount | grep ' /var 'その行に「 noquota 」という単語が含まれている場合は、次の手順に進んでクォータを有効にします。
/ (ルート) パーティションでのクォータの有効化
通常、/etc/fstabファイルでクォータを有効にしますが、ファイルシステムがルートファイルシステム「/」の場合、クォータはLinuxカーネルのブートパラメータによって有効にする必要があります。
grub設定ファイルを編集します:
nano /etc/default/grubGRUB_CMDLINE_LINUXで始まる行を検索し、コマンドラインパラメータにrootflags=uquota,gquotaを追加して、結果の行が次のようになるようにします:
GRUB_CMDLINE_LINUX="rd.lvm.lv=centos/swap vconsole.font=latarcyrheb-sun16 rd.lvm.lv=centos/root crashkernel=auto vconsole.keymap=us rhgb quiet rootflags=uquota,gquota"次に、次のコマンドを実行して変更を適用します。
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg_bak
grub2-mkconfig -o /boot/grub2/grub.cfgそしてサーバーを再起動します。
reboot次に、クォータが有効になっているかどうかを確認します:
mount | grep ' / '[root@server1 ~]# mount | grep ' / '
/dev/mapper/centos-root on / type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)
[root@server1 ~]#クォータがアクティブな場合、マウントオプションリストに「 usrquota,grpquota 」が表示されます。
別の/varパーティションでのクォータの有効化
別の/varパーティションがある場合は、/etc/fstabを編集し、/パーティション(/dev/mapper/centos-var)に、uquota,gquotaを追加します:
nano /etc/fstab
#
# /etc/fstab
# anacondaによって2014年9月21日16:33:45に作成されました
#
# 参照によってアクセス可能なファイルシステムは、'/dev/disk'の下に維持されます
# 詳細については、manページ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 /varquotacheck -avugm
quotaon -avugクォータを有効にします。クォータが有効なパーティションがないというエラーが表示された場合は、次に進む前にサーバーを再起動してください。
8 Apache、MySQL、phpMyAdminのインストール
必要なパッケージを1つのコマンドでインストールできます:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。