この情報は、米国アドビシステムズ社が提供している情報をもとにローカライズし、作成したものです。

 

日本語環境での動作保証はしておりませんのでご了承ください。

 

内容 (What's Covered)

 

この文書は、Contribute ユーザが遭遇する可能性のある FTP の問題(接続、編集、公開など)を検証する方法について説明します。SFTP 接続を検証する場合は、Testing SFTP Functions Using command line(TechNote tn_19564)を参照してください。

さらに詳しいトラブルシューティングを行う場合は、文書番号 228524 FTP トラブルシューティングとリソース を参照してください。

 

A. FTP サーバアクセスのための必要要件

B. 準備

C. 基本的な動作検証

C-1. サーバへの接続とログイン

C-2. ディレクトリリストの取得

C-3. ディレクトリの作成

C-4. ディレクトリの移動

C-5. ファイルのアップロード

C-6. ファイル名の変更

C-7. サブディレクトリにファイルを移動

C-8. 上位ディレクトリにファイルを移動

C-9. パーミッションの変更

C-10. テストファイルのブラウズ

D. 論理 FTP エラーの検証

D-1. ファイルが存在することを確認

D-2. ファイルが存在しないことを確認

D-3. サーバの状態を確認

E. クリーンアップ

 

 A. FTP サーバアクセスのための必要要件

 

 

Contribute がサーバにアクセスするためには、以下のすべてを行える状態でなければなりません。

 

C-1. サーバへの接続とログイン

C-2. ディレクトリリストの取得

C-3. ディレクトリの作成

C-4. ディレクトリの移動

C-5. ファイルのアップロード

C-6. ファイル名の変更

C-7. サブディレクトリにファイルを移動

C-8. 上位ディレクトリにファイルを移動

C-9. パーミッションの変更

C-10. テストファイルのブラウズ

 

 B. 準備

 

コマンドライン FTP ツールを使用する必要があります。コマンドラインの FTP ツールは Macintosh OS X および Windows のどちらにも搭載されています。更に、FTP と Web サーバの検証用にテストファイルが使用されます。

  1. 検証に使用する HTML ファイルを作成します。以下の HTML ソースをテキストエディタにコピー&ペーストし、「test.htm」として保存します。

    <body bgcolor="#ffffff">

    <p>This is a test file used during FTP tests.</p>

    </body>
  2. コマンドラインツールを起動します。Windows と Macintosh によって手順が異なります。
  • Windows の場合
  • [スタート] メニューから [ファイル名を指定して実行] を選択します。
  • [名前] テキストボックスに「cmd」と入力し、[OK] をクリックします。



  • MS-DOS オペレーティングシステムと通信するコマンドプロンプトのウィンドウが表示されます。
  • Macintosh OS X の場合
  • 「Macintosh HD/アプリケーション/ユーティリティ」ディレクトリ内の「ターミナル」をダブルクリックします。



  1. 「test.htm」ファイルをコマンドプロンプトのホームディレクトリに配置します。
  • Windows の場合

    コマンドプロンプトの最初の行に表示されているパスがホームディレクトリです。通常は「C:¥Documents and Settings¥<ユーザ名>」フォルダです。
  • Macintosh の場合

    ターミナルで「pwd」(print working directory)コマンドを入力して表示されるパスがホームディレクトリです。通常は「ユーザ/<ユーザ名>」フォルダです。
  1. カレントディレクトリにテストファイルが保存されていることを確認します。
  • Windows の場合
  • コマンドプロンプトウィンドウで「dir」コマンドを入力し、「test.htm」ファイルがリストに表示されるか確認します。
  • 「test.htm」ファイルがリストに表示されない場合は、再度「test.htm」ファイルをホームディレクトリに移動し、「dir」コマンドでリストに表示されることを確認してください。
  • Macintosh の場合
  • ターミナルウィンドウで「ls」コマンドを入力し、「test.htm」ファイルがリストに表示されるか確認します。
  • 「test.htm」ファイルがリストに表示されない場合は、再度「test.htm」ファイルをホームディレクトリに移動し、「dir」コマンドでリストに表示されることを確認してください。

 

 C. 基本的な動作検証

 

以下の操作で、接続やデータ転送、ファイルのパーミッションチェックなどの FTP サーバの基本的な動作を検証します。これらのコマンドはコマンドラインツール上で、上記セクションの手順と同様に入力します。

 

 C-1. サーバへの接続とログイン

 

検証内容

この検証では、サーバが正常に動作し到達可能であること、またユーザ名とパスワードに誤りが無いことを確認します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)行番号は参照用に記載しているもので、実際の画面には表示されません。

1. ftp <サーバアドレス>

2. User:<ユーザ名>

3. 331 Password required for server.

4. Password:<パスワード>

5. 230 User <ユーザ名> logged in.

6. ftp>

 

成功した場合 : ユーザはパスワードの入力を求められます。入力したパスワードが正しければ、「ftp>」が表示されます。

失敗した場合 : サーバに接続できません。

 

対処方法

- 2 行目が表示されず、ログインが促されない場合、サーバがダウンしていないか、サーバ名に誤りはないか、またはファイアウォールやプロキシによって接続が妨げられていないか確認してください。

- 3 行目が表示されず、ユーザ名の入力に応答が無い場合、ログイン情報を確認してください。(サーバがユーザ名を認識していません。)

- 5 行目が表示されず、ログインが完了しない場合、パスワードを確認してください。(サーバがパスワードを認識していません。)

 

 C-2. ディレクトリリストの取得

 

検証内容

この検証は、データ転送の性能を確認します。FTP コマンドラインが「dir」または「ls」コマンド入力後にフリーズする場合、データ接続を確立する際に問題が発生している可能性があります。この問題は、パッシブモードの設定が適切に行われていないために発生することがあります。或いは、ファイアウォールやプロキシによってデータ接続がブロックされている場合にも発生します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>dir または ls (サーバの種類に応じて入力します)

200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.

09-08-04 04:59PM <DIR> _baks

08-26-04 04:19PM <DIR> _mm

09-08-04 04:59PM <DIR> _notes

09-08-04 04:59PM 678 test.htm

09-08-04 05:07PM 12 test.htm.LCK

226 Transfer complete.

ftp: 367 bytes received in 0.02Seconds 50.40Kbytes/sec.

 

成功した場合 : ディレクトリ内のファイルがリスト表示されます。

失敗した場合 : ウィンドウがフリーズします。

 

対処方法

Contribute 内の現在のパッシブモードの設定を変更します。また、ファイアウォールやプロキシによって接続がブロックされていないことを確認します。データ転送の問題をすべて解決してから、作業を続行してください。

 

 C-3. ディレクトリの作成

 

検証内容

テストファイルをアップロードするための新規ディレクトリを作成できるか検証します。既に使用されているディレクトリ名は使用しないでください。

 

メモ : Contribute では、ディレクトリを作成できるように設定する必要があります。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp> mkdir macr_test

257 "macr_test" directory created.

 

成功した場合 : 新規ディレクトリが作成されます。

失敗した場合 : ディレクトリは作成されません。

 

対処方法

ディレクトリの作成に失敗する場合、パーミッションの設定に問題がある可能性があります。サーバ管理者に連絡してください。

 

 C-4. ディレクトリの移動

 

検証内容

新しく作成したディレクトリに適切なパーミッションが設定され、ディレクトリへの移動が許可されていることを確認します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>cd macr_test

250 CWD command successful.

 

成功した場合 : カレントディレクトリが変更されます。

失敗した場合 : 他のディレクトリへの変更ができません。

 

対処方法

カレントディレクトリの移動に失敗する場合、パーミッションの問題が発生している可能性があるため、サーバ管理者に連絡してください。UNIX サーバの設定が正しく行われていない場合、まれにこのような現象が発生します。

 

 C-5. ファイルのアップロード

 

検証内容

準備の項目で作成したテストファイルをアップロードし、新規ファイルを作成するのに必要なパーミッションが設定されていることを確認します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>put test.htm

200 PORT command successful.

150 Opening ASCII mode data connection for test.htm.

226 Transfer complete.

ftp: 83 bytes sent in 0.00Seconds 9000.00Kbytes/sec.

 

成功した場合 : ファイルがアップロードされます。

失敗した場合 : ファイルはアップロードされません。

 

対処方法

ファイルのアップロードに失敗する場合、パーミッションの問題か、またはデータ転送の問題が発生していると考えられます。ただし、B-2. の手順でディレクトリリストの取得に成功している場合、データ転送の問題ではありません。サーバ管理者に連絡し、新規ファイルを作成できるようにパーミッションを設定してください。

 

 C-6. ファイル名の変更

 

検証内容

この検証は、ファイル名の変更という基本的な動作が有効であるかを確認します。操作が完了したら、再度ファイル名を「test.htm」に戻してください。

 

メモ : ロールバックが有効になっている場合、Contribute でファイル名変更の機能を有効にする必要があります。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>rename test.htm test2.htm

350 File exists, ready for destination name

250 RNTO command successful.

 

上記のコマンドが正常に完了した場合は、再度ファイル名を「test.htm」に戻します。

ftp>rename test2.htm test.htm

 

成功した場合 : ファイル名が変更されます。

失敗した場合 : ファイル名を変更することができません。

 

対処方法

ファイル名の変更に失敗する場合、パーミッションの問題が発生している可能性があるため、サーバ管理者に連絡してください。Contribute でロールバックを無効にします。それでも問題が発生する場合は、ファイル名の変更ができない現象について、サーバ管理者が調査する必要があります。

 

 C-7. サブディレクトリにファイルを移動

 

検証内容

ファイルの移動は、rename コマンドを使用して行います。サーバによっては、ファイル名の変更が全く動作しない場合でも、ディレクトリ間でのファイルの移動に失敗することがあります。この検証を行うには、「macr_test」ディレクトリ内に新しくサブディレクトリを作成し、新規フォルダ内のファイルとして rename します。rename 完了後、サブディレクトリに移動し、ディレクトリリストを取得してファイルが移動されていることを確認します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>mkdir subdir

257 "subdir" directory created.

ftp>rename test.htm subdir/test.htm

350 File exists, ready for destination name

250 RNTO command successful.

ftp>cd subdir

250 CWD command successful.

ftp>ls または dir

200 PORT command successful.

150 Opening ASCII mode data connection for /bin/ls.

09-11-04 02:20PM 83 test.htm

226 Transfer complete.

ftp: 83 bytes received in 0.00Seconds 49000.00Kbytes/sec.

 

成功した場合 : 新しく作成されたサブディレクトリにファイルが移動し、ディレクトリリスト内に移動したファイルが表示されます。

失敗した場合 : サブディレクトリの作成に失敗するか、ファイルを移動することができません。

 

対処方法

サブディレクトリへのファイルの移動が失敗する場合、公開時にエラーの原因となるロールバック機能の干渉を受けている可能性があります。Contribute でロールバックを無効にしてください。ロールバック機能を無効にしても問題が改善されない場合は、サーバ管理者に問い合わせてください。

 

 C-8. 上位ディレクトリにファイルを移動

 

検証内容

前セクションの作業後、テストファイルは「macr_text/subdir」ディレクトリ内に保存されます。「..」パラメータを使用して、テストファイルを再度「macr」ディレクトリに移動します。その後、「cd..」コマンドを使用して「macr_test」ディレクトリに移動し、ディレクトリリストを取得してファイルの移動が完了していることを確認します。いくつかのサーバでは、「..」パスコンポーネントが正しく認識されない場合があります。

 

メモ : Macintosh の場合、「..」コマンドにスラッシュ(/)を付加する必要があります。(例:「../text.htm」)

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>ls または dir

drwxr-xr-x 4 user staff 136 Apr 14 11:30 .

drwxr-xr-x 23 user staff 782 Apr 14 11:59 ..

-rw-r--r-- 1 user staff 0 Apr 14 11:22 test.htm

ftp>rename test.htm ../test.htm

350 File exists, ready for destination name

250 RNTO command successful.

ftp>cd ..

250 CWD command successful.

ftp>ls または dir

drwxr-xr-x 4 user staff 136 Apr 14 11:30 .

drwxr-xr-x 23 user staff 782 Apr 14 11:59 ..

drwxr-xr-x 2 user staff 68 Apr 14 11:30 subdir

-rwxrwxrwx 1 user staff 0 Apr 14 11:22 test.htm

 

成功した場合 : 上位ディレクトリにファイルは移動し、ディレクトリリスト内に表示されます。

失敗した場合 : 上位ディレクトリにファイルを移動することができません。

 

対処方法

サブディレクトリへのファイルの移動が失敗する場合、公開時にエラーの原因となるロールバック機能の干渉を受けている可能性があります。Contribute でロールバックを無効にしてください。ロールバック機能を無効にしても問題が改善されない場合は、サーバ管理者に問い合わせてください。

 

 C-9. パーミッションの変更

 

検証内容

Contribute がファイルのパーミッションを変更できるか確認します。これはロールバックが有効になっていると発生します。最初にパーミッションはファイルのリストに表示されます。次に「test.htm」ファイルのパーミッションはすべてのユーザにすべてを許可する「777」に変更されます。「test.htm」のオリジナルパーミッションは「-rw-r-r」です。

 

メモ : パーミッションのパラメータは「r」が「read(読み取り)」、「w」は「write(書き込み)」、「x」は「execute(実行)」を指しています。基本的なユーザのタイプは、user、group、all です。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

 

メモ : この例で使用される chmod コマンドは文字どおりのコマンドで、以下のコマンドが動作しない場合、異なる方法でサーバに実装されている可能性があります。

 

ftp>ls または dir

drwxr-xr-x 4 user staff 136 Apr 14 11:30 .

drwxr-xr-x 23 user staff 782 Apr 14 11:59 ..

drwxr-xr-x 2 user staff 68 Apr 14 11:30 subdir

-rw-r--r-- 1 user staff 0 Apr 14 11:22 test.htm

ftp>site chmod 777 test.htm

Changing mode on /Users/user/macr_test/test.htm

ftp>ls または dir

drwxr-xr-x 4 user staff 136 Apr 14 11:30 .

drwxr-xr-x 23 user staff 782 Apr 14 11:59 ..

drwxr-xr-x 2 user staff 68 Apr 14 11:30 subdir

-rwxrwxrwx 1 user staff 0 Apr 14 11:22 test.htm

 

成功した場合 : パーミッションが変更されるか、またはサーバから「not implemented(実装されていません)」というエラーが表示されます。サーバにコマンドが実装されていない場合、Contribute が正常に動作しても、サーバの既定のパーミッションに依存します。問題がある場合は、サーバ管理者に連絡してください。

失敗した場合 : パーミッションが変更されないか、またはサーバから「access denied(アクセスは拒否されました)」などの一般的なエラーが返されます。サーバ管理者に問い合わせ、パーミッションが適切に設定されているか確認してください。また、「chmod」コマンドの使用方法についても確認してください。

 

対処方法

「NOT_IMPLEMENTED(実装されていません)」というメッセージが表示されて失敗する場合、Contribute の設定を変更することなく、継続して使用することができます。他のエラーが表示される場合は、サーバ管理者に問い合わせて、ユーザに適切なパーミッションが付与されているか確認してください。

 

 C-10. テストファイルのブラウズ

 

検証内容

アップロードされたファイルが、Web サーバ上で正常に表示されるか確認します。

 

検証方法

Web ブラウザからテストファイルを参照します。URL のサーバ名やパスは使用しているサーバ環境に合わせて適切に入力してください。

 

成功した場合 : Web ブラウザでテストファイルが正常に表示されます。

失敗した場合 : Web ブラウザでテストファイルを表示することができません。

 

対処方法

ブラウザでファイルを表示できない場合、パーミッションの問題が発生しているか、または Web サーバと FTP サーバのルートパスが正しく設定されていない可能性があります。サーバ管理者は、HTTP で正しく表示できるようにサーバの設定やファイルのパーミッションを変更する必要があります。

 

 D. 論理 FTP エラーの検証

 

Contribute は、パフォーマンスの強化とサーバ情報を増強するための特定の用途で FTP を使用します。以下の操作を行い、サーバの動作と Contribute との互換性を検証します。この検証からは、一般的なサーバの問題は検知されないかもしれません。

これらの論理的な検証を行うには、「raw」FTP コマンドをサーバに組み込む必要があります。このコマンドは扱いやすいコマンドで、コマンドラインクライアントによって低レベルの FTP コマンドに変換され、サーバに送信されます。「raw」コマンドを FTP サーバに組み込むには、「literal」(Windows)/「quote」(Macintosh)キーワードをコマンドの先頭に付加する必要があります。例えば、raw 「change directory」コマンドを実行する場合コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)、

 

Windows の場合

ftp>literal CWD name_of_directory

Macintosh の場合

ftp>quote CWD name_of_directory

 

以下のセクションでの記載は Windows の「literal」に統一されていますが、Macintosh 環境でご使用の場合は、「quote」に置き換えて実行してください。

 

 D-1. ファイルが存在することを確認

 

検証内容

FTP プロトコルにはファイルの存在をチェックするコマンドが無いため、rename コマンドシーケンスの一部を使用してファイルの存在をチェックします。rename コマンドは、RNFR(ReNameFRom)と続いて実行される RNTO(ReNameTO)の、実質的には 2 つの FTP コマンドで構成されています。RNFR コマンドを使用してファイルの存在を確認した後で、rename を ABOR(abort 中止)します。ほとんどの FTP サーバでは、RNFR は「350 file exsists(ファイルは存在します)」または「550 no such file(そのようなファイルはありません)」のいずれかを返しますが、そのエラーコードによって、ファイルの存在を確認することができます。ただし、サーバの仕様によっては異なるエラーが返される場合があります。RNFR コマンドを実行後に ABOR を実行し、テストファイルが存在するか確認します。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>literal RNFR test.htm

350 File exists, ready for destination name

ftp>literal ABOR

225 ABOR command successful.

 

ABOR コマンドが失敗した場合は、オリジナルのファイル名で rename して操作を完了してください。

ftp>literal RNTO test.htm

250 RNTO command successful.

 

結果

「no currently pending operation(完了していない操作はありません)」などの一般的なエラーメッセージが表示されて ABOR コマンドが失敗し、なおかつ大文字小文字を区別する UNIX サーバ環境の場合は、RNTO コマンドを実行して rename を完了します。何らかの理由によって ABOR が失敗する場合、Contribute はこの動作を行います。この機能が動作している場合、Contribute に問題はありません。

この検証が失敗する場合、Windows 版 Contribute 2.01 以降、または Macintosh 版 Contribute 3 の「接続ウィザード」で、[アドバンスド] セクションの [FTP 最適化を使用] のチェックボックスをオフにして、問題に対処してください。

 

 D-2. ファイルが存在しないことを確認

 

検証内容

ファイルが存在しないことを確認します。検証が正しく行われた場合、サーバから「550 no such file」という応答が返されます。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>literal RNFR abcd1234

550 abcd1234: File does not exist.

 

結果

この検証が失敗する場合、Windows 版 Contribute 2.01 以降、または Macintosh 版 Contribute 3 の「接続ウィザード」で、[アドバンスド] セクションの [FTP 最適化を使用] のチェックボックスをオフにして、問題に対処してください。

 

 D-3. サーバの状態を確認

 

検証内容

C. のセクションで前述したとおり、rename コマンドは実質的に 2 つのコマンドです。RNFR ファイルは RNTO コマンドを待機するため、サーバは内部の状態を保持します。ファイルの存在を確認する手順では、RNFR 実行後に ABOR を実行します。サーバが rename の状態を保持していない場合、サーバは不安定な状態になることがあります。

 

検証を行うには、テストファイルの存在をチェックし、その後ファイルのダウンロードを試みます。この場合に表示されるエラーは以下のいずれかです。

  • 「another operation is in progress(他のプロセスが実行中です)」などのメッセージとともに、エラーコード(450-553)が表示され、サーバはコマンドの実行を拒否します。場合によっては、以降のコマンドをすべて受け付けなくなる場合があります。
  • サーバクラッシュ
  • ファイルのダウンロードに失敗します。
  • ファイルはダウンロードされますが、ローカルに保存したファイルのサイズは 0 byte です。

 

検証方法

コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

ftp>literal RNFR test.htm

350 File exists, ready for destination name

ftp>literal ABOR

225 ABOR command successful.

ftp>get test.htm

200 PORT command successful.

150 Opening ASCII mode data connection for

test.htm(83 bytes).

226 Transfer complete.

ftp: 83 bytes received in 0.00Seconds

9000.00Kbytes/sec.

 

成功した場合 : テストファイルがローカルコンピュータにコピーされ、ファイルの内容にも異常はありません。

失敗した場合 : ローカルコンピュータへのコピーに失敗し、サーバはエラーメッセージを表示します。

 

対処方法

この検証が失敗する場合、Contribute とサーバが正しく連携することができません。サーバ状態の確認は、基本的な論理機能です。サーバが状態を適切に保持していることを Contribute が認識できない場合、正しく動作することはできません。異なる FTP サーバを使用することで問題を回避することができます。

 

 E. クリーンアップ

 

検証で作成、アップロードしたすべてのファイルを削除します。サブディレクトリとテストファイルの削除後、上位ディレクトリに移動して macr_test フォルダを削除します。コマンドプロンプトまたはターミナルで、以下のコマンドを実行します。(青字がサーバの応答コードで、赤字がユーザが入力する必要のあるコードです。)

 

ftp>rm subdir

250 RMD command successful.

ftp>del test.htm

250 DELE command successful.

ftp>cd ..

250 CWD command successful.

ftp>rm macr_test

250 RMD command successful

本作品は Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License によってライセンス許可を受けています。  Twitter™ および Facebook の投稿には、Creative Commons の規約内容は適用されません。

法律上の注意   |   プライバシーポリシー