基于ubuntu server搭建一套家庭文件下载访问服务器
做这一套东西其实并非一时兴起,算的是早有预谋罢之前就尝试利用香橙派zero,来搭建个简单的网盘,当时部署了一个samba和qb前者利用smb连接我的电脑和home server,qb则作为bt下载来离线一些动画与资源,当时的这套东西并未做外网访问的设置 仅仅是在家里的内网运行了一段时间,后来发现稳定性不行就让他停了,让一个派带着2.5寸机械硬盘跑还是太难为他了,平均半天掉一次盘我也很怕硬盘gg,所以之后我也是拔掉硬盘用frp作为一个小型下bt离线器开始工作,直到这次我收到了一台朋友送的软路由。。。
配置如下
- i5-2537m Q1’11的产品 大致时间是2010罢 基准频率1.4Ghz 最大睿频2.3Ghz 32nm TDP只有17w 可以说很省电了
- 8g笔记本内存 没看牌子
- 32G msata 32G sata 前者被我当作系统盘来用了 后者拆下来换成了我的1t的2.5寸机械盘

简单跑了个娱乐大师 合理

我的硬盘 
设备
好了 现在来明确下需求
- 高自定义
- 简单的文件访问 需要做到外网访问
- 简单的文件离线工作 不止bt
- 需要个好用简单的服务器管理软件 免得寄
其实当时道这里我已经明白了自己的需求 甚至具体到软件
解决方案:内网穿透+vpn 文件访问可以使用samba 利用vpn连接 也可以实现外网访问 害安全 bt下载 qBitTorrent网页模式 利用frp 或者vpn 云服务器互动资源 smb服务
然后是系统的选择
当时在我面前的选择是 debian ubuntu arch centos等等当然还有windows server
首先排除的肯定是windiows server 不做解释
引用一个知乎网友说的话
linux 系统没有好坏 重要的适合自己 不然为什么有那么多发行版
权衡利弊后我还是选择了我个人比较熟悉的 ubuntu server的发行版 各种问题的解决方案都好找 要说互联网上最好找到问题解决方案的linux 大概就是ubuntu了罢
》》》》》快进到系统安装完毕
第一步 部署samba
首先肯定是安装
apt-get install samba
一般情况下samba的配置文件会放在/etc/samba/下 那么肯定是备份一份conf
mv smb.conf smb.conf.bak
让后新建个空白的conf配置文件
nano smb.conf
先保存 推出 新建,或者基于你希望的用户加道用户组
smbpasswd -a root
之后 重新配置conf文件
1 2 3 4 5 6 7
| [samba] path = /home/114514/samba browseable = yes read only = no # force create mode = 0660 # force directory mode = 2770 valid users = root
|
配置
作用
samba
登入时共享的名称
path
分享的路径
browseable
是否在共享列表列出该共享
valid users
允许访问的用户和组
完成之后 用
sudo systemctl restart nmbd.service
重启samba服务
现在可以在你的windows电脑上利用
\\ip\文件夹
尝试进行连接
第二步 安装aria2
这个就比samba更简单了。。。它有脚本
GitHub - P3TERX/aria2.sh: Aria2 一键安装管理脚本 增强版、
脚本作者blog
当然如果你不喜欢脚本也可以使用docker来进行安装
基于docker的aria2安装
docker像什么 docker像个厕所,每一次我在家里(linux)上完厕所(删除软件)要冲洗(关闭各种服务删除各种配置)的时候都会无比痛苦,而用了docker我就可以做到上完洗手间连着洗手间一起扔了,无比方便————佚名
第三步
qb安装
这个简单
apt install -y qbittorrent-nox
启动
qbittorrent-nox
**** 信息 **** 欲通过网页端控制 qBittorrent,你需要访问 http://localhost:8080 网页端管理员的用户名是:admin 网络端管理员密码设置为默认密码:adminadmin 存在安全风险!请考虑在设置更改密码!
第一次启动的信息 这时候可以到 web页面重新设置密码和安全措施
ps:如果要使用frp实现外网访问qb webui 需要关闭host header属性验证
第四步 网页控制
应为考虑到长期不在家 所以我选择了宝塔作为网页管理面板 虽然他曾经收集用户信息 虽然他曾经漏洞百出 虽然他。。。
但是还是给他一次机会。。。
当然要不是mdserver-web没有做到完善 我也不会选择bt(
安装命令
if [ -f /usr/bin/curl ];then curl -sSO https://download.bt.cn/install/install_panel.sh;else wget -O install_panel.sh https://download.bt.cn/install/install_panel.sh;fi;bash install_panel.sh ed8484bec
ps: 如果出现前面配置的服务无法使用的情况 请考虑是否是面板在配置的时候修改了防火墙的配置 重置下
第五 部署AriaNg
https://github.com/mayswind/AriaNg/releases
宝塔都装了 丢进去就好
第六 部署frp
如果没有自己的云服务器 也可以考虑用网络上公开的内网穿透服务 当然安全性不做保证
当然 我才用的还是docker 没办法 这玩意太方便了
首先我们安装服务端frps
mkdir /etc/frp
touch /etc/frp/frps.ini
nano /etc/frp/frps.ini
1 2 3 4 5 6 7 8 9
| [common]
bind_port = 7000 绑定端口 bind_addr = 0.0.0.0 绑定ip token=123456 认证密码
dashboard_port = 7001 面板 dashboard_user = admin dashboard_pwd = admin
|
拉取镜像
docker pull snowdreamtech/frps
运行容器
1 2 3 4 5 6
| docker run -d \ -v /root/docker/frp/frps.ini:/etc/frp/frps.ini \ -p 17000-17010:7000-7010 \ --name frp-server \ --restart=always --privileged=true \ snowdreamtech/frps
|
到这里 服务器端的配置已经完成
现在是 客户端配置
1 2
| sudo mkdir /etc/frp nano /etc/frp/frps.ini
|
1 2 3 4 5
| [ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 2288
|
1 2
| docker run --restart=always --network host -d -v /opt/docker/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc snowdreamtech/frpc
|
ok 配置完成
这时候应该就可以在服务器的frpweb面板看到了 访问相应端口就好
END