经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 其他 » 计算机硬件 » 查看文章
「玩转树莓派」搭建属于自己的云盘服务
来源:cnblogs  作者:小柒2012  时间:2019/5/6 9:39:59  对本文有异议

这段时间,高大上的文章太多,不是源码解析就是分布式高并发亦或是一连串的BUG排查,再就是这可能是讲xxx最xxx的一篇文章了<被xxx烂了>,现在的程序员学的精的不能再精了,来做点有趣的事情吧。

前言

最近在整理硬盘中的一些视频文档,虽然之前进行了分类,但时间一长,还是有点乱,找个东西得翻找半天。于是乎,就有了下面这个小玩意,自建云盘服务。

软硬清单

  • 外接硬盘一枚(用于挂载)
  • 宽带、路由器(家中常备)
  • SSH连接工具(SecureCRT,Xshell)
  • Nginx、PHP、owncloud、ngrok
  • 装好系统的树莓派 3B+ 一只(充电器、CPU散热风扇等)

配置环境

安装 Nginx

  1. sudo apt-get update
  2. sudo apt-get install nginx
  3. sudo service nginx start

安装 PHP

  1. # owncloud 需要的基础库,必须要安装
  2. sudo apt-get install php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgi
  3. sudo apt-get install php7.0-intl php7.0-mysql php7.0-zip php7.0-dom php7.0-mbstring
  4. sudo service php7.0-fpm restart

安装 MySql

  1. sudo apt-get install mysql-server
  2. sudo apt-get install mysql-client

安装完成以后进入数据库,无需输入密码:

  1. sudo mysql -u root -p

修改密码:

  1. sudo systemctl restart mysql
  2. sudo systemctl status mysql

云盘安装

下载最新资源,国外网站,可能略慢,请耐心等待:

  1. wget https://download.owncloud.org/community/owncloud-10.1.1.tar.bz2

下载完成,解压文件:

  1. sudo tar -xvf owncloud-10.1.1.tar.bz2

云盘 owncloud 配置文件:

  1. server {
  2.    80端口被占用,这里使用8081
  3. listen 8081 default_server;
  4. listen [::]:8081 default_server;
  5.    安装目录
  6. root /home/pi/owncloud;
  7. index index.php index.htm;
  8. client_max_body_size 10G;
  9. fastcgi_buffers 64 4K;
  10. gzip off;
  11. rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;
  12. rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect;
  13. rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect;
  14. index index.php;
  15. error_page 403 /core/templates/403.php;
  16. error_page 404 /core/templates/404.php;
  17. location = /robots.txt {
  18. allow all;
  19. log_not_found off;
  20. access_log off;
  21. }
  22. location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){
  23. deny all;
  24. }
  25. location / {
  26. # The following 2 rules are only needed with webfinger
  27. rewrite ^/.well-known/host-meta /public.php?service=host-meta last;
  28. rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;
  29. rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;
  30. rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;
  31. rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;
  32. try_files $uri $uri/ /index.php;
  33. }
  34. location ~ \.php(?:$|/) {
  35. fastcgi_pass unix:/run/php/php7.0-fpm.sock;
  36. fastcgi_split_path_info ^(.+\.php)(/.+)$;
  37. include fastcgi_params;
  38. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  39. fastcgi_param PATH_INFO $fastcgi_path_info;
  40. #ifastcgi_pass php-handler;
  41. }
  42. location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ {
  43. expires 30d;
  44. # Optional: Don't log access to assets
  45. access_log off;
  46. }
  47. }

配置完成后,进入安装界面,输入管理员账号密码以及数据库相关信息,点击进入下一步即可安装成功:

初始页面:

内网穿透

如果你想要在非局域网中访问,就需要加一个穿透,来访问我们内网的服务。

首先,我们要把之前生成的 ngrok 客户端(linux_arm)上传到树莓派:

然后,创建一个 ngrok.yml 配置文件:

  1. server_addr: "ngrok.52itstyle.vip:4443"
  2. trust_host_root_certs: false
  3. tunnels:
  4. owncloud:
  5. proto:
  6. http: "8081"

启动服务:

  1. ./ngrok -config=ngrok.yml start owncloud

SSH是要关闭的,所以要使 ngrok 后台运行:

  1. # 首先安装screen
  2. sudo apt-get install screen

之后运行:

  1. screen -S 任意名字(例如:keepngork

然后运行ngrok启动命令:

  1. ./ngrok -config=ngrok.yml start owncloud

最后按快捷键:

  1. ctrl+A+D

如果出现以下,既可以保持ngrok后台运行。

  1. [detached from 14930.keepngork]

最后,配置信任域名,否则穿透域名无法访问:

  1. sudo vim config/config.php

加入代理域名:

  1. array (
  2. 0 => '192.168.1.157:8081',
  3. 1 => 'owncloud.ngrok.52itstyle.vip',
  4. ),

前台:

后台:

播放音乐:

客户端:

小结

云盘在内网体验还是蛮好的,搜索、收藏、分享、音频播放,功能很齐全。只是加了代理穿透以后,上传大文件有点慢。当然了如果想正儿八经的使用,最好挂载一个 T 级别的硬盘。

参考

https://blog.52itstyle.vip/archives/3987/

原文链接:http://www.cnblogs.com/smallSevens/p/10816126.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号