unraid NAS开源相册piwigo的一些补充(中文名,自动同步)

2020-03-08 20:44:13 14点赞 88收藏 38评论

关于piwigo安装、设置请参考铁茄子的这两篇文章,我也是看了他的文章后安装的,在此表示感谢。

争取不做陈老师-UNRAID相册搭建,带APP哟小编注:此篇文章来自#原创新人#活动,成功参与活动将获得额外100金币奖励。2020年新人计划正在进行,点击查看活动详情使用UNRAID有一段时间了,相对于群晖的全家桶显得不是很方便,需要自己进行补足,这次带来的是照片相关的功能补足。Piwigo简介:Piwigo是由活跃的用户和开发人员社区内置的W铁茄子| 39 评论47 收藏319查看详情争取不做陈老师-UNRAID相册Piwigo补完篇前言:之前写过一篇关于Piwigo的安装指南,安装的不是很完美,比如相册的目录隐藏的太深,评论中有值友提到不支持视频的上传等问题。因为之前只是造轮子,希望有后来者帮忙装引擎,所以整个文章编写的比较粗糙。1.自定义相册位置:值友@江枫雨写过一个自定义相册位置,感谢这次我们换个更加简单的法子打开Dock铁茄子| 4 评论35 收藏29查看详情

本文是自己使用中遇到的问题和解决方案,因在原帖回复可能说不清楚,故单独发一篇。

以下说明根据unraid docker安装piwigo为例,用群晖的可以参考。

1、让piwigo支持中文目录名和文件名

安装过LocalFiles Editor的话(强烈建议安装),登录admin账户-插件-LocalFiles Editor-本地配置,修改$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.]+$/';为$conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.x00-xff]+$/';

注:1.最后的;号不要漏了

unraid NAS开源相册piwigo的一些补充(中文名,自动同步)

2.x00-xff在正则表达式里表示双字节字符,理论上支持其他双字节语言文件名。之前用过表示中文的u4e00-u9fa5,不知为何没有成功。

2、使用nas上原有目录做为相册

首先,编辑piwigo的docker设置。把nas上原有目录指定为piwigo的/config/www/gallery/galleries目录。比如我原有图片的目录是/mnt/user/Documents/admin/files/Photos,这样设置后Photos目录下的二级目录会做为相册目录。

unraid NAS开源相册piwigo的一些补充(中文名,自动同步)

仅仅设置目录并不能直接在相册里显示,需要进行同步。同样admin账户登录piwigo后,工具-同步,选择目录+文件,取消勾选模拟,点击提交。

unraid NAS开源相册piwigo的一些补充(中文名,自动同步)

成功后会有如下类似提示,如果不成功也会有出错内容提示。

unraid NAS开源相册piwigo的一些补充(中文名,自动同步)

3、自动同步

来源:第二条中设为同步的目录,如果有图片更新,可以利用脚本自动同步。官方开发者plg给的perl脚本,unraid上perl倒是能装上,还需要libwww-perl这个不会装unraid NAS开源相册piwigo的一些补充(中文名,自动同步) 。回帖里Danny Ouellet提供了php脚本,测下来可行。把以下内容存为.php文件,前面几行的$baseurl,$username,$password修改为自己的url,用户名和密码,上传到nas,在终端执行php /目录/名字.php ,如果没有问题的话,unraid可以通过user scripts插件定时执行,或者用crontab。

<?php
$baseurl = 'http://yourpiwigo.com';
$username = 'adminuser';
$password = 'adminpassword';
$url = $baseurl.'/identification.php';
$fields = array(
'username' => $username,
'password' => $password,
'redirect' => '',
'login' => 'on'
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
$cookieJar = 'synchroCookie';
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieJar);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookieJar);
curl_exec($ch);
curl_close ($ch);
unset($ch);
$url = $baseurl.'/admin.php?page=site_update&site=1';
$fields = array(
'sync' => urlencode('files'),
'privacy_level' => urlencode('0'),
'subcats-included' => urlencode('1'),
'submit' => urlencode('on')
);
//url-ify the data for the POST
foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
rtrim($fields_string, '&');
//open connection
$ch = curl_init();
//set the url, number of POST vars, POST data
curl_setopt($ch,CURLOPT_URL, $url);
curl_setopt($ch,CURLOPT_POST, count($fields));
curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);
curl_setopt ($ch, CURLOPT_COOKIEJAR, $cookieJar);
curl_setopt ($ch, CURLOPT_COOKIEFILE, $cookieJar);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 0);
curl_exec($ch);
curl_close ($ch);
unset($ch);
?>


展开 收起
38评论

  • 精彩
  • 最新
  • 是不是没写完啊

    校验提示文案

    提交
    写完了啊,就补充这三点。

    校验提示文案

    提交
    收起所有回复
  • 感谢作者解决了piwigo中文不能同步的老大难问题。我已经使用作者的方法同步照片成功,但还有一点小瑕疵:
    1、如果是全中文的目录名和文件名:系统会生成一个galleries名字的相册,相册里面的照片备注不会显示照片名,显示的是-.jpg,如果有多个全中文的目录名,就会生成相同数量的galleries相册;
    2、如果是中文开头的目录名和文件名:系统会自动忽略掉开头的中文,以开头中文后面的字符命名相册和照片备注。

    校验提示文案

    提交
    我试了一下,不会生成galleries名字的相册,目录名就是相册名,名字也不会被改。
    能把你的设置,相册显示等发邮件过来看看吗,一起交流一下。***

    校验提示文案

    提交
    我这没有这两个问题,能否告知具体设置之类

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 能否留个联系方式 教教我一下呗研究几天了 我用的 宝塔搭建的 想 中文同步 第二部 就不会 了 找不到 docker

    校验提示文案

    提交
    1、联系方式留了也不会显示。
    2、要支持中文目录和文件名的话只要按照第一条,登录admin账户,安装LocalFiles Editor插件,修改本地配置就可以了。

    校验提示文案

    提交
    收起所有回复
  • 多谢教程,跟着系列文章折腾了半天,终于成功了,phpadmin那个死活连接不上数据库,没办法用命令搞定了,有个疑问,这个脚本执行下来是什么提示呢?我这显示了一堆类似网站html代码的东西出来,也不知道是否同步成功。

    校验提示文案

    提交
    另外求教这个localfile editor从哪儿安装啊?插件列表里没有这个呢

    校验提示文案

    提交
    插件-管理,在插件列表右边有个“其他可用插件”,点开后里面有很多插件的,搜LocalFiles Editor

    校验提示文案

    提交
    还有1条回复
    收起所有回复
  • 大批量同步有爆过内存吗?Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 20480 bytes> in /config/www/gallery/include/dblayer/functions_mysqli.inc.php on line 909

    校验提示文案

    提交
    我没碰到过,可能我照片不够多 [高兴]

    校验提示文案

    提交
    收起所有回复
  • 请问我这样的扫了以后,我生成了许多@eaDir的相册,请问要怎么排除

    校验提示文案

    提交
    这是群晖生成的隐藏文件夹,不需要的话可以搜下怎么删除。

    校验提示文案

    提交

    loverppc

    作者

    loverppc

    作者
    注意,删除后可能会导致photo station没有缩略图。

    校验提示文案

    提交
    收起所有回复
  • 请问这个手机app连接的时候提示ssl不安全该怎么办?没找到安装证书的地方呀?

    校验提示文案

    提交
    unraid下docker安装的话,1、修改/mnt/user/appdata/piwigo/nginx/site-confs/default文件,server_name改成自己的域名。

    2、拷贝域名证书crt和key文件到/mnt/user/appdata/piwigo/keys目录,名字分别改为cert.crt和cert.key。

    3、修改piwigo的docker配置,添加一条port记录,主机端口(比如10443)映射到docker的443端口,如果没有其他服务要用443端口也可以主机443端口映射到docker的443端口。路由器防火墙添加一条端口转发到上述主机端口。

    linuxserver/piwigo这个docker是自带nginx的,修改它的站点配置文件,做好主机和docker间的端口映射应该就可以了。

    校验提示文案

    提交
    我还是不太明白,server_name这个是整个替换掉还是——里插入数值。能否求个联系方式,这个部署证书的问题已经围绕我两天了

    校验提示文案

    提交
    还有4条回复
    收起所有回复
  • 最终不能同步视频

    校验提示文案

    提交
    试试安装piwigo-videojs插件。
    去看看

    校验提示文案

    提交
    试试安装piwigo-videojs插件

    校验提示文案

    提交
    还有2条回复
    收起所有回复
  • piwigo如何在同步中使用软连接路径,都拷贝到一起太困难了

    校验提示文案

    提交
  • 按照楼主的方法修改了LocalFiles Editor,还是不能支持中文

    校验提示文案

    提交
  • 找到解决支持中文目录名的方法了,在楼主要修改的地方输入以下字符:
    $conf['sync_chars_regex'] = '/^[\x{4e00}-\x{9fa5}a-zA-Z0-9-_.\(\>\!@#\s+]+$/u';

    校验提示文案

    提交
    '/^[\x{4e00}-\x{9fa5}a-zA-Z0-9-_.\(\>\!@#\s+]+$/u'; 你少了个括号

    校验提示文案

    提交
    收起所有回复
  • Unraid 上安装的piwigo 。有十万+照片放在galleries目录里,每次同步都出现ngiax错误,网上找了好多教程都没弄好 [大囧] 求大神指导

    校验提示文案

    提交
    nginx错误吗?什么错误,发来我给看看.

    校验提示文案

    提交
    收起所有回复
  • 用楼主的方法成功搞定,感谢分享

    校验提示文案

    提交
  • 为啥我连localFiles Editor都找不到?

    校验提示文案

    提交
  • 楼主又遇到过,每一张照片都变成了一个相册吗。设置了缩略图

    校验提示文案

    提交
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章

loverppc

Ta还没有介绍自己

关注 打赏
最新文章 热门文章
88
扫一下,分享更方便,购买更轻松