FFFTPが必要な理由

Webページをインターネットに公開するには?

作成したHTMLファイルをwebページとしてインターネットを通じてWWW(World Wide Web)に公開するには、WWWサーバの特定の場所にHTMLファイルを置くことが必要です。この特定の場所は、WWWサーバの設定で決められています。総合情報センターのWWWサーバで使用されているApacheという名前のWWWサーバ・プログラムでは、ユーザのホームディレクトリを~で表すと、~/public_html/という名前のディレクトリがその特定の場所となります。

総合情報センターのWWWサーバから、ユーザIDがk17xxxの学生がhello.htmlというHTMLファイルをWWWに公開するために、WWWサーバのこの特定の場所~/public_html/の中にhello.htmlを置いたとします。このとき、このwebページのURLは次のようになります。

http://www.ipc.hokusei.ac.jp/~k17xxx/hello.html

また、課題として作成したHTMLファイルをkadaiという名前のフォルダにまとめ、その中にindex.htmlという目次のHTMLファイルを作成した場合、kadaiフォルダごと、~/public_html/の中に置くと、index.htmlのパス付ファイル名は~/public_html/kadai/index.htmlになります。このindex.htmlのURLは次のようになります。

http://www.ipc.hokusei.ac.jp/~k17xxx/kadai/index.html

このようにWWWに公開するためのWWWサーバの特定の場所~/public_html/の中にフォルダを作成して階層的にすると、URLのパスにその階層が反映される仕組みになっています。

Wドライブと~/public_html/の関係

総合情報センターの環境では、実はWドライブは、~/public_html/と同じ記憶領域です。

しかし、Wドライブはマイクロソフトネットワーク(Windows)を通して接続したWWWサーバの特定の場所で、~/public_html/はFTP(Unix)を通して接続したWWWサーバの特定の場所という違いがあります。 WindowsとUnixは異なるOS(Operating System)ですから、本来ならWドライブ~/public_html/のどちらか一方だけが使用可能なはずです。しかしそれでは不便なので、WWWサーバでは、Unixのディレクトリ~/public_html/をWindowsのマイクロソフトネットワークからも利用できるようにSamba(サンバ)というソフトウェアを使っています。WドライブはSambaを通して見た~/public_html/です。

このことから、Wドライブの中のファイルを秀丸エディタやWordなどで開いたままで、FFFTPなどでファイル転送して上書きしようとすると、使用中のため上書きできずにエラーとなることが予想されます。WドライブとFFFTPは、同時には使えないものと思ってください。

CGIには、FFFTPが必要

CGIを使って掲示板やチャットを設置するために、PerlスクリプトをWWWサーバで実行できるようにパーミッションを755に変えるには、Wドライブは役に立ちません。パーミッションは、Unixのファイルシステムの仕様だからです。この設定のためには、FFFTPを使用することになります。

CGIを使う時にWドライブにファイルをドラッグしてコピーする方法の問題は、このパーミッションの設定だけではありません。WindowsとUnixでは、ファイル・システムが異なります。Windowsのテキスト・ファイルの改行コードはCR(0D)LF(0A)の2バイトのデータです。しかし、UnixではLF(0A)の1バイトでデータですので、Windowsで作成したテキスト・ファイルは、UnixではCR(0D)という余分なデータが改行前にあることになり、これが原因で、Perlスクリプトを実行しようとするとエラーになります。

この改行コードの違いの問題は、FTPではファイル転送モードにアスキー・モードとバイナリ・モードの2種類があるので、テキスト・ファイルはアスキー・モードを選ぶと改行コードの違いを修正してファイル転送してくれます。FFFTPでは、アスキー・モードとバイナリ・モードの自動判別機能があるので、自分で転送モードを管理しなくても良いので便利です。


ホームへ戻る Last update: