Apache HTTP Server (httpd) は、Apache License 2.0 の条件でリリースされるフリーでオープンソースのクロスプラットフォームの Web サーバソフトウェアです。Apache は Apache ソフトウェア財団の支援のもと、開発者のオープンコミュニティによって開発・保守されています。
サーバー用 PC に Web 関連パッケージをインストールして、サーバーの各ユーザーアカウント内で Web コンテンツの作成をできるように設定します。
--- OUTLINE ---
Apache HTTP Server (httpd) をインストールおよび設定をする OS は下記のとおりです。
OS | AlmaLinux 9.3 (Shamrock Pampas Cat) | x86_64 |
httpd の設定
Apache HTTP Server httpd と httpd-devel パッケージをインストールします。
[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) しておきます。
[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 で確認しています)。
ユーザ毎のディレクトリの設定
ユーザアカウント内の public_html 内をウェブサイトとして利用できるように /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 を再起動します。
[bitwalk@almalinux ~]$ sudo systemctl restart httpd
SELinux の設定
最後に SELinux 下で httpd がユーザーディレクトリをアクセスできるように 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 のインストール
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 を利用できるようにファイアウォールを設定します。
[bitwalk@almalinux ~]$ sudo firewall-cmd --permanent --add-port=443/tcp success [bitwalk@almalinux ~]$ sudo firewall-cmd --reload success
httpd を再起動します。
[bitwalk@almalinux ~]$ sudo systemctl restart httpd
LAN 内の他の PC のブラウザからこの RHEL の Web サーバ (192.168.0.34/~bitwalk) へアクセスしてみます。
「潜在的なセキュリティリスクあり」という警告が出ますが、「エラーの説明…」をクリックします。
すると。エラーコードの内容が表示されます。
このまま「危険を承知で続行」ボタンをクリックしてサイトにアクセスできることを確認します。。
Mozilla Firefox の場合、このサイトは例外として登録されます。
参考サイト
- 1.8. Apache HTTP サーバーで TLS 暗号化の設定 Red Hat Enterprise Linux 9 | Red Hat Customer Portal
- SSL/TLS サーバー証明書の基礎知識|BLOG|サイバートラスト
にほんブログ村
#オープンソース
0 件のコメント:
コメントを投稿