Dropboxのようにファイル共有をオンプレミスで使えるownCloud(オウンクラウド)をインストールしてみた

シェアする

  • このエントリーをはてなブックマークに追加

Dropboxはとても簡単にチームでファイル共有を行うことが出来ますが、無料の場合、最大2GBの制限があります。
Dropboxを無料で容量を増やすためには、友人を紹介したり、モバイルデバイスにDropboxをインストールするなど、いくつかテクニックがあるようです。
ただ、本質的な解決策にならないので、今回、オンプレミスで使えるファイル共有サービスownCloud(オウンクラウド)をインストールしてみました。

 

スポンサードリンク

ownCloud(オウンクラウド)とは

ownCloudはオープンソースオンラインストレージ、ファイル共有ソフトのリーディングカンパニーであるownCloud社(ドイツ)が提供するオンラインストレージ構築パッケージです。
2010年よりKDEの開発者だったFrank Karlitschekにより開発が始まり、2015年2月にVersion 8.0.2がリリースされています。

 

ownCloudはオンラインストレージを、企業法人や教育機関内の専用サーバー環境に構築し、セキュアにファイル共有するためのオープンソースのパッケージソフトウェアです。
「Dropbox」や「Google Drive」のような使い勝手を維持したまま、データ容量を気にせず安心して、自社内で、または、取引先や国内外拠点との安全なファイル共有を行いたい企業・法人や教育機関で使うことが可能になります。

 

また、同期するためのクライアントソフトウェアとして、Windows版、MacOS版、Linux版、Android版、iOS版が用意されています。

 

スポンサードリンク

ownCloud 8.0.2をCentOS 7にインストールする

CentOS 7、PHP、MariaDB、SELinux、Apacheまでの設定は以下の通りです(WordPressのバーチャルホストの設定は不要です)。
CentOS 7にApache2.4+MariaDB+WordPressをインストールする手順

 

php.iniを変更します。

 

ownCloud 8.0.2をインストールします。
yum.repos.dにリポジトリの場所を設定しないままで、yumでowncloudをインストールすると古いowncloudがインストールされてしまうので、以下のように変更しておきます。

 

ownCloudで使うデータベースを作成します(厳密には、デフォルトではSQLiteが使われるので、この設定は不要です)。

 

文字化けしないように、my.cnfを変更します。

 

このまま、http://(localhost)/owncloud をブラウザで開きます。

image

パフォーマンス警告

SQLiteをデータベースとして使用しています。
For larger installations we recommend to
choose a diferent database backend.
Especially when using the desktop client
for file syncing the use of SQLite is
discouraged.

と表示されました。
SQLiteで作るならこのままでOKです。MariaDBを使う時は、ストレージとデータベースを選択して変更します。

 

 

デフォルトでは、データフォルダの場所が、/var/www/html/owncloud/dataとなっている可能性があります。

このままでセットアップしてしまうと、データフォルダがhttpからのアクセスでダダ見えになってしまいます。

そこで、あらかじめサーバーに

mkdir /usr/local/data
chown -R apache:apache /usr/local/data

としてから、データフォルダを/usr/local/dataに変更しておきましょう。

 

 

 

このまま、管理者アカウントを入力して、「セットアップを完了します」を押します。

image

こんなエラーが出ました。

セキュリティ警告

HTTP経由で ownCloud にアクセスしています。HTTPSを使用するようサーバーを設定することを強くおすすめします。

データベースパフォーマンス情報

SQLite is used as database. For larger installations we recommend to switch to a different database backend.
Especially when using the desktop client for file syncing the use of SQLite is discouraged.
To migrate to another database use the command line tool: 'occ db:convert-type'

PHP の文字コードは UTF-8 に設定されていません

PHP の文字コードは UTF-8 に設定されていません。ファイル名に非アスキー文字が含まれる場合は、大きな問題となる可能性があります。php.ini の 'default_charset' の値を 'UTF-8' に変更することを強くお勧めします。

設定を確認

データディレクトリとファイルがインターネットからアクセス可能になっている可能性があります。.htaccessファイルが機能していません。データディレクトリにアクセスできないようWebサーバーを設定するか、データディレクトリをWebサーバーのドキュメントルートから移動するよう強く提案します。

インストールガイドをよく確認してください。

セキュリティ警告は、当然ですね。SSL証明書 を買いましょう。

データベースは、取りあえず、SQLiteでよしとします。将来的にはMariaDBに移行した方がよいということですね。

PHPの文字コードは、/etc/php.iniでdefault_charactersetをUTF-8にしておきます。

.htaccessが機能していない件は、Apacheの設定をよく確認します。

スポンサードリンク

ownCloudのWindowsアプリをインストールする

ownCloudにWebブラウザからログインしてみました。

image

ownCloudのクライアントとしては、Windows、OS X、Linux、Android、iOSと用意されています。

以下のURLからWindows用のクライアントをインストールします。
https://owncloud.org/install/#install-clients

image

 

クライアントソフトは、そのままダウンロードしてインストールします。

image

使い勝手は、Dropboxと変わりません。
エクスプローラーの決まったフォルダがサーバーと同期されるようになります。

 

ownCloudでサーバーエラー

サーバー側でこんなエラーが表示されました。

Warning core Login failed: 'root' (Remote IP: '192.168.141.1', X-Forwarded-For: '') 2015-04-21T06:07:41+00:00

Fatal core
DB Error: "An exception occurred while executing 'INSERT INTO "oc_filecache" ("mimepart","mimetype","mtime","size","etag","storage_mtime","permissions","path_hash","path","parent","name","storage") SELECT ?,?,?,?,?,?,?,?,?,?,?,? WHERE NOT EXISTS (SELECT 1 FROM "oc_filecache" WHERE "mimepart" = ? AND "mimetype" = ? AND "mtime" = ? AND "size" = ? AND "etag" = ? AND "storage_mtime" = ? AND "permissions" = ? AND "path_hash" = ? AND "path" = ? AND "parent" = ? AND "name" = ? AND "storage" = ?)' with params ["1", "2", "1429596382", "-1", "5535e8de0c09d", "1429596382", "31", "3b8779ba05b8f0aed49650f3ff8beb4b", "thumbnails", "11", "thumbnails", "3", "1", "2", "1429596382", "-1", "5535e8de0c09d", "1429596382", "31", "3b8779ba05b8f0aed49650f3ff8beb4b", "thumbnails", "11", "thumbnails", "3"]: SQLSTATE[23000]: Integrity constraint violation: 19 columns storage, path_hash are not unique"<br />Offending command was: INSERT INTO *PREFIX*filecache (mimepart,mimetype,mtime,size,etag,storage_mtime,permissions,path_hash,path,parent,name,storage) SELECT ?,?,?,?,?,?,?,?,?,?,?,? WHERE NOT EXISTS (SELECT 1 FROM *PREFIX*filecache WHERE mimepart = ? AND mimetype = ? AND mtime = ? AND size = ? AND etag = ? AND storage_mtime = ? AND permissions = ? AND path_hash = ? AND path = ? AND parent = ? AND name = ? AND storage = ?)<br />
2015-04-21T06:06:22+00:00

Warning core Login failed: 'xxx' (Remote IP: '192.168.141.1', X-Forwarded-For: '') 2015-04-21T06:05:12+00:00

よくわからないけれど、php-apcuを削除すべきと書いてあるサイトを見つけたので
# yum remove php-apcu
で削除しました。

(https://forum.owncloud.org/viewtopic.php?f=31&t=27509 を参照)

 

ownCloudの文字化け

Webからログインして見てみると、共有しているファイルのShift JISのファイル名は文字化けしないけれど、ファイルの中身は文字化けしますね。
UTF-8で扱っているためでしょうか。

image

まとめ

今回、ownCloud 8.0.2をインストールしてみて、ほぼDropboxと同様なことがオンプレミスで動作させることが出来ることがわかりました。

この記事、お役に立ちましたらシェアをお願いします。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする

コメントをどうぞ

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