ブログ

CentOSとownCloudで社内用のDropboxをつくる

2013年2月5日 17:49 | シスキュー技術部 | | 7,026 views
タグ: , , , , , ,

このエントリーをはてなブックマークに追加
はてなブックマーク - CentOSとownCloudで社内用のDropboxをつくる
reddit にシェア
Pocket
LINEで送る

owncloud

オンラインストレージ、Dropboxなどはかなりメジャーな存在となっています。

クライアントをインストールしておくと、指定フォルダーの内容をサーバーにアップロードし、同じアカウントを登録してある他のPCと同期します。

またwebブラウザを介して、ファイルのダウンロードもでき、公開用URLを設定して、他の方との共有も可能です。

このDropboxはファイル送信経路や、ファイルサーバー側での暗号化は行われており、無料から利用できるとはいえ、セキュリティー的な部分で不安なものではありません。

しかしながら、たとえば消去や、取り出し、バックアップなど、具体的なデータの取り扱いについて、完全にコントロール下におけるものではありませんので、社内ポリシーで禁じられている、あるいは一定以上のセキュリティー基準を設けて、重要なファイルを置かないようにする、などさまざま運用方針を持っている方もいらっしゃると思います。

これを自社保有のサーバーで同じような仕組みを提供するもので、ownCloudというオープンソースソフトウェアがあります。

今回はこれを試してみます。

ownCloudのインストール

CentOS6.3+apache2+mod_SSL+PHP5.3.3+PostgreSQLがあらかじめ構築されたVPS環境を利用しました。

ownCloudは仕組み的にはWebDAVを利用しますので、経路暗号化のために、自局認証ではなく公的認証局によるSSL証明書を用意しておくことが重要です。

ownCloudのwebサイトから、Install、LinuxPackagesでCentOSを選び、指示された通りにリポジトリを追加し、yumでインストールします。

これで必要な他のパッケージとともにインストールされます。

[bash]
cd /etc/yum.repos.d/
wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-6/isv:ownCloud:community.repo
yum install owncloud
[/bash]

これで

[text]
/var/www/html/owncloud/
[/text]

以下にインストールされます。

初回セットアップの前にpostgreSQLにデータベースとユーザーを作っておきます。

[bash]
su – postgres
createdb -E UTF8 -U ユーザー名 -T template0 owncloud
[/bash]

https://yourhost/owncloud

にアクセスすると、セットアップが始まります。

今回、gdがないというエラーが出ましたので、gdをインストールし、

[bash]
yum -y install gd
[/bash]

apacheをリスタートします。

[bash]
service httpd restart
[/bash]

再度セットアップをはじめます。

owncloudinstall

ここで管理ユーザーとパスワード、使用するDBをPostgreSQLを設定します。

Finish Setupを選択します。

ここでoc_ユーザー名にテーブル作成権限がない、というエラーが出ましたので、owncloudデータベースに権限を与えます。

[bash]
su – postgres

psql

GRANT ALL PRIVILEGES ON DATABASE owncloud TO oc_ユーザー名;
[/bash]

再度セットアップを行うと、無事インストールが終了しました。

owncloud/config/config.php


[text]
‘forcessl’ => true,
[/text]
と加えておくとssl接続に限定されます。

 

インストール後の利用方法

owncloudsc

ひとまず管理者でログインし、動作を確認しましょう。

新規ボタンでファイルをアップロードできます。

DropboxのWebを利用したことがあれば、すぐに操作方法はわかります。

管理者であれば、左下の設定アイコンからメニューを出して、ユーザーを追加できます。

その他にもプラグインや、全体設定などを操作することができます。この辺りはDropboxにはない操作ですので、いろいろ試してみてください。

WebDAVですので、

[text]
https://yourhost/owncloud/remote.php/webdav/
[/text]

でアクセスできます。

PC・スマートフォンのクライアント

PC・Mac・iOS・Android各クライアントで動作を確認しました。

http://owncloud.org/support/install/

PC・Macでは任意のフォルダと同期、iOS、Androidでは、ダウンロードしたファイルを開いたり、写真をアップロードしたりできます。

owncloudpc

PC版

スクリーンショット 2013-02-05 17.13.46

Windows8のスタート画面ではこんな感じです。

owncloudmac

Mac版

owncloudipad

iPad版

owncloudandroid

Android版

それぞれ、

https://yourhost/owncloud

ユーザー名

パスワード

を入力して、認証が通れば、すぐに使用可能です。

PC・Mac版は無料、iOSは85円、Androidは99円(記事作成時の価格)でした。

セキュリティーなど

httpsでの接続でなければ、経路の暗号化はできませんし、公的認証でなければ成りすましを防ぐ方法はないので、SSLの公的認証は必須と言えるでしょう。

それさえクリアできれば、細かい使い勝手の差はありますが、Dropbox等と同じように利用し始めることができます。

少なくとも自己管理できる範囲で、状況を把握でき、独自運用できるものとしては、かなり簡単な仕組みです。

一通りのLinuxOSの構築ができていれば、1~2時間もあれば、十分使い始められます。

ファイルはownCloudディレクトリ内に暗号化されずに保管されます。

.htaccessによって、外部からのアクセスはできませんが、サーバーの管理権限があれば、自由に閲覧、移動、削除などが可能です。

プラグインによって、保管ディレクトリの暗号化はできますが、その際は制約があるようです。

プラグインによって、様々な機能を追加できるのもownCloudの利点ですが、それによる不都合も出てくる可能性は考慮すべきです。

運用にあたっては、ownCloudの脆弱性、Apacheの脆弱性などについて、情報収集が必要となりそうです。

あとはユーザー名、パスワードのみの認証ですので、十分複雑なパスワードを設定する必要があります。

VPNでさらに通信の暗号化や、iptablesによって公開するグローバルIPアドレスなどを自社の各拠点や取引先に限定する、などを行えば、さらにセキュリティーの向上が望めるのは自己管理のサーバーならではの利点でしょう。