容量無制限のプライベートなDropBox環境として使えるownCloud環境の構築手順をメモ

公開日:2014/02/09 更新日:2014/02/09
容量無制限のプライベートなDropBox環境として使えるownCloud環境の構築手順をメモのサムネイル

DropBoxを使っている方は多いと思います。しかし、DropBoxで使える容量は無料アカウントだと限られています。有料アカウントを作れば容量を増やす事ができますが、有料アカウントをつかうほどではないという方もいると思います。でも、DropBoxの容量を増やしたい。。。そんな時に役に立つかもしれないソフトウェアが、DropBoxの環境をプライベートで構築できるownCloudです。ownCloudは自分専用のDropBox環境を構築することができます。このownCloudを使ったプライベートDropBox環境を構築してみたので、その手順をメモします。

ownCloud環境によってできること

使ってみたところDropBoxができることは全てできそうです。自分のローカルPC内のフォルダをownCloud用フォルダに指定して、そのフォルダ内のファイルを更新すれば、ownCloudサーバ内のファイルが自動更新されます。また、DropBox同様、違うPCにあるownCloud用フォルダも自動で同期されます。複数ユーザ用の共有フォルダも作成できます。さらに自分でサーバを用意するのでもちろん容量制限はなく、ownCloudが動作するサーバのハードディスク容量分使う事ができます。

試した環境

  • ownCloudをインストールするサーバ:VirtualBox上のLinux Mint 16
  • VirtulBoxのホストマシン : Mac OS X 10.9.1
  • ownCloudサーバに接続するクライアントPC : Mac OS X 10.9.1
ここではownCloudをLinux Mintにインストールしましたが、Linux Mintのベースはubuntuなので、ubuntuでも全く同様の手順でインストールできます。

下準備

必要なパッケージのインストール

ownCloudを動作させるには下記のパッケージをインストールしておく必要があります。

  • Apache2
  • MySQL
  • PHP5
  • PHP module GD

まずApache2、MySQL、PHP5については「tasksel」コマンドによって一括でインストールでき便利なのでこれを使用します。updateした後にインストールします。

$ sudo apt-get update
$ sudo tasksel

taskselを実行すると以下の画面のように、インストールするパッケージを選択できるので、「LAMP Server」を選択して(スペースキーでチェックを入れれます)TABキーでOKします。以下では「Samba file server」、「Virtual Host Machine」にもチェックが入っていますが、私が必要だったため入れただけで、ownCloudを使う上では不要です。

tasksel_select_server.png

インストール中にMySQLのrootのパスワードを設定するよう言われるので、パスワードを入力します。入力したら再入力を求められるので、改めて入力して下さい。

mysql_root_pass.png

あとは以下のコマンドでPHP module GDをインストールします。

$ sudo apt-get install php5-gd

以上で必要なパッケージのインストールは完了です。なお、apacheが正常にインストールされているかを確認するために、以下のURLにアクセスして、「It works!」と表示されるか確認しておくといいです。

http://localhost

MySQLでownCloud用のデータベースとユーザを作成

ownCloudではownCloud用のデータベースを事前に作成しておく必要があります。データベースはMySQLに限らず、SQLite、PostgreSQLも使えるみたいですが、ここでは MySQLを使います。 以下のコマンドでmysqlにrootでログインします。rootのパスワードは上記のtaskselでインストール中に入力したパスワードです。

$ mysql -u root -p
Enter password:

コマンド入力待ち状態になるので、ここで以下のコマンドを実行して「owncloud」という名前のデータベースを作成します。utf8を指定しているのは、日本語環境を考慮してのことです。

mysql> create database owncloud default character set utf8;

次に、以下のコマンドでowncloudデータベースを操作する権限を持つ「owncloud」という名前のユーザを追加します。

mysql> grant all on owncloud.* to owncloud@localhost identified by 'password';

上記の「password」の部分は、各自が使用したいパスワードに置き換えて下さい。あとは「exit」と入力してMySQLからログアウトします。以上で下準備は完了です。

ownCloudをサーバへインストールする手順

まずはじめにここのownCloud公式サイトからownCloudサーバのソフトをownCloudをインストールするサーバにダウンロードします。2014年2月時点でファイル名は owncloud-6.0.1.tar.bz2 でした。

tarzip_resize.jpg

上記の画面の「Tar or Zip File」という部分をクリックすると、以下の画面が現れるので、「Unix」をクリックします。するとダウンロードが始まります。

click_unix_resize.png

そして、ダウンロードしたtar.bz2ファイルを適当な場所に解凍します。解凍するコマンドは以下の通りです。

$ tar -xjf owncloud-6.0.1.tar.bz2   

次に解凍してできた「owncloud」というディレクトリを/var/www/配下に移動します。

$ sudo mv owncloud /var/www/

apacheがowncloud内のファイルを操作できるように以下のコマンドでownlcoudの所有者をapacheに変更します。

$ sudo chown -R www-data:www-data owncloud/

これでowncloudのインストールは完了です。あとはWebブラウザからの操作でownCloudをセットアップします。

ownCloudのセットアップ

ownCloudのセットアップはWebブラウザ経由で行います。なのでownCloudをインストールしたサーバや他のPCのWebブラウザで以下のURLにアクセスします。

http://192.168.1.1/owncloud

上記の「192.168.1.1」はownCloudをインストールした各自のサーバのIPアドレスに置き換えて下さい。ownCloudが正常にインストールされていれば、以下のような画面が表示されます。以下の画面で、任意のadmin用アカウントのユーザ名とパスワードを入力し、下の「Advanced」をクリックします。

create_admin_resize.png

以下のようにデータベース選択などの項目が表れるので、各自が設定した値を入力します。使用するデータベースの種類は、各自が使用するデータベースに合わせて選択して下さい。私の場合はMySQLを選択しました。

setup_owncloud_resize.png

また、これまでに設定した通りだと、各項目に入力する値は以下のようになります。

  • Database user : owncloud
  • Database password : password
  • Database name : owncloud
  • Database host : localhost
入力したら、下の「Finish setup」をクリックします。

セットアップが完了すると、以下の画面が表示されます。「Welcome to ownCloud」を閉じれば管理画面に入り、ownCloudを使えるようになります。

after_setup_resize.jpg

ここでは、ファイルの追加や削除、フォルダの追加や削除が行えます。基本的にDropBoxと同じ感じで使用できます。また、adminアカウントの管理画面ではownCloudを使用する新しいユーザアカウントや共有フォルダの作成を行えます。これらについて以下にメモしておきます。

ownCloudのユーザアカウントの作成

WebブラウザからadminアカウントでownCloudにログイン後、画面右端に出ているadminユーザ名をクリックすると、以下の画面のように「Users」という項目があるのでこれをクリックします。

users_create_resize.png

すると、以下の画面に移るので、新しく作成するユーザ名とパスワード、また所属するグループを指定して、「create」をクリックすれば作成できます。

create_user_mod_resize.png

共有フォルダの作成

ownCloudではDropBox同様に全てのユーザアカウント、もしくは特定のユーザ、またはグループのみが共有できるフォルダを作成可能です。作成は簡単で、admin用アカウントでログインしたownCloudの管理画面で、共有したいフォルダにカーソルを合わせれば、以下の赤線枠内のように「Share」という文字が表示されるので、これをクリックして設定します。

share_folder_mod_resize.png

ownCloudクライアントのセットアップ

ownCloudでは、ownCloud公式サイトの「Desktop Sync Client」というデスクトップ用のクライアントソフトをダウンロードしてインストールすれば、ローカルPC上にownCloud用のフォルダを作成できます。このownCloud用フォルダにファイルを置けば、DropBox同様に上記で作成したownCloudサーバに自動でアップロードされ、同じアカウントを持つ他のPCにも同期されます。クライアントソフトはWindows, Mac, Linuxそれぞれ用意されています。

このクライアントソフトをダウンロードしてインストール後、起動するとMacの場合は以下の画面が現れます。ここでownCloudサーバのIPアドレスまたは名前を入力し、「次へ」をクリックします。

ownclient1_resize.png

ここで、以下のような画面が表示され、証明書が信用できないと警告されますが、自分でローカルに構築したもので問題ないので、下の方の「この証明書を信用する」にチェックを入れて「OK」をクリックします。なお、私は最初はこの画面にいく前にエラーが出てしまいました。詳しくは後述しています。

ssl_alart_mod_resize.png

続いてユーザ名とアカウントを聞かれるので、入力します。

ownclient_account_resize.png

すると、以下のようにownCloud用のローカルフォルダをどうするか聞かれるので、任意のフォルダを指定します。なお、以下では「ローカルデータを保持」、「クリーン同期を開始」のどちらかを選択できるようになっていますが、指定したフォルダ(下記の場合だと/Users/Shared)が空っぽであればこの選択肢はでません。

ownclient_setup_resize.png

上記で下の「接続」をクリックすれば、以下の画面が表示されてownClientのセットアップは完了です。後はDropBoxと全く同じように指定したローカルのownCloudフォルダにファイルを置けば、同じアカウントのPC全てに同期されます。 なお、上記で指定したフォルダにすでにファイルがあり、「クリーン同期を開始」にチェックを入れて「接続」をクリックすると、すでに存在したファイルは削除されてしまうので気をつけて下さい。

ownclient_finish_resize.png

ちなみに、ownCloudクライアントを起動すると、以下のようにメニューバーにownCloudのアイコンが出現します。ここで右クリックすれば設定などを行えます。

ownmenyu_resize.jpg

ownCloudで遭遇したエラー

Webブラウザでアクセスした時にsecurity warningが出る

具体的には、以下の画面のようなエラーが出ました。

error_security_resize.jpg

これは、画面内にも書いてあるように、.htaccessが有効になってないことが原因なので、.htaccessを有効化すればOKです。具体的には /etc/apache2/sites-available/default に記述されている<Directory /var/www/> の「AllowOverride None」 を 「AllowOverride all」に変更します。

$ sudo vi /etc/apache2/sites-available/default
<Directory /var/www/>
        Options Indexes FollowSymLinks MultiViews
        #AllowOverride None
        AllowOverride all ←allに変更
        Order allow,deny
        allow from all
</Directory>

修正後、apacheを以下のコマンドで再起動すればOKです。

$ sudo service apache2 restart

ownCloudクライアントでownCloudに接続できない

ownCloudクライアントを使ってownCloudに接続しようとした場合に、以下のエラーが出ました。

client_fail_ssl_resize.jpg

これは、owncloudクライアントソフトがデフォルトでownCloudサーバにSSL接続するものの、ownCloudサーバのapacheがSSL接続に対応していないことが原因のようです。 よって、ownCloudサーバのapacheをSSL接続対応にする必要がありました。その手順を以下にメモします。

apache2をSSL接続対応にする

まず以下のように /etc/apache2/sites-available に移動します。ここには、デフォルトだと、「default」、「default-ssl」というファイルがあると思います。(default.conf、default-ssl.confの場合もあります。各自読み替えて下さい。)

$ cd /etc/apache2/sites-available
$ ls
default default-ssl

この「default-ssl」を「owncloud-ssl」というファイル名でコピーし、viエディタで開きます。

$ sudo cp default-ssl owncloud-ssl
$ sudo vi owncloud-ssl.conf

「owncloud-ssl」をエディタで開くと、冒頭が以下のようになっていると思います。

IfModule mod_ssl.c>
    
        ServerAdmin webmaster@localhost

        #DocumentRoot /var/www
               DocumentRoot /var/www/owncloud

上記の中の「DocumentRoot /var/www」を「DocumentRoot /var/www/owncloud」に変更します。

後は以下のコマンドでapacheのSSLモジュールを有効化し、さらに作成したowncloud-sslを読み込ませた後で、apacheを再起動します。

$ sudo a2enmod ssl
$ sudo a2ensite owncloud-ssl
$ sudo service apache2 restart

以上でこのエラーは解決できました。もしownCloudをVPSなどにインストールしてパブリックに使う場合はサーバ証明書が必要になると思いますが、ここではローカル環境での使用なので一切設定していません。

また、ownCloud関係で問題が生じたら、基本的にapacheのエラーログ(/var/log/apache2/error.log)に出力されていると思うので、ここらへんを確認すると良いと思います。

ownCloudを使ってみて

DropBoxと全く同じ感じで使用でき便利です。ただ、当然ながらownCloudサーバがローカルに設置され外部からアクセスできない場合は、ownCloudサーバと同じネットワーク内にあるPCのみしかownCloudを使用できません。なのでローカルで使うownCloudは、外部ネットワークに置けないデータを社内ネットワークで共有したい場合などに便利かもしれません。

もし完全にDropBoxと同じように、どこにいてもネットさえつながれば同期するようにしたい場合は、VPSなどを借りて外部からアクセスできるようにする必要があります。今の所予定はないのですが、もしVPSを使ってownCloud環境を構築したらまたその手順をメモしたいと思います。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。