基于ubuntu server搭建一套家庭文件下载访问服务器

发布于 2022-09-18  131 次阅读


基于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寸机械盘

简单跑了个娱乐大师 合理

我的硬盘

设备

好了 现在来明确下需求

  1. 高自定义
  2. 简单的文件访问 需要做到外网访问
  3. 简单的文件离线工作 不止bt
  4. 需要个好用简单的服务器管理软件 免得寄

其实当时道这里我已经明白了自己的需求 甚至具体到软件

解决方案:内网穿透+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文件

[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

[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

运行容器

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

到这里 服务器端的配置已经完成

现在是 客户端配置

sudo mkdir /etc/frp
nano /etc/frp/frps.ini
[ssh]
type = tcp
local_ip = 127.0.0.1
local_port = 22
remote_port = 2288
docker run --restart=always --network host -d -v /opt/docker/frpc/frpc.ini:/etc/frp/frpc.ini --name frpc 
snowdreamtech/frpc

ok 配置完成

这时候应该就可以在服务器的frpweb面板看到了 访问相应端口就好

END

届ける言葉を今は育ててる
最后更新于 2022-09-18