メンバーが、まだCGIの設置を覚え始めた頃のことだった。
「あの、この権限ってどうするんでしたっけ?」
「どうしたの?」
「エラーが出るんです」
システム担当が見ると、書き込み権限が必要なファイルにその権限がついていなかった。
そのことを指摘すると、メンバーはシステム担当に確認しながら、書き込み権限をつけた。
「あっ、エラー出なくなりました!ありがとうございました」
「あれ?文字化けが……」
メンバーが困ったようにつぶやいていたので、システム担当がのぞいてみた。
「アップロードの時の仕方が違うんじゃないかな?」
「えっ、どうでしたっけ?」
「これは、Windowsでは文字化けしていないから、EUCのアスキーモードで」
「これでいいんですよね……」
メンバーはシステム担当に教わりながら、アップロードをやり直した。
「えっと……はい、文字化け直りました!ありがとうございました」
メンバーは、聞けばすぐに教えてくれるシステム担当がいて助かっていた。
しかしその一方で、開発で忙しいシステム担当の手を毎回煩わせているという思いもあった。
このままでは、いつまでたっても覚えないと思い、改めて教わり一人でできるようにしようと思った。
「あの、毎回聞いてばかりなので、教えていただけませんか?」
「いいよ」
「すみません、前にも教えてもらったはずなのに、よくわかってないみたいで……」
「慣れだからね」
システム担当は改めて、図解などをしながら詳しく説明をしてくれた。
メンバーは、サーバーとか、漢字コードとか転送モードとか、そもそも何が何だかわからない状態だった。
日常生活の例を出して話してくれたときの意味合いはよくわかった。
だがいざとなると、すぐにはうまくいかなかった。
そこで、まずは大雑把でもいいから、自分用のメモを作ってみた。
[権限についてのメモ]
※あくまでもCGIKONの開発サーバーでのメモ
・HTMLはそのまま特に変更なし
・log、tsv、csvなど書き込み用ファイルには書き込み権限をつける
・書き込みのあるディレクトリ自体にも書き込み権限をつける場合もある
・cgiには実行権限をつける
・phpはhtmlと同様で特に変更なし
・その他プログラムから参照しているファイルやライブラリはそのまま変更なし
|
[転送モード・漢字コードについてのメモ]
※あくまでもCGIKONの開発環境でのメモ(サーバー:Linux/クライアント:Windows)
■サーバー→クライアント→サーバーの場合
・ダウンロードとアップロードは基本的に同じ転送モード・漢字コードにする
(例)バイナリーでダウンロード→バイナリーでアップロード
EUC+アスキーでダウンロード→EUC+アスキーでアップロード
・バイナリーでダウンロードしたファイルの中身を見ると、日本語が文字化けしている
・EUC+アスキーでダウンロードしたファイルの中身を見ると、日本語が問題なく表示されている
■クライアント→サーバーの場合
・WindowsでHTMLを(METAタグ:SHIFT_JIS)で作成した場合→アップロードはアスキーモード+SHIFT_JIS
※ブラウザ及びソースは問題なく日本語表示される
・WindowsでHTMLを(METAタグ:EUC-JP)で作成した場合→アップロードはEUC+アスキーモード
※ブラウザの日本語表示は問題ないが、ブラウザのソース表示で文字化けしている
※プログラムで使用するHTML(フォームなど)の場合は、METAタグはEUC-JP推奨、プログラム実行時に漢字コードが混在してしまう可能性があるため
|
そして毎回メモを見ながら、試してみた。
うまくいかない時は、試行錯誤、何回もいろんな組み合わせをしてみた。
一日何回も毎日毎日繰り返しているうちに、メモを見なくても、その都度判断しながらできるようになってきた。
そして、アップロードのやり方は、ダウンロード時の状態によっても異なってくることがわかってきた。
また、うっかりで権限を付け忘れたとか、アップロードの仕方が間違ったとしても、表示結果によってどこに問題があるかわかるようになってきた。
[エラーとの関係メモ]
1.InternalServerErrorが出る
・必須ライブラリを確認する
・Perlのパスを確認する
・アップしていないファイルがある可能性を確認する
・これらが問題なさそうな場合は、アップロードの仕方や権限が間違っている可能性がほとんど
2.NotFoundやページが見つかりませんと出る
・パスが間違っていた
・ファイル名が間違っていた
・ローカルと本番など複数の画面を上げている場合、直していない方を見ていることがある
3.Forbidden
・メッセージどおり、アクセス権限のつけ方が間違っている可能性
4.何も表示されなくて真っ白い画面
・アップロードの仕方が間違っている可能性
5.文字化けしている
・アップロードの仕方が間違っている可能性
・一部文字化けしている場合は、コードが混在している可能性
|
システム担当は、いつの間にかメンバーがFTPの件で聞いてこなくなったことに気がついた。
メンバーは、CGIの設置ができるようになったことで、今までシステム担当が負担していた作業を少し軽減しただけでなく、次の業務への可能性も作ったのだった。
執筆担当:CGIKON 佐々木
|