ミッション 最初の配信

この章でできるようになったこと

ここまでで、Webサーバーが何をしているか、nginx をどう入れてどう動かすか、返すファイルがどこから取られるかを見てきました。材料は揃っています。この回で、自分のサイトを本当に公開します。

手元の ~/mysite には、前のコースで作ったプロフィールサイト一式が入っています。

ls -R /root/mysite # index.html style.css works/index.html

これをドキュメントルートに移せば、http://localhost/ で自分のサイトが出ます。

ディレクトリごと写す

中身をまとめて写すには cp -r を使います。コピー元の指定でよく間違えるのが、末尾のスラッシュとドットです。

cp -r /root/mysite/. /var/www/html/

/root/mysite/. と書くと「mysite の中身」を指します。/root/mysite と書くと「mysite というディレクトリそのもの」なので、/var/www/html/mysite/ ができてしまい、URLが1段深くなります。狙った場所に出ないときは、まずここを疑ってください。

確かめるのは1つではない

トップページが出たからといって、サイト全体が出るとは限りません。CSSが読めていなければ見た目が崩れますし、サブディレクトリのページは別の設定が要ることもあります。だから確認は、種類の違うものを1つずつ叩きます。

curl -sI http://localhost/ # トップページ curl -sI http://localhost/style.css # スタイルシート curl -sI http://localhost/works/ # サブディレクトリ

3つとも 200 が返れば、サイトとして成立しています。/works/ が 403 や 404 になるときは、その中に index.html があるかを確かめてください。

記録を残す

公開できた状態を1つのファイルにまとめて残しておきます。あとで壊れたとき、正常だったときの記録と見比べられます。

for p in / /style.css /works/; do echo "$p $(curl -s -o /dev/null -w '%{http_code}' http://localhost$p)" done > /root/ch1-report.txt

-w '%{http_code}' は、ステータスコードだけを取り出す書き方です。監視のスクリプトでよく使う形なので、6章でもう一度出てきます。

手を動かす

サイト一式をドキュメントルートに配置し、3つのURLがすべて 200 で返る状態にします。そのうえで、確認結果を /root/ch1-report.txt に残してください。

ヒント

  • 1. ls -R /root/mysite で配置するものを確かめる
  • 2. cp -r /root/mysite/. /var/www/html/ で中身を写す
  • 3. curl -sI で / と /style.css と /works/ の3つを確かめる
  • 4. 3つのURLとステータスコードを /root/ch1-report.txt に書き出す

4 項目で採点します