[AlmaLinux 9] httpd の設定

2023-12-12 公開

Apache HTTP Server (httpd) は、Apache License 2.0 の条件でリリースされるフリーでオープンソースのクロスプラットフォームの Web サーバソフトウェアです。Apache は Apache ソフトウェア財団の支援のもと、開発者のオープンコミュニティによって開発・保守されています。

Wikipedia より抜粋、修正
今回のテーマ

サーバー用 PC に Web 関連パッケージをインストールして、サーバーの各ユーザーアカウント内で Web コンテンツの作成をできるように設定します。

--- OUTLINE ---

Apache HTTP Server (httpd) をインストールおよび設定をする OS は下記のとおりです。

OS AlmaLinux 9.3 (Shamrock Pampas Cat) x86_64

 

httpd の設定

Apache HTTP Server httpdhttpd-devel パッケージをインストールします。

Apache HTTP Server のインストール
[bitwalk@almalinux ~]$ sudo dnf install httpd httpd-devel
[sudo] bitwalk のパスワード:
メタデータの期限切れの最終確認: 0:11:31 前の 2023年12月12日 06時06分13秒 に実施しました。
依存関係が解決しました。
================================================================================
 パッケージ                Arch       バージョン            リポジトリー  サイズ
================================================================================
インストール:
 httpd                     x86_64     2.4.57-5.el9          appstream      46 k
 httpd-devel               x86_64     2.4.57-5.el9          appstream     192 k
依存関係のインストール:
 almalinux-logos-httpd     noarch     90.5.1-1.1.el9        appstream      18 k
 apr                       x86_64     1.7.0-12.el9_3        appstream     122 k
 apr-devel                 x86_64     1.7.0-12.el9_3        appstream     218 k
 apr-util                  x86_64     1.6.1-23.el9          appstream      94 k
 apr-util-bdb              x86_64     1.6.1-23.el9          appstream      12 k
 apr-util-devel            x86_64     1.6.1-23.el9          appstream      70 k
 cyrus-sasl                x86_64     2.1.27-21.el9         baseos         71 k
 cyrus-sasl-devel          x86_64     2.1.27-21.el9         appstream     102 k
 expat-devel               x86_64     2.5.0-1.el9           appstream      53 k
 httpd-core                x86_64     2.4.57-5.el9          appstream     1.4 M
 httpd-filesystem          noarch     2.4.57-5.el9          appstream      12 k
 httpd-tools               x86_64     2.4.57-5.el9          appstream      80 k
 libdb-devel               x86_64     5.3.28-53.el9         appstream      37 k
 openldap-devel            x86_64     2.6.3-1.el9           appstream     684 k
弱い依存関係のインストール:
 apr-util-openssl          x86_64     1.6.1-23.el9          appstream      14 k
 mod_http2                 x86_64     1.15.19-5.el9         appstream     148 k
 mod_lua                   x86_64     2.4.57-5.el9          appstream      60 k

トランザクションの概要
================================================================================
インストール  19 パッケージ

ダウンロードサイズの合計: 3.4 M
インストール後のサイズ: 13 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/19): apr-1.7.0-12.el9_3.x86_64.rpm           709 kB/s | 122 kB     00:00    
    :
    :
    :
完了しました!
[bitwalk@almalinux ~]$ 

サービスの起動

Apache HTTP Server のサービス、httpd を起動 (start) します。また、OS 起動後にサービスが使えるように有効化 (enable) しておきます。

httpd の起動 
[bitwalk@almalinux ~]$ sudo systemctl start httpd
[bitwalk@almalinux ~]$ sudo systemctl enable httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.
[bitwalk@almalinux ~]$

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

HTTP で通信できるようにサービスを追加した後、ファイアーウォールの設定を再ロードします。

ファイアーウォールの設定 
[bitwalk@almalinux ~]$ sudo firewall-cmd --zone=public --permanent --add-service=http
success
[bitwalk@almalinux ~]$ sudo firewall-cmd --reload
success
[bitwalk@almalinux ~]$

LAN 内の他の PC のブラウザからこの RHEL の Web サーバ (192.168.0.34) へアクセスして、トップページが表示されることを確認します(ここでは、Fedora Linux の Mozilla Firefox で確認しています)。

他の PC のブラウザからアクセスした例

ユーザ毎のディレクトリの設定

ユーザアカウント内の public_html 内をウェブサイトとして利用できるように /etc/httpd/conf.d/userdir.conf を編集します。下記に変更した箇所を赤字で示しました。

/etc/httpd/conf.d/userdir.conf の設定 
#
# UserDir: The name of the directory that is appended onto a user's home
# directory if a ~user request is received.
#
# The path to the end user account 'public_html' directory must be
# accessible to the webserver userid.  This usually means that ~userid
# must have permissions of 711, ~userid/public_html must have permissions
# of 755, and documents contained therein must be world-readable.
# Otherwise, the client will only receive a "403 Forbidden" message.
#
<IfModule mod_userdir.c>
    #
    # UserDir is disabled by default since it can confirm the presence
    # of a username on the system (depending on home directory
    # permissions).
    #
    #UserDir disabled
    UserDir public_html

    #
    # To enable requests to /~user/ to serve the user's public_html
    # directory, remove the "UserDir disabled" line above, and uncomment
    # the following line instead:

ユーザアカウント内に public_html ディレクトリを作成します。この例ではユーザアカウントは bitwalk のみです。パーミッションは下記のようになっています。

ユーザアカウントのディレクトリとパーミッション 
[bitwalk@almalinux ~]$ cd ~
[bitwalk@almalinux ~]$ mkdir public_html
[bitwalk@almalinux ~]$ chmod 755 /home/bitwalk
[bitwalk@almalinux ~]$ ll -d /home/bitwalk
drwxr-xr-x. 18 bitwalk bitwalk 4096 12月 12 06:36 /home/bitwalk
[bitwalk@almalinux ~]$ ll -d /home/bitwalk/public_html
drwxr-xr-x. 2 bitwalk bitwalk 24 12月 12 06:37 /home/bitwalk/public_html
[bitwalk@almalinux ~]$

httpd を再起動します。

httpd サービスの再起動 
[bitwalk@almalinux ~]$ sudo systemctl restart httpd

SELinux の設定

最後に SELinux 下で httpd がユーザーディレクトリをアクセスできるように httpd_enable_homedirs を有効にします。

SELinux の httpd_enable_homedirs を有効化
[bitwalk@almalinux ~]$ sudo setsebool -P httpd_enable_homedirs 1

ユーザーサイトのアクセス確認

LAN 内の他の PC から、ユーザーサイト http://192.168.0.34/~bitwalk がアクセスできることを確認します。事前に index.html を用意して /home/bitwalk/public_html/ に保存しておきました。

テストページでユーザーサイトの確認

 

mod_ssl のインストール

mod_ssl のインストール 

SSL/TLS による HTTPS 通信に対応させるため、下記のように mod_ssl をインストールしておきます。

[bitwalk@almalinux ~]$ sudo dnf -y install mod_ssl
[sudo] bitwalk のパスワード:
メタデータの期限切れの最終確認: 0:35:11 前の 2023年12月12日 06時06分13秒 に実施しました。
依存関係が解決しました。
================================================================================
 パッケージ      Arch           バージョン              リポジトリー      サイズ
================================================================================
インストール:
 mod_ssl         x86_64         1:2.4.57-5.el9          appstream         110 k

トランザクションの概要
================================================================================
インストール  1 パッケージ

ダウンロードサイズの合計: 110 k
インストール後のサイズ: 268 k
パッケージのダウンロード:
mod_ssl-2.4.57-5.el9.x86_64.rpm                 501 kB/s | 110 kB     00:00    
--------------------------------------------------------------------------------
合計                                             52 kB/s | 110 kB     00:02     
トランザクションの確認を実行中
トランザクションの確認に成功しました。
トランザクションのテストを実行中
トランザクションのテストに成功しました。
トランザクションを実行中
  準備             :                                                        1/1 
  インストール中   : mod_ssl-1:2.4.57-5.el9.x86_64                          1/1 
  scriptletの実行中: mod_ssl-1:2.4.57-5.el9.x86_64                          1/1 
  検証             : mod_ssl-1:2.4.57-5.el9.x86_64                          1/1 

インストール済み:
  mod_ssl-1:2.4.57-5.el9.x86_64                                                 

完了しました!
[bitwalk@almalinux ~]$ 

暗号化された HTTP 通信を行なう標準のポート 443 を利用できるようにファイアウォールを設定します。

ファイアーウォールの設定 (2) 
[bitwalk@almalinux ~]$ sudo firewall-cmd --permanent --add-port=443/tcp
success
[bitwalk@almalinux ~]$ sudo firewall-cmd --reload
success

httpd を再起動します。

httpd サービスの再起動 
[bitwalk@almalinux ~]$ sudo systemctl restart httpd

LAN 内の他の PC のブラウザからこの RHEL の Web サーバ (192.168.0.34/~bitwalk) へアクセスしてみます。

https でアクセスした例 (1)

「潜在的なセキュリティリスクあり」という警告が出ますが、「エラーの説明…」をクリックします。

https でアクセスした例 (2)

すると。エラーコードの内容が表示されます。

このまま「危険を承知で続行」ボタンをクリックしてサイトにアクセスできることを確認します。。

https でアクセスした例 (3)

Mozilla Firefox の場合、このサイトは例外として登録されます。

https でアクセスした例 (4)

 

参考サイト

  1. 1.8. Apache HTTP サーバーで TLS 暗号化の設定 Red Hat Enterprise Linux 9 | Red Hat Customer Portal
  2. SSL/TLS サーバー証明書の基礎知識|BLOG|サイバートラスト

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

0 件のコメント: