3、使用
使用
目录
[toc]
版权声明
项目完整名称为:Filesite/Machete,为求简单下文都以machete代替。
这里只做关于此优秀项目的一些个人使用记录,具体信息请访问作者官网,版权归原作者所有。
仓库地址:https://github.com/filesite-io/machete
它足够安全吗
用machete家庭相册系统管理我的照片安全吗?
请放心使用machete家庭相册系统来把本地图片目录转化为一个网站,只要你遵循我们推荐的方式安装部署,它是绝对安全的!
理由如下:
- machete是开源项目,代码公开,接受任何人/机构的安全检测;
- 推荐使用docker安装部署machete,docker的安全机制很完善;
- 只给runtime/目录写入权限,其它文件和目录只读;
Filesite/machete是开放源代码的,它托管在以下几个git网站:
并遵循MIT License,任何个人或公司,只要在保留来源申明的情况下,都可以基于它根据需要做修改后免费使用。
另外,推荐使用docker来安装部署machete家庭相册, 这样基于docker提供的安全沙箱环境,最大程度地保护你的电脑、 服务器不受machete程序影响。
最后,machete程序只有临时文件存放目录runtime/需要开放写入权限,其它文件和目录都只需开放“只读”权限即可, 所以你在使用docker为machete配置volume或者本地映射目录时,相册目录只开放只读权限docker容器, 由此可以进一步确保你的照片目录不会被machete程序修改/删除。
如何更新代码
方案1:更新镜像
docker pull filesite/machete
方案2:更新容器里的代码
docker exec -it machete /var/www/machete/bin/upgrade.sh
[root@docusaurus-wiki ~]#docker exec -it machete sh
/var/www/html # cat /var/www/machete/bin/upgrade.sh
#!/bin/sh
echo "Upgrade machete ..."
echo ""
## 改为优先从gitcode下载,避免域名解析问题
download_link_gitcode="https://gitcode.net/filesite/machete/-/archive/master/machete-master.tar.gz"
download_link_filesite="https://git.filesite.io/filesite/machete/archive/master.tar.gz"
# 检测域名是否能连接
# 返回值:0 - 不能连接,1 - 可连接
detectDomainCanConnect () {
domain=$1
if [ -z "${domain}" ]; then
echo "Usage: detectDomainCanConnect domain"
echo ""
exit 1
fi
ping_res=`ping -c 3 "${domain}"`
if [[ $ping_res == *"100.0% packet loss"* ]]; then
return 0
fi
return 1
}
if [ ! -d /var/www/downloads ]; then
mkdir -p /var/www/downloads
fi
cd /var/www/downloads/
if [ -f master.tar.gz ]; then
rm -f master.tar.gz
fi
if [ -d machete/ ]; then
rm -rf machete/
fi
# 升级machete
detect_domain="gitcode.net"
echo "检测${detect_domain}是否可连接..."
detectDomainCanConnect "${detect_domain}"
connect_res=$?
if [ $connect_res -eq 0 ]; then
echo "⚠️⚠️"
echo "当前网络无法连接[${detect_domain}],即将从备用网址下载machete"
curl --connect-timeout 15 "${download_link_filesite}" -o "master.tar.gz"
else
curl --connect-timeout 15 "${download_link_gitcode}" -o "master.tar.gz"
fi
if [ -f "master.tar.gz" ]; then
tar -zxvf master.tar.gz
rm -f master.tar.gz
# 兼容gitcode的tar包解压后目录为:machete-master/
if [ -d machete-master/ ]; then
mv machete-master/ machete/
fi
rsync -vrL machete/* /var/www/machete/ \
--exclude=www/content/ \
--exclude=www/navs/ \
--exclude=www/girls/ \
--exclude=www/videos/ \
--exclude=www/tajian/ \
--exclude=runtime/
fi
echo "Machete front-end upgraded."
echo ""
# admin/后台不再维护
# upgrade admin
## cd /var/www/downloads/
## curl --connect-timeout 15 "https://git.filesite.io/wen/jialuomaadmin/archive/master.tar.gz" -o "master.tar.gz"
## if [ -f "master.tar.gz" ]; then
##
## tar -zxvf master.tar.gz
## rm -f master.tar.gz
## rm -rf /var/www/machete/www/admin/
## mv jialuomaadmin/dist/ /var/www/machete/www/admin
##
## fi
## echo "Admin system upgraded."
## echo ""
# upgrade nginx config
if [ -d /etc/nginx/http.d/ ]; then
cp /var/www/machete/conf/nginx_machete.conf /etc/nginx/http.d/machete.conf
fi
if [ -d /etc/nginx/conf.d/ ]; then
cp /var/www/machete/conf/nginx_machete.conf /etc/nginx/conf.d/machete.conf
fi
/usr/sbin/nginx -s reload
echo "Nginx config upgraded and reloaded."
echo ""
echo ""
echo "==Machete upgrade done.=="
echo ""
/var/www/html #
系统配置文件在哪里
全局配置文件:conf/app.php
自定义配置文件:runtime/custom_config.json
推荐使用自定义配置文件,以免系统升级后配置被覆盖。
如果是使用docker安装的machete,请自行了解如何修改docker容器里的文件,或者如何把本地文件复制到容器替换。
怎么开启密码授权访问
在目录runtime/下创建配置文件:custom_password.json, 可复制conf/custom_password.json到runtime/目录下进行修改。
也可按下面示例创建:
{
"password_auth": {
"enable": true,
"default": "",
"allow": {
"目录1": "hello",
"目录2": "world"
}
}
}
配置说明:
- enable开关设置true则启用,默认为false关闭状态
- default选项配置全局默认密码,针对所有目录生效
- allow里配置单个目录的授权密码,如果default配置为空,则只有allow里所设置的目录需要密码授权访问
2024年9月5日已解决
- 我的配置:
#1、创建文件
cat > /root/machete/runtime/custom_password.json <<EOF
{
"password_auth": {
"enable": true,
"default": "",
"allow": {
"3-视频": "123456",
"4-高圆圆": "123456"
}
}
}
EOF
chmod 777 custom_password.json
#2、重启生效
cd /root/machete
docker-compose down
docker-compose up -d
- 验证
完美。
如何修改自己网站logo
v1(老版本)
请创建自己的icon文件,命名为favicon.ico,替换根目录下的这个图标即可;
注意: 请清空浏览器缓存后验证新图标,否则可能因为浏览器缓存而看到老的图标。
2024.8.31已解决。
需求
方法
亲自测试
- 利用Favicon.io 制作自己的icon图片:
- 将图片上传到machete容器的
/var/www/machete/www
路径下,替换掉原来的图片
#1、先删除原来容器里默认的图标
docker exec -it machete sh
cd /var/www/machete/www
rm -rf favicon.ico
#2、拷贝自己制作的网站图标到容器
cd /root/machete
ll favicon.ico #自己制作的网站logo
docker cp favicon.ico machete:/var/www/machete/www
#3、重启容器
docker restart machete
#4、浏览器刷新验证(完美)
v2(新版本)
请创建自己的icon文件,命名为favicon.ico,把它复制到你的图片根目录即可;
怎么关闭网页底部的二维码
在runtime/custom_config.json中增加配置:
"showQRImageInFooter": false
自己测试:
#1、创建文件
vim /root/machete/runtime/custom_config.json
{"theme":"beauty","content_directory":"girls/","enableSmallImageForWan":"true","showQRImageInFooter": false}
#2、重启生效
docker restart machete
- 验证(复合预期)
怎么修改底部的版权信息
新版本
- 配置
请在图片根目录下,创建文件README_copyright.txt,内容参考下面示例代码:
<span>©2022 - 2024</span>
by <a href="https://onedayxyy.cn/" target="_blank">One</a>
<br>
执行耗时: {page_time_cost} ms
- 重启容器
cd /root/machete/photo
docker-compose down
docker-compose up -d
- 验证
清空浏览器缓存,测试:(复合预期,完美)
==(旧版本)(舍弃)==
请编辑目录下的php文件:
themes/beauty/views/layout/
找到“尾部网站信息”,按自己的需要修改并保存。
注意本地保存相关文件存档,machete升级系统时会覆盖此目录下的文件。
- 自己配置:
#1、配置
docker exec -it machete sh
cd /var/www/machete/themes/beauty/views/layout
vi main.php
exit
#2、重启生效
docker restart machete
- 验证(符合预期)
怎么修改网站简介信息?
请修改图片根目录下的README.md文件内容(如果你安装的是老版本,看不到这个文件,请手动创建),它是markdown格式的内容。
保存后,点网页右上角“刷新”图标,清空缓存查看效果。
怎么修改网站标题?
网站标题显示在网页左上角,以及浏览器tab栏上,系统默认的标题是“家庭相册”或者“Filesite/Machete”。
请在图片根目录下,创建文件README_title.txt,用一行文字来设置,示例如下:
我的相册