VPS関連メモ:OWNCLOUD

DROPBOX(大陸使えない)とかONEDRIVEのようなオンラインストレージが自分のサーバで実現できるオープンソースソフト。
OWNCLOUD
これから派生したNEXTCLOUDってのもあるのだが、今の会社がOWNCLOUD使っているのでこっちにしてみた。

必要なのはWebサーバとPHPとデータベースとの事。
Software Requirements
WebサーバはV2RAYの時、一発インストールでNGINXってのが入ってるのでOKなハズ。

CentOS7 に Nginx + php-fpm + MariaDB 構成で ownCloud 10.0.3 をインストールする
CentOS7 + nginx + mariaDBでownCloudインストール ~Dropbox連携まで~

上記以外も色んなページを参考にしたが、ズバリなページでして…

まずはPHP。
実は最初PHP8.0を入れたのだが、OWNCLOUDがうまく動かない状態で問題切り分けのためオフィシャルに記載されている7.4に入れ直した。
結局問題はPHPじゃなかったっぽいんで、8.0で動くのかは不明。

yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install https://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum -y install yum-utils
yum-config-manager –enable remi-php74
yum install php

こんな感じだった気がする。
で、PHPのモジュールは
php-fpm php-imagick php-gd php-imap php-intl php-json php-mbstring php-mysql php-ssh2 php-xml php-zip php-apcu php-redis php-idap php-smbclient
こんな感じのヤツをインストール。

PHPのiniファイル修正。

nano /etc/php.ini
max_execution_time = 3600
max_input_time = 3600
memory_limit = -1
date.timezone = “Asia/Tokyo”
post_max_size = 2G
upload_max_filesize = 2G

php-fpmの設定ファイル修正。

nano /etc/php-fpm.d/www.conf
user = nginx
group = nginx
listen = /var/run/php-fpm/php-fpm.sock
listen.users = nginx
listen.groups = nginx
clear_env = no

nginxの設定ファイル修正。
だがV2RAYの一発で入っているので設定ファイルは
/etc/nginx/conf/conf.d/v2ray.conf
で、この部分は正直まだよく分からない….とりあえず下記な感じ

一番上に下記追加。

upstream php-handler {
server unix:/var/run/php-fpm/php-fpm.sock;
}

server { }の中に下記追加。

location ~ ^/owncloud/(data|config|\.ht|db_structure.xml|README) {
    deny all;
}

location ^~ /owncloud {

        root /home/wwwroot/3DCEList;

        client_max_body_size 10G;
        fastcgi_buffers 64 4K;

        gzip off;

        index index.php;

        error_page 403 /owncloud/core/templates/403.php;
        error_page 404 /owncloud/core/templates/404.php;

        location ~ ^/owncloud/(?:\.htaccess|data|config|db_structure\.xml|README) {
            deny all;
        }

        rewrite ^/owncloud/caldav(.*)$ /owncloud/remote.php/caldav$1 redirect;
        rewrite ^/owncloud/carddav(.*)$ /owncloud/remote.php/carddav$1 redirect;
        rewrite ^/owncloud/webdav(.*)$ /owncloud/remote.php/webdav$1 redirect;

        rewrite ^/owncloud/core/doc/([^\/]+)(?:$|/) /owncloud/core/doc/$1/index.html;

        try_files $uri $uri/ /owncloud/index.php;

        location ~ \.php(?:$|/) {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            include fastcgi_params;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param HTTPS on;
            fastcgi_pass php-handler;
        }

        location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
            expires 30d;
            access_log off;
        }
}

とりあえずPHPはこんな感じ…続きはまた…