写真とか動画が結構たまってるので無料クラウドストレージじゃ容量不足で、有料契約も家族分となったら負担も大きくなります。
自鯖をクラウドストレージ構築をどっちでもよかったけど
よく聞くowncloudで構築してみようと思ったのだが・・・
owncloud
nginx
$ sudo vi /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
$ 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は最小限
$ 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
$ sudo vi /etc/yum.repos.d/MariaDB.repo
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.1/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
$ 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
公式の記載通りに実行
$ 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全部消して後でバージョンを上げることにします。
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」に設定
sudo vi /etc/nginx/conf.d/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
とりあえず下手なことをせずに素直に公式の通りに進めていきます。
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
root /usr/share/nginx/html/nextcloud
これでHPへのアクセスはできました。
あとはパーミッションを設定せよとのことなので公式を適宜入れ替えて実行します。
結果
まぁowncloudがPHP7ですんなりいかなかったので、途中でダレた感じですけど、
セキュリティ云々なしでとりあえずすんなり動くかどうかの確認でした。
そのうちnextcloudの公式に沿ってきちんと手順踏んでいきます。