文件共享网站
来感受一下吧!!! share.cirry.cn
界面预览
游客页面

有权限用户登录后的页面

搭建好后的目录结构

查看cpu架构
dpkg --print-architecture显示如下:

下载golang安装包
golang官方下载地址,不同的cpu架构下载不同的安装包。
这里使用wget下载amd64的安装包。
wget https://golang.google.cn/dl/go1.21.1.linux-amd64.tar.gz
安装Golang
第一步
删除之前安装的Go程序,然后将刚刚下载的存档解压缩到/usr/local 中,在 /usr/local/go 中创建一个新的 Go 树:
sudo rm -rf /usr/local/gosudo tar -C /usr/local -xzf go1.21.1.linux-amd64.tar.gz# 可能需要以 root 用户身份或通过 sudo 运行命令第二步
将 /usr/local/go/bin 添加到 PATH 环境变量中:
export PATH=$PATH:/usr/local/go/bin第三步
通过打开命令提示符并键入以下命令来验证是否已安装 Go:
go version
至此,我们的go就安装好了。
安装extra-http-file-server
在github中下载extra-http-file-server对应的版本。
wget https://github.com/mjpclab/extra-http-file-server/releases/download/v1.15.14/ehfs-1.15.14-linux-amd64.zip解压到当前目录
unzip ehfs-1.15.14-linux-amd64.zip解压完成后,会在当前目录 生成一个可执行文件 ehfs。
添加配置文件
vim ehfs.ini写入以下内容:
--listen-plain :80 # 监听端口为80端口--root /home/cirry/share # 目录根路径# 自行找个sha256加密网站加密密码后替换此密码--user-sha256 cirry:d2ae9eaa37003087a74481a4a9873c686148xxxxxxxxxxxxxxx # 设置用户名和密码--global-archive # 设置可以下载文件夹--access-log /home/cirry/software/access.log--error-log /home/cirry/software/error.log--perms :/:upload,delete,mkdir:cirry # 设置此用户有上传删除等等功能--status-page '#404#/home/cirry/software/ehfs/404.html'--status-page '#403#/home/cirry/software/ehfs/403.html'运行ehfs
# 因为这里绑定的是80端口,在nginx中可能需要使用sudo才能正常运行sudo ./ehfs --config ehfs.ini设置开机自启动
我们可以使用systemctl来自动启动此应用。
编辑Systemd服务文件
sudo vim /etc/systemd/system/ehfs.service写入如下内容(根据实际情况修改目录路径):
[Unit]Description=EHFS ServiceAfter=network.target
[Service]ExecStart=/full/path/to/ehfs --config /full/path/to/ehfs.ini #需修改Privileged=trueUser=cirry #需修改WorkingDirectory=/home/cirry/share #需修改
[Install]WantedBy=multi-user.target重新加载Systemd配置
sudo systemctl daemon-reload注意[仔细看看]
如果您希望以非特权用户身份绑定到低于1024的端口,需要为二进制文件授予CAP_NET_BIND_SERVICE权限,这将允许它绑定到这些端口。
否则,应用会启动失败且报错如下:

因为我们这里使用了80端口,所以我们需要给ehfs设置此权限。
sudo setcap 'cap_net_bind_service=+ep' /path/to/your/executable# sudo setcap 'cap_net_bind_service=+ep' /home/cirry/software/ehfs/ehfs如果你不想使用此命令可以使用非特权端口,在ehfs.ini中将端口号修改为1024以上的端口。
设置开机自动启动服务
sudo systemctl enable ehfs.service启动服务
sudo systemctl start ehfs.service查看服务状态
sudo systemctl status ehfsdebug
如果服务启动失败,可以使用此命令查看报错日志
sudo journalctl -u ehfs
至此我们的ehfs文件共享服务器就安装完成了。