博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Python学习教程:玩转树莓派—搭建属于自己的云盘服务
阅读量:4692 次
发布时间:2019-06-09

本文共 3251 字,大约阅读时间需要 10 分钟。

Python学习教程:玩转树莓派—搭建属于自己的云盘服务

前言

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

软硬清单

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

配置环境

安装 Nginx

sudo apt-get updatesudo apt-get install nginxsudo service nginx start复制代码

安装 PHP

# owncloud 需要的基础库,必须要安装sudo apt-get install php7.0-fpm php7.0-cli php7.0-curl php7.0-gd php7.0-mcrypt php7.0-cgisudo apt-get install php7.0-intl php7.0-mysql php7.0-zip php7.0-dom php7.0-mbstringsudo service php7.0-fpm restart复制代码

安装 MySql

sudo apt-get install mysql-serversudo apt-get install mysql-client复制代码

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

sudo mysql -u root -p复制代码

修改密码:

sudo systemctl restart mysqlsudo systemctl status mysql复制代码

云盘安装

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

wget https://download.owncloud.org/community/owncloud-10.1.1.tar.bz2复制代码

下载完成,解压文件:

sudo tar -xvf owncloud-10.1.1.tar.bz2复制代码

云盘 owncloud 配置文件:

server {  # 80端口被占用,这里使用8081 listen 8081 default_server; listen [::]:8081 default_server;  # 安装目录 root /home/pi/owncloud; index index.php index.htm; client_max_body_size 10G;  fastcgi_buffers 64 4K;  gzip off;  rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect;  rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all;  log_not_found off;  access_log off;  }  location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ deny all;  } location / { # The following 2 rules are only needed with webfinger  rewrite ^/.well-known/host-meta /public.php?service=host-meta last;  rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last;  rewrite ^/.well-known/carddav /remote.php/carddav/ redirect;  rewrite ^/.well-known/caldav /remote.php/caldav/ redirect;  rewrite ^(/core/doc/[^\/]+/)$ $1/index.html;  try_files $uri $uri/ /index.php;  } location ~ \.php(?:$|/) { fastcgi_pass unix:/run/php/php7.0-fpm.sock; fastcgi_split_path_info ^(.+\.php)(/.+)$;  include fastcgi_params;  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  fastcgi_param PATH_INFO $fastcgi_path_info;  #ifastcgi_pass php-handler;  } location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d;  # Optional: Don't log access to assets  access_log off;  } }复制代码

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

初始页面:

内网穿透

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

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

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

server_addr: "ngrok.52itstyle.vip:4443"trust_host_root_certs: falsetunnels: owncloud: proto: http: "8081"复制代码

启动服务:

./ngrok -config=ngrok.yml start owncloud复制代码

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

# 首先安装screensudo apt-get install screen复制代码

之后运行:

screen -S 任意名字(例如:keepngork)复制代码

然后运行ngrok启动命令:

./ngrok -config=ngrok.yml start owncloud复制代码

最后按快捷键:

ctrl+A+D复制代码

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

[detached from 14930.keepngork]复制代码

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

sudo vim config/config.php复制代码

加入代理域名:

array ( 0 => '192.168.1.157:8081', 1 => 'owncloud.ngrok.52itstyle.vip', ),复制代码

前台:

后台:

音频播放:

小结

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

更多的Python学习教程也会继续为大家更新!

转载于:https://juejin.im/post/5d493a03f265da0399295ad1

你可能感兴趣的文章
HTML5 初步了解
查看>>
在CI框架中的配置整合amfphp
查看>>
蓝桥杯 ——无重复组合——C++
查看>>
React Native在开发过程中遇到的一些问题(俗称:坑)
查看>>
自控力阅读思维导图
查看>>
结构体的应用-成绩录入初步
查看>>
【UVa 712】S-Trees
查看>>
一次MySQL(INNODB存储引擎) 死锁捉虫记
查看>>
python urllib、urlparse、urllib2、cookielib
查看>>
ListBox和ComboBox绑定数据简单例子
查看>>
QQ聊天窗口上的广告与QQ弹窗广告的完美屏蔽去除
查看>>
weblogic连接池问题总结(转载)
查看>>
C#.NET 大型通用信息化系统集成快速开发平台 4.1 版本 - 数据权限增强、范围权限增强...
查看>>
基础概述
查看>>
MySQL中BLOB字段类型介绍
查看>>
Redis Sentinel机制与用法(一)
查看>>
js 更新本地当前时间
查看>>
XAF-如何在详细视图界面显示按钮(含示例项目下载)
查看>>
ASP.NET MVC 4中的单页面应用程序
查看>>
嵌入式数据库Perst
查看>>