部署家庭服务器

部署家庭服务器

sudo0m Lv4

前几天装了个新电脑,然后家里的旧电脑就废弃了,我打算废物利用来做家庭服务器用

  • 文件共享: 配置了SMB共享文件服务,设备间文件互传不再麻烦。
  • 网络打印: 设置网络打印机,无线打印。
  • 网心云: 利用闲置宽带赚钱。
  • IP: 192.168.1.100
  • 端口:
    • 631 CUPS
    • 18888 网心云

后续可能会添加一些自动化 RSS 或者 aria2 等等

系统我选择用的 Arch

Snipaste_2024-06-21_13-54-42

我这里用的另一块硬盘挂在到/srv/share 用来存放共享文件

Snipaste_2024-06-21_16-09-50

基础配置

配置远程

在装完系统后安装 SSH

1
sudo pacman -S ssh

设置开机自启动 ssh服务

1
sudo systemctl enable sshd  

然后就可以通过 ssh来远程来连接了

1
2
3
ssh 用户名@ip地址

ssh sudo0m@192.168.1.100

配置固定ip地址

创建网络配置文件

/etc/systemd/network/ 目录下创建一个新的 .network 文件,例如 20-wired.network

1
2
sudo vim /etc/systemd/network/*.network
只要在network下面创建.network后缀的就可以
添加网络配置

在文件中添加以下内容,替换实际的网卡名称和 IP 地址:

1
2
3
4
5
6
7
[Match]
Name=eth0

[Network]
Address=192.168.1.100/24
Gateway=192.168.1.1
DNS=8.8.8.8

Name:替换为实际的网络接口名称,例如 eth0

Address:替换为所需的固定 IP 地址和子网掩码。

Gateway:设置默认网关。

DNS:指定 DNS 服务器。

Snipaste_2024-07-04_17-47-49
重启 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
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[global]
workgroup = WORKGROUP
server string = Arch Server
security = user
map to guest = bad user
guest account = smb
vfs objects = catia fruit streams_xattr

[Network Storage]
comment = Network Storage
path = /srv/share
force user = 用户
force group = 用户
guest ok = yes
writable = yes
create mask = 0777
directory mask = 0777
全局设置部分
  • 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,确保所有用户可以完全访问新创建的目录。

    Snipaste_2024-07-04_17-50-24

配置完后重启samb avhi服务

1
2
sudo systemctl restart smb
sudo systemctl restart avahi-daemon

配置开机自启

1
2
sudo systemctl enable smb
sudo systemctl enable avahi-daemon

然后就可以通过Smb访问服务器了

Snipaste_2024-07-03_15-13-28

也可以添加网络位置

Snipaste_2024-07-03_15-13-57

配置打印机

我这里的打印机是惠普的 所以我用 hplip + cups

Avahi 能够在网络中搜索到

1
sudo pacman -S hplip cups  Avahi 

安装完后运行,然后根据步骤一步一步确认

1
hp-setup -i

-i 命令行模式运行,我用装arch没有装图形界面

配置cpus

1
sudo vim /etc/cups/cupsd.conf

Snipaste_2024-07-03_19-15-50

启动cups 设置开启启动

1
2
3
4
5
6
sudo systemctl start cups.service
sudo systemctl enable cups.service

#启用 Avahi
sudo systemctl start avahi-daemon.service
sudo systemctl enable avahi-daemon.service

启动完后可以通过 631端口进入cups控制打印机

Snipaste_2024-07-03_19-17-57

可以在电脑中搜索到打印机服务了

Snipaste_2024-06-21_17-45-45

手机也可以搜到

IMG_2376

打印测试

IMG_2375

配置网心云

安装docker

1
sudo pacman -S docker

配置开机启动

1
sudo systemctl enable docker

运行容器:

请将dockerhub镜像仓库地址替换为 images-cluster.xycloud.com

1
2
3
docker pull images-cluster.xycloud.com/wxedge/wxedge:latest

docker run -d --name=wxedge --restart=always --privileged --net=host --tmpfs /run --tmpfs /tmp -v 磁盘路径:/storage:rw 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 和 激活码绑定设备就可以看到受益了

image-20240703192446248

跑了几天,收益还行

58fa7c1db885a998380fab5b7bfcb30 52f875553ac2de19c5ea3562d6bc13a
  • 标题: 部署家庭服务器
  • 作者: sudo0m
  • 创建于 : 2024-07-03 19:31:28
  • 更新于 : 2024-09-02 00:38:05
  • 链接: https://sudo0m.tech/page/20240703193128/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。