基于树莓派3B的NextCloud私人云盘
本帖最后由 ky123 于 2018-2-5 11:07 编辑感谢e络盟提供的比赛赞助基金。
一、项目名称:
基于树莓派3B的NextCloud私人云盘
1.原理介绍
在树莓派3B上安装MariaDB+PHP+Nginx+NextCloud服务端,实现私人云盘功能,然后通过蒲公英路由器突破内网,实现外网使用NextCloud云盘服务,如果有域名还可以直接添加域名
2.系统版本
RASPBIAN STRETCH LITE
最新版本下载地址
https://downloads.raspberrypi.org/raspbian_lite_latest
3.应用源代码
首先安装MariaDBsudo apt install mariadb-server并配置MYSQL服务sudo systemctl start mysql
sudo mysql_secure_installation输入sudo mysql -u root -p创建nextcloud数据库CREATE DATABASE nextcloud;设置数据库用户名nextcloud,密码MycloudGRANT ALL PRIVILEGES ON nextcloud.* TO 'nextcloud'@'localhost' IDENTIFIED BY 'Mycloud';保存修改并退出FLUSH PRIVILEGES;
\q按下图设置
然后安装PHP组件sudo apt-get install php-fpm php-cli php-json php-curl php-imap php-gd php-mysql php-xml php-zip php-intl php-mcrypt php-imagick php-mbstring
下载NextCloud服务端wget https://download.nextcloud.com/server/releases/nextcloud-12.0.4.zip
解压压缩包unzip nextcloud-12.0.4.zip移动到www目录下面并修改权限sudo mv nextcloud /var/www
sudo chown -R www-data: /var/www/nextcloud
生成SSL证书
需要设置国家 省份 城市等 不想填写的可以按回车跳过
为nginx创建nextcloud配置文件sudo vi /etc/nginx/sites-available/nextcloud加入下面代码,其中my.nextcloud.com为树莓派3B使用的域名,根据自身情况修改,不添加也可以server {
listen 80;
server_name my.nextcloud.com;
return 301 https://$server_name$request_uri;
}
server {
listen 443 ssl http2;
server_name my.nextcloud.com;
root /var/www/nextcloud;
ssl on;
ssl_certificate /etc/nginx/ssl/nextcloud.crt;
ssl_certificate_key /etc/nginx/ssl/nextcloud.key;
ssl_session_timeout 5m;
ssl_ciphers 'AES128+EECDH:AES128+EDH:!aNULL';
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
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/var/log/nginx/nextcloud.access.log;
error_log /var/log/nginx/nextcloud.error.log;
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 off;
error_page 403 /core/templates/403.php;
error_page 404 /core/templates/404.php;
location / {
rewrite ^ /index.php$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|updater/.+|ocs-provider/.+|core/templates/40)\.php(?:$|/) {
include fastcgi_params;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
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:/var/run/php/php7.0-fpm.sock;
fastcgi_intercept_errors on;
fastcgi_request_buffering off;
}
location ~ ^/(?:updater|ocs-provider)(?:$|/) {
try_files $uri/ =404;
index index.php;
}
location ~* \.(?:css|js)$ {
try_files $uri /index.php$uri$is_args$args;
add_header Cache-Control "public, max-age=7200";
add_header X-Content-Type-Options nosniff;
add_header X-Frame-Options "SAMEORIGIN";
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;
# Optional: Don't log access to assets
access_log off;
}
location ~* \.(?:svg|gif|png|html|ttf|woff|ico|jpg|jpeg)$ {
try_files $uri /index.php$uri$is_args$args;
access_log off;
}
location ~ /\.ht {
deny all;
}
}链接配置文件sudo ln -s /etc/nginx/sites-available/nextcloud /etc/nginx/sites-enabled/nextcloud查看nginx状态sudo nginx -t出现下图信息表示OK,否则需要按出错提示修改
然后重启nginx服务sudo service nginx restart在局域网电脑或平板浏览器输入https:/<a href="http://cn.element14.com/raspberry-pi/raspberrypi3-modb-1gb/sbc-raspberry-pi-3-mod-b-1gb-ram/dp/2525226?CMP=DSP-ODB-CN-SEP2017-EEFOCUS-PIDE***N-PIMAIN">/树莓派3B</a>局域网IP/install.php打开下面页面
填写管理账号密码 数据库账号密码,还可以修改数据存放目录
a
按完成后开始保存修改
完成后进入下面页面,可以按需下载安卓、苹果客户端、桌面系统客户端来同步其他设备文件
默认NextCloud云盘文件如下
云盘中视频文件可以直接点播,如下图
云盘中PDF、TXT等文档可以直接阅读
设置菜单如下
云盘中照片可以直接查看
可以看到安装的为最新版本
CPU 内存 硬盘资源占用如下
外网电脑使用NextCloud云盘需要将树莓派3B连接到蒲公英路由器,然后参考笔者下面帖子将蒲公英路由器联网
蒲公英X3路由器上电、联网、设置无线密码、升级
然后登陆管理界面选择绑定账号后注册一个花生壳账号,也可以直接使用蒲公英路由器SN号产生的花生壳账号
https://www.cirmall.com/bbs/data/attachment/forum/201712/02/231333fbuus4isnsr6rdbb.png
https://www.cirmall.com/bbs/data/attachment/forum/201712/02/231356rin54ud3i5unsuxh.png
https://www.cirmall.com/bbs/data/attachment/forum/201712/02/231616wohhyhycc6g3ploz.png
自己注册的账号需要绑定账号
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/212639ku0xkvuhi38nvsvp.png
内置账号也可以直接使用
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/213137h6upxx7wyxlrwxur.png
将树莓派连接上蒲公英路由器,然后查看路由器管理界面可以看到局域网IP
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/213311kzvx3gr3jztrrrvg.png
登陆路由器管理界面选择智能组网,将路由器添加到网络成员
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/213618v65aollnlol9co7l.png
然后在需要外网访问树莓派的设备(电脑、手机、平板等)上安装蒲公英路由器客户端
https://pgy.oray.com/download/
Windows电脑下载安装如图
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/214051b84nh4adfn8dhnzo.png
打开
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/214149af5vvfc5z5u8f222.png
登陆之前申请的Oray花生壳账号,然后进入路由器管理界面可以看到客户端显示如下
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/214445owrs4zgrlskr91sm.png
将客户端加入网络成员以便外网访问,客户端添加需要设置密码
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/214626b3zsee6ccblr6brw.png
电脑断开蒲公英路由器后使用其他网络登陆客户端
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/215047q73523q53x33ttmx.png
搜索树莓派连接的蒲公英路由器的局域网IP
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/215324ejsmc9b9bhbbbji5.png
双击上面树莓派那项开始ping,或者WIN+R输入cmd后输入ping+上面树莓派ip测试响应
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/215949sxi9daxnsu1eymsi.png
接着在外网电脑上使用桌面客户端同步文件即可
Windows 7以上系统下载下面客户端
https://download.nextcloud.com/desktop/releases/Windows/Nextcloud-2.3.3.1-setup.exe
Mac OS X 10.9以上系统下载下面客户端
https://download.nextcloud.com/desktop/releases/Mac/Installer/Nextcloud-2.3.3.84.pkg
Linux系统下载下面客户端
https://download.nextcloud.com/desktop/releases/Linux/Nextcloud-2.3.3-x86_64.AppImage
对于手机或者平板需要下载相应蒲公英客户端
笔者手机为安卓,首先下载安装蒲公英客户端安卓版本
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/220859adcci8u3o37tgq6s.png
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/220926fog0cih3liwhil0w.png
打开客户端
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/221009pho5zgn3o8yv3i59.png
登陆之前注册的Oray账号
https://www.cirmall.com/bbs/data/attachment/forum/201712/03/221403c131m1umzyef3x31.png
连接好后下载安装NextCloud的移动客户端同步文件即可
安卓设备从下面地址下载客户端或者百度搜索NextCloud安卓客户端下载
https://play.google.com/store/apps/details?id=com.nextcloud.client
苹果IOS客户端下载地址
https://itunes.apple.com/us/app/nextcloud/id1125420102?mt=8
页:
[1]