容量無制限のプライベートな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を動作させるには下記のパッケージをインストールしておく必要があります。
- 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を使う上では不要です。
インストール中にMySQLのrootのパスワードを設定するよう言われるので、パスワードを入力します。入力したら再入力を求められるので、改めて入力して下さい。
あとは以下のコマンドで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 でした。
上記の画面の「Tar or Zip File」という部分をクリックすると、以下の画面が現れるので、「Unix」をクリックします。するとダウンロードが始まります。
そして、ダウンロードした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」をクリックします。
以下のようにデータベース選択などの項目が表れるので、各自が設定した値を入力します。使用するデータベースの種類は、各自が使用するデータベースに合わせて選択して下さい。私の場合はMySQLを選択しました。
また、これまでに設定した通りだと、各項目に入力する値は以下のようになります。
- Database user : owncloud
- Database password : password
- Database name : owncloud
- Database host : localhost
セットアップが完了すると、以下の画面が表示されます。「Welcome to ownCloud」を閉じれば管理画面に入り、ownCloudを使えるようになります。
ここでは、ファイルの追加や削除、フォルダの追加や削除が行えます。基本的にDropBoxと同じ感じで使用できます。また、adminアカウントの管理画面ではownCloudを使用する新しいユーザアカウントや共有フォルダの作成を行えます。これらについて以下にメモしておきます。
ownCloudのユーザアカウントの作成
WebブラウザからadminアカウントでownCloudにログイン後、画面右端に出ているadminユーザ名をクリックすると、以下の画面のように「Users」という項目があるのでこれをクリックします。
すると、以下の画面に移るので、新しく作成するユーザ名とパスワード、また所属するグループを指定して、「create」をクリックすれば作成できます。
共有フォルダの作成
ownCloudではDropBox同様に全てのユーザアカウント、もしくは特定のユーザ、またはグループのみが共有できるフォルダを作成可能です。作成は簡単で、admin用アカウントでログインしたownCloudの管理画面で、共有したいフォルダにカーソルを合わせれば、以下の赤線枠内のように「Share」という文字が表示されるので、これをクリックして設定します。
ownCloudクライアントのセットアップ
ownCloudでは、ownCloud公式サイトの「Desktop Sync Client」というデスクトップ用のクライアントソフトをダウンロードしてインストールすれば、ローカルPC上にownCloud用のフォルダを作成できます。このownCloud用フォルダにファイルを置けば、DropBox同様に上記で作成したownCloudサーバに自動でアップロードされ、同じアカウントを持つ他のPCにも同期されます。クライアントソフトはWindows, Mac, Linuxそれぞれ用意されています。
このクライアントソフトをダウンロードしてインストール後、起動するとMacの場合は以下の画面が現れます。ここでownCloudサーバのIPアドレスまたは名前を入力し、「次へ」をクリックします。
ここで、以下のような画面が表示され、証明書が信用できないと警告されますが、自分でローカルに構築したもので問題ないので、下の方の「この証明書を信用する」にチェックを入れて「OK」をクリックします。なお、私は最初はこの画面にいく前にエラーが出てしまいました。詳しくは後述しています。
続いてユーザ名とアカウントを聞かれるので、入力します。
すると、以下のようにownCloud用のローカルフォルダをどうするか聞かれるので、任意のフォルダを指定します。なお、以下では「ローカルデータを保持」、「クリーン同期を開始」のどちらかを選択できるようになっていますが、指定したフォルダ(下記の場合だと/Users/Shared)が空っぽであればこの選択肢はでません。
上記で下の「接続」をクリックすれば、以下の画面が表示されてownClientのセットアップは完了です。後はDropBoxと全く同じように指定したローカルのownCloudフォルダにファイルを置けば、同じアカウントのPC全てに同期されます。 なお、上記で指定したフォルダにすでにファイルがあり、「クリーン同期を開始」にチェックを入れて「接続」をクリックすると、すでに存在したファイルは削除されてしまうので気をつけて下さい。
ちなみに、ownCloudクライアントを起動すると、以下のようにメニューバーにownCloudのアイコンが出現します。ここで右クリックすれば設定などを行えます。
ownCloudで遭遇したエラー
Webブラウザでアクセスした時にsecurity warningが出る
具体的には、以下の画面のようなエラーが出ました。
これは、画面内にも書いてあるように、.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に接続しようとした場合に、以下のエラーが出ました。
これは、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環境を構築したらまたその手順をメモしたいと思います。
関連記事
- 公開日:2022/09/11 更新日:2022/09/11
Google Compute EngineのインスタンスにSSH接続できなくなった時の対処方法
Google Compute EngineのインスタンスにSSH接続できていたのにSSHの設定ミスや原因不明でSSH接続できなくなった時の対処方法をメモします。自分のPCからだけでなく、Google Cloud Platform上での管理画面からもSSHできない場合にも有効です。
- 公開日:2022/09/08 更新日:2022/09/08
Google Compute EngineのインスタンスにSSH接続する
Google Compute Engineのインスタンスにssh接続するための手順をまとめます。
- 公開日:2018/02/10 更新日:2018/02/10
CentOSでrootのときだけ日本語が文字化けする時の原因と対処方法
さくらVPSでCentOSを使いはじめたところ、一般ユーザで使用している時はvimなどのエディタで編集していても日本語が問題なく表示されていましたが、root権限で同様に編集のためにファイルを開いたら日本語が文字化けしてしまいました。以降ではこの原因と対処方法についてメモします。
- 公開日:2017/12/09 更新日:2017/12/09
サーバ上のディレクトリをローカルにマウントするsshfsの使い方
Linuxでは、サーバ側のディレクトリを自身のローカルPCにマウントして、ローカル上のディレクトリして使用することができるsshfsというコマンドが用意されています。ここではこのsshfsの使い方をメモします。
- 公開日:2017/08/27 更新日:2017/08/27
MacでubuntuのインストールUSBを作成する方法と手順
MacでubuntuのインストールUSBを作成する手順をメモします。ここで載せる手順はターミナルでのコマンドによる方法になります。