サーバー設定 · 3 min read · Nov 10, 2025

完璧なサーバー - CentOS 6.1 x86_64 と nginx [ISPConfig 3] - ページ 3

4 /etc/hosts を調整する

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

vi /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 |

5 ファイアウォールの設定

(基本的なシステムインストールの最後にファイアウォールを無効にした場合は、この章をスキップできます。)

このチュートリアルの最後に ISPConfig をインストールしたいので、デフォルトの CentOS ファイアウォールを無効にします。もちろん、必要に応じてそれを有効にして設定することもできます(ただし、その場合は、後で他のファイアウォールを使用しない方が良いでしょう。おそらく CentOS のファイアウォールと干渉するためです)。

実行します

system-config-firewall

そしてファイアウォールを無効にします。

ファイアウォールが本当に無効になったか確認するには、次のコマンドを実行できます

iptables -L 

その後の出力は以下のようになります:

[root@server1 ~]# iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination

Chain FORWARD (policy ACCEPT)
target prot opt source destination

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[root@server1 ~]#

6 SELinux を無効にする

SELinux は CentOS のセキュリティ拡張で、拡張セキュリティを提供するはずです。私の意見では、安全なシステムを構成するのに必要ありませんし、通常は利点よりも問題を引き起こすことが多いです(あるサービスが期待通りに動作しなかったために1週間トラブルシューティングを行った後、すべてが正常で、SELinux が問題を引き起こしていたことがわかることを考えてみてください)。したがって、私はそれを無効にします(後で ISPConfig をインストールしたい場合は必須です)。

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

vi /etc/selinux/config

| # このファイルはシステム上の SELinux の状態を制御します。 # SELINUX= は次の3つの値のいずれかを取ることができます: # enforcing - SELinux セキュリティポリシーが強制されます。 # permissive - SELinux は強制する代わりに警告を表示します。 # disabled - SELinux ポリシーは読み込まれません。 SELINUX=disabled # SELINUXTYPE= は次の2つの値のいずれかを取ることができます: # targeted - 対象プロセスが保護されます。 # mls - マルチレベルセキュリティ保護。 SELINUXTYPE=targeted |

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

reboot

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

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

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

次に、CentOS システムで RPMforge と EPEL リポジトリを有効にします。チュートリアルの過程でインストールする多くのパッケージは、公式の CentOS 6.1 リポジトリにはありません:

rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

cd /tmp
wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm
rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm

(上記のリンクがもう機能しない場合は、rpmforge-release の現在のバージョンをここで見つけることができます:http://packages.sw.be/rpmforge-release/)

rpm –import https://fedoraproject.org/static/0608B895.txt
wget http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm

また、後でインストールする php-fpm パッケージを含む Remi RPM リポジトリを有効にする必要があります: rpm –import http://rpms.famillecollet.com/RPM-GPG-KEY-remi
rpm -ivh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

yum install yum-priorities

/etc/yum.repos.d/epel.repo を編集します…

vi /etc/yum.repos.d/epel.repo

… そして [epel] セクションに priority=10 の行を追加します:

| [epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |

次に、/etc/yum.repos.d/remi.repo の [remi] セクションでも同様のことを行い、enabled を 1 に変更します:

vi /etc/yum.repos.d/remi.repo

| [remi] name=Les RPM de remi pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/remi/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/remi/mirror enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi failovermethod=priority [remi-test] name=Les RPM de remi en test pour Enterprise Linux $releasever - $basearch #baseurl=http://rpms.famillecollet.com/enterprise/$releasever/test/$basearch/ mirrorlist=http://rpms.famillecollet.com/enterprise/$releasever/test/mirror enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi |

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

yum update

これで、後で必要なソフトウェアパッケージをいくつかインストールします:

yum groupinstall 'Development Tools'

8 クォータ

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

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

yum install quota

/etc/fstab を編集し、/ パーティション(/dev/mapper/vg_server1-lv_root)に、usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 を追加します:

vi /etc/fstab

| # # /etc/fstab # anaconda によって 2011 年 12 月 16 日金曜日 00:22:26 に作成されました # # 参照によってアクセス可能なファイルシステムは '/dev/disk' の下に維持されます # 詳細については man ページ fstab(5), findfs(8), mount(8) および/または blkid(8) を参照してください # /dev/mapper/vg_server1-lv_root / ext4 defaults,usrjquota=aquota.user,grpjquota=aquota.group,jqfmt=vfsv0 1 1 UUID=d995c881-fbc7-409f-bcad-86d255331a3f /boot ext4 defaults 1 2 /dev/mapper/vg_server1-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0 |

次に実行します

mount -o remount /

quotacheck -avugm
quotaon -avug

クォータを有効にします。

9 システムクロックを同期する

システムクロックをインターネット上の NTP ( n etwork t ime p rotocol) サーバーと同期させるのは良いアイデアです。単に実行します

yum install ntp

そして、システムの時間は常に同期されます。

10 MySQL をインストールする

MySQL を次のようにインストールします:

yum install mysql mysql-server

次に、MySQL のシステム起動リンクを作成し、起動します:

chkconfig –levels 235 mysqld on
/etc/init.d/mysqld start

MySQL の root アカウントのパスワードを設定します:

mysql_secure_installation

[root@server1 tmp]# mysql_secure_installation

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!

MySQL にログインして安全にするためには、root ユーザーの現在のパスワードが必要です。
MySQL をインストールしたばかりで、まだ root パスワードを設定していない場合、パスワードは空白になりますので、ここで単に Enter を押してください。

Enter current password for root (enter for none):
OK, successfully used password, moving on…

root パスワードを設定することで、誰も適切な認証なしに MySQL root ユーザーにログインできなくなります。

Set root password? [Y/n] <– ENTER
New password: <– yourrootsqlpassword
Re-enter new password: <– yourrootsqlpassword
Password updated successfully!
Reloading privilege tables..
… Success!

デフォルトでは、MySQL インストールには匿名ユーザーがあり、誰でもユーザーアカウントを作成することなく MySQL にログインできます。
これはテスト用のみを目的としており、インストールを少しスムーズにするためのものです。
本番環境に移行する前に、これらを削除する必要があります。

Remove anonymous users? [Y/n] <– ENTER
… Success!

通常、root は ‘localhost’ からのみ接続を許可されるべきです。
これにより、誰かがネットワークから root パスワードを推測できなくなります。

Disallow root login remotely? [Y/n] <– ENTER
… Success!

デフォルトでは、MySQL には ‘test’ という名前のデータベースがあり、誰でもアクセスできます。
これもテスト用のみを目的としており、本番環境に移行する前に削除する必要があります。

Remove test database and access to it? [Y/n] <– ENTER

  • Dropping test database…
    … Success!
  • Removing privileges on test database…
    … Success!

特権テーブルを再読み込みすることで、これまでに行ったすべての変更が即座に反映されることを保証します。

Reload privilege tables now? [Y/n] <– ENTER
… Success!

Cleaning up…

すべて完了しました!
上記のすべての手順を完了した場合、MySQL のインストールは安全になっているはずです。

MySQL を使用していただきありがとうございます!

[root@server1 tmp]#

Share: X/Twitter LinkedIn

新しい投稿を受信箱で受け取る

スパムはありません。いつでも購読を解除できます。