Webサーバーにコンテンツを配置する
【連載コラム:Linuxを学ぼう(22)】
サーバーを扱う上で必須と言える技術が「Linux」。今回は動作しているサーバーへのコンテンツ配置の手順を紹介します。
Webサーバーが動作し始めたら、HTMLなどのコンテンツを配置する必要があります。コンテンツの配置手順を通して、Webサーバーの設定についても確認してみましょう。
Webサーバーの設定ファイルを確認する
Webサーバーは多岐に渡る設定が存在しますが、それらは設定ファイルに記述されています。今回はコンテンツを配置するディレクトリの設定を確認してみます。
インストールしたWebサーバーの設定ファイルは/etc/httpd/conf/httpd.confとなります。このファイルの中から、DocumentRootという記述を探すと、以下のように設定されています。DocumentRootのような、設定項目を表すものをディレクティブと呼びます。
#
# 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サーバーはこのディレクトリのコンテンツを外部に発信する
- シンボリックリンクで別のディレクトリを参照させられる
- エイリアス(別名)を使うと別のディレクトリを参照させられる
ということになります。簡単なWebサーバーであれば、DocumentRootディレクティブ以下だけで問題ありませんが、複雑なコンテンツ管理をする場合、シンボリックリンクやエイリアス機能を使うとよいでしょう。
コンテンツを配置してみる
それでは、DocumentRootディレクティブで指定されている/var/www/htmlディレクトリにコンテンツを配置してみましょう。
本格的なHTML形式のファイルを用意しなくても、単なるテキストファイルでも動作させることができますので、簡単に以下のようなファイルを作成します。ファイル名はデフォルトで使用されるindex.htmlとしておくと、Webブラウザからアクセスする際にファイル名を指定する必要がありません。
Hello,LinuC
ファイルの存在を確認します。
$ ls -l /var/www/html
total 4
-rw-r--r--. 1 root root 12 Sep 25 17:31 index.html
Webサーバーにアクセスしてみる
それではWebサーバーにアクセスしてみましょう。
curlコマンドだと、ファイルを作成する前はテストページのHTMLが沢山表示されていましたが、今度はシンプルにindex.htmlに書き込んだテキストのみが表示されています。
$ curl localhost
Hello,LinuC
同様に、外部のマシンからWebブラウザでサーバーにアクセスしてみましょう。やはり、書き込んだテキストのみが表示されているはずです。
Webサーバーのコンテンツは、HTMLや画像などの静的なコンテンツだけでなく、PHPやPythonなどの動的なコンテンツを配置する場合もありますが、基本はこの形になりますので、まずは設定ファイルとディレクティブ、そして実際の動作の関係についてしっかりと確認しておきましょう。
- 筆者紹介
宮原 徹 氏
Linux標準教科書、Linuxサーバー構築標準教科書などの監修者。LinuCレベル1/レベル2 Version10.0の改訂作業にも協力。また、幅広いOSSに関する情報提供の場として「オープンソースカンファレンス(OSC)」の企画運営も。
バックナンバー
第21回:外部からWebサーバーにアクセスする
第20回:Webサーバーを動かす
第19回:Webサーバーをインストールする
第17回:ネットワークの状態確認を理解する