こんにちは、レムシステム株式会社のエンジニア、小村(@system_kom)です。 以前にブログでCentOS 8向けの記事をアップしていますが、CentOS 8は現在、サポートが終了しているため、本記事ではエンタープライズ向けの互換ディストリビューションAlmaLinux 9を前提に、代表的なオープンソースのウェブサーバーであるApache httpdを最短で動かすまでの手順を詳しく解説します。
OSインストール済み・初期設定済みのAlmaLinux 9環境から開始し、インストール → 起動 → 自動起動 → ファイアウォール設定 → 初期ページ表示 → httpd.confの基本調整までを一気に進めます。
CentOS 8 サポート終了と移行のおすすめ
CentOS 8 は 2021年12月31日にサポートが終了しました。後継としては、AlmaLinux や Rocky Linux への移行をおすすめします。本記事は AlmaLinux 9 を対象にしています。
httpd動作用ユーザーの追加
httpd はインストール時に apache ユーザー/グループを作成しますが、運用ポリシーに応じてコンテンツ管理用に www などの別ユーザーを用意すると権限分離が行いやすくなります。ここではコンテンツを扱う専用ユーザー www を追加します。シェルログインを不要とするため、/sbin/nologin を指定します。
command
# useradd -s /sbin/nologin www
ユーザーが正常に追加されたかは、次のコマンドで確認します。
command
$ id www
uid=1003(www) gid=1003(www) groups=1003(www)
Apache httpd パッケージの確認
パッケージ名は httpd です。依存モジュールやツール群を含む関連パッケージを事前に確認しておくとスムーズです。
command
$ dnf list available | grep -E '^httpd\.'
httpd.x86_64 2.4.*-*.el9 appstream
httpd-tools.x86_64 2.4.*-*.el9 appstream
httpd-devel.x86_64 2.4.*-*.el9 appstream
httpd-manual.noarch 2.4.*-*.el9 appstream
httpd-filesystem.noarch 2.4.*-*.el9 baseos
主な構成要素は以下の通りです。httpdが本体で、tools・devel・manualは運用・開発支援ツール群になります。依存関係(apr系、mod_http2など)は自動的に解決されます。
Apache httpd のインストール
インストールは dnf コマンドで行います。必要な関連パッケージをまとめて導入し、その後サービスを起動します。
command
# dnf -y install httpd httpd-tools httpd-devel httpd-manual
# systemctl start httpd
# systemctl enable httpd
ステータスを確認し、Active 状態であれば正常起動しています。
command
$ systemctl status httpd
● httpd.service - The Apache HTTP Server
Active: active (running)
firewalld の許可設定
HTTP(80/tcp) へのアクセスを許可します。HTTPS(443/tcp) も利用する場合は同時に設定しておきます。
command
# firewall-cmd --add-service=http --permanent
# firewall-cmd --add-service=https --permanent
# firewall-cmd --reload
# firewall-cmd --list-services
cockpit dhcpv6-client http https ssh
ウェルカムページの表示確認
ブラウザでサーバーの IP または FQDN にアクセスし、デフォルトの Apache テストページが表示されるか確認します。環境によっては無効化されている場合があるため、その場合は次章の手順でテスト用ページを作成します。
httpd の基本設定(最小構成)
基本設定は /etc/httpd/conf/httpd.conf で行います。バックアップを取り、以下の項目を調整します。
- ServerAdmin: 管理者メールアドレスを設定
- ServerName: 公開用ホスト名を指定
- DocumentRoot: /home/www/html へ変更
- CGI用ディレクトリ(任意): /home/www/cgi-bin
command
# cd /etc/httpd/conf
# cp -p httpd.conf httpd.conf.org
# vi httpd.conf
設定変更後は以下のコマンドで文法チェックを行い、構成を反映します。
command
# httpd -t
Syntax OK
# systemctl restart httpd
テスト用ページの作成と確認
ドキュメントルート /home/www/html にテストページ用のindex.htmlファイルを作成します。作成後にはファイルの所有者を変更します。その後、ブラウザでファイルが表示されることを確認します。
command
# chown www:www /home/www/html/index.html
WWWTest Page It works on AlmaLinux 9! This is a test page.
ブラウザで http://<サーバーのIPまたはFQDN>/ を開き、テスト用のウェブページが正しく表示されれば設定完了です。
まとめ
本記事では AlmaLinux 9 に Apache httpd をインストールし、基本構成と動作確認までの流れを紹介しました。最短で動作を確認できる構成に重点を置いていますが、実運用では SSL 設定、バーチャルホスト、ログ管理、セキュリティ強化などを併せて実施してください。これにより安全で安定したウェブサーバー環境を構築できます。