なにかと要望の多いオンラインストレージ/クラウドストレージですが、今回はオープンソースの ownCloud を CentOS7 にインストールしてみたいと思います。
dropbox であれば聞いたことがあると思いますが、dropbox と同じようにWeb経由でファイルを保存したり共有したりすることの出来るオープンソースのオンラインストレージソフトウェアです。クライアントツールをインストールすることでローカルフォルダと同様にエクスプローラーで使用することも可能な優れもの。
インストールから初期設定までをメモしておきます。
環境
ownCloud はWeb経由で動作します。CentOS7.3で構築する場合、apacheからMariaDBまでyumで入る最新VersionでownCloudの要件を満たしているのでインストールは簡単です。
- CentOS 7.3
- apache 2.4.6
- php 5.4.16
- MariaDB 5.5.52
- ownCloud 9.1.6
インストール
apache インストール
yumでインストールします。起動、自動起動まで実施します。
1 2 3 |
# yum -y install apache # systemctl start httpd # systemctl enable httpd |
PHPインストール
こちらもyumで。
1 |
# yum -y install php php-mbstring php-pear |
タイムゾーンの変更をします。コメントアウトを外して必要に応じてタイムゾーンを変更します。
1 2 3 4 |
# vi /etc/php.ini #date.timezone = "Asia/Tokyo" ↓ date.timezone = "Asia/Tokyo" |
反映のためにapache を再起動します。
1 |
# systemctl restart httpd |
動作確認をしましょう。テストファイルを作成します。
1 2 3 4 |
# vi /var/www/html/index.php <?php phpinfo(); ?> |
Webブラウザで、http://HOSTNAME/index.php にアクセスして、PHPに関する情報が表示されれば正常に動作しています。
ownCloud を使用するために、足りない PHP 関連パッケージをインストールする必要があります。epel からインストールするのでリポジトリの追加から行います。
1 2 |
# yum install epel-release.noarch # yum install php-pear-MDB2-Driver-mysqli php-pear-Net-Curl |
MariaDBインストール
以下のページを参考に Mariadb サーバをインストールします。
ownCloudインストール
ownCloud は専用のリポジトリで公開されているので、こちらもリポジトリの追加から行います。wget が無い場合は併せてインストールします。
1 2 3 4 |
# yum -y install wget # wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -P /etc/yum.repos.d # yum -y install owncloud # systemctl restart httpd |
mariaDBデータベースとユーザの作成
ownCloud用のデータベースとユーザを作成します。DB名、ユーザ名、パスワードは任意で変更します。
1 2 3 4 5 |
# mysql -u root -p MariaDB [(none)]> create database owncloud; MariaDB [(none)]> grant all privileges on owncloud.* to owncloud@'localhost' identified by 'password'; MariaDB [(none)]> flush privileges; MariaDB [(none)]> quit |
apache修正
これで、Webブラウザで http://HOSTNAME/owncloud にアクセスできる状態です。アクセスするとセットアップ画面が表示されますが、今回は ownCloud 専用のサーバを構築するため、URLの「/」以下をなくしたい。そのため、apacheのドキュメントルートを変更します。
1 2 3 4 5 6 7 |
# vi /etc/httpd/conf/httpd.conf DocumentRoot "/var/www/html" ↓ DocumentRoot "/var/www/html/owncloud" # 反映 # systemctl restart httpd |
初期セットアップ
http://HOSTNAME にアクセスすると以下のような画面が表示されるので、ユーザ名とパスワードを入力後、ストレージとデータベース をクリックします。
次に、以下の画像で、データベースを設定してください の箇所で MySQL/MariaDB を選択して、DBユーザ名、パスワード、DB名 を入力します。DBを別サーバで構成する場合は、localhost をDBサーバのIPに変更します。
最後に、セットアップを完了します をクリックすると使用可能な状態になります。
まとめ
すべて無料で構築できる上に、最近ではAWS(Amazon Web Service)でもパッケージをサポートしているなど、導入のし易さも向上しているようです。
また、既にあるファイルサーバのデータディレクトリをNFSマウントするなどすれば手軽にクラウドストレージができあがる、なんてこともできそうです。
課題として、エクスプローラでも使用できますが、Webアクセスで使用する場合はパフォーマンスの問題がでてきそう。ローカルフォルダと比較すると、どうしてもタイムラグを感じることがある。。。phpのパラメータを調整したり、Apacheじゃなくって Nginx を使ってみるとか検討する必要があるかもです。
おまけ
デフォルトの設定だとテキストファイルをWebUIで表示させると文字化けしてしまいます。
その場合の修正点を以下のエントリに記載していますので、参考にしてください。
以上です。
↓↓↓ 持っていると便利な一冊。