サーバー設定 · 3 min read · Sep 22, 2025
完璧なサーバー – CentOS 7 (Apache2, Dovecot, ISPConfig 3)
このチュートリアルでは、ISPConfig 3 のインストールのために CentOS 7 x86_64 サーバーを準備する方法と、ISPConfig 3 をインストールする方法を示します。ISPConfig 3 は、以下のサービスをウェブブラウザを通じて構成できるウェブホスティングコントロールパネルです: Apache ウェブサーバー、Postfix メールサーバー、MySQL、BIND ネームサーバー、PureFTPd、SpamAssassin、ClamAV、Mailman など。バージョン 3.0.4 以降、ISPConfig は Apache に加えて nginx ウェブサーバーの完全なサポートを提供します。このチュートリアルでは、nginx ではなく Apache を使用するサーバーのセットアップをカバーします。
ISPConfig 3 マニュアル
ISPConfig 3 の使い方を学ぶために、ISPConfig 3 マニュアルをダウンロードすることを強くお勧めします。
300 ページ以上にわたり、ISPConfig の概念 (管理者、リセラー、クライアント) をカバーし、ISPConfig 3 のインストールと更新方法を説明し、ISPConfig 内のすべてのフォームとフォームフィールドのリファレンスを有効な入力の例と共に含み、ISPConfig 3 の最も一般的なタスクのためのチュートリアルを提供します。また、サーバーをより安全にする方法を説明し、最後にトラブルシューティングセクションを提供します。
1 要件
このようなシステムをインストールするには、以下が必要です:
- CentOS 7 の最小サーバーシステム。これは、私たちの CentOS 7 最小サーバーチュートリアルに記載されているように、ゼロからインストールされたサーバーか、最小の CentOS 7 セットアップがインストールされたホスティング会社の仮想サーバーまたはルートサーバーである必要があります。
- 高速インターネット接続。
2 予備ノート
このチュートリアルでは、ホスト名 server1.example.com と IP アドレス 192.168.1.100、ゲートウェイ 192.168.1.254 を使用します。これらの設定はあなたの環境によって異なる場合があるため、適宜置き換えてください。
3 キーボードレイアウトの設定
現在の CentOS 7 インストーラーにはバグがあるため、インストール中に選択したものとは異なるキーボードレイアウトでシェルが表示されることがあります。このバグに遭遇した場合は、localectl コマンドを使用して正しいキーボードに切り替えることができます (私の場合は「de」でドイツ語のキーボードレイアウト):
localectl set-keymap de利用可能なすべてのキーマップのリストを取得するには、次のコマンドを実行します:
localectl list-keymapsこのチュートリアルの最後に ISPConfig をインストールしたいので、デフォルトの CentOS ファイアウォールを無効にします。もちろん、必要に応じてファイアウォールを有効にして設定することもできます (ただし、その場合は、後で他のファイアウォールを使用しない方が良いでしょう。おそらく CentOS ファイアウォールと干渉する可能性が高いです)。
実行します…
systemctl stop firewalld.service
systemctl disable firewalld.service次に、次のステップで必要な基本的なネットワークツールとシェルベースのエディタをインストールします:
yum -y install nano wget net-tools NetworkManager-tuiインストール中にネットワークカードを設定しなかった場合は、今すぐ設定できます。実行します…
nmtui… そして「接続を編集」に移動します:

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

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

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

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

今すぐ実行する必要があります
ifconfigインストーラーが IP アドレスを正しく取得したかどうかを確認します:
[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 ファイアウォールの設定
(基本システムのインストールの最後でファイアウォールを無効にした場合は、この章をスキップできます。)
このチュートリアルの最後に ISPConfig をインストールしたいので、デフォルトの CentOS ファイアウォールを無効にします。もちろん、必要に応じてファイアウォールを有効にして設定することもできます (ただし、その場合は、後で他のファイアウォールを使用しない方が良いでしょう。おそらく CentOS ファイアウォールと干渉する可能性が高いです)。
実行します
systemctl stop firewalld.service
systemctl disable firewalld.serviceそしてファイアウォールを無効にします。
ファイアウォールが本当に無効になっているか確認するには、次のコマンドを実行できます
ip6tables -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 ~]#6 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その後、システムを再起動する必要があります:
reboot7 追加のリポジトリを有効にし、いくつかのソフトウェアをインストールする
まず、ソフトウェアパッケージの GPG キーをインポートします:
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*次に、CentOS システムで EPEL リポジトリを有効にします。チュートリアルの過程でインストールする多くのパッケージは、公式の CentOS 7 リポジトリにはありません:
rpm -ivh http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-2.noarch.rpmyum -y install yum-priorities/etc/yum.repos.d/epel.repo を編集します…
nano /etc/yum.repos.d/epel.repo… そして [epel] セクションに priority=10 の行を追加します:
[epel]
name=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'8 クォータ
(私が選んだのとは異なるパーティショニングスキームを選択した場合は、クォータが必要なパーティションに適用されるようにこの章を調整する必要があります。)
クォータをインストールするには、次のコマンドを実行します:
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 日の日曜日に作成されました
#
# 参照によってアクセス可能なファイルシステムは '/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クォータを有効にします。
9 Apache, MySQL, phpMyAdmin のインストール
必要なパッケージを 1 つのコマンドでインストールできます:
yum -y install ntp httpd mod_ssl mariadb-server php php-mysql php-mbstring phpmyadmin新しい投稿を受信箱で受け取る
スパムはありません。いつでも購読を解除できます。