微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

部署nextcloud私有云盘

1.下载程序包

wget https://download.nextcloud.com/server/releases/nextcloud-17.0.2.zip
unzip nextcloud-17.0.2.zip #解压程序包
mkdir /data -pv #创建总数据存储目录
mkdir /data/data/ #创建数据存储目录(用来存放用户上传文件
mv nextcloud /data/ #移动网盘程序目录
chown -R Nginx.Nginx /data/ #把属组都改为Nginx

2.安装PHP7.2

yum install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm -y
#安装PHP程序包的 源
yum -y install PHP72w.x86_64 PHP72w-cli.x86_64 PHP72w-common.x86_64 PHP72w-gd.x86_64 PHP72w-ldap.x86_64 PHP72w-mbstring.x86_64 PHP72w-mysql.x86_64 PHP72w-pdo.x86_64 PHP72w-pear.noarch PHP72w-process.x86_64 PHP72w-xml.x86_64 PHP72w-xmlrpc.x86_64 PHP72w-fpm.x86_64
#安装PHP7.2
vim /etc/PHP-fpm.d/www.conf #修改PHP 配置

部署nextcloud私有云盘

3.安装配置Nginx

yum install Nginx -y #安装Nginx
vim /etc/Nginx/Nginx.conf #修改nignx配置文件


    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /data/nextcloud;
        index  index.html index.htm index.PHP;
        # Load configuration files for the default server block.
        include /etc/Nginx/default.d/*.conf;
location / {
           try_files $uri $uri/ /index.PHP$uri;
}

location ~ .*\.(PHP|PHP5)(.*)?$
#注意这块,配置重写的url 
{
 fastcgi_pass 127.0.0.1:9000;
 fastcgi_index index.PHP;
 fastcgi_split_path_info ^(.+\.PHP)(/.+)$;
 fastcgi_param PATH_INFO $fastcgi_path_info;
 #开启pathinfo
 fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
 include fastcgi.conf;
}

}
}

4.登录配置

浏览器输入ip地址

部署nextcloud私有云盘


#按照上图配置,最后点击完成

部署nextcloud私有云盘

PS:注意
如果域名没备案,可能你今天能通过域名访问,过两三天就会提示备案(此时无法通过域名打开)

排错爬坑

报错1

部署nextcloud私有云盘


#这种报错是要把 nextcloud的文件夹属主改为PHP启动的用户

报错2

部署nextcloud私有云盘


#无限卡登陆错误,这是应为PHP 无法创建 session文件夹或者文件夹属主不对
mkdir /var/lib/PHP/session -pv #创建文件
chown -R Nginx.Nginx /var/lib/PHP/ #修改属主

报错3

部署nextcloud私有云盘


#这种报错是Nginx 配置不正确,正确配置Nginx即可,可参照以上代码

报错4

部署nextcloud私有云盘


#这种报错是nignx 有上传限制,在 Nginx的 http段添加代码" client_max_body_size 512M;" 这样就能把上传限制提升到512M

报错5

部署nextcloud私有云盘


#配置好账号数据库,登陆的时候报错,这是因为NginxPHP转发没有开启pathinfo,对.PHP/xxxx 后面的url路径不识别不转发给PHP处理。开启pathinfo即可,上面的Nginx配置就是开启了 照着抄就行了

报错6

部署nextcloud私有云盘


#vim /data/nextcloud/config/config.PHP #编辑nextcloud的 PHP配置文件

部署nextcloud私有云盘

增加证书 基于ssl 访问

部署nextcloud私有云盘


在server 段添加以下代码

listen       443 ssl ;
#监听443端口,ssl不要忘记加
server_name www.xxx.com.cn;
        ssl_certificate      /etc/Nginx/ssl/1.pem;
        ssl_certificate_key  /etc/Nginx/ssl/2.key;
        #证书,到阿里云申请免费的
        ssl_session_timeout 5m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;
        if ($server_port = 80) {
            rewrite ^(.*)$ https://$host$1 permanent;
           }
            #这个代码是把http请求重新到https

扩展---备份恢复

部署nextcloud私有云盘


#data这个文件夹 是所有的用户信息及账户权限,备份这个文件夹可备份所有数据,测试过可行的。

docker 方法安装

yum install docker -y #安装docker
systemctl restart dockerk #启动docker
docker pull rootlogin/nextcloud #拉去网盘的镜像,这一步看网络质量
mkdir /data/data666 -pv #建立网盘的存储数据文件
docker run -d --name nextcloud -p 90:80 -v /data/data666:/data rootlogin/nextcloud
#创建容器name为nextcloud 把容器的80端口映射到宿主机的90端口,容器的"/data"文件夹映射到宿主机的 "/data/data666"文件夹,镜像使用"rootlogin/nextcloud" 就是之前拉去的

部署nextcloud私有云盘


#使用90端口访问,上传文件

部署nextcloud私有云盘


#cd 到宿主机的/data/data666 文件夹,可以看到里面已经有数据了,这里面的数据就是nextcloud容器所产生的数据,这些文件就是nextcloud用户的数据及账户信息,这里面是可以持久化存储的,容器重启数据也依然不丢失

部署nextcloud私有云盘


#cd 到 admin 的账户里,能看到刚才我们上传的测试数据

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐