UnixPower on Networking
  http://www.unix-power.net/

 
 Top - Linux - CentOS7 ownCloudを使ったオンラインストレージ




DropboxやGoogleドライブなどのオンラインストレージを利用している方は多いと思うのですが、暗号化がされなかったり容量が少ないなど、不満がある方にownCloudというおすすめのオンラインストレージソフトがあります。

これはあたかもDropboxのように利用することができるものでownCloudサーバにWeb経由でファイルを保存し、共有することができます。ownCloudクライアントソフトも提供されており、これをインストールすればローカルの特定フォルダにファイルを保存するとそれが自動的にownCloudサーバにファイルが同期されます。

さらに通信はhttpsを使った暗号化に対応し、ファイル保存に関してもユーザ側では意識することなく暗号化することができます。また、ユーザ認証にはLDAP連携も用いる事が可能です。ここらあたりがDropboxと比較してownCloudが優れている点と言えます。

早速インストールを行っていきます。ownCloudはWeb経由で操作しますので最初にApacheをインストールしておきます。

# yum install httpd
# rpm -qa | grep httpd
httpd-tools-2.4.6-18.el7.centos.x86_64
httpd-devel-2.4.6-18.el7.centos.x86_64
httpd-2.4.6-18.el7.centos.x86_64

続けて本体をインストールします。ownCloudはyumからインストール可能ですが、リポジトリを別途用意する必要があります。

# cd /etc/yum.repos.d/
# vi isv:ownCloud:community.repo

[isv_ownCloud_community]
name=Latest stable community release of ownCloud (CentOS_CentOS-7)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_CentOS-7/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_CentOS-7/repodata/repomd.xml.key
enabled=1


これでyumからownCloudがインストール可能となります。合わせてhttpdやphpなどの依存関連のパッケージもインストールされます。

# yum install owncloud
# rpm -qa | grep owncloud
owncloud-3rdparty-7.0.3-11.1.noarch
owncloud-7.0.3-11.1.noarch


一部PHPのパッケージが不足しますので以下のコマンドで追加インストールしておきます。

# yum install php-mysql php-gd php-pdo


続けてPHPの設定を実施しておきます。

# vi /etc/php.ini 

// 692行目
default_charset = "UTF-8"

// 878行目
date.timezone = "Asia/Tokyo"


さらに設定情報を保存するためのmariadb-serverを個別にインストールする必要があります。

# yum install mariadb-server
# rpm -qa | grep mariadb
mariadb-5.5.37-1.el7_0.x86_64
mariadb-server-5.5.37-1.el7_0.x86_64
mariadb-libs-5.5.37-1.el7_0.x86_64


続いて初期設定を行います。設定ファイルは/etc/my.cnfになり、/etc/my.cnf.d以下の設定ファイルがインクルードされる形となっています。この中で/etc/my.cnfを編集し文字コードを設定しておきます。

# vi /etc/my.cnf

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
# Settings user and group are ignored when systemd is used.
# If you need to run mysqld under a different user or group,
# customize your systemd unit file for mariadb according to the
# instructions in http://fedoraproject.org/wiki/Systemd
character-set-server=utf8

systemctlコマンドでmariadbを有効にしてから起動します。 ( 有効にしてからでないと起動しませんでした )


# systemctl enable mariadb.service
# systemctl start mariadb.service


続いてMariaDBの初期設定を行います。初期セットアップコマンドがあり対話形式に進めていきますので、それを実行します。rootパスワードを設定するところのみ入力する必要がありますが、その他についてはそのままEnterで大丈夫です。

# mysql_secure_installation
/usr/bin/mysql_secure_installation: 行 379: find_mysql_client: コマンドが見つかりません

NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MariaDB
      SERVERS IN PRODUCTION USE!  PLEASE READ EACH STEP CAREFULLY!

In order to log into MariaDB to secure it, we'll need the current
password for the root user.  If you've just installed MariaDB, and
you haven't set the root password yet, the password will be blank,
so you should just press enter here.

Enter current password for root (enter for none):[enter]
OK, successfully used password, moving on...

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorisation.

Set root password? [Y/n][enter]
New password:[パスワード入力]
Re-enter new password:[パスワード入力]
Password updated successfully!
Reloading privilege tables..
 ... Success!


By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n][enter]
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n][enter]
 ... Success!

By default, MariaDB comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n][enter]
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n][enter]
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!


続いてownCloud用のユーザとデーベースを作成します。以下ではowncloudというデータベースを作成し、それにアクセスするユーザIDとパスワードをともにowncloudに設定しています。

# mysql -u root -p
Enter password:[パスワード入力]
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 10
Server version: 5.5.37-MariaDB MariaDB Server

Copyright (c) 2000, 2014, Oracle, Monty Program Ab and others.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

MariaDB [(none)]> CREATE DATABASE owncloud;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON owncloud.* to owncloud@localhost IDENTIFIED BY 'owncloud';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> quit;
Bye


owncloudはWeb経由でアクセスをしますのでApacheを有効にして起動します。

# systemctl enable httpd.service
# systemctl start httpd.service

これでhttp://[IP-Address]/owncloud/にアクセスすると以下のような画面が表示されます。



まずユーザ名、パスワードのところに管理者となるものを入力します。ここに入力したものが次回以降からのログインIDとパスワードになります。

そしてデータフォルダには実際のデータのアップロード先のフォルダを指定します。

また、「ストレージデータベース」のところをクリックするとデータベースを選択し、データベース名やユーザIDなどを入力する画面が表示されますのでMySQL/MariaDBを選択した上で、上記で設定したowncloudデータベースの情報を入力し、「セットアップを完了します」ボタンをクリックします。




問題なく完了すれば以下の画面が表示されます。




クライアント側のデスクトップアプリケーションもインストールしてくださいという画面になります。サーバ側のインストールはこれで完了となりますので続いてクライアントソフトのインストールになります。

リンクをクリックしてアプリをダウンロードしダブルクリックしてインストールが完了すると次の画面が表示されます。




サーバアドレスにはもちろんownCloudをインストールしたサーバのアドレス ( http://[ip-address]/owncloud ) を入力して次へをクリックします。SSL証明書をインストールしている場合にはhttpsで指定することも可能です。

次に接続するためのユーザ名・パスワードを入力します。下記では最初に作成したadminユーザで接続しようとしています。




次に以下の画面が表示されます。ownCloudのフォルダとローカルのフォルダを選択して同期するフォルダを選択することになります。デフォルトではownCloud上にdocuments / music / photosなどのフォルダが存在しており、これらのフォルダが下記で選択したローカルのフォルダに同期されることになります。逆にローカルフォルダにファイルなどが存在する場合はownCloudフォルダに双方向で同期されることになります。




接続ボタンをクリックするとownCloudとローカルフォルダが同期されはじめ、以下の画面が表示されます。以降、どちらのフォルダにもファイルを追加、削除などを行うとそれがもう一方のほうにも反映され同期が常に行われる状態となります。







 Copyright(C) 2003-2015 UnixPower on Networking All rights reserved.