2019-10-06

[CentOS 8] httpd の設定

Apache HTTP Server は世界中でもっとも多く使われている Web サーバソフトウェアであり、大規模な商用サイトから自宅サーバまで幅広く利用されています。

Wikipedia より抜粋、修正

Red Hat Enterprise Linux 8 (CentOS 8) では、利用可能な Web サーバーが Apache HTTP Server と nginx の二種類になりましたが、ここでは従来の Apache HTTP Server についての基本設定をまとめました。

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

使用した OS は前述のとおり、CentOS 8 です。

OS
CentOS 8-1905 (CentOS-8-x86_64-1905-dvd1.iso)

Web サーバー関連パッケージのインストール

CentOS は、ダウンロードした CentOS-8-x86_64-1905-dvd1.isoFedora Media Writer で USB メモリに焼いてインストールしたのですが、デフォルトのインストールでは Apache HTTP Server はインストールされません。次のようにしてのようにして 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) しておきます。

httpd の起動 
$ 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) へアクセスして、トップページが表示されることを確認します。

 他の 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 のみです。パーミッションは下記のようになっています。

ユーザアカウントのディレクトリとパーミッション 
$ 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 を再起動します。

httpd の再起動 
$ sudo systemctl restart httpd

SELinux の設定

最後に SELinux で httpd_enable_homedirs を有効にします。

SELinux で httpd_enable_homedirs を有効にする 
$ sudo setsebool -P httpd_enable_homedirs 1

簡単な Web ページで確認

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

http://192.168.0.12/~bitwalk/

 

 二つのテストページで確認 

まとめ

最低限の設定ですが、これで初期の目標を達成できました。今後も httpd に関わる設定について、何回も設定する場面が予想されるものについては備忘録でまとめて行く予定です。

nginx についても、調べて確認した結果をまとめていきたいと考えています。

参考 サイト

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

 

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

0 件のコメント: