[RHEL 8] httpd の設定

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

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

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

--- OUTLINE ---

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

OS Red Hat Enterprise Linux 8.3 (Ootpa) x86_64

httpd の設定

Apache HTTP Server httpd と httpd-devel をインストールしました(実際には httpd はインストール済みでした)。

Apache HTTP Server のインストール
[bitwalk@rhel-pc ~]$ sudo dnf install httpd httpd-devel
[sudo] bitwalk のパスワード:
Updating Subscription Management repositories.
メタデータの期限切れの最終確認: 0:13:08 時間前の 2021年05月07日 05時36分00秒 に 実施しました。
パッケージ httpd-2.4.37-30.module+el8.3.0+7001+0766b9e7.x86_64 は既にインストー ルされています。
依存関係が解決しました。
================================================================================
 パッケージ       Arch   バージョン      リポジトリー                     サイズ
================================================================================
インストール:
 httpd-devel      x86_64 2.4.37-30.module+el8.3.0+7001+0766b9e7
                                         rhel-8-for-x86_64-appstream-rpms 219 k
依存関係のインストール:
 apr-devel        x86_64 1.6.3-11.el8    rhel-8-for-x86_64-appstream-rpms 246 k
 apr-util-devel   x86_64 1.6.1-6.el8     rhel-8-for-x86_64-appstream-rpms  86 k
 cyrus-sasl-devel x86_64 2.1.27-5.el8    rhel-8-for-x86_64-baseos-rpms    128 k
 expat-devel      x86_64 2.2.5-4.el8     rhel-8-for-x86_64-baseos-rpms     55 k
 libdb-devel      x86_64 5.3.28-39.el8   rhel-8-for-x86_64-appstream-rpms  46 k
 openldap-devel   x86_64 2.4.46-15.el8   rhel-8-for-x86_64-baseos-rpms    811 k

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

ダウンロードサイズの合計: 1.6 M
インストール済みのサイズ: 6.2 M
これでよろしいですか? [y/N]: y
パッケージのダウンロード:
(1/7): cyrus-sasl-devel-2.1.27-5.el8.x86_64.rpm 324 kB/s | 128 kB     00:00
    :
    :
    :

完了しました!
[bitwalk@rhel-pc ~]$

サービスの起動

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

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

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

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

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

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

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

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

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

/etc/httpd/conf.d/userdir.conf の設定 
<IfModule mod_userdir.c>
    #UserDir disabled
    UserDir public_html
</IfModule>

<Directory "/home/*/public_html">
    AllowOverride FileInfo AuthConfig Limit Indexes
    Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>

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

ユーザアカウントのディレクトリとパーミッション 
[bitwalk@rhel-pc ~]$ cd ~
[bitwalk@rhel-pc ~]$ mkdir public_html
[bitwalk@rhel-pc ~]$ chmod 755 /home/bitwalk
[bitwalk@rhel-pc ~]$ ll -d /home/bitwalk
drwxr-xr-x. 21 bitwalk bitwalk 4096 10月  6 16:46 /home/bitwalk
[bitwalk@rhel-pc ~]$ ll -d /home/bitwalk/public_html
drwxrwxr-x. 2 bitwalk bitwalk 6 10月  6 16:46 /home/bitwalk/public_html
[bitwalk@rhel-pc ~]$ 

httpd を再起動します。

httpd の再起動 
[bitwalk@rhel-pc ~]$ sudo systemctl restart httpd

SELinux の設定

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

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

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

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

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

まとめ

最低限の設定ですが、動作を確認できました。

参考サイト

  1. 第1章 Apache HTTP Web サーバーの設定 Red Hat Enterprise Linux 8 | Red Hat Customer Portal

 

ブログランキング・にほんブログ村へにほんブログ村

0 件のコメント: