前几天装了个新电脑,然后家里的旧电脑就废弃了,我打算废物利用来做家庭服务器用
- 文件共享: 配置了SMB共享文件服务,设备间文件互传不再麻烦。
- 网络打印: 设置网络打印机,无线打印。
- 网心云: 利用闲置宽带赚钱。
- IP: 192.168.1.100
- 端口:
- 631 CUPS
- 18888 网心云
后续可能会添加一些自动化 RSS 或者 aria2 等等
系统我选择用的 Arch
我这里用的另一块硬盘挂在到/srv/share 用来存放共享文件
基础配置
配置远程
在装完系统后安装 SSH
sudo pacman -S ssh
设置开机自启动 ssh服务
sudo systemctl enable sshd
然后就可以通过 ssh来远程来连接了
ssh 用户名@ip地址
ssh sudo0m@192.168.1.100
配置固定ip地址
创建网络配置文件
在 /etc/systemd/network/
目录下创建一个新的 .network
文件,例如 20-wired.network
:
sudo vim /etc/systemd/network/*.network
只要在network下面创建.network后缀的就可以
添加网络配置
在文件中添加以下内容,替换实际的网卡名称和 IP 地址:
[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](https://img-blog.csdnimg.cn/img_convert/f462e9ede67568a950bc89b8f33410c2.webp?x-oss-process=image/format,png)
重启 systemd-networkd
保存文件后,重启 systemd-networkd
:
sudo systemctl restart systemd-networkd
配置 smb 共享文件
安装 samba 和 avahi
安装 avahi包 软件包, 然后启用/启动
avahi-daemon.service
以通过 Zeroconf 使 Samba 服务器可被发现。这应当在多数非 Windows 文件管理器上可用
如果 avahi-daemon.service
尚未运行,服务器仍可被访问,仅不可被发现。也就是说,它不会出现在文件管理器中,但你仍可直接通过 IP 或者域名连接它。
sudo pacman -S samba avahi
用户管理
Samba 需要 Linux 账户才能使用 - 可以使用已有账户或创建新用户。
sudo smbpasswd -a samba_user
根据服务器角色的差异,可能需要为 Samba 用户账户修改已有的文件权限与属性。
要让新创建的用户仅能访问 Samba 远程文件服务器,可以禁用其它登录选项:
- 禁用 shell -
usermod --shell /usr/bin/nologin --lock *samba_user*
- 禁用 SSH 登录 - 编辑
/etc/ssh/sshd_config
文件,修改AllowUsers
选项
创建匿名共享
创建新 Linux 用户,匿名 Samba 用户将映射到该用户。
sudo useradd guest -s /bin/nologin
修改/etc/samba/smb.conf
文件
配置文件可以参考
https://man.archlinux.org/man/smbd.8
[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
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
,确保所有用户可以完全访问新创建的目录。
配置完后重启samb服务
sudo systemctl restart smb
然后就可以通过Smb访问服务器了
也可以添加网络位置
配置打印机
我这里的打印机是惠普的 所以我用 hplip + cpus
sudo pacman -S hplip cpus
安装完后运行,然后根据步骤一步一步确认
hp-setup -i
-i 命令行模式运行,我用装arch没有装图形界面
配置cpus
sudo vim /etc/cups/cupsd.conf
启动cups 设置开启启动
sudo systemctl start cups.service
sudo systemctl enable cups.service
启动完后可以通过 631端口进入cups控制打印机
可以在电脑中搜索到打印机服务了
手机也可以搜到
![IMG_2376](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fsudo0m%2Fpicx-images-hosting%40master%2F20240703%2FIMG_2376.2rv0djzfvw.webp&pos_id=img-NgTv7VXr-1720259306156%29)
打印测试
![IMG_2375](https://img-home.csdnimg.cn/images/20230724024159.png?origin_url=https%3A%2F%2Fcdn.jsdelivr.net%2Fgh%2Fsudo0m%2Fpicx-images-hosting%40master%2F20240703%2FIMG_2375.45hjhlahwq.webp&pos_id=img-f8GVzmRb-1720259315391%29)
配置网心云
安装docker
sudo pacman -S docker
配置开机启动
sudo systemctl enable docker
运行容器:
请将dockerhub镜像仓库地址替换为 images-cluster.xycloud.com
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 和 激活码绑定设备就可以看到受益了
跑了几天,收益还行