CentOS ISO インストール後の初期設定:快適なCentOS環境を構築
CentOS は、Red Hat Enterprise Linux (RHEL) のソースコードを基に構築された、無償で利用できるエンタープライズクラスの Linux ディストリビューションです。安定性とセキュリティに優れており、サーバー用途を中心に広く利用されています。CentOS をインストールした後、快適な利用環境を構築するためには、いくつかの初期設定を行う必要があります。本記事では、CentOS ISO インストール後の基本的な初期設定から、より高度な設定までを網羅的に解説します。
1. はじめに:CentOS インストール後の初期設定の重要性
CentOS をインストールした直後の状態は、必要最低限の機能しか備わっていません。初期設定を適切に行うことで、セキュリティの強化、パフォーマンスの最適化、使い勝手の向上など、様々なメリットが得られます。
- セキュリティの強化: デフォルトのセキュリティ設定は、必ずしも最適な状態ではありません。不要なサービスを停止したり、ファイアウォールの設定を見直したりすることで、セキュリティリスクを低減できます。
- パフォーマンスの最適化: デフォルトの設定では、システムリソースが効率的に利用されていない場合があります。不要なサービスを停止したり、スワップ領域の設定を見直したりすることで、パフォーマンスを向上させることができます。
- 使い勝手の向上: デフォルトの言語設定やキーボードレイアウトが、必ずしもユーザーのニーズに合致するとは限りません。これらの設定を調整することで、より快適に CentOS を利用できるようになります。
- 必要なソフトウェアのインストール: CentOS を利用する目的に合わせて、必要なソフトウェアをインストールする必要があります。開発環境を構築したり、Web サーバーを構築したりするには、それぞれ適切なソフトウェアをインストールする必要があります。
本記事では、これらの点を考慮し、CentOS の初期設定をステップバイステップで解説します。
2. ネットワーク設定
CentOS をインストールした後、まず最初に確認すべきなのはネットワーク設定です。ネットワークに接続できないと、ソフトウェアのアップデートや追加インストール、外部サーバーとの通信など、様々な作業が行えません。
2.1. ネットワークインターフェースの確認
CentOS には、複数のネットワークインターフェースが存在する場合があります。どのインターフェースが有効になっているかを確認するには、ip addr
コマンドを使用します。
bash
ip addr
このコマンドを実行すると、各ネットワークインターフェースの情報が表示されます。state UP
と表示されているインターフェースが、現在有効になっているインターフェースです。通常、eth0
や enp0s3
のような名前で表示されます。
2.2. IP アドレスの設定
IP アドレスの設定方法は、大きく分けて DHCP による自動設定と、固定 IP アドレスの設定の2種類があります。
2.2.1. DHCP による自動設定
DHCP (Dynamic Host Configuration Protocol) は、ネットワーク上のサーバーから自動的に IP アドレス、サブネットマスク、ゲートウェイ、DNS サーバーなどの情報を取得する仕組みです。CentOS のデフォルト設定では、DHCP が有効になっているため、通常は自動的に IP アドレスが割り当てられます。
DHCP で IP アドレスが割り当てられているかどうかを確認するには、ip addr
コマンドの出力結果を確認します。inet
の行に IP アドレスが表示されていれば、DHCP で IP アドレスが割り当てられています。
2.2.2. 固定 IP アドレスの設定
固定 IP アドレスを設定する場合は、ネットワークインターフェースの設定ファイルを編集する必要があります。CentOS 7 以降では、nmcli
コマンドを使用するのが一般的です。
まず、現在有効になっているネットワークインターフェースの名前を確認します。
bash
nmcli connection show
このコマンドを実行すると、接続名が表示されます。通常、eth0
や enp0s3
のような名前で表示されます。
次に、nmcli
コマンドを使用して、固定 IP アドレスを設定します。
bash
sudo nmcli connection modify [接続名] ipv4.addresses [IPアドレス]/[プレフィックス長] ipv4.gateway [ゲートウェイアドレス] ipv4.dns [DNSサーバーアドレス] ipv4.method manual
sudo nmcli connection up [接続名]
[接続名]
には、上記で確認した接続名を入力します。[IPアドレス]
には、設定したい固定 IP アドレスを入力します。[プレフィックス長]
には、サブネットマスクのプレフィックス長を入力します。例えば、サブネットマスクが255.255.255.0
の場合は、24
を入力します。[ゲートウェイアドレス]
には、ゲートウェイのアドレスを入力します。[DNSサーバーアドレス]
には、DNS サーバーのアドレスを入力します。
例えば、接続名が enp0s3
、IP アドレスが 192.168.1.100
、プレフィックス長が 24
、ゲートウェイアドレスが 192.168.1.1
、DNS サーバーアドレスが 8.8.8.8
の場合、以下のようになります。
bash
sudo nmcli connection modify enp0s3 ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 ipv4.method manual
sudo nmcli connection up enp0s3
2.3. ホスト名の設定
ホスト名は、ネットワーク上でサーバーを識別するための名前です。CentOS のデフォルトホスト名は、localhost.localdomain
となっています。
ホスト名を変更するには、hostnamectl
コマンドを使用します。
bash
sudo hostnamectl set-hostname [新しいホスト名]
例えば、ホスト名を centos-server
に変更する場合、以下のようになります。
bash
sudo hostnamectl set-hostname centos-server
ホスト名を変更した後、hostname
コマンドを実行して、ホスト名が正しく変更されたことを確認します。
3. ソフトウェアアップデート
CentOS をインストールした後、セキュリティアップデートやバグ修正を含む最新のソフトウェアをインストールすることが重要です。
3.1. パッケージ管理システム:yum
CentOS では、yum
(Yellowdog Updater, Modified) というパッケージ管理システムが使用されています。yum
を使用することで、ソフトウェアのインストール、アップデート、削除などを簡単に行うことができます。
3.2. リポジトリの確認
yum
は、リポジトリと呼ばれるソフトウェアの保管場所からソフトウェアをダウンロードしてインストールします。CentOS のデフォルトリポジトリは、CentOS の公式リポジトリです。
リポジトリの設定ファイルは、/etc/yum.repos.d/
ディレクトリに保存されています。ls /etc/yum.repos.d/
コマンドを実行すると、リポジトリの設定ファイルの一覧が表示されます。
3.3. ソフトウェアアップデートの実行
ソフトウェアをアップデートするには、yum update
コマンドを使用します。
bash
sudo yum update
このコマンドを実行すると、利用可能なすべてのソフトウェアアップデートがダウンロードされ、インストールされます。アップデートには時間がかかる場合があります。
4. ユーザー管理
CentOS をインストールした後、新しいユーザーを作成したり、既存のユーザーの権限を変更したりすることができます。
4.1. 新しいユーザーの作成
新しいユーザーを作成するには、useradd
コマンドを使用します。
bash
sudo useradd [ユーザー名]
例えば、john
という名前のユーザーを作成する場合、以下のようになります。
bash
sudo useradd john
ユーザーを作成した後、パスワードを設定する必要があります。パスワードを設定するには、passwd
コマンドを使用します。
bash
sudo passwd [ユーザー名]
例えば、john
という名前のユーザーのパスワードを設定する場合、以下のようになります。
bash
sudo passwd john
4.2. ユーザーのグループへの追加
ユーザーをグループに追加するには、usermod
コマンドを使用します。
bash
sudo usermod -aG [グループ名] [ユーザー名]
-aG
オプションは、ユーザーを既存のグループに追加することを意味します。[グループ名]
には、追加したいグループの名前を入力します。[ユーザー名]
には、グループに追加したいユーザーの名前を入力します。
例えば、john
という名前のユーザーを wheel
グループに追加する場合、以下のようになります。
bash
sudo usermod -aG wheel john
wheel
グループに追加されたユーザーは、sudo
コマンドを使用して、root 権限でコマンドを実行することができます。
4.3. ユーザーの削除
ユーザーを削除するには、userdel
コマンドを使用します。
bash
sudo userdel [ユーザー名]
例えば、john
という名前のユーザーを削除する場合、以下のようになります。
bash
sudo userdel john
ユーザーのホームディレクトリも削除するには、-r
オプションを追加します。
bash
sudo userdel -r john
5. SSH 設定
SSH (Secure Shell) は、ネットワーク経由で安全にリモートサーバーにアクセスするためのプロトコルです。CentOS をサーバーとして利用する場合、SSH 設定は非常に重要です。
5.1. SSH サーバーの起動と停止
SSH サーバーは、sshd
という名前のサービスです。sshd
サービスを起動するには、systemctl start sshd
コマンドを使用します。
bash
sudo systemctl start sshd
sshd
サービスを停止するには、systemctl stop sshd
コマンドを使用します。
bash
sudo systemctl stop sshd
sshd
サービスの状態を確認するには、systemctl status sshd
コマンドを使用します。
bash
sudo systemctl status sshd
sshd
サービスを起動時に自動的に起動するように設定するには、systemctl enable sshd
コマンドを使用します。
bash
sudo systemctl enable sshd
5.2. SSH 設定ファイルの編集
SSH 設定ファイルは、/etc/ssh/sshd_config
です。このファイルを編集することで、SSH サーバーの様々な設定を変更することができます。
5.2.1. ポート番号の変更
SSH のデフォルトポート番号は、22
です。セキュリティのため、デフォルトポート番号を変更することをお勧めします。
ポート番号を変更するには、/etc/ssh/sshd_config
ファイルを開き、Port
の行を編集します。
Port 2222
上記の例では、ポート番号を 2222
に変更しています。
ポート番号を変更した後、sshd
サービスを再起動する必要があります。
bash
sudo systemctl restart sshd
5.2.2. root ユーザーによるログインの禁止
セキュリティのため、root ユーザーによる SSH ログインを禁止することをお勧めします。
root ユーザーによるログインを禁止するには、/etc/ssh/sshd_config
ファイルを開き、PermitRootLogin
の行を no
に変更します。
PermitRootLogin no
root ユーザーによるログインを禁止した後、sshd
サービスを再起動する必要があります。
bash
sudo systemctl restart sshd
5.2.3. 公開鍵認証の設定
パスワード認証の代わりに、公開鍵認証を使用することをお勧めします。公開鍵認証は、パスワード認証よりもセキュリティが高いです。
公開鍵認証を設定するには、以下の手順を実行します。
- クライアント側で、公開鍵と秘密鍵のペアを生成します。
- 公開鍵をサーバーにコピーします。
/etc/ssh/sshd_config
ファイルを開き、PubkeyAuthentication
の行をyes
に変更します。/etc/ssh/sshd_config
ファイルを開き、AuthorizedKeysFile
の行に、公開鍵の保存場所を指定します。sshd
サービスを再起動します。
6. ファイアウォール設定
ファイアウォールは、ネットワーク経由でサーバーへの不正なアクセスを防御するための仕組みです。CentOS には、firewalld
というファイアウォール管理ツールが搭載されています。
6.1. firewalld の起動と停止
firewalld
サービスを起動するには、systemctl start firewalld
コマンドを使用します。
bash
sudo systemctl start firewalld
firewalld
サービスを停止するには、systemctl stop firewalld
コマンドを使用します。
bash
sudo systemctl stop firewalld
firewalld
サービスの状態を確認するには、systemctl status firewalld
コマンドを使用します。
bash
sudo systemctl status firewalld
firewalld
サービスを起動時に自動的に起動するように設定するには、systemctl enable firewalld
コマンドを使用します。
bash
sudo systemctl enable firewalld
6.2. firewalld の設定
firewalld
は、ゾーンという概念を使用して、ネットワークインターフェースのセキュリティレベルを定義します。
デフォルトでは、public
ゾーンが使用されています。public
ゾーンは、信頼できないネットワークからのアクセスを想定しており、比較的セキュリティレベルが高くなっています。
firewalld
の設定を変更するには、firewall-cmd
コマンドを使用します。
6.2.1. ゾーンの確認
現在有効になっているゾーンを確認するには、firewall-cmd --get-default-zone
コマンドを使用します。
bash
sudo firewall-cmd --get-default-zone
6.2.2. サービスの許可
特定のサービスへのアクセスを許可するには、firewall-cmd --add-service=[サービス名] --permanent
コマンドを使用します。
[サービス名]
には、許可したいサービスの名前を入力します。
例えば、SSH サービスへのアクセスを許可する場合、以下のようになります。
bash
sudo firewall-cmd --add-service=ssh --permanent
設定を有効にするには、firewall-cmd --reload
コマンドを実行します。
bash
sudo firewall-cmd --reload
6.2.3. ポートの許可
特定のポートへのアクセスを許可するには、firewall-cmd --add-port=[ポート番号]/[プロトコル] --permanent
コマンドを使用します。
[ポート番号]
には、許可したいポート番号を入力します。[プロトコル]
には、プロトコル (tcp または udp) を入力します。
例えば、8080 番ポートへの TCP アクセスを許可する場合、以下のようになります。
bash
sudo firewall-cmd --add-port=8080/tcp --permanent
設定を有効にするには、firewall-cmd --reload
コマンドを実行します。
bash
sudo firewall-cmd --reload
7. タイムゾーン設定
CentOS のデフォルトタイムゾーンは、UTC (協定世界時) に設定されています。日本国内で利用する場合は、タイムゾーンを日本時間 (JST) に変更することをお勧めします。
タイムゾーンを変更するには、timedatectl
コマンドを使用します。
bash
sudo timedatectl set-timezone Asia/Tokyo
タイムゾーンを変更した後、timedatectl status
コマンドを実行して、タイムゾーンが正しく変更されたことを確認します。
bash
timedatectl status
8. その他の設定
上記以外にも、CentOS の初期設定として、以下のような設定を行うことができます。
- SELinux の設定: SELinux (Security-Enhanced Linux) は、セキュリティを強化するための仕組みです。SELinux を有効にすることで、より安全に CentOS を利用することができます。
- スワップ領域の設定: スワップ領域は、物理メモリが不足した場合に、ハードディスクの一部をメモリとして使用するための領域です。スワップ領域の設定を見直すことで、パフォーマンスを向上させることができます。
- 自動アップデートの設定: CentOS のソフトウェアを自動的にアップデートするように設定することで、セキュリティリスクを低減できます。
9. まとめ
本記事では、CentOS ISO インストール後の基本的な初期設定から、より高度な設定までを網羅的に解説しました。初期設定を適切に行うことで、セキュリティの強化、パフォーマンスの最適化、使い勝手の向上など、様々なメリットが得られます。本記事を参考に、快適な CentOS 環境を構築してください。
この文章は、CentOS の初期設定に関する情報を提供し、具体的な手順を解説しています。必要に応じて、さらに詳細な情報を追記したり、図表を追加したりすることで、より分かりやすい記事にすることができます。