WebOS Goodies

WebOS の未来を模索する、ゲームプログラマあがりの Web 開発者のブログ。

WebOS Goodies へようこそ! WebOS はインターネットの未来形。あらゆる Web サイトが繋がり、共有し、協力して創り上げる、ひとつの巨大な情報システムです。そこでは、あらゆる情報がネットワーク上に蓄積され、我々はいつでも、どこからでも、多彩なデバイスを使ってそれらにアクセスできます。 WebOS Goodies は、さまざまな情報提供やツール開発を通して、そんな世界の実現に少しでも貢献するべく活動していきます。
Subscribe       

Web ブラウザが FTP クライアントに! net2ftp のインストール

本日は、久々にオープンソース Web アプリケーションのご紹介です。唐突ですが、皆さん FTP クライアントはなにをお使いでしょうか? SFTP などの暗号化プロトコルが普及してきたとはいえ、無料レンタルサーバーではいまだに FTP が主流です。これまで私は FireFTP という Firefox 上で動作する FTP クライアントを利用してきたのですが、これだと HTML などの編集にいちいちファイルをダウンロードしなくてはならず、けっこう面倒です。これが VALUE-DOMAIN の Web サーバー XREA だと、 net2ftp というソフトウェアを利用して Web 上からファイル転送やテキストファイルの編集が行えるようになっており、 Google ガジェットを作る際の試行錯誤にとても役立ちました。この net2ftp はオープンソースで配布されており、自宅のサーバーにも自由にインストールできます。 livedoor blog の有料サービスに移行して FTP の利用頻度も上がってきたので、私も実際にインストールしてみました。そんなわけで、今回はその net2ftp のインストール方法をご紹介しようと思います。

なお、 net2ftpこちらのページでも自由に利用できます。アップロードできるファイルサイズには制限があると思いますが、機能を確認することはできるでしょう。興味のある方はぜひお試しください!

net2ftp とは

net2ftpPHP で実装された Web ベースの FTP クライアントです。 Web ブラウザから任意の FTP サーバーに接続してファイルの転送やサーバー上のファイルの操作が行えます。他の Web アプリケーションと同じく、クライアント側へのソフトウェアのインストールが不要で、(サーバーに Web アクセスさえできれば)どこからでも利用できるのが最大の利点です。

その他の主な特徴は以下のとおりです。

  • デスクトップの FTP クライアントとほぼ同等の機能を Web ブラウザ経由で利用可能。
  • 多彩なファイルアップロード方法(ファイル単体、圧縮ファイルを転送して自動解凍、 Java アプレット)。
  • 複数のファイルを圧縮ファイルとしてまとめてダウンロード。
  • 別のFTP サーバー間でのファイルコピー。
  • テキストファイルをその場で編集。
  • PHPHTML ソースは色分け表示付きで編集。
  • UI は日本語をはじめとして 16 の言語に切り替え可能。
  • MySQL と組み合わせることで、ユーザー操作のログの記録や細かい転送量の制限などが可能。
  • Mambo, Drupal, Xoops といった PHP ベースの CMS にモジュールとして統合できる。
  • オープンソースで配布されており(基本部分のライセンスは GPL)、自由に利用できる。

インストールは非常に簡単で、 PHP さえ動作すればレンタルサーバーでもインストールできるでしょう(ただし、 FTP ポートを閉じていたり、利用規約で制限している場合はあるかもしれません)。とくに、サーバーにあるファイルを手軽に編集する手段をお探しの方には、最適なソフトウェアかと思います。

必要な環境

net2ftp はサーバー上で動作する Web アプリケーションですので、 PHP (4.2.3 以上)の動作する Web サーバーが必須です。さらに一部の機能を利用するためには MySQL も必要です。ただし、それらの機能はサービスを不特定多数に公開するような使い方に向けたものなので、今回は使わない方針でインストールしています。あらかじめご了承ください。

なお、 Web サーバーの構築に関しては Apache による Web サーバーの構築に、 MySQL に関しては MySQL によるデータベースの構築にまとめてありますので、必要に応じてご参照ください。

インストールする

それでは、インストール方法を順を追ってご紹介します。インストール対象のサーバーはいつもどおり GentooLinux です。最初は Portage を使ってみたのですが、安定版はバージョンが古く、開発版はひとつ前のバージョンな上にうまく動かなかったので(明らかにソースがバグっているようなのですが ^^;)、ソースから普通にインストールすることにしました。おかげで、幸か不幸かほとんどのディストリビューションで通用する手順になっているはずです。

なお、以降では net2ftp をインストールするディレクトリを $net2ftp と表記します。 GentooLinux なら実際は "/var/www/localhost/htdocs/net2ftp" などになるでしょうか。各自の環境に合わせて読み替えてください。

Web サーバー側の設定変更

net2ftp では、テンポラリディレクトリへのアクセス制限などに .htaccess を使いますので、 net2ftp を公開するディレクトリで .htaccess を有効にしておく必要があります。もしデフォルトで有効でない場合は、 "/etc/apache2/httpd.conf" などに(実際に書き換えるべきファイルは環境によって異なります)以下の記述を追加してください。

<Directory $net2ftp>
    AllowOverride ALL
</Directory>

また、インターネット上に公開されているサーバーの場合は、適切にアクセス制限をかけることをお勧めします。 net2ftp の設定でアクセスできるクライアントや FTP サーバーを限定することも可能ですが、 Apache のレベルではじいたほうが、より安全かと思います。

パッケージのダウンロード

まずは、 net2ftp のダウンロードページから最新版の .zip ファイルをダウンロードします。現在の最新バージョンは 0.94 ですので、ここではそれを前提にします。コマンドラインでダウンロードするなら、以下のように wget を利用するのが良いでしょう。

wget http://www.net2ftp.com/download/net2ftp_v0.94.zip

これでカレントディレクトリに "net2ftp_v0.94.zip" が作成されるはずです。

ファイルを展開する

ダウンロードが終了したら、ファイルを展開します。

unzip net2ftp_v0.94.zip

すると、カレントディレクトリに "net2ftp_v0.94" というディレクトリが作成されて、中身が展開されます。このうち、 "net2ftp_v0.94/files_to_upload" というディレクトリ以下が Web に公開するべきファイル群ですので、これらを Web の公開ディレクトリにコピーします。

cp -R net2ftp_v0.94/files_to_upload $net2ftp

コピーが終われば、元のファイルは不要ですので、削除してしまってかまいません。

テンポラリディレクトリのパーミッションを変更

"$net2ftp/temp" はテンポラリディレクトリで、 Web サーバーから書き込みができる必要があります。パーミッションを変更しておきましょう。 root 権限があるなら、ディレクトリの所有者を Web サーバーのユーザー・グループにしてしまうのが良いかと思います。

chown apache:apache $net2ftp/temp

それが不可能な場合は、全ユーザーに対して書き込みを許可します。

chmod 777 $net2ftp/temp

なお、 Apache に suExec の設定がされている場合は上記の作業が不要なこともあります。以上で最低限のインストール作業は終了です。設定ファイルもいくつかありますが、とりあえずデフォルトのままでも問題ありません。使いながら、必要に応じて設定していけば良いでしょう。

使ってみる

それでは、早速 net2ftp を使ってみましょう。 Web ブラウザを起動してインストールしたディレクトリにアクセスしてみてください。以下のようなログイン画面が表示されるはずです。

net2ftp のログイン画面

UI が英語ですが、 "Language" を "Japanese" に変更してログインすれば、以降はほとんどのメッセージが日本語で表示されます。設定を変更すればデフォルトで日本語にすることもできますが、それは次回以降でご紹介します。それではログインしてみましょう。 "FTP Server" に FTP サーバーの URL 、 "Username" にユーザー名、 "Password" にパスワードをそれぞれ入力して "Login" ボタンをクリックすれば OK です。以下はこの blog の FTP サーバーにログインした直後の様子です。

net2ftp のディレクトリ表示

このように FTP サーバー内のファイルがビジュアルに表示され、各種操作が行えます。メッセージが日本語化されているのもご確認いただけるかと思います。ファイル名をクリックすればそのファイルがダウンロードできますし、対象ファイルのチェックを入れて右上のドロップダウン(画面では切れていますが)からコピー・移動・編集などが実行できます。 HTML ファイルは WYSIWYG 編集も可能で、 FCKeditorTinyMCE (とプレーンな TEXTAREA)を切り替えて使用できます。 TinyMCE は Opera でも動くようです。以下はその TinyMCE の画面。

net2ftp の WISIWYG 編集画面

さらに、 0.94 からは色分け表示付きのコード編集画面も付きました。 CodePress を使っているようです。こちらは Opera では動きません(´・ω・`)しょんぼり

net2ftp のソース編集画面

と、ここまでは(少なくとも Firefox では)調子がよかったのですが、 UTF-8 のファイルを開いたとたんに問題が発生しました。残念ながら net2ftp の編集画面は文字コードの変換に対応しておらず、 EUC-JP 以外の日本語は文字化けしてしまうようです。 XREA で使っている net2ftp には文字コード指定がついていたので油断していました。あれは XREA が独自に施したカスタマイズのようですね。

これでは非常に不便なので、現在なんとか文字コード変換を実装できないかとソースを調べているところです。どうやら幸いにも、簡単な変更で対応できそうな予感がします。まだ途中ですが、こんな感じで文字コードを選べる予定(プレーンテキストの編集画面)。

net2ftp 文字コード変換対応(予定)

Ver. 0.95 にて、文字コードの変換機能を追加するパッチ取り入れていただきました。現在は日本語の UI を選択してログインするだけで文字化けが抑制され、保存時の文字コードも選択できます。

ということで、次回はこの文字コード変換パッチを完成させ、編集画面を完全に日本語対応させる方法をご紹介できればと思っています。さあ、こんな大風呂敷を広げてしまって、ほんとうに大丈夫なのでしょうか(笑)。期待と不安を織り交ぜつつ、次回に続きます。

関連記事

この記事にコメントする

Recommendations
Books
「Closure Library」の入門書です。
詳しくはこちらの記事をどうぞ!
Categories
Recent Articles