X

centos+nginxにowncloudをインストールした。

今更ながらにowncloudをインストールしてみた。
環境はこんな感じです。

centos6.7
nginx
php-fpm
MariaDB

インストールには

isv:ownCloud:community.repo

を使用します。

# vim /etc/yum.repos.d/isv:ownCloud:community.repo
[isv_ownCloud_community]
name=Latest stable community release of ownCloud server (CentOS_6)
type=rpm-md
baseurl=http://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_6/
gpgcheck=1
gpgkey=http://download.opensuse.org/repositories/isv:/ownCloud:/community/CentOS_6//repodata/repomd.xml.key
enabled=1

あと、remi.repoも使用しました。

準備が出来たらインストールします。

# yum install owncloud -y

依存関係やらでPHP関連がたくさんupdateされましたが
問題なくインストールは完了

owncloudは以下に設置されるので

/var/www/html/owncloud

nginxのconfを修正します。
自分の環境では、SSL通信でowncloudを使用するので
SSL設定の個所を修正します。

server {
listen 443 ssl default_server;

下記2か所をowncloudのドキュメントルートに指定

location / {
root /var/www/html/owncloud;

location ~ \.php$ {
root /var/www/html/owncloud;

変更したらnginxとphp-fpmを再起動

# /etc/rc.d/init.d/nginx restart; /etc/rc.d/init.d/php-fpm restart

ブラウザでアクセスすると以下のエラーが

ownCloud
Can’t write into config directory!
This can usually be fixed by giving the webserver write access to the config directory.
ownCloud ? あなたが管理するウェブサービス

アクセス権が無いようなので変更

# pwd
/var/www/html
# chown -R nginx. owncloud/

リロードをかけるとまた次のエラーが

内部サーバエラー
サーバー内でエラーが発生したため、リクエストを完了できませんでした。
このエラーが繰り返し表示されるようであれば、以下の技術情報を添付してサーバー管理者に報告してください。
詳細は、サーバーのログを確認してください。
技術詳細
リモートアドレス: ***.***.***.***
リクエスト ID: jKx4oQpfP2z3J2HPXQmM

owncloudのログは以下に有るので見てみると

# pwd
/var/www/html/owncloud/data
# tailf owncloud.log
{“reqId”:”F+2ghY\/e0X9D3DBzWNKW”,”remoteAddr”:”***.***.***.***”,”app”:”base”,”message”:”Exception: {\”Exception\”:\”ErrorException\”,\”Message\”:\”session_start(): open(\\\/var\\\/lib\\\/php\\\/session\\\/sess_bh38gqkejnln1v06n248jdvir6, O_RDWR) failed: Permission denied (13)\”,\”Code\”:0,\”Trace\”:\”#0 [internal function]: OC\\\\Session\\\\Internal->trapError(2, ‘session_start()…’, ‘\\\/var\\\/www\\\/html\\\/o…’, 38, Array)\\n#1 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/session\\\/internal.php(38): session_start()\\n#2 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/base.php(454): OC\\\\Session\\\\Internal->__construct(‘ocjscitoq7tm’)\\n#3 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/base.php(594): OC::initSession()\\n#4 \\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/base.php(1122): OC::init()\\n#5 \\\/var\\\/www\\\/html\\\/owncloud\\\/index.php(46): require_once(‘\\\/var\\\/www\\\/html\\\/o…’)\\n#6 {main}\”,\”File\”:\”\\\/var\\\/www\\\/html\\\/owncloud\\\/lib\\\/private\\\/session\\\/internal.php\”,\”Line\”:104}”,”level”:4,”time”:”2016-03-13T13:19:07+00:00″}

どうやら以下のディレクトリに書込めない為エラーになっている模様

/var/lib/php/session

権限をnginxに変更

# pwd
/var/lib/php
# ls -al
total 12
drwxr-xr-x 3 root root 4096 Mar 3 00:11 .
drwxr-xr-x. 37 root root 4096 Mar 13 21:58 ..
drwxrwx— 2 root apache 4096 Mar 3 00:11 session
# chown -R nginx. session

やっとowncloudのログイン画面が拝めました。

owncloudログイン画面


このままだと、sqliteな様なのでmysqlの設定等は次にします。
Categories: linux nginx
higherhope: