2012年7月3日火曜日

自前でDropBoxもどきを作れるownCloudを入れてみた

Excelおじさんにも優しいownCloud
ownCloudを使ってみたくなったので導入してみた。
目的は2つ。
  • 社内のPCやサーバのアプリ/設定の同期。
  • プロジェクトの成果物(ドキュメント)のリポジトリ/バージョン管理。
前者はモロに自分用だが、後者はぜひ周囲を巻き込んで検証してみたいと思っている。
というのも、日系SI企業の人は皆ご存知だと思うが、SIerのおじさん達(自分含む)は、ドキュメントをファイルサーバ(ただのCIFS共有)に置いて、履歴管理を「ファイル名」または「フォルダ名」でやるからだ。よく目にするのは、「○○システム基本設計書_20120703-1.xls」みたいなやつ。古いファイルは基本消さないので、同一フォルダ内に同じドキュメントの複数の版が "20120703-1.xls" "20120703-2.xls" "20120704-2.xls" …という具合にどんどん増殖していきグチャグチャになるが、おじさん達はそんなの気にしない(エクスプローラでようやるわ)。
私が関わった過去のプロジェクトで"Trac+Subversion+TortoiseSVN"とか"SharePoint Server 2007のエクスプローラビュー"でのドキュメント管理を試みたことがあったが、あまり評判はよくなかった。おじさん達にとっては、「ファイルをチェックイン/チェックアウトするとかメンドクセー」のであり、エクスプローラでファイルをちょちょいっと開いたり保存できるというUser Experience(UX)が何よりも重要視されるのである。

この「エクスプローラで操作できる」というUXを崩すことなく、お気軽にドキュメントを共有できるようにしてくれるクラウドサービスがDropBoxであり、そのDropBoxモドキのシステムを自前で立てることができるのがownCloudである(プライベートクラウド版DropBoxとでも言えばよいか)。何しろクライアントアプリさえインストールしておけば、後は同期フォルダにファイルを保存するだけで勝手にサーバと同期を取ってくれる。これならおじさん達も使ってくれるはずだ!

さっそく導入。
前置き(Excelおじさんへの愚痴)が長くなった。
社内に手頃なCentOS 5.5(一応RedMineが現役で動いている)があったので、思い立ったが吉日、即導入。
まずはowncloud.orgから owncloud-4.0.4.tar.bz2 をダウンロード。
Install | ownCloud.orgに手順(というほど大げさなものではないが)が書いてあるので、それに従ってサッサと導入。
ちなみにCentOS 5.5に入っているPHPは5.1.6であるが、ownCloud 4.0はPHP 5.3以上が必要なので、CentOS 5.6 で PHP 5.3.6 にアップグレード | 複眼中心を参考にさせていただき、IUS Community Project版をインストールした。
PHP本体以外にも色々Extensionが必要なので、併せてインストール。最終的に下記の形に。
$ rpm -qa | grep php
php53u-gd-5.3.14-1.ius.el5
php53u-ldap-5.3.14-1.ius.el5
php53u-xml-5.3.14-1.ius.el5
php53u-process-5.3.14-1.ius.el5
php53u-common-5.3.14-1.ius.el5
php53u-pspell-5.3.14-1.ius.el5
php53u-mbstring-5.3.14-1.ius.el5
php53u-5.3.14-1.ius.el5
php53u-cli-5.3.14-1.ius.el5
php53u-pdo-5.3.14-1.ius.el5

※ちなみに、php5-xmlが無くてもownCloudのWeb UIは起動したのだが、クライアントアプリからファイルをアップすることができなくてちょっとだけハマった。

tarを解凍して、現れたowncloudフォルダを/var/www以下に移動。
$ tar -xvjf owncloud-4.0.4.tar.bz2
$ mv owncloud /var/www
$ cd /var/www
$ chown -R apache:apache owncloud

インストール手順によると、 AllowOverride を All にしろ、ということなので、httpd.confを編集。
今回は1つのApache上に他のサイト(RedMine)と共存させるので、ポートを分けてVirtualHostを使うことにした。ポート番号は私の一存で10080番。

$ vi /etc/httpd/conf/httpd.conf
(snip)
Listen 10080
(snip)
# 2012.07.03 for owncloud
<VirtualHost *:10080>
  ServerName taurus
  DocumentRoot /var/www/owncloud
  <Directory /var/www/owncloud>
    AllowOverride all
  </Directory>
</VirtualHost>

Apacheを再起動する。
$ service httpd restart

ブラウザで http://<hostname>:10080 にアクセスすると、ウィザードっぽい画面が出てきて、ちょちょっと作業すると(作業ログ採ってなかった><;)、ユーザアカウント作成画面が! ここで作成したアカウントは自動的に管理者権限を持つ。

ログイン画面はこんな感じ。
Figure.1 ownCloudのログイン画面

うーん、もう動き始めた。実に簡単。

即、クライアントアプリを導入!
Web画面からもファイルをアップロード/ダウンロードできるし、いろいろ設定変更などもできるのだが、何は無くともクライアントアプリがちゃんと動くことの確認が先決である。というわけで、Sync Clientをダウンロードしてインストール。
クライアントアプリを初回起動すると、いきなり「設定入れろ」と怒られるので、「怒んなくてもいいじゃん」と思いつつ設定画面を開く。owncloudのURLとユーザ名、パスワードを入れると、もう設定完了である。
Figure.2 ownCloudのURLを指定
Figure.3 ユーザIDとパスワードを入れて、設定終わり
もうこれだけで、DropBoxモドキが立ち上がり、運用が開始された。
同期フォルダは自動的に %USERPROFILE%\owncloud に設定されるが、クライアントアプリの設定画面から変更可能だ。
レスポンスも悪くない。同期フォルダに入れたファイルは、少し(数秒~数十秒)待つだけでサーバに同期される。
Figure.4, 5 ファイルを同期してみたところ
これならExcelおじさんも文句ないだろう。

バージョン管理はWeb UIでこんな感じ。
Figure.6 Historyボタンで過去バージョンを取り出す

後は、こいつがプロジェクトのドキュメント置き場として実用に堪えうるか? であるが、これはまた後日レポートしたいと思う。(数ヵ月後かも。)
更新がコンフリクトしたときどうするか? など、色々考えなければならないはず。

0 コメント:

コメントを投稿