×

搭建一套基于HTTP协议的文件服务器,操作简单、开源免费

hqy hqy 发表于2024-08-29 00:46:28 浏览715 评论0

抢沙发发表评论

今天给大家一款使用浏览器就可以实现文件上传、下载功能的文件共享服务器chfs;


chfs全称是Cute Http File Server,它是一个免费的、基本HTTP协议的文件共享服务器,使用浏览器即可实现快速访问。
它具有以下特点:
单个文件提供服务:服务器无需安装其他依赖组件;跨平台运行,支持主流平台:Windows,Linux和Mac;使用界面简洁,简单易用;支持扫码下载和手机端访问,手机与电脑之间共享文件非常方便;支持账户权限控制和地址过滤;支持快速分享文字片段;支持webdav协议;
与其他常用文件共享方式(如FTP,网盘,自己建站)相比,具有使用简单,适用场景更多的优点,在个人使用以及共享给他人的场景中非常方便快捷。


1. 安装环境


操作系统:CentOS7.6
关闭防火墙和SELinux;
配置阿里YUM源:
curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repocurl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo
安装依赖包:
yum install unzip dos2unix wget


2. 安装chfs


chfs安装非常简单,只需要下载文件,运行该文件就可以对外提供服务。


2.1 下载软件


下载:
wget http://iscute.cn/tar/chfs/3.1/chfs-linux-amd64-3.1.zip
其他操作系统访问以下地址选择合适的服务端软件包下载:
http://iscute.cn/chfs


2.2 解压软件包


解压:
unzip chfs-linux-amd64-3.1.zip
将解压后文件复制到bin目录,作用是为了命令,不需要使用全路径:
cp chfs-linux-amd64-3.1 /usr/local/bin/chfs
2.3 增加可执行权限
命令具有可执行权限才可以使用:
chmod +x /usr/local/bin/chfs
查看版本:


图片

2.4 下载样例配置文件


下载配置文件的样例,配置文件中包含如何配置:
mkdir /etc/chfswget -O /etc/chfs/chfs.ini.example http://iscute.cn/asset/chfs.ini
这个文件是在Windows编辑的,可以使用dos2unix命令转换一下:
dos2unix /etc/chfs/chfs.ini.example
样例文件可以不用下载,但你可以在样例文件中学习一下如何配置。


2.5 修改配置文件


配置文件中设置要共享的目录,设置用户权限等信息;
我在这里配置访客用户权限为只读,admin为读写+删除,登录密码为123456;
创建共享目录:
mkdir /chfsdata
修改配置
vi /etc/chfs/chfs.ini
#配置内容如下port=80path=/chfsdataallow=log=/var/log/chfs.loghtml.title=CHFShtml.notice=`文件共享`image.preview=truefolder.download=ssl.cert=ssl.key=session.timeout=file.remove=1[admin]password=123456rule.default=RWDrule.none=rule.r=rule.w=rule.d=[guest]password=rule.default=Rrule.none=rule.r=rule.w=rule.d=


图片


参数说明见chfs.ini.example文件;
必须要有guest帐号,该帐号用于不登录时下载文件;


3. 启动服务

3.1 临时启动


chfs -file /etc/chfs/chfs.ini


图片


默认界面:


图片


登录后就可以上传文件:


图片


不登录只有下载选项:


图片

3.2 永久启动


配置启动脚本:
vi /usr/lib/systemd/system/chfs.service












#写入以下配置[Unit]Description=chfs serverAfter=network.target
[Service]Type=simpleExecStart=/usr/local/bin/chfs -file /etc/chfs/chfs.iniPrivateTmp=true
[Install]WantedBy=multi-user.target


图片


注意:这里的Type不能为forking,否则启动脚本时,像命令在前台运行一样。
启动服务:

systemctl start chfs


图片


查看启动端口:


图片

4. 小结


在Linux下安装基本HTTP协议的文件服务器,可用于简单的文件共享下载。


5. 其他

5.1 设置用户权限


针对不同的用户、不同的目录,设置不能的访问权限,如:





[admin]password=123456rule.default=RWDrule.none=rule.r=rule.w=rule.d=[usera]password=userarule.default=Rrule.none=rule.r=/chfsdata/OArule.w=/chfsdata/OArule.d=/chfsdata/OA[guest]password=rule.default=Rrule.none=/chfsdata/OArule.r=rule.w=rule.d=
注意路径从系统中的根目录开始,如/chfsdata/OA,而不是网页上所显示的根目录,网页上根据的根目录则是path=/chfsdata中的/chfsdata。


5.2 删除文件问题


因为Linux没有回收站,所以参数file.remove=1会出现无法删除的问题,可以设置为直接删除:
file.remove=3
删除时提示如下:


图片


 您阅读本篇文章共花了: 

打赏

本文链接:https://kinber.cn/post/3791.html 转载需授权!

分享到:

群贤毕至

访客