树莓派使用 frp 实现内网穿透搭建 Nextcloud 私有云

在家庭网络没有固定 IP 或者家庭网络不能被外网访问的情况下,使用树莓派搭建 Nextcloud 私有云系统服务,需要借助于有外网 IP 的服务器,使用frp等工具进行内网穿透,整套系统的访问过程示意如下:

格安云服务示意.png


如果你直接访问到了这个页面,可参考下《树莓派使用 frp 实现内网穿透搭建 Nextcloud 私有云的准备工作》了解采用此方案搭建 Nextcloud 私有云服务所要进行的准备工作,以便快速上手,少走弯路。

这里主要介绍使用 frp 进行内网穿透和 Nextcloud 私有云的安装。

搭建内网穿透服务

  1. 参考Github-frp安装配置好 frp 内网穿透服务;

    我的树莓派端的配置文件关键信息如下:

     [common]
     server_addr = [your-public-server-ip]
     server_port = 7000
     privilege_token = [your-privilege_token]
    
     [ssh]
     type = tcp
     local_ip = 127.0.0.1
     local_port = 22
     remote_port = 6000
    
     [web]
     privilege_mode = true
     type = http
     local_port = 80
     custom_domains = [your-domain]
    

    我的公网服务器端的配置文件关键信息如下:

     [common]
     bind_port = 7000
     vhost_http_port = 8080
     dashboard_port = 7500
     # dashboard 用户名密码,默认都为 admin
     dashboard_user = [your-dashboard_user]
     dashboard_pwd = [your-dashboard_pwd]
     privilege_mode = true
     privilege_token = [your-privilege_token]
     privilege_allow_ports = 4000-50000
     log_file = [path]/frps.log
     log_level = info
     log_max_days = 3
    
  2. 公网服务器端配置 Nginx,转发外网访问请求到 frp server 服务;

    server {
     listen 80;
     server_name  [your-domain];
    
     location / {
        proxy_pass http://127.0.0.1:8080; # frp server 端的 vhost_http_port 配置的端口
        proxy_set_header    Host            $host;
        proxy_set_header    X-Real-IP       $remote_addr;
        proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_hide_header   X-Powered-By;
      }
    }
    
  3. 配置好后,通过域名 [your-domain] 访问树莓派 Nginx 的默认网站测试配置是否正确

安装 Nextcloud

  1. 解压下载好的 Nextcloud 程序文件到安装准备工作中创建的 web 目录:[path]/web/nextcloud
  2. 设置目录权限

     $ sudo chown -R nobody:nobody [path]/web/nextcloud
    
  3. 参考Nextcloud Nginx Configuration配置 Nginx,推荐使用 socket 方式连接 php-fpm

    upstream php-handler {
     # server 127.0.0.1:9000;
     server unix:/var/run/php71-fpm.sock;
    }
    
  4. 现在可以通过域名 [your-domain] 访问到 Nextcloud 服务了,通过 Nextcloud 的安装向导设置用户名、密码、数据存储路径和数据库信息后,Nextcloud 私有云就搭建好了。如果是严格按照《树莓派结合 frp、Nextcloud 搭建私有云之安装前的准备》进行的前期准备工作,那么:

    • 数据存储路径:[path]/disk
    • 数据库:MariaDB
    • 数据库用户名: nobody
    • 数据库密码:[your-password]
  5. 系统界面。

屏幕快照 2017-06-29 下午1.41.02副本.png

随笔 树莓派 Nextcloud 私有云 frp 内网穿透
本文更新于