仮想化生活への軌跡

Feed Rss


オンラインファイルマネージャーAjaXplorerの導入

08.30.2013, Apache, iOSアプリ, Pound, Ubuntu Server, Webアプリ, by .

はじめに

今回はPHPで動くオンラインファイルマネージャー、AjaXplorerをUbuntu Server上に導入する手順を紹介します。

AjaXplorerを自分のサーバーに導入することで、DropBoxやSkyDriveのようなクラウドでのファイル管理を自分専用の環境で行うことが可能となります。
自分の管理するサーバーにシステムを構築することで、保存可能な容量やアップロード可能なファイルサイズを自分の意のままに設定することができるという、自宅サーバーならではのメリットを享受することができます。

もちろん友人や知人、家族などのためにアカウントを作成し、クラウドサービスを提供をすることもできます。

またWEBブラウザばかりでなく、iOS向けの専用クライアントアプリから操作することも可能となっており、iPhoneやiPadなどのiOS端末から容易にファイル管理を行うことができます。

以下では、このように多くの長所をもつAjaXplorerをUbuntu Serverに導入するための手順と、iOS端末でのクライアントアプリの設定方法を紹介します。


前提となる環境

● Ubuntu Server 12.04 x64
● LAMP環境を構築済みであること

※LAMP環境の構築方法についてはこちらの記事にまとめましたのでご参照ください。

Ubuntu Serverへの導入手順

まず、AjaXplorerの公式サイトから、本稿の執筆時点における最新版の5.0.2をダウンロードします。
ここでは /tmp ディレクトリで作業を行います。
cd /tmp
wget http://sourceforge.net/projects/ajaxplorer/files/ajaxplorer/stable-channel/5.0.2/ajaxplorer-core-5.0.2.tar.gz/download


ダウンロードされた圧縮ファイルを解凍し、Apacheのドキュメントルート(ここでは/var/www)にコピーします。
tar xvzf download
sudo cp -R ajaxplorer-core-5.0.2 /var/www
cd /var/www
sudo mv ajaxplorer-core-5.0.2 ajaxplorer
sudo chown -R www-data:www-data ajaxplorer


ファイルの設置を終えたら、ブラウザ上でのセットアップを行う前に、ApacheおよびPHPの環境を整えます。

まずはApacheのサイト定義ファイルを編集します。
エディタで/etc/apache2/sites-available/default を開き(※ヴァーチャルホスト機能を使用する場合は該当するサイト定義ファイル)、以下の修正を行います。
...
 <Directory /var/www/>
                Options Includes ExecCGI FollowSymLinks
                AllowOverride All   ←.htaccessを許可します。
                Order allow,deny
                allow from all
 </Directory>
...


次に追加のPHPモジュールをインストールします。
sudo apt-get update
sudo apt-get install php5-gd php5-mcrypt


エディタで/etc/php5/apache2/php.ini を開き、以下のように修正します。
output_buffering = Off   ※262行目あたり。出力バッファをOffにします。


続いてAjaXplorerへアップロードするファイルサイズの上限を設定します。
設定の対象は上記と同様に/etc/php5/apache2/php.ini です。
修正のポイントは、memory_limit>post_max_size>upload_max_filesize の関係を守ることです。
ここでは100MBを上限とする場合の例を示します。
memory_limit = 256M   ※465行目あたり。
post_max_size = 128M   ※740行目あたり。
upload_max_filesize = 100M   ※891行目あたり。この値がサイズの上限を決定します。


設定内容を反映するためApacheを再起動します。
sudo /etc/init.d/apache2 restart


ブラウザ上でのセットアップ

WEBブラウザからhttp://サーバーのIP/ajaxplorer にアクセスすると対話形式のインストーラーが現れます。

はじめに以下のように環境チェックが行われます。
ajax-1
上記の例ではSSL暗号化と言語設定に警告が表示されていますが、これらは後に対処可能なのでここではスルーします。
ほかに赤字で警告が表示されている場合は、指示に従って修正等を行います。
確認を終えたら”click here to continue to AjaXplorer.”のリンクから先に進みます。

ここからAjaXplorerの初期設定を行います。
ここではさしあたり重要なポイントを指摘しておきます。

まずは管理者用のアカウントおよびパスワードを設定します。
ajax-2

次にGlobal Optionsから使用言語を変更します。
ajax-3

最後にConfiguration Storageから設定ファイルの保存方法を選択します。
ここでは簡便な方法としてMySQLなどのデーターベースを使用しない方法で設定を行います。
ajax-4
データーベースを使用する場合は、予めAjaXplorer用のデーターベースを作成しておきます。

以上の設定を終えたら、”Install AjaXplorer Now!”をクリックして内容を保存します。

保存を終えると自動的にログイン画面が立ち上がりますので、先ほど作成した管理者アカウントでログインします。
ajax-5

ログインできたら、右上の プルダウンメニューから「設定」に入り,左に表示されるGlobal Configurations >> Core Configs >> AjaXplorer Core >> Uploaders Options を選択します。
“File Size”欄に先ほど設定したアップロードするファイルサイズの上限値を入力して保存します。
ajax-6

以上で基本的な設定は完了です。


Poundを用いたSSL通信化

AjaXplorerを外部にも公開する場合には、セキュリティー上、サーバー・クライアント間の通信を暗号化することを推奨します。
ここでは、別稿で紹介したリバースプロキシPoundのSSLラッパー機能を用いてSSL通信を行う設定方法を紹介します。
Poundサーバーの構築や自己署名証明書の作成が済んでいない場合は、別稿を参考に環境を構築してください。

まずはPoundが稼動するフロントエンドサーバーにログインして下さい。
ログイン後、エディタで/etc/pound/pound.cfg を開き、以下のように編集します。
ListenHTTPS
        Address 192.168.x.xxx   ※PoundサーバーのローカルIP
        Port 443
        Cert "/usr/local/etc/pound.pem"
        xHTTP 0
 
Service
     URL "^/ajaxplorer/.*"
    BackEnd
        Address 192.168.y.yyy   ※AjaXplorerが稼動するバックエンドサーバーのローカルIP
        Port    80
    End
End
 
End


設定を終えたらPoundを再起動します。
sudo /etc/init.d/pound restart


これでAjaXplorerにSSLでアクセスすることが可能になります。


iOS端末での設定

AjaXplorer 5はiOS向けにクライアント・アプリを提供(執筆現在は85円)しており、これを利用することでiPhoneやiPadなどのiOS端末からスムーズに利用することができます。
配布サイトはこちら

アプリをインストールしたら、構築したAjaXplorerのサイトを登録します。
初期画面から左上の歯車ボタン→右上の+ボタンを押下し、アドレスを入力します。
IMG_4197
SSL通信を行う場合には、アドレスが”https://”で始まることに注意してください。

iPhoneであればどこからでも自宅サーバーにファイルをアップ/ダウンロードすることが可能になります。
フォルダも自由に作成できるので、アップロードしたファイルを探し易く整理することもできます。
容量やファイルサイズの上限も自分でコントロールできるので、一般のクラウドサービスには無いメリットが享受できます。

筆者の場合、iPhoneで撮影した写真や動画の整理に活用しています。
バックアップや容量の節約になり、とても便利です。
IMG_4198

プレビュー表示にも対応しています。
IMG_4199


Advertisement


RelatingPosts

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です


*