:::: MENU ::::

C.a.T!

CATch a TAIL!

Japanese sub culture and tech.

  • 2013/12/8
  • 0
engineer, linux

Dropboxクローン、ownCloudを試す

20131208

Dropboxはとても便利で自分も常用しています。
ただ、企業では情報漏洩リスクからブロックされていることが多いんですよね。
まあ、自分の会社がそうなんですが。
だったら勝手Dropboxを立てればいいじゃない、ということでDropboxクローンのownCloudを試してみました。

構築方法

Ubuntu13.10にインストールする前提でまとめます。
パッケージがしっかり用意されているので、それを活用します。

sudo apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
sudo apt-get install php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl
echo 'deb http://download.opensuse.org/repositories/isv:ownCloud:community/xUbuntu_13.10/ /' > /etc/apt/sources.list.d/owncloud.list 
sudo apt-get update
sudo apt-get install owncloud

これで、必要な物件はインストールされます。
ownCloudは、Dropboxと同様のWeb画面を持っています。
今回はこれにApacheでアクセスするよう設定します。

sudo a2enmod ssl
sudo a2enmod rewrite
sudo a2enmod headers

また、専用にSSL仮想ホストを割り当てておきます。

  • /etc/conf.d/owncloud
    <VirtualHost *:443>
    ServerName     owncloud.example.com
    ServerAdmin    [email protected]
    DocumentRoot   "/var/www/owncloud"
    CustomLog      /var/log/apache2/owncloud.access.log common
    ErrorLog       /var/log/apache2/owncloud.error.log
    SSLEngine on
    SSLCertificateFile      /etc/ssl/certs/ssl-cert-snakeoil.pem
    SSLCertificateKeyFile /etc/ssl/private/ssl-cert-snakeoil.key
    
    <Directory /var/www/owncloud/>
    AllowOverride All
    Options FollowSymLinks
    DirectoryIndex index.html
    Require all granted
    </Directory>
    </VirtualHost>
    

<

p>あと、ownCloudはデータベースを使いますがデフォルトではsqliteです。
今回は、これをMySQLを使うように変更します。
以下の設定ファイルで変更できます。
まず、設定ファイルをサンプルからコピーします。

sudo cp -p /var/www/owncloud/config/config.php.sample /var/www/owncloud/config/config.php

続けてDBとしてmysqlを利用するため、以下のようにdbtypeをmysqlにします。
DB名、ユーザ名、パスワードなども入れておきます。

  • /var/www/owncloud/config/config.php
    <?php
    $CONFIG = array (
    'installed' => false,
    'dbtype' => 'mysql',
    'dbname' => 'owncloud',
    'dbuser' => 'owncloud',
    'dbpassword' => 'enter_owncloud_password!!!',
    'dbhost' => 'localhost',
    ...
    

続けてDBの作成です。

mysql -u root -p
CREATE USER 'owncloud'@'localhost' IDENTIFIED BY 'enter_owncloud_password!!!';
CREATE DATABASE IF NOT EXISTS owncloud;
GRANT ALL PRIVILEGES ON owncloud.* TO 'owncloud'@'localhost';

これで、https://example.com/ にアクセスすれば初期画面が表示されるはず。
あとは、adminユーザを画面から作成してやれば使えるようになります。

あと、ファイルのアップドーロサイズを大きくしておいてやります。
今回は512Mにしておきます。

  • /etc/php5/apache2/php.ini
    ...
    upload_max_filesize = 512M
    ...
    post_max_size = 512M
    ...
    

以上でApacheを再起動すればOKです。

使用感

思っていたより構築が簡単で驚きました。
でも、機能はしっかりしていてDropboxには叶いませんが、ファイル共有の仕組みとしては十分です。
セキュリティ面ではやはり怖いので危ないファイルを置くことはあまりおすすめできませんが、ちょっとしたデータの共有、交換には便利です。
しばらく使ってみようと思います。

まとめ

  • Dropboxクローン、ownCloudは構築も簡単で機能も十分
  • ただし、OSSでセキュリティ的なリスクは高いので十分注意して自己責任で使用しましょう

Leave a comment