UE4のプロジェクトをSubversionで管理する httpアクセス編 その3

2019年3月3日

仮想サーバーにApacheをインストール設定し、ファイアーウォールの設定を行った事でhttp接続ができるようになりました。

今回はApacheの設定ファイルを編集しつつ、htmlのテストページが表示されるかを試していきます。

※画像はクリックで拡大できます

 

スポンサーリンク

httpd.confファイルの編集

 

/etc/httpd/conf内にhttpd.confファイルがあるので、viコマンドで編集し今までの設定を反映していきます。httpd.confを編集する前に、ファイルのバックアップを取っておくと安全かと思います。

/etc/httpd/confをカレントディレクトリにしたら、viコマンドで編集を開始します。

# vi httpd.conf

 

動作ユーザーとグループを変更します。デフォルトではユーザー、グループ共に「apache」となっているので、「httpアクセス編 その1」で追加したユーザー名に変更します。

ー UE4のプロジェクトをSubversionで管理する httpアクセス編 その1 ー

# User Apache
# Group Apache
を
# User 追加したユーザー名
# Group 追加したユーザー名
に変更

 

次に、サーバーのホスト名を変更します。デフォルトでは「www.example.com:80」になっていてコメント状態になっているので、「サーバーのホスト名:80」に変更しコメントを外します。サーバーのホスト名はhostnameコマンドで確認できます。

# # ServerName www.example.com:80
を
# ServerName サーバーのホスト名:80
に変更

 

ドキュメントルートを変更し、コンテンツの置き場を変更します。デフォルトでは「/var/www/html」となっていますが、「/home/追加したユーザー名/html」にします。追加したユーザー名の下にhtmlディレクトリは無いですが後で作ります。

# DocumentRoot "/var/www/html"
を
# DocumentRoot "/home/追加したユーザー名/html"
に変更

 

ドキュメントルートのちょっと下にあるディレクトリの2箇所を変更します。

ドキュメントルートの内容と合わせて、「/var/www」を「/home/追加したユーザー名」へ、「/var/www/html」を「/home/追加したユーザー名/html」に変更します。

# <Directory "/var/www">
を
# <Directory "/home/追加したユーザー名">
に変更
# <Directory "/var/www/html">
を
# <Directory "/home/追加したユーザー名/html">
に変更

 

cgiの置き場も変更しておきます。

ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
を
ScriptAlias /cgi-bin/ "/home/追加したユーザー名/cgi-bin/"
に変更

 

少し下にディレクトリ権限の設定箇所もあるので同様に変更します

<Directory "/var/www/cgi-bin">
を
<Directory "/home/追加したユーザー名/cgi-bin">
に変更

 

ドキュメントルート用フォルダの作成

 

httpd.confに変更を加えた「/home/追加したユーザー名/html」や「/home/追加したユーザー名/cgi-bin」ディレクトリは今の段階ではありません。

下記コマンドで確認すると、ドキュメントルートの 「/home/追加したユーザー名/html」が在りませんといったようなエラーが確認できます。

# httpd -t

 

なので該当箇所にhtmlとcgi-binディレクトリを作成します。

# cd /home/追加したユーザー名
# mkdir html
# mkdir cgi-bin

 

作成したディレクトリにアクセス権を設定します。

# chown 追加したユーザー名:追加したユーザー名 html
# chown 追加したユーザー名:追加したユーザー名 cgi-bin

 

再度httpdを確認します。

# httpd -t

「Syntax OK」と表示されれば、設定は大丈夫です。

 

不要な設定ファイルの移動とステータスの確認

 

Apacheインストール時に自動的に作成される「autoindex.conf」と「welcome.conf」はセキュリティ上問題があるためリネームしてしまいます。

該当ファイルは「/etc/httpd/conf.d」内にあるので、ディレクトリを移動してmvコマンドによるリネームを行います。

# cd /etc/httpd/conf.d
# mv autoindex.conf autoindex.conf.org
# mv welcome.conf welcome.conf.org

 

設定ファイルが変更されたので、Apacheを再起動します。

# systemctl restart httpd

 

再起動が完了したらApacheのステータスを確認します。

# systemctl status httpd

 

上記画像のようになれば、Apacheのこれまでの設定は成功です。

 

テストページ用htmlの作成

 

「/home/ユーザー名/html」を先ほど作成して設定したので、その中にテストページ用のhtmlファイルを作成します。

# cd /home/ユーザー名/html
# vi index.html
# 以下、index.htmlの内容
<html>
 <body>
 テストページ!!!!!!!!!!!
 </body>
</html>

 

作成したindex.htmlファイルのアクセス権を設定します。

# chown 追加したユーザー名:追加したユーザー名 index.html

 

403 Forbiddenが出てしまった

 

テストページの作成が完了したので、早速「http://仮想サーバーのIP」 でアクセスしてみます。

はい、駄目でした表示できません!!!!

「403 Forbidden」で「You don’t have permission to access /index.html on this server.」、index.htmlへのアクセス許可が無いみたいなエラーがでました。

一応ここまでの設定でhtmlページが出る予定でしたが、駄目だったので次のニ点を確認しました。

 

index.htmlまでのディレクトリの権限確認

 

index.htmlがある場所までの全てのディレクトリの権限を確認しました。自分の場合、「/home/追加したユーザー名/html/」に配置してあるので、「/html」、「/追加したユーザー名」、「/home」、「/」の各ディレクトリの権限を全て「drwxr-rx-x」になるように設定しました。

権限の追加と権限の確認は下記で行いました。

# 例 追加したユーザー名ディレクトリへの権限の追加
# sudo chmod o+x /home/追加したユーザー名
# sudo chmod o+r /home/追加したユーザー名
# sudo chmod g+r /home/追加したユーザー名
# 権限確認
# ls -ld /home/追加したユーザー名
# drwxr-xr-x 2 xxx xxx xx xx月 xx xx:xx /home/追加したユーザー名/

 

 

SELinuxの無効化

 

Linuxのセキュリティ制御機能であるSELinuxが有効になっているために、DocumentRootへのアクセスが拒否されている可能性があるようです。

下記コマンドで確認できます。

# getenforce

 

「Enforcing」と表示されればSELinuxが有効になっています。

SELinuxを無効にするには「/etc/selinux/」にあるconfigファイルを編集します。

# cd /etc/selinux
# vi config
# で
# SELINUX=disabled     ← enforcing から disabled に変更

変更したら、SELinuxの設定を反映するため下記コマンドでサーバーを再起動します。

# shutdown -r now

 

 

403 Forbiddenは治ったか・・・・

 

今一度、「http://仮想サーバーのIP」 でアクセスしてみます。

無事、テストページを表示する事ができました!

 

これでようやく、httpでサーバーに接続できた事が確認できましたのでApacheの導入設定は完了にしたいと思います。

次回はSubversionで作成したリポジトリに、httpでアクセスしたいと思います。

スポンサーリンク