«
Nginx安装NextCloud搭建个人网盘

时间:2022-6-13    作者:Deri    分类: PHP


Nextcloud是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。
更多详细介绍参考:https://zhuanlan.zhihu.com/p/62987726

安装步骤:
1.官网下载最新安装包,有一两百MB,解压到服务器网站目录;
https://download.nextcloud.com/server/releases/latest.zip

2.配置Nginx,很重要!(否则会出现404或各种异常)
参考
https://docs.nextcloud.com/server/19/admin_manual/installation/nginx.html

在/etc/nginx/sites_enabled/目录下新建nextcloud.conf文件

推荐使用独立域名访问如:cloud.xxxx.com
注意4点:

A.是否使用https;

如果不需要,删除如下行内容:
并且配置:fastcgi_param HTTPS off;

    server {
        listen 443 ssl http2;
        listen [::]:443 ssl http2;
        server_name cloud.example.com;
        # Use Mozilla's guidelines for SSL/TLS settings
        # https://mozilla.github.io/server-side-tls/ssl-config-generator/
        # NOTE: some settings below might be redundant
        ssl_certificate /etc/ssl/nginx/cloud.example.com.crt;
        ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;

B.php的FPM路径,否则会出现直接下载php文件的情况;

注意,是在这一段中的fpm.sock这一行

        location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy)\.php(?:$|\/) {

            fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;

            set $path_info $fastcgi_path_info;

            try_files $fastcgi_script_name =404;

            include fastcgi_params;

            #include fastcgi.conf;

            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

            fastcgi_param PATH_INFO $path_info;

            fastcgi_param modHeadersAvailable true;

            fastcgi_param front_controller_active true;

            fastcgi_pass unix:/run/php/php7.4-fpm.sock;

            fastcgi_intercept_errors on;

            fastcgi_request_buffering off;

        }

C.访问域名;

修改对应的域名(记得提前做好解析哦)
server_name cloud.example.com;

修改网站文件路径
root /var/www/nextcloud;

3.在NextCloud配置文件中增加可信任域名;
在nextcloud目录下的config/config.php
修改对应的域名,可以支持多个,例如

      'trusted_domains' => 
      array (
        0 => 'xxxx.com',
        1 => 'www.xxxx.com',
        2 => 'cloud.xxxx.com',
      ),

以上操作完后,记得重启Nginx
另外,注意NextCloud要求php版本7.4及以上,安装时会提醒
如果出现各种异常,考虑是否数据目录、系统目录是否有权限

安装完成后,可以安装手机端,PC端访问,同步

标签: PHP nextcloud 网盘 nginx