Apache HTTP Server (httpd) は、Apache License 2.0 の条件でリリースされるフリーでオープンソースのクロスプラットフォームの Web サーバソフトウェアです。Apache は Apache ソフトウェア財団の支援のもと、開発者のオープンコミュニティによって開発・保守されています。
サーバー用 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 はインストール済みでした)。
[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) しておきます。
[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) へアクセスして、トップページが表示されることを確認します。
ユーザ毎のディレクトリの設定
ユーザアカウント内の public_html 内をウェブサイトとして利用できるように /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 を再起動します。
[bitwalk@rhel-pc ~]$ sudo systemctl restart httpd
SELinux の設定
最後に SELinux 下で httpd がユーザーディレクトリをアクセスできるように 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/ に保存しておきました。
まとめ
最低限の設定ですが、動作を確認できました。
参考サイト
にほんブログ村
0 件のコメント:
コメントを投稿