TOPページ >> アップロード@ >> アップロードA

実際にサーバーにアップロードしてみる

HTMLやCGIのファイルを作成して、サーバーにアップロードする手順まで説明しましたが、 実際に例をあげて説明をしないと、アップロードをしてパーミッションの設定をするという段階で ちょっとしたミスにより、つまずくケースが多いので、 実際にサンプルのファイルをアップロードする手順を細かく解説していきます。 ■アップロードするファイルを用意する HTML作成のページで作成したサンプルページと、 CGI作成のページで作成したカウンターCGIを組み合わせたページをアップロードしてみます。 カウンターのCGIプログラムに、HTMLを組み込んでしまいます。 オレンジ色の部分が、サンプルページのHTMLファイル部分です。 ここで、ヒアドキュメントというものを使っています。 print <<END; 〜 END(ENDの部分は自由に決めることが可能)で囲まれた部分は プリント文の ダブルクォート「print " "」で囲ったのと同じ扱いになります。 最後に、「あなたは何番目の訪問者です」の部分を中央ぞろえして完成です。 <div align="center">〜</p>でも中央ぞろえは可能ですが、 ここでは<center></center>を使用しています。
#!c:\perl\bin\perl

print <<END;

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>タイトル</title>
</head>

<body background="image/back01.png">
<pre>

<div align="center"><img src="image/youkoso.gif" width="298" height="141">

<hr size="1" width="300" align="center">
<a href="index.cgi">トップページ</a> <a href="next.html">Nextページ</a>
<hr size="1" width="300" align="center">

<p>わたしのホームページにようこそ!!</p>

<a href="next.html"><img src="image/next.PNG" width="125" height="50" border="0"></a>
</div>

</pre>
</body>

</html>

END

open(READ, "<log.dat");
$count = <READ>;
close READ;

++$count;

open(WRITE, ">log.dat");
print WRITE $count;
close WRITE;
print "<center>あなたは$count番目の訪問者です</center>";
このファイルを「index.cgi」とでも名づけましょう。 あとは「log.dat」ファイルと画像用フォルダ「image」を用意します。 それらのファイルを、「myhomepage」と名づけたフォルダを作成して、その中に入れます。 アップロードをするまえにきちんと動作を確認してください。 C:\Apache2\public_htmlフォルダにファイルを全部コピーして、 ブラウザに「http://localhost/index.cgi」と打ち込んで、動作を確認してください。 ■サーバー登録をする 次はサーバー登録をしてIDパスワードURLを取得してください。 サーバーによってCGIファイルをアップロードする場所が違ったり、 CGIプログラムの最初の部分「#!c:\perl\bin\perl」のパスが違ったりしますので、 サーバーの指示に従ってください。 CGIプログラムを配布しているサイトからCGIをダウンロードしてきて使用する場合も、 パーミッションの設定やファイルの設置場所などの指示に従ってください。 CGIのプログラムを配布しているサイト紹介 とほほのWWW入門 CGI RESCUE -ネットサーフレスキュー- ここでは仮に、以下のようなID、パスワード、URLを取得したものとします。 ID:12345 Pass:67890 URL:http://sample-page.jp/ ■アップロードをする FFFTPを起動して、新規ホストを以下のように設定します。 「ローカルの初期フォルダ」は、アップロードをするファイルが全部入っている 「myhomepage」フォルダを選択します。 右のボタンを押してmyhomepageフォルダがある場所を探して、選択してください。 新しくホストが設定できたら、その新しいホストで接続をして、 サーバー側のpublic_htmlフォルダの中まで移動して、ミラーリングアップロードをします。 必ず、サーバー(ホスト)側のアドレスが「・・・/public_html」となっていることを確認してください。 アップロードができたらパーミッションの設定をします。 index.cgiは以下のようにパーミッションを設定してください。 log.datは以下のように設定してください。 これでアップロードの作業はすべて終了です。 ここで行っている内容はあくまで例ですので、使用するサーバーによって 設定が異なる場合がありますので注意してください。 ■アップロードしたホームページを見てみる ブラウザにURLを打ち込んで、さっそく見てみましょう。 この例だと↓のようなURLになります。 http://sample-page.jp/index.cgi 正しく表示されましたでしょうか? もし正しく表示されなかった場合は、「404 Not Found」などのエラーステータスが出ます。 その場合は、エラーステータスの内容を見て、どこがおかしいのかを見つけてください。 ●エラーステータスの種類
エラー
ステータス
メッセージ・意味
100番台
(情報)
100 Continue
仮のレスポンス
101 Switching Protocols
サーバーによりプロトコルが変更された
200番台
(成功)
200 OK
正常に送信できました
201 Created
POST / PUT メソッドは成功しました
202 Accepted
リクエストを受け付けました
203 Non-Authoritative Information / Provisional Information
影響のない一時的な情報です
204 No Content / No Response
リクエストは受け付けましたが、リターン情報はありません
205 Deleted / Reset Content
DELETE メソッドが成功しました
206 Partial Content
部分的にリクエストの実行を行いました
300番台
(リダイレクション)
301 Moved Permanently
要求されたリソースは新しいURLに移動しました
302 Moved Temporarily / Found
要求されたリソースは一時的に新しいURLに移動しました
303 See Other / Method
リクエストに対するURIレスポンスの形式が異なります
304 Not Modified
指定のリソースは、指定された日時以降に変更されていません
305 Use Proxy
Proxy のキャッシュを使用しました(Proxyサーバのリターン)
400番台
(クライアントエラー)
400 Bad Request / Invalid / Petici n incorrecta
リクエスト(URL)に誤りがあります
401 Authorization Required / Unauthorized
認証に失敗しました
402 Payment Required
有料コンテンツの認証に失敗しました(将来用の予約ステータス)
403 Forbidden
アクセス権限がありません
404 Not Found
該当するページが見つかりません
405 Method Not Allowed
許可されていないメソッドです
406 None Acceptable / Not Acceptable
受け付けられないヘッダ内容です
407 Proxy Authentication Required
Proxyの認証に失敗しました
408 Request Timeout
タイムアウトになりました
409 Conflict
リクエストはリソース状態と矛盾しているため未完了(リソース競合)
410 Gone
リクエストされたリソースは既に有効ではありません(削除済)
411 Length Required
Content-Length が無いためリクエストを受け付けません
412 Precondition Failed
request-header フィールド中に偽であると評価された項目があります
413 Request Entity Too Large
リクエストエンティティが長すぎるため処理できません
414 Request-URI Too Long
Request-URI が長すぎるため処理できません
415 Unsupported Media Type
サポートしていないフォーマットです
416 Unknown
理解できないリクエストです
500番台
(サーバーエラー)
500 Internal Server Error
内部サーバエラー(CGIなどのWEBアプリケーションに誤りがあります)
501 Not Implemented
サポートしていないリクエストです
502 Bad Gateway / Proxy Error
Gateway または Proxy エラー
503 Service Unavailable
サーバは一時的な過負荷やサーバメンテナンスため現在処理出来ません
504 Gateway Timeout
Gateway または Proxy のタイムアウト
505 HTTP Version not supported
サポートしていないバージョンのHTTPリクエストです
大抵おこるエラーは 403(パーミッション設定ミス) 404(URL間違い・アップロードができていない) 500(プログラムに問題あり) この3つのうちどれかだと思います。 TOPページに戻る
Copyright (c) 2006 Akihisa Minagawa. All rights reserved.