本站提供Linux服务器运维,自动化脚本编写等服务,如有需要请联系博主微信:xiaozme
Zdir是一款使用PHP开发的目录列表程序,无需数据库,安装简单,使用方便。现已支持Docker方式部署,欢迎使用。
Docker手动部署(需一定运维基础)
安装Docker
请先确保您已经安装Docker,若还没有安装可参考:Linux安装Docker与Docker常用命令
Docker部署Zdir
输入下面的命令创建用户和用户组,并设置目录权限。
#创建用户和用户组
groupadd www
useradd -M -g www www -s /sbin/nologin
#设置目录权限
chown -R www:www /data/wwwroot/zdir
复制下面的命令在Docker容器中运行Zdir
docker run --name="zdir" \
-d -p 1080:80 --restart=always \
-v /data/wwwroot/default:/data/wwwroot/default \
helloz/zdir \
/usr/sbin/run.sh
安装完毕后访问http://IP:1080
根据页面提示完成操作即可,下面的参数可以自行修改。
1080
:服务器所监听的端口,即Zdir访问端口/data/wwwroot/default
:Zdir路径- 默认用户名
zdir
,密码xiaoz.me
注意:
如果运行没有报错,但是1080
无法访问,请检查防火墙或安全组是否放行1080
端口:
#firewalld放行1080端口
firewall-cmd --zone=public --add-port=1080/tcp --permanent
firewall-cmd --reload
脚本一键安装
如果觉得上面的步骤过于繁琐,可通过xiaoz提供的Docker for Zdir脚本一键安装,大大简化操作步骤。
bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/docker-zdir/master/zdir-install.sh)
安装的时候根据脚本提示完成设置,安装成功后看到的内容如下图:
Nginx反向代理
如果您服务器已经安装Nginx,并希望通过域名方式访问,可配置反向代理访问,配置内容如下:
server
{
listen 80;
server_name zdir.xiaoz.me;
location / {
proxy_pass http://127.0.0.1:1080;
proxy_redirect off;
proxy_set_header Host $host;
client_max_body_size 50m;
client_body_buffer_size 256k;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_max_temp_file_size 200m;
}
location ~ .*\.(js|css|woff|woff2|gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)?$ {
proxy_pass http://127.0.0.1:1080;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
expires 7d;
access_log off;
}
}
zdir.xiaoz.me
为您自己的访问域名,配置完毕后记得重启Nginx生效。
获取捐赠版
扫描下方二维码,捐赠大于30元
以上可获得捐赠版,捐赠版可享受首次技术支持及去除广告,捐赠后请联系我的QQ:337003006获取。
不用反向代理有现成配置ssl证书的吗
可以在容器里面去修改nginx的配置也可以实现,但是不推荐。
大佬请教下,在群辉的docker部署Zdir,通过群辉文件管理界面复制或上传文件到Zdir目录后,在Zdir 网页界面可以看到该文件,但显示文件无权访问,看docker日志也提示访问这个文件 permission denied,只有重启docker后才可以正常从网页下载该文件。请教下这个问题该如何解决呢?
通过Zdir文件管理上传,发现只能上传小文件,稍大点的文件就报错nignx 500,通过其他途径上传文件发现又需要重启docker才能用。。没办法,只能跑过来请教了,谢谢!
1. 容器需要以高权限运行,同时挂载目录需要给User权限或者guest权限
2. php对文件大小有限制,过大的文件建议通过群晖自带的文件管理器上传
多谢回复,群辉试着给了挂载目录users和guest的读取&写入权限,发现还是不行,必须重启docker后,新上传到Zdir目录下的文件才有下载权限。现在不太清楚是哪里的问题,不过无妨了,挂载的文件分享目录变化不频繁,也能接受文件上传后 重启docker这种方式。再次感谢提供这么方便的文件共享工具!
你好 想问下有人买无广告版本嘛 要是没有不如开源吧
有少部分粉丝购买,另外这个是开源的啊,开源好几年了。
我放在子目录里,是能读取文件了,但是下载时路径找找不到,难道读取和下载路径是两个不同的地方设置?不知道在哪里配置?
容器部署的吗还是直接部署的?
假如站点根目录为:wwwroot/abc.com
那么zdir的程序在:wwwroot/abc.com/zdir
要读取的文件放在和zdir同级下,也就是你得站点根目录,比如:wwwroot/abc.com/test
IIS10的服务器,出现两个问题
1、中文路径乱码(PHP72,用PHP56就正常)
2、中文无法搜索
上传文件超过100M 报错 Server responded with 0 code.
PHP NGINX 配置文件已修改
我看了PHP限制的200M,nginx限制的1024M,大文件WEB上传不稳定,建议还是用SFTP工具上传。
如何修改密码呢?
直接修改config.php 这个配置文件就行了。
创建好后,本地共享文件夹里面没有资料。怎么回事
1.5的版本,打开文件夹后,点击上面的“..”会返回根目录,而不上返回上一级目录
有测试地址吗?看下functions/version.txt里面的小版本号是多少呢。
噢噢,我在公司内网用的,给大家共享文件的,我不是放在根目录,然后参照1.3.2修改了home.php里的获取上一级目录,在/后面加上了index.php,现在可以了
v1.50开始已经支持放在子目录,可以参考:https://www.yuque.com/helloz/zdir/install
好的,谢谢站长,我来学习一下
为啥点击文件管理显示404not found
最近推送了Zdir测试版,而Docker版本拉取的最新源码,还没来得及适配,预计本周末解决。
您好,Zdir Docker版已修复,您可以重新安装试试。
19:33 5/31
404 Not Found
另外,可够提供 dockerfile ?
Docker手动部署需要自行下载源码到对应目录,Dockerfile在这里:https://github.com/helloxz/docker-zdir/blob/master/Dockerfile
关于文件清单功能放在apache上正常显示文件,但是在nginx上运行就没有结果,空白显示,点击清楚缓存也没有反应,会是什么原因呢?相关文件的权限也都给了还是没有缓存列表显示
https://i.bmp.ovh/imgs/2020/05/dcb3eb0e808fd57d.png
您是从官方下载的源码吗?感觉您这个修改过呢,之前的版本有BUG,请从这里https://github.com/helloxz/zdir 下载最新版本。
我遇到了和你一样的问题,nginx上缓存测试了n遍都是空白