開発運用

CentOS 7 初期設定ガイド

CentOS 7 の初期設定は、サーバーやデスクトップの運用において非常に重要なプロセスです。このプロセスでは、セキュリティの強化、ネットワーク設定、パッケージ管理の設定、システムの最適化など、多くの作業が含まれます。以下に、CentOS 7 の完全かつ包括的な初期設定手順を示します。

1. システムのインストールと基本設定

まず最初に、CentOS 7 をインストールする必要があります。公式サイトから CentOS 7 の ISO イメージをダウンロードし、インストールメディアを作成します。インストール後に最初に行うべき設定は以下の通りです。

システムのタイムゾーン設定

システムのタイムゾーンは timedatectl コマンドを使用して設定できます。例として、東京(日本標準時)のタイムゾーンに設定する方法は以下の通りです。

bash
sudo timedatectl set-timezone Asia/Tokyo

ホスト名の設定

サーバーのホスト名を設定することで、ネットワーク上で一意に識別できるようになります。hostnamectl コマンドを使って、ホスト名を設定します。

bash
sudo hostnamectl set-hostname myserver

2. セキュリティの強化

SELinux の設定

CentOS 7 では、SELinux(Security-Enhanced Linux)がデフォルトで有効になっています。セキュリティを強化するために、SELinux の設定を確認し、適切なモードに設定します。SELinux の状態を確認するには、以下のコマンドを使用します。

bash
sestatus

もし、SELinux statusdisabled でない場合、/etc/selinux/config ファイルを編集して、SELinux を強制的に有効化します。

bash
sudo vi /etc/selinux/config

設定例:

ini
SELINUX=enforcing

ファイアウォールの設定

CentOS 7 では、firewalld がデフォルトのファイアウォール管理ツールです。まず、ファイアウォールが有効になっていることを確認します。

bash
sudo systemctl status firewalld

ファイアウォールが無効になっている場合、以下のコマンドで有効にします。

bash
sudo systemctl start firewalld sudo systemctl enable firewalld

ファイアウォールの基本的な設定を行うには、firewall-cmd コマンドを使用します。例として、SSH(ポート22)を許可する設定は以下の通りです。

bash
sudo firewall-cmd --zone=public --add-service=ssh --permanent sudo firewall-cmd --reload

root アカウントの制限

root アカウントで直接ログインするのはセキュリティリスクが高いため、SSH 設定を変更して、root ログインを無効にすることをおすすめします。/etc/ssh/sshd_config ファイルを編集します。

bash
sudo vi /etc/ssh/sshd_config

PermitRootLogin を以下のように変更します。

nginx
PermitRootLogin no

その後、SSH サービスを再起動します。

bash
sudo systemctl restart sshd

3. パッケージの更新と管理

パッケージの更新

CentOS 7 のインストール後、最初に行うべきことは、パッケージを最新の状態に更新することです。以下のコマンドを実行して、システムを更新します。

bash
sudo yum update -y

必要なパッケージのインストール

一般的に使用されるパッケージ(例えば、vimwget)をインストールするには、yum コマンドを使用します。

bash
sudo yum install vim wget curl -y

4. ネットワーク設定

IP アドレスの設定

CentOS 7 では、ネットワーク設定ファイルは /etc/sysconfig/network-scripts/ に格納されています。インターフェース設定ファイル(例:ifcfg-eth0)を編集することで、IP アドレスを手動で設定できます。

bash
sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0

以下のように設定します(静的 IP アドレスの場合):

ini
BOOTPROTO=static ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1

設定後、ネットワークサービスを再起動します。

bash
sudo systemctl restart network

ネームサーバーの設定

DNS サーバーを設定するには、/etc/resolv.conf ファイルを編集します。

bash
sudo vi /etc/resolv.conf

DNS サーバーを指定します(例:Google の DNS サーバー)。

nginx
nameserver 8.8.8.8 nameserver 8.8.4.4

5. ユーザー管理

新しいユーザーの追加

新しいユーザーを追加するには、useradd コマンドを使用します。

bash
sudo useradd username sudo passwd username

sudo の設定

sudo を使用できるようにするために、新しく作成したユーザーを wheel グループに追加します。

bash
sudo usermod -aG wheel username

6. ログ管理と監視

ログファイルの確認

CentOS 7 では、システムログは /var/log/ ディレクトリに保存されます。主なログファイルには、/var/log/messages/var/log/secure があります。ログを確認するには、cattail コマンドを使用します。

bash
sudo tail -f /var/log/messages

システム監視ツールのインストール

システム監視ツール(htopiotop)をインストールすることで、リソースの使用状況をリアルタイムで確認できます。

bash
sudo yum install htop iotop -y

7. 自動更新の設定

セキュリティパッチを自動で適用するために、yum-cron をインストールし、設定を行います。

bash
sudo yum install yum-cron -y sudo systemctl enable yum-cron sudo systemctl start yum-cron

8. サービスの管理

CentOS 7 では、systemd によってサービスを管理します。サービスの起動や停止を行うためには、systemctl コマンドを使用します。

  • サービスの起動:
bash
sudo systemctl start service_name
  • サービスの停止:
bash
sudo systemctl stop service_name
  • サービスの自動起動設定:
bash
sudo systemctl enable service_name

9. バックアップの設定

システムのバックアップを定期的に行うためには、rsynctar コマンドを使用して、重要なファイルやディレクトリをバックアップします。

例:rsync を使用したバックアップコマンド

bash
sudo rsync -avz /important_directory /backup_directory

結論

CentOS 7 の初期設定は、サーバーの安全性、パフォーマンス、管理性を向上させるために非常に重要です。セキュリティ設定、ネットワーク設定、ユーザー管理、パッケージのインストールと更新、バックアップの実施などを通じて、安定したシステム運用が可能になります。

Back to top button