当前位置: 首页 > Linux

使用Nextcloud在树莓派上架设你的个人网盘“NAS”

时间:2023-04-06 23:47:38 Linux

使用Nextcloud在树莓派上架设你的个人网盘“NAS”。软件程序是Nextcloud12.0.4,因为只想在局域网内使用,所以采用了最简单的部署方式,相当于最少的配置。因此,不建议在外部服务器上使用该解决方案,因为它不够安全。·>>>2018年1月14日。17:00write.1)下载程序镜像:参考命令:链接https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip官网:发送之门2)安装依赖软件,整理文件系统:a)安装依赖软件:因为我在其他网站上运行了Nginx,所以这里我也选择了Nginx。一个方便一起管理,一个比Apache2轻,毕竟pie的性能就这么点。Apache的解决办法,可以参考官方教程,放在教程页上也很简单参考命令:#切入root用户,如果不切换,下面所有命令前面都要加上sudosudosu#aptinstallalldependentsoftware#nginxsolutionneedswithPhp-Fpm,#Nextcloud只能支持7.0版本的Phpaptinstallphp7.0fpmnginxaptinstallphp7.0-gdphp7.0-jsonphp7.0-mysqlphp7.0-curlphp7.0-mbstringaptinstallphp7.0-intlphp7.0-mcryptphp-imagickphp7.0-xmlphp7.0-zip#安装MySQL相关aptinstallmysql-server#aptinstallmysql-client&&sudoapt-getinstalllibmysqlclient-dev#这里的第二句没有用运行它,因为它会在你运行第一句的时候自动把所有的东西都安装在大饼上。#而且不需要设置root密码。此外,它安装了MariaDB而不是MySQL。不过没关系。b)整理文件系统:注意:如果以下命令使用不同路径,请注意替换参考命令:#切入root用户,如果不切换,以下所有命令前必须加上sudosudosu#解压镜像unzipnextcloud-12.0.4.zip#创建一个目录,将程序移动到你想要的目录下mkdir/www&&mvnextcloud/www/nextcloud#修改权限相关cd/wwwchmod-R0770nextcloud/chown-Rwww-datanextcloud/chgrp-Rwww-datanextcloud/#创建数据目录并修改权限mkdirnextcloud.datachmod-R0770nextcloud.data/chown-Rwww-datanextcloud.data/chgrp-Rwww-datanextcloud.data/#创建.log和.在sock文件/www/logs/nextcloud/目录下创建access.log和error.log/run/php/,在文件系统中创建php7.0-fpm.sock。c)整理数据系统:参考命令:#设置root密码mysqladmin-uroot-ppasswordYOUR_PASSWORD_HERE#root登录mysql-uroot-p#以下所有命令均在SQLShell中执行:#Createdatabasecreate数据库nextcloud;#创建用户并添加权限createuser'www'@'localhost'identifiedby'YOUR_PASSWORD_HERE';grantallprivilegesonnextcloud.*to'www'@'localhost'identifiedby'YOUR_PASSWORD_HERE';#Sethere.其他程序将自行处理。3)设置Php相关:修改/etc/php/7.0/fpm/php.ini文件内容:opcache.enable=1opcache.enable_cli=1opcache.interned_strings_buffer=8opcache.max_accelerated_files=10000opcache.memory_consumption=128opcache.save_comments=1opcache.revalidate_freq=1.在Shell中运行printenvPATH,复制内容修改/etc/php/7.0/fpm/pool.d/www.conf文件的内容:env[PATH]=你上面得到的内容4)设置Nginx相关:在/etc/nginx/sites-available/下创建一个nextcloud.conf文件下面是我饼上的设置,很简单的设置,用Http代替Https。内容参考:upstreamphp-handler{#这里可以使用下面两种方案,我比较喜欢直接用.sock文件映射#server127.0.0.1:9000;serverunix:/run/php/php7.0-fpm.sock;}server{#监听80端口,无域名,文件路径listen80;服务器名称_;根/www/nextcloud;#字符集设置charsetutf-8;#日志,之前创建的应该对应access_log/www/logs/nextcloud/access.log;错误日志/www/logs/nextcloud/error.log;#这些add_headers不也做add_headerX-Content-Type-Optionsnosniff;添加标题X-XSS-保护“1;模式=块”;add_headerX-Robots-Tag无;add_headerX-Download-Optionsnoopen;add_headerX-Permitted-Cross-Domain-Policies无;#location设置location=/robots.txt{allowall;log_not_found关闭;access_log关闭;}location=/.well-known/carddav{return301$scheme://$host/remote.php/dav;}location=/.well-known/caldav{return301$scheme://$host/remote.php/dav;}#最大上传大小client_max_body_size512M;fastcgi_buffers644K;#Gzip设置gzipon;gzip_vary开启;gzip_comp_level4;gzip_min_length256;gzip_proxied已过期无缓存无存储私有no_last_modifiedno_etag身份验证;gzip_types应用程序/atom+xml应用程序/javascript应用程序/json应用程序/ld+json应用程序/manifest+json应用程序/rss+xml应用程序/vnd.geo+json应用程序/vnd.ms-fontobject应用程序/x-font-ttf应用程序/x-web-app-manifest+json应用程序/xhtml+xml应用程序/xml字体/opentype图像/bmp图像/svg+xml图像/x-icon文本/缓存清单文本/css文本/纯文本/vcard文本/vnd.rim.location.xloctext/vtttext/x-componenttext/x-cross-domain-policy;#location设置location/{rewrite^/index.php$uri;}location~^/(?:build|tests|config|lib|3rdp??arty|templates|data)/{denyall;}location~^/(?:\.|autotest|occ|issue|indie|db_|console){全部拒绝;}#Php相关位置~^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/){fastcgi_split_path_info^(.+\.php)(/.*)$;包括fastcgi_params;fastcgi_paramSCRIPT_FILENAME$document_root$fastcgi_script_name;fastcgi_paramPATH_INFO$fastcgi_path_info;fastcgi_paramHTTPS关闭;#Avoid发送安全标头两次fastcgi_parammodHeadersAvailabletrue;Fastcgi_paramfront_controller_active真;fastcgi_passphp处理程序;fastcgi_intercept_errors开启;fastcgi_request_buffering关闭;}location~^/(?:updater|ocs-provider)(?:$|/){try_files$uri/=404;索引index.php;#JsCssCacheSettings#这块要写在Php设置下面~\.(?:css|js|woff|svg|gif)${try_files$uri/index.php$uri$is_args$args;add_headerCache-Control"public,max-age=15778463";add_headerX-Content-Type-Optionsnosniff;add_headerX-XSS-Protection"1;mode=block";add_headerX-Robots-Tag无;add_headerX-Download-Optionsnoopen;add_headerX-Permitted-Cross-Domain-Policies无;access_log关闭;}#静态文件相关位置~\.(?:png|html|ttf|ico|jpg|jpeg)${try_files$uri/index.php$uri$is_args$args;access_log关闭;}}5)设置:到此就全部搞定了,打开对应的IP地址,设置页面:创建一个超级管理的账号,将data文件夹指向我们上面创建的/www/nextcloud.data文件夹指向数据库给我们上面创建的用户:大致如下,如果改端口之类的,就相应的改。注意数据库和这里都要用localhost,不是127.0.0.1,因为我发现我一开始用的127.0.0.1无法识别,原因未知,可能我是一个例子数据库用户:wwwDatabase密码:YOUR_PASSWORD_HEREDatabaseName:nextcloudDatabaseHost:localhost:33065)Others:我为什么要选择这个程序?因为它太强大了!安装设置完成后不要忘记点击右上角的“设置>应用”!里面的应用市场超级丰富。您基本上可以拥有您需要的一切,例如:在线聊天、视频通话、备份移动应用看板Youtube、Http、Https、BT下载创建网站安全应用、密码管理GPS相关记录、编辑DrawIO思维导图Markdown编辑Office在线编辑全部各种在线编辑在线预览...记得到这里看看:AppMarket