这里是文章模块栏目内容页
私有云Nextcloud系统在linux的Nginx环境部署成功

本文档采用的系统环境是centos系统,安装了宝塔的控制面板,用宝塔Btpanl面板部署nextcloud系统。

安装宝塔面板的教程非常之多,官方的论坛有一条命令技能快速安装的文档;

现在大部分的站长,都选择用宝塔面板了吧,好把对于它的方便之处,无法用文档表达,唯有马上安装上它管理你的服务器,才能体会到这种管理服务器快乐。

第一步骤:

下载nextcloud 代码包:

https://download.nextcloud.com/server/releases/nextcloud-15.0.14.zip  

这个链接下载的是 15.0.15版本nextcloud。

https://download.nextcloud.com/server/releases

这里有更多版本的nextcloud版本下载。

如果需要源码在 github上也有地址: https://github.com/nextcloud/

这里可以看到更多关于nextcloud的项目信息,比如 android版本,ios版本,pc版本的客户端下载;


第二步骤:

在宝塔面板的站点菜单,新建一个站点,把站点目录设置到 nextcloud解压后的目录上。

新建上一个数据库,例如nextclouddatabase ,并记录下数据库名和密码;安装云盘后台是需要这个信息;


第三步骤,

修改新建的站点nginx 配置文件:

server
{
    #下面是nginx 虚拟站点的基本配置
    listen 80;
    server_name www.wp.cn;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www.wp.cn;
    
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    error_page 404 /404.html;
    error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    #include enable-php-72.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    #include /www/server/panel/vhost/rewrite/www.wp.cn.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    #下面是nextcloud的必备配置

    location / {
       rewrite ^ /index.php$request_uri;
    }

    location ~ ^\/(?:build|tests|config|lib|3rdparty|templates|data)\/ {
        deny all;
    }
    location ~ ^\/(?:\.|autotest|occ|issue|indie|db_|console) {
        deny all;
    }

    location ~ ^\/(?:index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|ocs-provider\/.+)\.php(?:$|\/) {
        fastcgi_split_path_info ^(.+?\.php)(\/.*|)$;
        include fastcgi.conf;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        #fastcgi_param HTTPS on;
        #Avoid sending the security headers twice
        fastcgi_param modHeadersAvailable true;
        fastcgi_param front_controller_active true;
        fastcgi_pass  unix:/tmp/php-cgi-72.sock;
        #这个 php运行需要配置fastcgi_pass sock转发到php处理
        fastcgi_intercept_errors on;
        fastcgi_request_buffering off;
    }

       location ~ ^\/(?:updater|ocs-provider)(?:$|\/) {
        try_files $uri/ =404;
        index index.php;
    }
     location ~ \.(?:css|js|woff2?|svg|gif)$ {
        try_files $uri /index.php$request_uri;
        add_header Cache-Control "public, max-age=15778463";     
        add_header X-Content-Type-Options nosniff;
        add_header X-XSS-Protection "1; mode=block";
        add_header X-Robots-Tag none;
        add_header X-Download-Options noopen;
        add_header X-Permitted-Cross-Domain-Policies none;
        add_header Referrer-Policy no-referrer;

        # Optional: Don't log access to assets
        access_log off;
    }
      location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ {
        try_files $uri /index.php$request_uri;
        # Optional: Don't log access to other assets
        access_log off;
    } 
    #下面是nextcloud的必备配置
    access_log  /www/wwwlogs/www.wp.cn.log;
    error_log  /www/wwwlogs/www.wp.cn.error.log;
}


以上是配置文件的完整部分。当然里面包含有 之前nginx的站点配置部分。

你只需要 原理的nginx vhost 文档内插入 上述文档中 

#下面是nextcloud的必备配置

段落之间的部分。然后仔细看看上面配置,把 

 #include enable-php-72.conf;
 #include /www/server/panel/vhost/rewrite/www.wp.cn.conf;

 原来配置中的这两行 注释上 #。


第四步骤:

访问您的站点, 进入nextcloud的 安装界面,输入 初始管理员账号+密码。 数据库选项,选择mysql ,然后输入之前创建的nextclouddatabase 账号信息。

记住,这里要选数据库mysql,否则,会安装成sqlite 这种数据库形式。


总结:

采用宝塔安装 php类型的web服务器环境,已经非常方便。否则您需要编译mysql ,编译php,编译nginx,还需要安装php-fpm这种cgi管理器等待,一不留神,环境会乱套。

最后,netcloud 的nginx 虚拟机 vhost配置文件也是非常难配置。而现在,你只需要安装本文档,既能轻松部署好你的私有云系统nextcloud。好的接下来,感受您的私有云nextcloud的强大吧。