Apache HTTP Server は世界中でもっとも多く使われている Web サーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されています。
Red Hat Enterprise Linux 8 (CentOS 8) では、利用可能な Web サーバーが Apache HTTP Server と nginx の二種類になりましたが、ここでは従来の Apache HTTP Server についての基本設定をまとめました。
家庭内 LAN の Web サーバー用 PC に Web 関連パッケージをインストールして、必要な設定を加えてサーバーの各ユーザーアカウント内で Web コンテンツの作成をできるようにします。
使用した OS は前述のとおり、CentOS 8 です。
|
Web サーバー関連パッケージのインストール
CentOS は、ダウンロードした CentOS-8-x86_64-1905-dvd1.iso を Fedora Media Writer で USB メモリに焼いてインストールしたのですが、デフォルトのインストールでは Apache HTTP Server はインストールされません。次のようにしてのようにして Apache HTTP Server をインストールしました。
$ sudo dnf install httpd httpd-devel メタデータの期限切れの最終確認: 0:17:53 時間前の 2019年10月06日 16時16分38秒 に実施しました。 依存関係が解決しました。 ================================================================================ パッケージ アーキテクチャー バージョン リポジトリ サイズ ================================================================================ Installing: httpd x86_64 2.4.37-11.module_el8.0.0+172+85fc1f40 AppStream 1.7 M httpd-devel x86_64 2.4.37-11.module_el8.0.0+172+85fc1f40 AppStream 215 k 依存関係をインストール中: apr x86_64 1.6.3-9.el8 AppStream 125 k apr-devel x86_64 1.6.3-9.el8 AppStream 246 k apr-util x86_64 1.6.1-6.el8 AppStream 105 k apr-util-devel x86_64 1.6.1-6.el8 AppStream 86 k centos-logos-httpd noarch 80.5-2.el8 AppStream 24 k httpd-filesystem noarch 2.4.37-11.module_el8.0.0+172+85fc1f40 AppStream 34 k httpd-tools x86_64 2.4.37-11.module_el8.0.0+172+85fc1f40 AppStream 102 k libdb-devel x86_64 5.3.28-36.el8 AppStream 46 k mod_http2 x86_64 1.11.3-2.module_el8.0.0+10+abf51267 AppStream 156 k cyrus-sasl-devel x86_64 2.1.27-0.3rc7.el8 BaseOS 127 k expat-devel x86_64 2.2.5-3.el8 BaseOS 55 k openldap-devel x86_64 2.4.46-9.el8 BaseOS 810 k 弱い依存関係をインストール中: apr-util-bdb x86_64 1.6.1-6.el8 AppStream 25 k apr-util-openssl x86_64 1.6.1-6.el8 AppStream 27 k Enabling module streams: httpd 2.4 トランザクションの概要 ================================================================================ インストール 16 パッケージ ダウンロードサイズの合計: 3.8 M インストール済みのサイズ: 12 M これでよろしいですか? [y/N]: y パッケージのダウンロード中です: (1/16): apr-util-1.6.1-6.el8.x86_64.rpm 50 kB/s | 105 kB 00:02 ... (途中省略) ... インストール済み: httpd-2.4.37-11.module_el8.0.0+172+85fc1f40.x86_64 httpd-devel-2.4.37-11.module_el8.0.0+172+85fc1f40.x86_64 apr-util-bdb-1.6.1-6.el8.x86_64 apr-util-openssl-1.6.1-6.el8.x86_64 apr-1.6.3-9.el8.x86_64 apr-devel-1.6.3-9.el8.x86_64 apr-util-1.6.1-6.el8.x86_64 apr-util-devel-1.6.1-6.el8.x86_64 centos-logos-httpd-80.5-2.el8.noarch httpd-filesystem-2.4.37-11.module_el8.0.0+172+85fc1f40.noarch httpd-tools-2.4.37-11.module_el8.0.0+172+85fc1f40.x86_64 libdb-devel-5.3.28-36.el8.x86_64 mod_http2-1.11.3-2.module_el8.0.0+10+abf51267.x86_64 cyrus-sasl-devel-2.1.27-0.3rc7.el8.x86_64 expat-devel-2.2.5-3.el8.x86_64 openldap-devel-2.4.46-9.el8.x86_64 完了しました! $
サービスの起動
Apache HTTP Server のサービス、httpd を起動 (start) します。また、OS 起動後にサービスが使えるように有効化 (enable) しておきます。
$ sudo systemctl start httpd $ sudo systemctl enable httpd Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service. $
ファイアーウォールの設定
HTTP で通信できるようにサービスを追加後、ファイアーウォールのサービスを再ロードします。
$ sudo firewall-cmd --zone=public --permanent --add-service=http success $ sudo firewall-cmd --reload success $
LAN 内の他の PC のブラウザからこの CentOS (192.168.0.12) へアクセスして、トップページが表示されることを確認します。
ユーザ毎のウェブディレクトリ
ユーザアカウント内の 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 のみです。パーミッションは下記のようになっています。
$ cd ~ $ mkdir public_html $ chmod 755 /home/bitwalk $ ll -d /home/bitwalk drwxr-xr-x. 21 bitwalk bitwalk 4096 10月 6 16:46 /home/bitwalk $ ll -d /home/bitwalk/public_html drwxrwxr-x. 2 bitwalk bitwalk 6 10月 6 16:46 /home/bitwalk/public_html $
httpd を再起動します。
$ sudo systemctl restart httpd
SELinux の設定
最後に SELinux で httpd_enable_homedirs を有効にします。
$ sudo setsebool -P httpd_enable_homedirs 1
簡単な Web ページで確認
LAN 内の他の PC から、下記のサイトがアクセスできることを確認します。事前に index.html と test.html を用意して /home/bitwalk/public_html/ に保存しておきました。
http://192.168.0.12/~bitwalk/
まとめ
最低限の設定ですが、これで初期の目標を達成できました。今後も httpd に関わる設定について、何回も設定する場面が予想されるものについては備忘録でまとめて行く予定です。
nginx についても、調べて確認した結果をまとめていきたいと考えています。
参考 サイト
にほんブログ村
0 件のコメント:
コメントを投稿