部署家庭服务器
前几天装了个新电脑,然后家里的旧电脑就废弃了,我打算废物利用来做家庭服务器用
- 文件共享: 配置了SMB共享文件服务,设备间文件互传不再麻烦。
- 网络打印: 设置网络打印机,无线打印。
- 网心云: 利用闲置宽带赚钱。
- IP: 192.168.1.100
- 端口:
- 631 CUPS
- 18888 网心云
后续可能会添加一些自动化 RSS 或者 aria2 等等
系统我选择用的 Arch
我这里用的另一块硬盘挂在到/srv/share 用来存放共享文件
基础配置
配置远程
在装完系统后安装 SSH
1 | sudo pacman -S ssh |
设置开机自启动 ssh服务
1 | sudo systemctl enable sshd |
然后就可以通过 ssh来远程来连接了
1 | ssh 用户名@ip地址 |
配置固定ip地址
创建网络配置文件
在 /etc/systemd/network/
目录下创建一个新的 .network
文件,例如 20-wired.network
:
1 | sudo vim /etc/systemd/network/*.network |
添加网络配置
在文件中添加以下内容,替换实际的网卡名称和 IP 地址:
1 | [Match] |
Name
:替换为实际的网络接口名称,例如 eth0
。
Address
:替换为所需的固定 IP 地址和子网掩码。
Gateway
:设置默认网关。
DNS
:指定 DNS 服务器。
重启 systemd-networkd
保存文件后,重启 systemd-networkd
:
1 | sudo systemctl restart systemd-networkd |
配置 smb 共享文件
安装 samba 和 avahi
安装 avahi 包 软件包, 然后启用/启动
avahi-daemon.service
以通过 Zeroconf 使 Samba 服务器可被发现。这应当在多数非 Windows 文件管理器上可用
如果 avahi-daemon.service
尚未运行,服务器仍可被访问,仅不可被发现。也就是说,它不会出现在文件管理器中,但你仍可直接通过 IP 或者域名连接它。
1 | sudo pacman -S samba avahi |
用户管理
Samba 需要 Linux 账户才能使用 - 可以使用已有账户或创建新用户 。
1 | sudo smbpasswd -a 用户 # 使用当前登录的用户 |
创建匿名共享
创建新 Linux 用户,匿名 Samba 用户将映射到该用户。
1 | sudo useradd guest -s /bin/nologin |
修改/etc/samba/smb.conf
文件
配置文件可以参考
https://man.archlinux.org/man/smbd.8
1 | [global] |
全局设置部分
server string = Arch Server
: 设置服务器的描述字符串。这个描述会在网络中显示,例如“Arch Server”。security = user
: 定义了Samba的安全级别。user
表示每个用户需要单独认证,这是比较常见的设置。map to guest = bad user
: 任何身份验证失败的用户将被映射为访客用户。guest account = smb
: 指定了用于访客访问的系统账户。在这里是“smb”用户。vfs objects = catia fruit streams_xattr
: 支持iPhone 不添加会出现 名称过长的错误
共享资源设置部分
comment = Network Storage
: 这是对共享资源的描述,在网络浏览时显示。path = /srv/share
: 指定了共享文件夹的路径,这里是/srv/share
。guest ok = yes
: 允许访客访问这个共享资源,不需要用户验证。writable = yes
: 允许写入权限,即用户可以在这个文件夹中创建、修改和删除文件。create mask = 0777
: 设置新创建的文件的权限为rwxrwxrwx
(即所有用户具有完全访问权限)。这确保了新创建的文件对于所有用户都可以读写和执行。directory mask = 0777
: 设置新创建的目录的权限为rwxrwxrwx
,确保所有用户可以完全访问新创建的目录。
配置完后重启samb avhi服务
1 | sudo systemctl restart smb |
配置开机自启
1 | sudo systemctl enable smb |
然后就可以通过Smb访问服务器了
也可以添加网络位置
配置打印机
我这里的打印机是惠普的 所以我用 hplip + cups
Avahi 能够在网络中搜索到
1 | sudo pacman -S hplip cups Avahi |
安装完后运行,然后根据步骤一步一步确认
1 | hp-setup -i |
-i 命令行模式运行,我用装arch没有装图形界面
配置cpus
1 | sudo vim /etc/cups/cupsd.conf |
启动cups 设置开启启动
1 | sudo systemctl start cups.service |
启动完后可以通过 631端口进入cups控制打印机
可以在电脑中搜索到打印机服务了
手机也可以搜到
打印测试
配置网心云
安装docker
1 | sudo pacman -S docker |
配置开机启动
1 | sudo systemctl enable docker |
运行容器:
请将dockerhub镜像仓库地址替换为 images-cluster.xycloud.com
1 | docker pull images-cluster.xycloud.com/wxedge/wxedge:latest |
“磁盘路径”是磁盘的目录,请根据自己实际磁盘目录更改,必须挂载到容器内的/storage目录,推荐磁盘是ext4文件系统,至少需要50G以上的空间,建议是固态硬盘。
-e LISTEN_ADDR=”0.0.0.0:28888” 支持设置绑定页面的监听地址和端口,监听全地址设置-e LISTEN_ADDR=”:28888”,默认监听全地址18888端口。多开容器也可以参考用该参数,比如容器A使用参数-e LISTEN_ADDR=”:18888”,容器B使用参数 -e LISTEN_ADDR=”:28888”(已经实现同一业务可多次添加,不建议多开容器)
-v 磁盘路径:/var/lib/containerd 如果系统盘较小时,可以增加该参数修改安装路径,
启动完后可以通过 18888端口访问
到手机上填写sn 和 激活码绑定设备就可以看到受益了
跑了几天,收益还行
- 标题: 部署家庭服务器
- 作者: sudo0m
- 创建于 : 2024-07-03 19:31:28
- 更新于 : 2024-09-02 00:38:05
- 链接: https://sudo0m.tech/page/20240703193128/
- 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。