linux搭建个人私有云存储系统nextcloud(记录操作全过程)
目录
前提
下载
配置nginx文件
遇到问题
解决方案
最后
下载app
前提
因为之前服务器已经安装过php开发环境,这里我就不在赘述了,可以查看我其他文章。(php、nginx、mysql)
下载
wget https://download.nextcloud.com/server/releases/nextcloud-23.0.0.zip
解压到指定目录(会生成一个nextcloud目录)
unzip nextcloud-23.0.0.zip -d /var/www/
给nextcloud目录赋权
chmod —R 777 /var/www/nextcloud
配置nginx文件
这里我给大家粘贴出来,只需要修改自己的项目目录就可以了
server {# listen 443 ssl http2;# listen [::]:443 ssl http2;# server_name cloud.example.com;listen 80;listen [::]:80;server_name 127.0.0.1;# Use Mozilla's guidelines for SSL/TLS settings# https://mozilla.github.io/server-side-tls/ssl-config-generator/# ssl_certificate /etc/ssl/nginx/cloud.example.com.crt;# ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key;# HSTS settings# WARNING: Only add the preload option once you read about# the consequences in https://hstspreload.org/. This option# will add the domain to a hardcoded list that is shipped# in all major browsers and getting removed from this list# could take several months.#add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;" always;# Path to the root of the domainroot /var/www;location = /robots.txt {allow all;log_not_found off;access_log off;}location ^~ /.well-known {# The rules in this block are an adaptation of the rules# in the Nextcloud `.htaccess` that concern `/.well-known`.location = /.well-known/carddav { return 301 /nextcloud/remote.php/dav/; }location = /.well-known/caldav { return 301 /nextcloud/remote.php/dav/; }location /.well-known/acme-challenge { try_files $uri $uri/ =404; }location /.well-known/pki-validation { try_files $uri $uri/ =404; }# Let Nextcloud's API for `/.well-known` URIs handle all other# requests by passing them to the front-end controller.return 301 /nextcloud/index.php$request_uri;}location ^~ /nextcloud {# set max upload size and increase upload timeout:client_max_body_size 512M;client_body_timeout 300s;fastcgi_buffers 64 4K;# Enable gzip but do not remove ETag headersgzip on;gzip_vary on;gzip_comp_level 4;gzip_min_length 256;gzip_proxied expired no-cache no-store private no_last_modified no_etag auth;gzip_types application/atom+xml application/javascript application/json application/ld+json application/manifest+json application/rss+xml application/vnd.geo+json application/vnd.ms-fontobject application/wasm application/x-font-ttf application/x-web-app-manifest+json application/xhtml+xml application/xml font/opentype image/bmp image/svg+xml image/x-icon text/cache-manifest text/css text/plain text/vcard text/vnd.rim.location.xloc text/vtt text/x-component text/x-cross-domain-policy;# Pagespeed is not supported by Nextcloud, so if your server is built# with the `ngx_pagespeed` module, uncomment this line to disable it.#pagespeed off;# HTTP response headers borrowed from Nextcloud `.htaccess`add_header Referrer-Policy "no-referrer" always;add_header X-Content-Type-Options "nosniff" always;add_header X-Download-Options "noopen" always;add_header X-Frame-Options "SAMEORIGIN" always;add_header X-Permitted-Cross-Domain-Policies "none" always;add_header X-Robots-Tag "none" always;add_header X-XSS-Protection "1; mode=block" always;# Remove X-Powered-By, which is an information leakfastcgi_hide_header X-Powered-By;# Specify how to handle directories -- specifying `/nextcloud/index.php$request_uri`# here as the fallback means that Nginx always exhibits the desired behaviour# when a client requests a path that corresponds to a directory that exists# on the server. In particular, if that directory contains an index.php file,# that file is correctly served; if it doesn't, then the request is passed to# the front-end controller. This consistent behaviour means that we don't need# to specify custom rules for certain paths (e.g. images and other assets,# `/updater`, `/ocm-provider`, `/ocs-provider`), and thus# `try_files $uri $uri/ /nextcloud/index.php$request_uri`# always provides the desired behaviour.index index.php index.html /nextcloud/index.php$request_uri;# Rule borrowed from `.htaccess` to handle Microsoft DAV clientslocation = /nextcloud {if ( $http_user_agent ~ ^DavClnt ) {return 302 /nextcloud/remote.php/webdav/$is_args$args;}}# Rules borrowed from `.htaccess` to hide certain paths from clientslocation ~ ^/nextcloud/(?:build|tests|config|lib|3rdparty|templates|data)(?:$|/) { return 404; }location ~ ^/nextcloud/(?:\.|autotest|occ|issue|indie|db_|console) { return 404; }# Ensure this block, which passes PHP files to the PHP process, is above the blocks# which handle static assets (as seen below). If this block is not declared first,# then Nginx will encounter an infinite rewriting loop when it prepends# `/nextcloud/index.php` to the URI, resulting in a HTTP 500 error response.location ~ \.php(?:$|/) {# Required for legacy supportrewrite ^/nextcloud/(?!index|remote|public|cron|core\/ajax\/update|status|ocs\/v[12]|updater\/.+|oc[ms]-provider\/.+|.+\/richdocumentscode\/proxy) /nextcloud/index.php$request_uri;fastcgi_split_path_info ^(.+?\.php)(/.*)$;set $path_info $fastcgi_path_info;try_files $fastcgi_script_name =404;include fastcgi_params;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;fastcgi_param PATH_INFO $path_info;fastcgi_param HTTPS off;fastcgi_param modHeadersAvailable true; # Avoid sending the security headers twicefastcgi_param front_controller_active true; # Enable pretty urlsfastcgi_pass php-handler;fastcgi_intercept_errors on;fastcgi_request_buffering off;fastcgi_max_temp_file_size 0;}location ~ \.(?:css|js|svg|gif|png|jpg|ico|wasm|tflite)$ {try_files $uri /nextcloud/index.php$request_uri;expires 6M; # Cache-Control policy borrowed from `.htaccess`access_log off; # Optional: Don't log access to assetslocation ~ \.wasm$ {default_type application/wasm;}}location ~ \.woff2?$ {try_files $uri /nextcloud/index.php$request_uri;expires 7d; # Cache-Control policy borrowed from `.htaccess`access_log off; # Optional: Don't log access to assets}# Rule borrowed from `.htaccess`location /nextcloud/remote {return 301 /nextcloud/remote.php$request_uri;}location /nextcloud {try_files $uri $uri/ /nextcloud/index.php$request_uri;}}
}
遇到问题
其中遇到了一个内存错误,给大家贴出来。
error: mysql 1038
解决方案
命令行进入mysql;执行:SET GLOBAL sort_buffer_size = 2048*2048;
可以使用free -m 查看下内存占用;然后我重启了一下reboot;重新运行;
最后
当出现一个配置信息界面就已经成功一大半了,因为当时没有截图,这里就不附图片了。(填写的是系统用户名,登录密码,还有数据库地址,用户名,密码等,这些都要填写正确哦,自动创建数数据库的)
下载app
接下来,可以下载一个nextcloud。app;配置好链接地址,就可以和web端同步了;
链接地址给大家放到这:
Nextcloud APK for Android - Download
linux搭建个人私有云存储系统nextcloud(记录操作全过程)相关推荐
- linux搭建seafile_CentOS7+seafile搭建私有云盘测试过程记录
CentOS7+seafile搭建私有云盘测试过程记录 2017-11-01 08:00:00 48点赞 339收藏 43评论 自从360云盘免费取消后,网上能用的免费并且比较方便的网盘几乎只有百度了 ...
- 开始云私有云存储系统:让数据更安全高效
企业数据中70%的数据是非结构化数据.大数据时代,企业非结构化数据的几何式增长,给企业带来了巨大的机遇和财富.许多中大型企业都希望建设自己的私有云存储系统,做好海量数据的积累与传承. 但是,企业该如何 ...
- 采用超融合搭建企业私有云的虚拟化技术知识储备
回老家,转行到企业IT运维.第一个任务便是非常重大的活儿--企业信息化系统建设.由于公司是大型集团企业,公司架构庞大复杂,从事传统行业,信息化程度相对落后.所以使得任务非常重要.又异常艰巨,我们领导压 ...
- Linux搭建GitLab私有仓库,并内网穿透实现公网访问
文章目录 前言 1. 下载Gitlab 2. 安装Gitlab 3. 启动Gitlab 4. 安装cpolar 5. 创建隧道配置访问地址 6. 固定GitLab访问地址 6.1 保留二级子域名 6. ...
- 搭建私有云盘-NextCloud
一.安装前准备 Nextcloud是一款能够方便的搭建私有云盘的开源项目,安装后支持多插件,能够多平台方便管理 曾经考虑过使用seafile搭建云盘,但是seafile的文件分块存放,安全性高,但是一 ...
- linux下开源私有云搭建,基于kodexplorer开源项目
在linux环境下如何用开源程序kodexplorer搭建私有云网盘,在也不用使用别人的网盘. 一.工具/材料:安装了linux的电脑或服务器,kodexplorer安装包,xampp 二,利用xam ...
- 搭建 ownCloud 私有云教程
Nginx + ownCloud + PHP + MySQL搭建私有云 OwnCloud概述: OwnCloud是一个开源免费专业的私有云存储项目,它可以帮你快速的在个人电脑或者服务器上假设一套专属的 ...
- 轻量级私有云存储系统
该系统主要应用于个人用户,提供轻量级私有云存储能力.私有云存储服务可工作于任何TCP/IP网络环境,公网.内网皆可,可随时移动.放置于任何工作.生活场所;支持用户随时随地在公网环境下向私有云存储转发文 ...
- 搭建 SeaTable 私有云表格
SeaTable概述: SeaTable 是一款新型的在线协同表格和信息管理工具.它支持"文件"."图片"."单选项"."协作人& ...
最新文章
- python下载不了-python安装不了
- java多个数求和_Java:多个数求和
- Office 2010 与搜狗输入法兼容问题
- PHP 实现冒泡排序
- mysql inet addr_InetAddress类的使用
- DrawIndexedPrimitiveUP这个函数
- Ant Design Pro引入Echarts 报错Unexpected token
- python reference理解
- 多智能体强化学习—QMIX
- Python之Python3本地安装教程
- 计算机枚举法教案,简单枚举算法教案.ppt
- 博途v15程序监视无法使用_博途V15打开应用程序失败,应用程序的并行配置不正确-工业支持中心-西门子中国...
- 柔性制造物料抓取及加工系统设计
- 护眼色的RGB值及颜色代码
- unity项目 别踩白块儿
- migration mysql_MySQL Migration Tool 使用 | 学步园
- 注册一个微信公众号的测试平台
- 智行订票系统需求分析报告
- ellipsize属性
- vmware虚拟机安装win7_VMware虚拟机安装教程打造一机多系统(干货收藏)
热门文章
- 嗨,这是我的 2020 年总结
- jquery-1.11.3.min.js —— jquery库
- like左匹配索引失效_MySQL索引失效问题
- JS中上树是什么意思?
- 虚拟机中openSUSE安装软件问题的解决
- java计算机毕业设计高等数学试卷系统MyBatis+系统+LW文档+源码+调试部署
- 利用python编写钉钉机器人工作日提醒
- 中国管理科学研究院凝聚行业专家,傅强荣获智库专家“十佳青年”称号
- 炸弹人小游戏代码开源(python)
- vue_cli安装解决