ownCloud は、ドロップボックスのようなオンラインストレージを、自分のサーバ上に構築できるオープンソースソフトウェアです。クライアントは、WEBブラウザさえあれば、ownCloud で、ファイルを共有することが可能です。
さらに専用のクライアントソフトをインストールすれば、PC上に、自動で ownCloud と同期するフォルダを作成できます。iOS/Androidアプリも用意されているので、スマートフォンからでも使えます。試しに ownCloud8.1 を CentOS 7.1 にインストールしてみましたので、手順をメモしておきました。
LAMP 環境のインストール
ownCloud を動かすには LAMP 環境が必要です。今回は、こちらの手順でインストールしました。
ownCloud のインストール
ownCloud の yum リポジトリの追加
cd /etc/yum.repos.d/ wget http://download.opensuse.org/repositories/isv:ownCloud:community/CentOS_CentOS-7/isv:ownCloud:community.repo
ownCloud のインストール
yum -y install owncloud
ownCloud の yum リポジトリの無効化
vim /etc/yum.repos.d/isv\:ownCloud\:community.repo
(略) enabled=1 ↓ enabled=0
インストール作業はこれだけです。おどろくほど簡単ですね(^^)
SSLサーバ証明書(自己署名)の作成
・秘密鍵の作成
openssl genrsa 2048 > owncloud.key
・CSR(証明書署名要求)の作成
※Common Name(ドメイン名)「owncloud.example」は、ご自分のドメイン名に読み替えてください。
openssl req -new -key owncloud.key > owncloud.csr ---下記を入力--------------------------- Country Name (2 letter code) [XX]:JP State or Province Name (full name) []:<空エンター> Locality Name (eg, city) [Default City]:<空エンター> Organization Name (eg, company) [Default Company Ltd]:<空エンター> Organizational Unit Name (eg, section) []:<空エンター> Common Name (eg, your name or your owncloud's hostname) []:owncloud.example Email Address []:<空エンター> Please enter the following 'extra' attributes to be sent with your certificate request A challenge password []:<空エンター> An optional company name []:<空エンター>
・SSLサーバ証明書の作成(有効期限10年)
openssl x509 -days 3650 -req -signkey owncloud.key < owncloud.csr > owncloud.crt
・秘密鍵とSSLサーバ証明書を適切な場所に移動
mv -i owncloud.key /etc/pki/tls/private/ mv -i owncloud.crt /etc/pki/tls/certs/
・秘密鍵とSSLサーバ証明書のオーナーを root に変更
chown root:root /etc/pki/tls/private/owncloud.key chown root:root /etc/pki/tls/certs/owncloud.crt chmod 600 /etc/pki/tls/private/owncloud.key chmod 600 /etc/pki/tls/certs/owncloud.crt
・CSRを削除
rm owncloud.csr
Apache HTTPSバーチャルホストの設定
・ownCloud デフォルトのコンフィグを読込まないようにする。
mv -i /etc/httpd/conf.d/owncloud.conf /etc/httpd/conf.d/owncloud.conf.org
・SSL設定ファイルのオリジナルをバックアッップします。
mv -i /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.KEEP
・コンフィグを作成します。
vim /etc/httpd/conf.d/ssl.conf
Listen 443 https SSLPassPhraseDialog exec:/usr/libexec/httpd-ssl-pass-dialog SSLSessionCache shmcb:/run/httpd/sslcache(512000) SSLSessionCacheTimeout 300 SSLRandomSeed startup file:/dev/urandom 256 SSLRandomSeed connect builtin SSLCryptoDevice builtin SSLStrictSNIVHostCheck off <VirtualHost *:443> ServerName owncloud.example DocumentRoot "/var/www/html/owncloud/" <Directory "/var/www/html/owncloud/"> Options FollowSymLinks AllowOverride All <IfModule mod_dav.c> Dav off </IfModule> SetEnv HOME /var/www/html/owncloud SetEnv HTTP_HOME /var/www/html/owncloud Require all granted </Directory> <Directory "/var/www/html/owncloud/data/"> # just in case if .htaccess gets disabled Require all denied </Directory> SSLEngine on Header set Strict-Transport-Security "max-age=31536000; includeSubDomains" SSLProtocol -All +TLSv1 +TLSv1.1 +TLSv1.2 SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5 SSLCertificateFile /etc/pki/tls/certs/owncloud.crt SSLCertificateKeyFile /etc/pki/tls/private/owncloud.key ErrorLog logs/owncloud_error_log CustomLog logs/owncloud_access_log combined </VirtualHost>
・httpd再起動
systemctl restart httpd
ownCloud 用のデータベースの作成
・MySQLに ownCloud 用のDBとユーザを作成します。
mysql -u root -p
・ownCloud用DBの作成 create database owncloud character set utf8; ・ownCloud用ユーザの作成 grant all privileges on owncloud.* to owncloud@localhost identified by '<パスワード>'; exit
ownCloud の初期設定
ブラウザで「https://owncloud.example/」にアクセスすると ownCloud の初期設定画面が表示されます。(自己署名証明書なので警告が表示されます)
管理アカウントのユーザ名とパスワードを入力して「ストレージとデータベース」をクリックします。
「MySQL/MariaDB」を選択して、先ほど作成した、MySQLのユーザ名、<パスワード>、データベース名、を入力し「セットアップを完了します」をクリックします。
「ownCloud へようこそ」が表示されれば、初期設定完了です。
シンプルな画面で分かりやすいですね。(^^) ドラッグアンドドロップでアップロードできます。バージョン管理もできるようですね。
メモリキャッシュ(Memcached)の設定
右上の[ユーザ名]→[管理] 画面で「メモリキャッシュが設定されていません。パフォーマンスを向上するために、可能であれば memcache を設定してください。」と表示されていました。パフォーマンスが向上するそうなので、メモリキャッシュ(Memcached)も設定してみました。
・Memcached のインストール
yum -y install memcached-devel yum -y install php-pecl-memcache
・自動起動設定
systemctl enable memcached
・起動
systemctl start memcached
・ownCloud のメモリキャッシュ設定
vim /var/www/html/owncloud/config/config.php
(略) 'loglevel' => 3, ); ↓ (略) 'loglevel' => 3, 'memcache.local' => '\OC\Memcache\APCu', );
終わりに
とても簡単にインストールができる ownCloud ですが、公式マニュアルを見てみると、データの保存先を Amazon S3 にしたり、API経由で操作ができたりと、面白そうな機能がたくさんありそうです。時間を見つけて、いろいろ試してみたいと思います。
コメント
OwnCloudのmemcache周りで悩んでいる際に参考にさせていただきました。
真似して設定を入れ込んでみましたが、うまく行きませんでしたので試行錯誤してみたところ、提示されていた設定では恐らくmemcachdが効いていないように思われます。
若干環境が違いますが、次のような経緯を踏みました。
・FreeBSDにPHP 5.6をpkgで導入
・memcachd、pecl-memcacheを導入
・「’memcache.local’ => ‘\OC\Memcache\APCu’,」を追加 ⇒ 動作せず
・config.sample.phpの記述を確認したところ、上記設定ではメモリキャッシュのバックエンドとしてAPC userを使用する模様
—–引用開始—–
* Available cache backends:
*
* * “\OC\Memcache\APC“ Alternative PHP Cache backend
* * “\OC\Memcache\APCu“ APC user backend
* * “\OC\Memcache\ArrayCache“ In-memory array-based backend (not recommended)
* * “\OC\Memcache\Memcached“ Memcached backend
* * “\OC\Memcache\Redis“ Redis backend
* * “\OC\Memcache\XCache“ XCache backend
—–引用終わり—–
・「’memcache.local’ => ‘\OC\Memcache\Memcached’,」に変更 ⇒ 動作せず
・念のためと思いpecl-memcacheを削除、pecl-memcachedを導入 ⇒ 動作
yaizawaさん
FreeBSD環境での情報ありがとうございます。
うまく動かず申し訳ございませんでした、、、