标签: 内网穿透

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

    树莓派使用 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
    
    1. 公网服务器端配置 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;
      }
    }
    
    1. 配置好后,通过域名 [your-domain] 访问树莓派 Nginx 的默认网站测试配置是否正确

    安装 Nextcloud

    1. 解压下载好的 Nextcloud 程序文件到安装准备工作中创建的 web 目录:[path]/web/nextcloud
    2. 设置目录权限
     $ sudo chown -R nobody:nobody [path]/web/nextcloud
    
    1. 参考Nextcloud Nginx Configuration配置 Nginx,推荐使用 socket 方式连接 php-fpm
    upstream php-handler {
     # server 127.0.0.1:9000;
     server unix:/var/run/php71-fpm.sock;
    }
    
    1. 现在可以通过域名 [your-domain] 访问到 Nextcloud 服务了,通过 Nextcloud 的安装向导设置用户名、密码、数据存储路径和数据库信息后,Nextcloud 私有云就搭建好了。如果是严格按照《树莓派结合 frp、Nextcloud 搭建私有云之安装前的准备》进行的前期准备工作,那么:
      • 数据存储路径:[path]/disk
      • 数据库:MariaDB
      • 数据库用户名: nobody
      • 数据库密码:[your-password]
    2. 系统界面。
    屏幕快照 2017-06-29 下午1.41.02副本.png