WebサーバをいじってWebページ内容を変える

Webブラウザからリクエストを受け取り、ブラウザに表示させる際に介在するWebサーバを構築し、ファイル指定無しの場合デフォルトで表示させる設定になっているので、それ以外のファイルを表示させるよう、変更を行うことについて書く。

Webサーバの構築

webサーバとは、ブラウザが要求するwebページが存在するサーバを探し、データにアクセス・受け取りをし、それをブラウザに返すというものである。データ授受の媒介者とと言えるだろう。 この際、パッケージ管理システムを利用すると大変便利である。 webサーバをいじる前に、この便利なパッケージに関して軽くまとめておく。

パッケージ管理システム

Linuxでソフトウェアをインストールする手段は大きく分けて、ソースコードを利用する方法とパッケージ管理システムを使う方法の二種類がある。 前者に関してはライブラリの依存関係を把握する必要性があったり、と大変難易度が高いと言える。

その一方、パッケージ管理システムを使うことで、コマンドを1行打ち込むだけでアプリケーションが利用可能になったり、削除の際には綺麗さっぱりパッケージごと削除できるので、不要ソフトウェアがLinuxを汚すことを防げたり、便利である。

パッケージの統合管理システムである、yum(Yellowdog Updater Modified)の利用してみる。

yumを使う

今回、yumコマンドを用いてApacheパッケージ(Webサーバーソフトウェア)のインストールを行った。

yum install (インストールしたいパッケージ)

このあと、Apacheの起動を行う。

service (インストールしたいパッケージ) start

ここで、ブラウザを開いて、http://{サーバーのPublicIP}/にアクセスし、

Amazon Linux AMI Test Page

というページが出れば成功である。 また、下のようにすれば、サーバー起動時にApacheも再起動するように設定することができる。

chkconfig httpd on

いよいよWebページをいじる

リクエストされたURLにファイル名が省略されていた場合に表示されるファイルの中身は、デフォルトで決められている。これを決めるためのものがDirectoryIndexであるのだが、これは /var/www/htmlにindex.htmlが存在した際はそれを返すようにするというものである。

よって、自分で表示させるファイルを決めたい場合には、

DirectoryIndex index.html (指定したいファイル名)

と記述すればよい。

また、ブラウザにどのディレクトリ以下を表示するかを決めるために、DocumentRootという設定項目が存在する。

DocumentRoot "/var/www/html"

慣習的に”/var/www/html”というディレクトリが設定されているのだが、こちらも自分で設定することができる。 変更した場合には、Apacheを再起動するなどconfigを読み直す必要がある。