用Nextcloud在树莓派上安排你的集体网盘“NAS”
这次用的是目前最新的
Raspbian Stretch
零碎,基于Debian 9
。软件程序是
Nextcloud 12.0.4
因为只想在局域网上应用,所以应用最简布署形式,相当于是起码的配置。
所以,这份计划不倡议用在对外的服务器上,不够平安。
·>>> 14/01/2018. 17:00 write.
1)下载程式镜像:
参考命令:
links https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip
官网页面:传送门
2)装置依赖软件及安排文件系统:
a) 装置依赖软件:
因为我有其余的网站跑的 Nginx ,所以这里我也选用了 Nginx.
一是好一起治理,二是绝对 Apache2 来说比拟轻一点,毕竟派的性能就那么点。
Apache 计划的能够参考官网给的教程,相当容易就架上来了 Tutorial Page
参考命令:
# 切成 root 用户, 不切换的话上面所有命令都要在后面加 sudosudo su# apt 装置所有依赖软件# nginx 计划要用 Php-Fpm, # Nextcloud 只能反对到 7.0 版本的 Phpapt install php7.0fpm nginxapt install php7.0-gd php7.0-json php7.0-mysql php7.0-curl php7.0-mbstringapt install php7.0-intl php7.0-mcrypt php-imagick php7.0-xml php7.0-zip# 装置 MySQL 相干apt install mysql-server# apt install mysql-client && sudo apt-get install libmysqlclient-dev# 这里第二句不必运行,因为发现在派上运行第一句时它会主动把全副都装好。# 而且都不必设置 root 明码了。再而且,它装的是 MariaDB 而不是 MySQL. 不过这不影响。
b) 安排文件系统:
留神:上面命令中的所有门路如果你用的不一样要留神替换
参考命令:
# 切成 root 用户, 不切换的话上面所有命令都要在后面加 sudosudo su# 解压镜像unzip nextcloud-12.0.4.zip# 创立目录并挪动程序到你要的目录里mkdir /www && mv nextcloud /www/nextcloud# 批改权限相干cd /wwwchmod -R 0770 nextcloud/chown -R www-data nextcloud/chgrp -R www-data nextcloud/# 创立数据目录并批改权限mkdir nextcloud.datachmod -R 0770 nextcloud.data/chown -R www-data nextcloud.data/chgrp -R www-data nextcloud.data/# 创立 .log 和 .sock 文件/www/logs/nextcloud/ 目录下创立 access.log 和 error.log/run/php/ 目录下创立 php7.0-fpm.sock到这文件系统就设置好了
c) 安排数据系统:
参考命令:
# 设置 root 明码mysqladmin -u root -p password YOUR_PASSWORD_HERE# 用 root 登入mysql -uroot -p
# 这上面的所有命令都在 SQL Shell 外面执行:# 创立数据库create database nextcloud;# 创立用户及加权限create user 'www'@'localhost' identified by 'YOUR_PASSWORD_HERE';grant all privileges on nextcloud.* to 'www'@'localhost' identified by 'YOUR_PASSWORD_HERE';# 到这里就设置好了。其余的程序会本人解决。
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 中运行 printenv PATH
复制失去的内容
批改 /etc/php/7.0/fpm/pool.d/www.conf
文件内容:
env[PATH] = 下面你失去的内容
4)设置 Nginx 相干:
在 /etc/nginx/sites-available/
下创立 nextcloud.conf
文件
上面是我的派上的设置,非常简单的设置,用 Http 而不必 Https.
内容参考:
upstream php-handler { # 这里能够用上面两种计划,我比拟喜爱间接用 .sock 文件映射 # server 127.0.0.1:9000; server unix:/run/php/php7.0-fpm.sock;}server { # 监听 80 端口,无域名,文件门路 listen 80; server_name _; root /www/nextcloud; # 字符集设置 charset utf-8; # 日志,和后面创立的要对应到 access_log /www/logs/nextcloud/access.log; error_log /www/logs/nextcloud/error.log; # 这些 add_header 不要也行 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; # location 设置 location = /robots.txt { allow all; log_not_found off; access_log off; } location = /.well-known/carddav { return 301 $scheme://$host/remote.php/dav; } location = /.well-known/caldav { return 301 $scheme://$host/remote.php/dav; } # 最大上传大小 client_max_body_size 512M; fastcgi_buffers 64 4K; # Gzip设置 gzip 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/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; # location 设置 location / { rewrite ^ /index.php$uri; } location ~ ^/(?:build|tests|config|lib|3rdparty|templates|data)/ { deny all; } location ~ ^/(?:\.|autotest|occ|issue|indie|db_|console) { deny all; } # Php 相干 location ~ ^/(?:index|remote|public|cron|core/ajax/update|status|ocs/v[12]|updater/.+|ocs-provider/.+)\.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param HTTPS off; #Avoid sending the security headers twice fastcgi_param modHeadersAvailable true; fastcgi_param front_controller_active true; fastcgi_pass php-handler; fastcgi_intercept_errors on; fastcgi_request_buffering off; } location ~ ^/(?:updater|ocs-provider)(?:$|/) { try_files $uri/ =404; index index.php; } # Js Css 缓存设置 # 这块要在 Php 的设置上面写 location ~ \.(?:css|js|woff|svg|gif)$ { try_files $uri /index.php$uri$is_args$args; 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; access_log off; } # 动态文件相干 location ~ \.(?:png|html|ttf|ico|jpg|jpeg)$ { try_files $uri /index.php$uri$is_args$args; access_log off; }}
5)设置:
到这就全副做完了,关上对应的 IP 地址,进行页面设置:
- 创立超管的账号
- 将数据文件夹指向咱们下面创立的
/www/nextcloud.data
文件夹 - 将数据库指向咱们下面创立的用户:
大抵如下,如果你改了端口之类的就照着改就行了,
留神一点,数据库和这里都要用 localhost 不要用127.0.0.1,因为我发现我一开始用的 127.0.0.1 它不能辨认,起因不详,也可能我是个例。
Database User: wwwDatabase Password: YOUR_PASSWORD_HEREDatabase Name: nextcloudDatabase Host: localhost:3306
5)其余:
为什么我要选用这个程序呢?
因为它的性能太强大了!装完设置好后别忘了点右上的 “ 设置 > 利用 ” !外面的利用市场超丰盛的。你须要任何货色根本都能有,像比如说:
- 在线聊天、视频通话、备份手机
- 利用看板
- Youtube, Http, Https, BT 下载
- 创立网站
- 保险箱利用、明码治理
- GPS 相干记录、编辑
- DrawIO 的思维导图
- Markdown 编辑
- Office 在线编辑
- 各种在线编辑在线预览……
记得上这里看看:利用市场