LoginSignup
5

More than 5 years have passed since last update.

owncloudで構築しようとしたが結局nextcloudにした話

Posted at

写真とか動画が結構たまってるので無料クラウドストレージじゃ容量不足で、有料契約も家族分となったら負担も大きくなります。
自鯖をクラウドストレージ構築をどっちでもよかったけど
よく聞くowncloudで構築してみようと思ったのだが・・・

owncloud

nginx

console
$ sudo vi /etc/yum.repos.d/nginx.repo
vi-nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
console
$ sudo yum install nginx

バージョン確認
$ nginx -v
nginx version: nginx/1.11.10

nginx起動
$ sudo systemctl start nginx
$ sudo systemctl status nginx

PHP

owncloudをyumでインストールするので、不足があれば依存関係で解消してくれるからPHPは最小限

console
$ sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-7.rpm
$ sudo yum install --enablerepo=remi,remi-php71 php-fpm php-mbstring php-mysqli

バージョン確認
$ rpm -qa | grep php
php-json-7.1.1-2.el7.remi.x86_64
php-fpm-7.1.1-2.el7.remi.x86_64
php-common-7.1.1-2.el7.remi.x86_64
php-pdo-7.1.1-2.el7.remi.x86_64
php-mbstring-7.1.1-2.el7.remi.x86_64
php-mysqlnd-7.1.1-2.el7.remi.x86_64

サービス有効化
$ sudo systemctl start php-fpm
$ sudo systemctl status php-fpm

MariaDB

console
$ sudo vi /etc/yum.repos.d/MariaDB.repo
vi
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
console
$ sudo yum install mariadb-server

バージョン確認
$ rpm -qa | grep -i mariadb
MariaDB-common-10.1.21-1.el7.centos.x86_64
MariaDB-client-10.1.21-1.el7.centos.x86_64
MariaDB-shared-10.1.21-1.el7.centos.x86_64
MariaDB-server-10.1.21-1.el7.centos.x86_64

mariadb起動
$ sudo systemctl start mariadb
$ sudo systemctl status mariadb

owncloud

公式の記載通りに実行

console
$ sudo rpm --import https://download.owncloud.org/download/repositories/stable/CentOS_7/repodata/repomd.xml.key

$ sudo wget http://download.owncloud.org/download/repositories/stable/CentOS_7/ce:stable.repo -O /etc/yum.repos.d/ce:stable.repo
$ sudo yum clean expire-cache
$ sudo yum install owncloud

結果(だいぶ省略してるけどエラー続出)
エラー: php-mysql conflicts with php-mysqlnd-7.1.1-2.el7.remi.x86_64
エラー: パッケージ: owncloud-deps-php5-9.1.4-1.1.noarch (ce_stable)
             要求: php-zip
            利用可能: php-common-5.4.16-42.el7.x86_64 (base)
                php-zip
            インストール: php-common-7.1.1-2.el7.remi.x86_64 (@remi-php71)
                見つかりません
エラー: パッケージ: php-ldap-5.4.16-42.el7.x86_64 (base)
             要求: php-common(x86-64) = 5.4.16-42.el7
            インストール: php-common-7.1.1-2.el7.remi.x86_64 (@remi-php71)
                php-common(x86-64) = 7.1.1-2.el7.remi
            利用可能: php-common-5.4.16-42.el7.x86_64 (base)
                php-common(x86-64) = 5.4.16-42.el7

PHPの不足分を個別に実行しても最後まで解消することがなかったので、
めんどくさいので、PHP全部消して後でバージョンを上げることにします。

console
PHP削除
$ sudo yum remove php*

改めてowncloudインストール
$ sudo yum install owncloud
インストール中:
 owncloud                noarch      9.1.4-1.1             ce_stable      5.0 k

PHP7.1にバージョンアップ
$ sudo yum install --enablerepo remi-php71 php-fpm

$ rpm -qa | grep php
php-mysqlnd-7.1.1-2.el7.remi.x86_64
php-fpm-7.1.1-2.el7.remi.x86_64
php-pecl-zip-1.13.5-2.el7.remi.7.1.x86_64
owncloud-deps-php5-9.1.4-1.1.noarch
php-common-7.1.1-2.el7.remi.x86_64
php-pdo-7.1.1-2.el7.remi.x86_64
php-cli-7.1.1-2.el7.remi.x86_64
php-pecl-mysql-1.0.0-0.15.20160812git230a828.el7.remi.7.1.x86_64
php-mbstring-7.1.1-2.el7.remi.x86_64
php-xml-7.1.1-2.el7.remi.x86_64
php-gd-7.1.1-2.el7.remi.x86_64
php-json-7.1.1-2.el7.remi.x86_64
php-7.1.1-2.el7.remi.x86_64
php-ldap-7.1.1-2.el7.remi.x86_64
php-process-7.1.1-2.el7.remi.x86_64

nginxの設定

あとは普通にnginxの設定でphpを使えるようにして
ドキュメントルートをデフォルト値「/var/www/html/owncloud」に設定

console
sudo vi /etc/nginx/conf.d/default.conf
default.conf
    root    /var/www/html/owncloud
    あとはPHPのコメントアウト

結果

WEBページで以下のメッセージが表示されて詰み

This version of ownCloud is not compatible with PHP 7.1.
You are currently running 7.1.1. Please use at least ownCloud 10.0.0.

要約するとPHP7.1は互換性ないからownCloud 10.0.0にしろってことらしい
ownCloud 10.0.0ってあるのか調べたらnextcloudを発見したのでそっちも試してみます。
まぁ素直にPHP5を使えって話やけどね

nextcloud

とりあえず下手なことをせずに素直に公式の通りに進めていきます。

console
PHPインストール
$ sudo yum install --enablerepo remi-php71 php-gd php-json php-mysql php-curl php-mbstring php-intl php-mcrypt php-imagick php-xml php-zip

nextcloudインストール
$ sudo wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.tar.bz2
$ sudo wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.tar.bz2.sha256
$ sudo wget https://download.nextcloud.com/server/releases/nextcloud-11.0.1.tar.bz2.asc
NextcloudのGPG公開鍵
$ sudo wget https://nextcloud.com/nextcloud.asc

SHA256チェックサム
$ sudo sha256sum -c nextcloud-11.0.1.tar.bz2.sha256 < nextcloud-11.0.1.tar.bz2
GPG Signature

$ sudo gpg --import nextcloud.asc
$ sudo gpg --verify nextcloud-11.0.1.tar.bz2.asc nextcloud-11.0.1.tar.bz2

bz2解凍の用
$ sudo yum -y install bzip2

$ sudo tar -xjf nextcloud-11.0.1.tar.bz2
nginxのルートへコピー
$ sudo cp -r nextcloud /usr/share/nginx/html/
nginxのルート設定
$ sudo vi /etc/nginx/conf.d/default.conf
default.conf
 root /usr/share/nginx/html/nextcloud

これでHPへのアクセスはできました。
あとはパーミッションを設定せよとのことなので公式を適宜入れ替えて実行します。

結果

まぁowncloudがPHP7ですんなりいかなかったので、途中でダレた感じですけど、
セキュリティ云々なしでとりあえずすんなり動くかどうかの確認でした。
そのうちnextcloudの公式に沿ってきちんと手順踏んでいきます。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5