2014年2月18日火曜日

[.tested] ownCloud 6.0.1 [Debian Wheezy][AX3][A7]

ownCloudは、WebブラウザやWebDAVクライアントからアクセスできるオンラインストレージを構築するソフトウェアです。

ownCloud.org | Your Cloud, Your Data, Your Way!

http://owncloud.org/

今回は、ownCloud をOpenBlocks Aシリーズにインストールする手順を紹介します。

OBDN技術ブログによる動作検証は、該当するソフトウェアの動作を保証およびサポートを行うものではありません。
内容に関するご指摘などありましたら、ブログ記事の担当までご連絡下さい。

<検証環境>
OpenBlocks AX3/4 Debian 7.1 kernel: 3.2.40
OpenBlocks A7 Debian 7.1 kernel:3.2.40

(*)本ソフトウェアの利用にはSSDキットおよび開発環境の導入が必要です。

1.debianパッケージによる導入方法 (5.0.14)


ownCloudの最新は6.0.1ですが、debian wheezyでのパッケージ対応は、wheezy-backportsにて提供される、
ownCloud 5.0.14.a+dfsg-1~bpo70+2 (Debian)
となります。wheezy-backportsを使用する場合は、/etc/apt/sources.lstに以下の行を追加することで、wheezy-backportsにて提供されるパッケージの導入が可能です。

/etc/apt/sources.lstに以下の行を追加

# Backports repository
deb http://ftp.debian.org/debian wheezy-backports main contrib non-free

パッケージリストの更新とowncloudの導入

# aptitude update
# aptitude install owncloud

上記の操作により、owncloud 5.0.14の構築に必要な関連パッケージも全てインストールされますが、旧バージョンであるため、次項に最新版の導入手順について説明します。

2. 最新版(6.0.1)の導入方法


関連パッケージを導入します。

# apt-get install apache2 php5 php5-gd php-xml-parser php5-intl
# apt-get install php5-sqlite php5-mysql smbclient curl libcurl3 php5-curl
# apt-get install mysql-server mysql-client

ユーザ管理にmysqlを使用する場合は、データベースの初期化を行います。
ユーザ名およびDB名は別途設定されることをお勧めします。 
また、passwordは必ず独自のものを使用してください。


ユーザ名: owncloud@localhost
バスワード: password
データベース名: owncloud

注) A7の場合、ユーザ名を、oc_登録するユーザ名 とする必要がありました。

# mysql -u root -p

mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
2 rows in set (0.00 sec)

mysql> grant all on *.* to owncloud@localhost IDENTIFIED BY 'password';
mysql> create database owncloud character set utf8 ;
mysql> GRANT ALL PRIVILEGES ON owncloud.* TO owncloud@localhost IDENTIFIED BY 'password';

owncloudのwebページより、パッケージをダウンロードします。
INSTALLページより、tarファイルのURLを入手し、wgetしました。

# wget http://download.owncloud.org/community/owncloud-6.0.1.tar.bz2

パッケージを展開し、/var/www以下へコピーした後、パーミッションを変更します。

# tar xvjf owncloud-6.0.1.tar.bz2
# cp -r owncloud /var/www/
# chown -R www-data:www-data /var/www/

/etc/apache2/sites-enabled/000-defaultを編集します。

        <Directory /var/www/>
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                allow from all
        </Directory>


apache2の2つのモジュールを有効にし、再起動します。

# a2enmod rewrite
# a2enmod headers
# service apache2 restart

3.httpでの接続テスト


Webブラウザより、以下のURLにアクセスしてください。

http://URLまたはIPアドレス/owncloud

以下の画面が表示されますので、MySQLを選択し、上記で設定したユーザ名、パスワード、データベース名、ホスト名(今回はlocalhost)を入力します。


下記の画面が表示されます。dropboxの様に、専用の同期アプリケーションをインストールする場合は対応する機種のページよりクライアントをダウンロードし、インストールしてください。


Personalメニューより、言語を日本語に設定することが出来ます。


4.httpsによる接続設定


今回は、OpenSSLにより自己認証局を設定し、apache2でのhttps通信を行いました。

設定は以下の手順で行ってください。

# mkdir -p /usr/local/ssl
# cd /usr/local/ssl

秘密鍵を作成します。

# openssl genrsa -aes128 -rand /dev/urandom -out owncloud_server.key 2048
2048 semi-random bytes loaded
Generating RSA private key, 2048 bit long modulus
...(snip)...
Enter pass phrase for owncloud_server.key: xxxxxxxx
Verifying - Enter pass phrase for owncloud_server.key: xxxxxxxx

証明書の書名要求CSRを生成します。
Countroy NameとCommon Nameだけ設定し、省略可能な部分は.により省略しています。

# openssl req -new -key owncloud_server.key -out owncloud_server.csr
Enter pass phrase for owncloud_server.key:
...(snip)...
-----
Country Name (2 letter code) [AU]:JP
State or Province Name (full name) [Some-State]:.
Locality Name (eg, city) []:.
Organization Name (eg, company) [Internet Widgits Pty Ltd]:.
Organizational Unit Name (eg, section) []:.
Common Name (e.g. server FQDN or YOUR name) []:xxx.xxx.xxx.xxx
Email Address []:xxx@hoge.hoge

Please enter the following ‘extra’ attributes
to be sent with your certificate request
A challenge password []:.
An optional company name []:.

サーバ証明書の発行を行います。

#openssl req -in owncloud_server.csr -out owncloud_server.crt -key owncloud_server.key -x509 -days 1825

owncloud_server.keyはバックアップを取った後に削除、パーミッションの設定などを行います。


# chmod 400 owncloud_server.*
# chown root:root owncloud_server.*

apacheを設定します。

# vi /etc/apache2/sites-available/default-ssl

以下の項目を修正します。

SSLCertificateFile /usr/local/ssl/owncloud_server.crt
SSLCertificateKeyFile /usr/local/ssl/owncloud_server.key

ssl関連を有効にし、apache2を再起動します。

# a2enmod ssl
# ln -s /etc/apache2/sites-available/default-ssl /etc/apache2/sites-enabled/default-ssl
# service apache2 restart

5.httpsによる接続確認


Webブラウザより、以下のURLにアクセスしてください。

https://URLまたはIPアドレス/owncloud

今回はプライベート認証局であるため、Webブラウザより警告が出ますが、例外として設定します。


確認後、常にhttpsでの接続に変更をします。


6. さいごに 


以上の設定により、owncloud 6.0.1の動作を確認しました。
A7の場合、最初のMySQLでのユーザ名に対して指定したものと違うものを要求されるため、記事内に書いた通りに指定することで回避しています。また、A7をサーバに使用した場合、操作に対しての反応が非常に遅いということも追記しておきます。



0 件のコメント:

コメントを投稿