时隔一年zdir目录查看程序推出1.3版,新增docker安装与一键脚本安装
xiaoz的zdir目录查看器程序自2018年6月问世以来受到了众多站长的欢迎,免费版程序目前已经基本满足了很多用户的使用,操作简单界面友好一直都是国内同类开源程序的佼佼者,甚至跟国外比都是一款不错的程序。今年4月5日xiaoz再次更新了zdir 1.3版本,这也是时隔一年后的再次更新,上次的1.2版本已是去年5月底推出的了。伴随本次更新而来的还有一个重大更新就是1.3版将推出docker容器安装版的zdir,并推出了自动安装脚本可一键安装。在5月5日之后下载并解压源码包的应该都能看到,那就是在每个1.3版的程序中都有一个名为zdir-install.sh的docker一键安装脚本,你不仅可以直接从官方github下载sh文件,也可以直接下载源码包后解压得到一键安装脚本,非常方便。
只在5月5日的更新中增加了这一安装脚本,之前4月的没有,请直接到github上下载
1.3 正式版 2020-04-05
1.3 docker版 2020-05-05
功能
- 目录浏览
- MarkDown文件预览
- CSS/JavaScript一键复制
- 文件hash
- 图片预览
- 视频播放(支持.mp4 .ts .m3u8等部分格式)
- 音频播放(支持
.mp3
.wav
.flac
.ape
) - 文本查看器(支持的格式有.txt .sh .py .go .c .cpp)
- Office在线预览(支持.doc .docx .xls .xlsx .ppt .pptx),注意:如果是内网或IP访问方式不支持预览
- 文件索引
- 二维码生成
- 文件管理(上传/删除/编辑等)
- 文件搜索
- 密码验证
- 支持中文显示
1.3更新说明
- 解决Windows不能显示中文问题
- 更新tinyfilemanager版本
- 更新parsedown版本
- 增加使用说明显示
- 优化音乐播放器
- 其它细节优化
解决Windows不能显示中文问题:
在之前的版本中Zdir只能在Linux系统中正常显示中文,此次更新解决了Windows无法显示中文问题,欢迎大家测试。
增加使用说明显示:
Zdir会自动读取当前目录下的README.md
文件,并自动显示在顶部,更加方面的查看使用说明,如下图。(注意:说明文件请严格按照大小写规范创建,必须为README.md
,否则无法显示)
其它优化:
此次更新了tinyfilemanager及parsedown版本,以及一些其它细节优化,比如去掉了一些文字按钮,统一为图标按钮,更多细节大家可自行下载体验。
一些变更:
此次升级文件管理器的用户名由admin
修改为zdir
,登录的时候请务必注意。
升级方法
- 备份好原有文件
- 下载最新版进行覆盖
- 修改
config.php
文件,在数组中追加一个site_name
元素,如下:$siteinfo = array( "site_name" => "<i class='fa fa-sitemap' aria-hidden='true'></i> Zdir", "title" => "Zdir 实用的目录列表程序", "keywords" => "zdir,h5ai,Directory Lister,Fdscript,目录列表,目录索引", "description" => "Zdir是一款使用PHP开发的目录列表程序,简单实用,免费开源。" );
site_name
的参数值为站点左上角的网站名称,请根据自身情况修改。
本次更新解决了Windows服务器的中文显示问题,将以往只能在Linux系统中显示中文扩大到了Windows服务器。使用说明显示在首页当中单独显示,可以直接在线预览,不再显示在文件中了。图标也全部更新为按钮图标取代文字图标。本次更新中最大的改动是登录后台tinyfilemanager的登录名称已经由原来1.2版的admin改为zdir,请各位注意。密码仍在配置文件config.php中修改,下载解压后将config-simple.php文件重命名为config.php或者是复制一份文件改名为config.php都可以,将password后面的密码改为自己设定的密码保存即可,如不修改默认的登录密码为xiaoz.me
修改广告的内容请参考前面的文章 https://www.zzygx.cc/?p=399
tinyfilemanager的目录管理后台程序版本升级为2.4.1,本次更新后将原来可以后台查看整个服务器所有目录的文件改为只能查看zdir目录里的文件与前面浏览器显示的完全一样,需要各位使用者注意这个地方。
本站1.3版本页面 https://www.zzygx.cc/zdir-master-v1.3/
关于更多1.3版更新的介绍请看 https://www.xiaoz.me/archives/14648
docker容器安装有关介绍
接下来为大家介绍本次更新的最大的变化,那就是增加docker容器安装
Docker手动部署(需一定运维基础)
安装Docker
请先确保您已经安装Docker,若还没有安装请看下面的内容
#CentOS 6
rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum -y install docker-io
service docker start
chkconfig docker on
#CentOS 7、Debian、Ubuntu
curl -sSL https://get.docker.com/ | sh
systemctl start docker
systemctl enable docker
下载并解压Zdir(此处省略或直接看主站文章)
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/zdir:/data/wwwroot/default \
helloz/caddy-php:v1.3 \
/usr/sbin/start.sh
安装完毕后访问http://IP:1080
根据页面提示完成操作即可,下面的参数可以自行修改。
1080
:服务器所监听的端口,即Zdir访问端口/data/wwwroot/zdir
:Zdir路径
注意:
如果运行没有报错,但是1080
无法访问,请检查防火墙或安全组是否放行1080
端口:
#Centos 6系统
iptables -I INPUT -p tcp --dport 1080 -j ACCEPT
service iptables save
service iptables restart
#CentOS 7系统
firewall-cmd --zone=public --add-port=1080/tcp --permanent
firewall-cmd --reload
脚本一键安装
如果觉得上面的步骤过于繁琐,可通过xiaoz提供的Docker for Zdir脚本一键安装,大大简化操作步骤。
bash <(curl -Lsk https://raw.githubusercontent.com/helloxz/zdir/master/zdir-install.sh)
一键安装脚本可以自动安装docker,如果你的VPS里已经有docker那么将直接开始容器和程序的安装
安装的时候根据脚本提示完成设置,会提示你需要安装在哪个目录,请将完整目录写上,不写的话默认安装在/data/wwwroot/zdir目录中。端口默认只能1080,提示需要输入密码就输入密码,然后等待安装完毕出现以下提示则安装成功
安装完毕,请访问http://IP地址:1080
Zdir安装路径为:/data/wwwroot/zdir(默认是这个位置,就是你填写的路径)
Zdir用户名为:zdir,密码为:xiaoz.me(这是默认密码,如果不填就是这个)
如需帮助,请访问:https://dwz.ovh/zdir
Nginx反向代理
如果您服务器已经安装Nginx,并希望通过域名方式访问,或者是nginx将1080端口转为80或443端口,可配置反向代理访问,配置内容如下:
server
{
listen 80;
server_name zdir.zzygx.ml;
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.zzygx.ml
为您自己的访问域名,配置完毕后记得重启Nginx生效。
本站docker版zdir 1.3页面 http://zdir.zzygx.in:1080
docker版安装详情请访问 https://www.xiaoz.me/archives/14809
最后我们要说一下一般一键脚本都是自动用docker放行端口,如果是自己配置的也没有开启防火墙的话那么应该怎么利用docker放行端口呢?
#编辑docker配置文件
vi /usr/lib/systemd/system/docker.service
按下I键开始编辑
根据docker版本的不同分为以下两种方法:
#在 ExecStart 行最后面加入内容 -H tcp://0.0.0.0:1080
就是这一行
ExecStart=/usr/bin/dockerd -H fd:// –containerd=/run/containerd/containerd.sock -H tcp://0.0.0.0:1080
#或者在 ExecStart=/usr/bin/dockerd 后插入 -H tcp://0.0.0.0:1080 -H unix://var/run/docker.sock
就是这一行
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:1080 -H unix://var/run/docker.sock -H fd:// –containerd=/run/containerd/containerd.sock
按下Esc键,停止修改。输入:wq!保存修改
#重启虚拟机
systemctl daemon-reload
#重启docker
systemctl restart docker
只要没有报错端口就放行成功了
参考:
https://www.cnblogs.com/dream-saddle/p/11593280.html