「CentOSからの移行先として選んだはいいが、初期設定の手順が頭に入っていない」
そんな疑問を抱えているエンジニアは多い。Rocky LinuxはRHELと完全互換のディストリビューションとして急速に普及しているが、「インストールしたらまず何をするか」を体系立てて解説した記事は意外と少ない。
この記事では、Rocky Linux(9系)を最小構成でインストールするところから、SSH鍵認証・firewalld・SELinux・Apache公開までの一通りの初期設定手順を実機ベースで解説する。CentOS後継を探しているエンジニアにも、Rocky Linuxを初めて触る方にも、そのまま使える実践的な手順書として書いた。
この記事のポイント
・Rocky Linux 9はRHEL9と完全互換で、CentOS後継として法人環境でも安心して使える
・最小インストール後にSSH鍵認証・firewalld・SELinuxを設定するのが初期セキュリティの基本
・dnfでApacheをインストールしfirewalldで80/443を開放するだけでWebサーバーとして公開できる
・実機の出力例とともに各ステップの動作確認コマンドを掲載しているので手順をそのまま追える
でも安心してください。プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
Rocky Linuxとは|CentOS後継として選ばれる理由
Rocky LinuxはRed Hat Enterprise Linux(RHEL)のソースコードをベースに、コミュニティが無償でビルドしているディストリビューションだ。2021年にCentOS 8がサポート終了(CentOS Streamへの移行)を宣言し、企業の本番サーバーで使われていた多くのCentOS環境が移行先を求めた。その代表的な選択肢の一つがRocky Linuxだ。
・RHELとバイナリ互換(同じRPMパッケージが動く)
・Rocky Enterprise Software Foundation(RESF)が安定したリリースサイクルを維持
・2032年まで(Rocky Linux 9の場合)のセキュリティサポートが確保されている
・AlmaLinuxと並ぶCentOS後継の主流であり、コミュニティが活発
本記事で扱うバージョンはRocky Linux 9(2022年7月リリース、RHEL 9.xベース)。
インストール前の確認事項
1. ISOイメージの入手
公式サイト(https://rockylinux.org/download)からISOをダウンロードする。用途に応じて以下を選ぶ。・Minimal:GUIなし・最小構成。サーバー用途ではこれが基本
・DVD(Full):オフライン環境でも各種パッケージをインストール可能
・Boot:ネットワーク経由でインストール(ネット環境が必要)
本記事ではサーバー用途を想定してMinimal ISOを使う。
Rocky Linuxの構築手順を体系的に身につけたい方へ
現場で通用する安全なLinuxサーバー構築の「型」を体系的に身につけたい方へ、『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼントしています。firewalld・SELinux・パーティション設計の考え方を図解で丁寧に解説しています。
「独学の時間がもったいない」「プロから直接、現場の技術を最短で学びたい」という本気の方には、2日で実務レベルのスキルが身につく【初心者向けハンズオンセミナー】も開催しています。
2. インストール環境の要件
・CPU: 64bit(x86_64)・メモリ: 最低1.5GB(推奨2GB以上)
・ディスク: 最低10GB(/は20GB以上推奨)
・仮想環境: VMware、VirtualBox、KVM、クラウド(AWS EC2など)でも問題なし
インストール手順|Minimal構成を選ぶ
1. インストーラー(Anaconda)の起動
ISOをDVD/USBに書き込んで起動するか、仮想マシンにISOをマウントして起動する。起動メニューが表示されたら「Install Rocky Linux 9.x」を選択する。2. インストール概要画面での設定
Anacondaのインストール概要画面(Installation Summary)で以下を設定する。・Keyboard:Japanese(日本語キーボードを使う場合)
・Language Support:日本語(Japanese)を追加
・Installation Destination:ディスクを選択し「Automatic」で自動パーティション
・Network & Host Name:IPアドレスを固定する場合はここで設定
・Software Selection:「Minimal Install」を選択(Server with GUIは不要)
・Root Password:rootのパスワードを設定
・User Creation:作業用一般ユーザー(例: admin)を作成し「Make this user administrator」にチェック
3. インストール完了後の再起動
「Begin Installation」をクリックするとインストールが始まる。完了後に「Reboot System」でDVD/USBを外して再起動する。初期設定の手順|セキュアなサーバーにするための8ステップ
1. OSバージョンとホスト名を確認する
ログイン後、まず環境を確認する。# OSバージョンを確認 cat /etc/rocky-release # バージョン詳細 cat /etc/os-release | head -10 # ホスト名確認 hostname hostnamectl
Rocky Linux release 9.4 (Blue Onyx) Static hostname: rocky-web01 Icon name: computer-server Chassis: server Machine ID: a1b2c3d4e5f6g7h8i9j0 Boot ID: x1y2z3a4b5c6d7e8f9g0 Operating System: Rocky Linux 9.4 (Blue Onyx) CPE OS Name: cpe:/o:rocky:rocky:9::baseos Kernel: Linux 5.14.0-427.13.1.el9_4.x86_64 Architecture: x86-64
# ホスト名を変更(staticホスト名として永続化される) hostnamectl set-hostname rocky-web01
2. パッケージを最新化する
インストール直後はパッケージが古い状態のことがある。最初にアップデートを済ませておく。# パッケージを全て最新化 dnf update -y # カーネルアップデートがある場合は再起動 reboot
3. SSHの公開鍵認証を設定する
パスワード認証のままではブルートフォース攻撃のリスクがある。公開鍵認証に切り替えておく。まず自分のPCで鍵ペアを生成する(既にある場合はスキップ)。
# 自分のPC上で実行(サーバー上ではない) ssh-keygen -t ed25519 -C "rocky-web01" # 鍵の保存先: ~/.ssh/id_ed25519(デフォルトのまま)
# 自分のPC上で実行 ssh-copy-id -i ~/.ssh/id_ed25519.pub admin@192.168.1.10 # または手動でサーバー上に配置 # サーバー上で実行: mkdir -p ~/.ssh chmod 700 ~/.ssh vi ~/.ssh/authorized_keys # 公開鍵の内容を貼り付けてから: chmod 600 ~/.ssh/authorized_keys
# sshd_configを編集 vi /etc/ssh/sshd_config # 以下の設定を変更・追記する: # PasswordAuthentication no # PermitRootLogin no # 設定を反映 systemctl restart sshd
4. firewalldでポートを管理する
Rocky Linux 9ではfirewalldがデフォルトで有効になっている。まず現状を確認する。# firewalldの状態確認 systemctl status firewalld # 現在の許可ルールを確認 firewall-cmd --list-all
public (active) target: default icmp-block-inversion: no interfaces: ens33 sources: services: cockpit dhcpv6-client ssh ports: protocols: masquerade: no forward-ports: source-ports: icmp-blocks: rich rules:
# http(80)とhttps(443)を許可(永続化) firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https # 設定を反映 firewall-cmd --reload # 確認 firewall-cmd --list-all
5. SELinuxの状態を確認する
Rocky Linux 9ではSELinuxがデフォルトでEnforcingモードで動作している。# SELinuxの状態確認 getenforce # 出力: Enforcing sestatus # 出力例: # SELinux status: enabled # SELinuxfs mount: /sys/fs/selinux # SELinux mount point: /sys/fs/selinux # Loaded policy name: targeted # Current mode: enforcing # Mode from config file: enforcing # Policy MLS status: enabled # Policy deny_unknown status: allowed # Memory protection checking: actual (secure) # Max kernel policy version: 33
テスト目的で一時的にPermissiveモードに変更する場合:
# 一時的にPermissiveへ(再起動で元に戻る) setenforce 0 # Enforcingに戻す setenforce 1
6. タイムゾーンと時刻同期を設定する
ログの時刻を正確に残すために、タイムゾーンとNTP同期を確認しておく。# タイムゾーン確認 timedatectl # タイムゾーンをAsia/Tokyoに設定 timedatectl set-timezone Asia/Tokyo # NTP同期の有効化 timedatectl set-ntp true # 確認 timedatectl show # NTPSynchronized=yes となっていればOK
7. 必要なパッケージをインストールする
Minimal Installでは最低限のパッケージしか入っていない。運用に必要なツールを追加する。# よく使うツール群 dnf install -y \ vim \ wget \ curl \ net-tools \ bind-utils \ lsof \ rsync \ unzip \ tar
8. 自動セキュリティアップデートを設定する
セキュリティパッチを自動適用する設定を入れておくと、管理の手間が減る。# dnf-automaticをインストール dnf install -y dnf-automatic # 設定ファイルを編集(セキュリティアップデートのみ自動適用) vi /etc/dnf/automatic.conf # [commands] セクションの upgrade_type を security に変更: # upgrade_type = security # タイマーを有効化・起動 systemctl enable --now dnf-automatic.timer # 確認 systemctl status dnf-automatic.timer
ApacheでWebサーバーを公開する手順
1. Apacheのインストールと起動
# Apacheをインストール dnf install -y httpd # 起動して自動起動を有効化 systemctl enable --now httpd # 状態確認 systemctl status httpd
* httpd.service - The Apache HTTP Server Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; preset: disabled) Active: active (running) since Tue 2026-06-17 10:42:15 JST; 5s ago Docs: man:httpd.service(8) Main PID: 12345 (httpd) Status: "Started, listening on: port 80" Tasks: 213 (limit: 4605) Memory: 28.1 M CPU: 263ms CGroup: /system.slice/httpd.service +-12345 /usr/sbin/httpd -DFOREGROUND +--...
2. テストページへのアクセス確認
ブラウザからサーバーのIPアドレスにアクセスして「Rocky Linux」のテストページが表示されれば成功だ。コマンドラインで確認する場合:
# ローカルからHTTPアクセスを確認 curl -I http://localhost # 期待する出力(抜粋): # HTTP/1.1 200 OK # Server: Apache/2.4.xx (Rocky Linux)
3. ドキュメントルートとバーチャルホストの確認
デフォルトのドキュメントルートは `/var/www/html` だ。独自のコンテンツを配置する場合はここにファイルを置く。# テストページを配置 echo "Hello, Rocky Linux!" > /var/www/html/index.html # SELinuxのコンテキスト確認(httpd_sys_content_tが正しい) ls -lZ /var/www/html/index.html # -rw-r--r--. 1 root root unconfined_u:object_r:httpd_sys_content_t:s0 20 Jun 17 10:45 /var/www/html/index.html
RPMパッケージの管理とdnfの使い方
Rocky LinuxはRPMベースのディストリビューションなので、パッケージ管理には `dnf` コマンドを使う。CentOS 7での `yum` と互換性がある。# インストール済みパッケージを確認 dnf list installed | head -20 # パッケージを検索 dnf search nginx # 特定パッケージの詳細情報 dnf info httpd # パッケージをインストール dnf install -y nginx # パッケージを削除 dnf remove -y nginx # キャッシュをクリア dnf clean all
トラブルシュート|よくある問題と対処法
「firewalldが無効になっていてアクセスできない」
# firewalldが起動しているか確認 systemctl status firewalld # 停止していた場合は起動 systemctl start firewalld systemctl enable firewalld # HTTPが許可されているか確認 firewall-cmd --list-services
「Apacheが起動しない(SELinux関連)」
SELinuxのポリシー違反でhttpdが起動できないケースがある。# SELinuxの拒否ログを確認 ausearch -m avc -ts recent | tail -20 # またはjournalctlで確認 journalctl -u httpd -n 50 # SELinuxのアラートを確認(audit2allowで対処方法を提案) audit2allow -a -l
「dnf updateが遅い・タイムアウトする」
ミラーサーバーが遅い場合はfastestmirrorプラグインを有効にする。# fastestmirrorの確認(通常はdnf-plugins-coreに含まれる) cat /etc/dnf/dnf.conf | grep fastestmirror # 有効化(必要な場合) echo "fastestmirror=True" >> /etc/dnf/dnf.conf
「SSHに接続できない」
# sshdが起動しているか確認 systemctl status sshd # firewalldでSSHが許可されているか確認 firewall-cmd --list-services | grep ssh # SSHポートが開いているか確認 ss -tlnp | grep :22
本記事のまとめ
| 手順 | コマンド/設定 | ポイント |
|---|---|---|
| OSバージョン確認 | cat /etc/rocky-release |
インストール後に最初に確認する |
| パッケージ更新 | dnf update -y |
カーネル更新後は再起動 |
| SSH鍵認証 | ssh-copy-id -i ~/.ssh/id_ed25519.pub user@host |
確認後にパスワード認証を無効化 |
| firewalld設定 | firewall-cmd --permanent --add-service=http |
--permanentで永続化、--reloadで反映 |
| SELinux確認 | getenforce |
無効化せずポリシー調整が基本 |
| タイムゾーン設定 | timedatectl set-timezone Asia/Tokyo |
NTP同期も合わせて有効化 |
| Apache起動 | systemctl enable --now httpd |
自動起動まで同時に設定 |
| SELinuxコンテキスト | ls -lZ /var/www/html/ |
httpd_sys_content_tが正しい値 |
次のステップとして、Let's EncryptでのSSL化やNginxのリバースプロキシ設定、RPMパッケージ管理の深掘りなども合わせて確認しておくことをすすめる。
3,100名以上が実践した「型」を無料で公開中
プロのエンジニアはコマンドを暗記していません。
「現場で使える型」を効率よく使いこなしているだけです。
その「型」を図解60Pにまとめた入門マニュアルを、完全無料でプレゼントしています。
登録10秒/合わなければ解除3秒 / 詳細はこちら

無料メルマガで学習を続ける
Linuxの実践スキルをメールで毎週お届け。
登録は1分、解除もいつでも可。
登録無料・いつでも解除できます