2022.11.16 Web制作
システム開発 - AWS Webサイトの公開とログについて
前回のphp-cliとphp-fpmの違いについてでは、両者の違いについて確認しました。
今回は、最後のWebサイトの公開を行い、ログの場所について確認していきたいと思います。
環境
[ec2-user@ip-10-0-10-127 ~]$ cat /etc/os-release
NAME="Amazon Linux"
VERSION="2"
ID="amzn"
ID_LIKE="centos rhel fedora"
VERSION_ID="2"
PRETTY_NAME="Amazon Linux 2"
ANSI_COLOR="0;33"
CPE_NAME="cpe:2.3:o:amazon:amazon_linux:2"
HOME_URL="https://amazonlinux.com/"
公開用ディレクトリの確認
まず、公開用ディレクトリの確認をします。
[ec2-user@ip-10-0-10-127 /]$ vi /etc/httpd/conf/httpd.conf
上記を実行するとhttpd.confの内容が表示されます。
#
# DocumentRoot: The directory out of which you will serve your
# documents. By default, all requests are taken from this directory, but
# symbolic links and aliases may be used to point to other locations.
#
DocumentRoot "/var/www/html"
上記がWebサイトのデータを置くディレクトリであることがわかります。
当ディレクトリ内を確認してみます。
[ec2-user@ip-10-0-10-127 /]$ ll /var/www/html
合計 0
[ec2-user@ip-10-0-10-127 /]$
何も入っていません。TestPageのファイルはどこにあるのでしょうか?
welcome.confの確認
このファイルはどこにあるのでしょうか?このページの右側のブロックに注目してください。
ここの内容を要約すると、下記の様なことが書かれています。
あなたがウェブサイト管理者の場合:
Test Pageより
ディレクトリ /var/www/html/ にコンテンツを追加できるようになりました。 それまで、あなたのWebサイトにアクセスする人には、あなたのコンテンツではなく、このページが表示されることに注意してください。 このページが使用されないようにするには、ファイル /etc/httpd/conf.d/welcome.conf の指示に従ってください。
では、/etc/httpd/conf.d/welcome.conf のファイルの内容を確認します。
[ec2-user@ip-10-0-10-127 /]$ vi /etc/httpd/conf.d/welcome.conf
#
# This configuration file enables the default "Welcome" page if there
# is no default index page present for the root URL. To disable the
# Welcome page, comment out all the lines below.
#
# NOTE: if this file is removed, it will be restored on upgrades.
#
<LocationMatch "^/+$">
Options -Indexes
ErrorDocument 403 /.noindex.html
</LocationMatch>
<Directory /usr/share/httpd/noindex>
AllowOverride None
Require all granted
</Directory>
Alias /.noindex.html /usr/share/httpd/noindex/index.html
上記の先頭部分について、要約すると、下記のようになります。
この設定ファイルは、DocumentRootにindexページが存在しない場合には、デフォルトの「Test Page」が表示されます。このTestPageを無効にするには、以下のすべての行をコメントアウトします。
注意:このファイルを削除しても、アップグレード時に復元されます。
/etc/httpd/conf.d/welcome.conf
つまり、index.htmlファイルがあれば、このTestPageの表示は消えますが、逆に無い場合には、403エラーとしてTest Pageが表示されるようになっています。
また、HTMLファイルは、最後のAliasのところをみると、パスが確認できます。
[ec2-user@ip-10-0-10-127 /]$ vi /usr/share/httpd/noindex/index.html
httpd.confの確認
実は、welcome.conf はhttpd.confの一部として読み込まれています。httpd.confの最後の行には、下記のような表記があります。
# Supplemental configuration
#
# Load config files in the "/etc/httpd/conf.d" directory, if any.
IncludeOptional conf.d/*.conf
ここで/etc/httpd/conf.dディレクトリ内の各設定ファイルが読み込まれています。では、/etc/httpd/conf.dディレクトリの中身を確認してみます。
[ec2-user@ip-10-0-10-127 /]$ ll /etc/httpd/conf.d
合計 20
-rw-r--r-- 1 root root 366 6月 30 20:02 README
-rw-r--r-- 1 root root 2893 6月 30 20:02 autoindex.conf
-rw-r--r-- 1 root root 1616 11月 1 07:48 php.conf
-rw-r--r-- 1 root root 1252 6月 30 20:01 userdir.conf
-rw-r--r-- 1 root root 516 11月 17 08:44 welcome.conf
ここにwelcome.confが入っていました。
ここでhttpd.confにあるDirectory Indexを見ると、「index.html」とだけ記述してあります。
<IfModule dir_module>
DirectoryIndex index.html
</IfModule>
この設定は、ディレクトリが指定された場合には、httpdが提供するファイルになります。現在は、index.htmlのみが有効で、index.phpなどのファイル名では動作しないことになります。
ここで/etc/httpd/conf.dディレクトリにあったphp.confを確認してみます。
[ec2-user@ip-10-0-10-127 /]$ vi /etc/httpd/conf.d/php.conf
DirectoryIndex index.php
httpd.confにあったDirectoryIndexに、index.phpが追加されています。
これにより、ディレクトリが指定された場合には、index.html、index.phpの順に探し、無かった場合には、welcome.confで設定されているhtmlファイルが403エラーページとして表示されます。
index.phpの作成と表示
色々、確認が済みましたので、実際にページを表示します。今回は、シンプルにphpの情報を表示するphpinfo()を表示します。
下記のコマンドを実行します。
[ec2-user@ip-10-0-10-127 /]$ vi /var/www/html/index.php
ファイルは存在しないはずなので、下記のように一番下に表示され、ブランクのページが表示されます。
"/var/www/html/index.html" [新]
下記を冒頭から入力します。入力の際には、「i(insert)」を入力します。
<?php
phpinfo();
入力が終わったらEscキーを押し、続いて「:wq」(保存して終了)を入力します。
では、ブラウザでページを表示してみます。
上記が表示されれば成功です。
ログディレクトリの確認
最後に今後、様々トラブル時に確認すべきログについて少し確認します。
[ec2-user@ip-10-0-10-127 /]$ ll /var/log
様々なログが入っています。一つ一つについては、興味があれば検索して確認してみてください。
特に注目すべきログは、「httpd」ディレクトリと「php-fpm」ディレクトリです。
httpdディレクトリ内には、Apacheに関するエラーが、php-fpmはphpのエラーに関する情報が含まれています。
サーバー運用時には、この二つのディレクトリをまめに確認し、エラーを最小限に減らしていく努力をしていく必要があります。
まとめ
以上、今回は、Webサイトの表示とログディレクトリの確認を行いました。
ここまで全21回(AWS サーバー立ち上げ設定まとめ)かけて、AWSの立ち上げからWebサーバーの設定を行ってきました。
今回、様々設定をご紹介しようと思っていた項目も、AmazonLinux2では、丁寧に設定がされており、確認するだけで終わるという場面も多くなりました。
そして、私自身色々調べながら確認することにより、とても勉強になりました。
今回で、無事、Webサーバーとして利用できることが確認できましたので、当シリーズは完了としたいと思います。最後まで読んでいただけた方がおりましたら、つたない表現にお付き合いいただき、本当にありがとうございました。
文責:フライング・ハイ・ワークス代表 松田 治人(まつだ はるひと)
会社では、Laravelを中心としたエンジニアとして働いており、これまでに50本以上のLaravelによるWebアプリケーションの構築や東京でホームページ制作をしています。
エンジニアとして弊社で働きたい方、お仕事のご相談など、お待ちしております。
WEBサイト制作のお問い合わせ、お見積り依頼、ご質問は
こちらのお問い合わせフォームよりお願いいたします
フライング・ハイ・ワークスの紹介
フライング・ハイ・ワークスは、東京のホームページ制作・Web制作会社・システム開発会社です。東京都及びその近郊(首都圏)を中心として、SEO対策を意識したPC及びスマホのサイトをワンソース(レスポンシブ対応)で制作します。
実績
デザイナーチームは、グラフィックデザインやイラストの制作も得意としており、著作権を意識しない素材の提供が可能です。システム・コーディングチームでは、Laravelなどを使用したスクラッチからのオリジナルシステム開発を始め、WordPressのカスタマイズを得意としております。
また、SEOやランディングページ(LP)、広告向けバナーなどを他社様でやっていた作業の引継ぎでも問題ありません。制作実績は多数ございますので、お客様に合わせたご提案が可能です。
500点以上のフライング・ハイ・ワークスの制作実績ページをご覧ください!
東京のホームページ制作・Web制作のお問い合わせ、お見積り依頼、相談、質問は
こちらのお問い合わせフォームよりお願いいたします