美文网首页自己搭建各种服务
Piwigo照片管理平台的安装与使用总结

Piwigo照片管理平台的安装与使用总结

作者: 奇而思 | 来源:发表于2020-02-22 19:39 被阅读0次

    经过简单调研,从Piwigo和Lychee中选择安装Piwigo。

    另外还有一款PhotoPrism目前还在开发之中,先不考虑了。

    安装

    根据github主页, 先安装需求条件:

    nginx

    安装nginx: sudo yum install nginx

    启动nginx: sudo systemctl start nginx.service

    然后访问你的ip或域名就可以看到Nginx的默认页面,说明成功安装。

    开启启动Nginx:sudo systemctl enable nginx.service

    PHP 5.3 or greater

    参考这个

    若直接采用centos中的yum安装:sudo yum -y install php,版本是5.4,远远不够,因此我们要手动更新rpm即可。

    首先获取rpm:

    
    rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm   
    
    rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
    

    然后可以利用 sudo yum list php* 查看目前都有php的什么版本了,可以发现从4-7.2的版本都有,7.2版本名为72w,因此安装该版本即可:

    sudo yum -y install php72w

    但安装完毕后,输入php -v发现并没有该命令,因为php72w只是安装了php最小的库,一些应用还未安装,因此安装一些拓展包即可:

    yum -y install php72w-cli php72w-common php72w-devel php72w-mysql php72w-mbstring php72w-xml

    为了后续实现php与nginx的连接,需要一个FastCGI来实现php与nginx的交流。对于php,php-fpm作为一种fast-cgi进程管理服务,会监听端口,一般默认监听9000端口,并且是监听本机,也就是只接收来自本机的端口请求,可以通过netstat -nlpt|grep php-fpm 来查看

    我们通过上面相似的形式安装:

    sudo yum -y install php72w-fpm.x86_64

    PHP要与PHP-FPM版本一致

    安装完成后,开始php-fpm: sudo systemctl start php-fpm

    开机启动 sudo systemctl enable php-fpm

    php-fpm的监听端口可以在其配置文件中修改(/etc/php-fpm.d/www.conf)

    安装gd库,gd库是一个开源的图像处理库,它通过提供一系列用来处理图片的API,使其可以用来创建图表、图形、缩略图以及其他图像的处理操作。在安装gd库之前,需要安装libpng、jpegsrc、freetype这三款软件。

    sudo yum install php72w-gd

    MySQL 5 or greater or mariadb

    教程

    centos中默认的改为了mariadb,两者是通用的。这里安装mariadb

    按照教程中修改配置等。

    ImageMagick (recommended) or PHP GD

    安装依赖:

    yum install -y fftw fftw-devel fftw-devel bzip2-devel freetype-devel libjpeg-devel libpng-devel libtiff-devel giflib-devel zlib-devel ghostscript-devel djvulibre-devel libwmf-devel jasper-devel libtool-ltdl-devel libX11-devel libXext-devel libXt-devel lcms-devel libxml2-devel librsvg2-devel OpenEXR-devel openjpeg openjpeg-devel openjpe openjpeg2 openjpeg2-devel openjpeg2-libs libwebp libwebp-devel
    
    

    首先下载(http://www.imagemagick.org/script/download.php):

    wget https://imagemagick.org/download/linux/CentOS/x86_64/ImageMagick-libs-7.0.8-64.x86_64.rpm
    
    wget https://imagemagick.org/download/linux/CentOS/x86_64agick-7.0.8-64.x86_64.rpm
    

    安装

    rpm -Uvh ImageMagick-libs-7.0.8-11.x86_64.rpm
    rpm -Uvh ImageMagick-7.0.8-11.x86_64.rpm
    

    如果缺少依赖,则按照提示安装依赖关系

    输入convert --version 能够显示版本则安装完成

    安装piwigo

    以上先决条件都安装完成后,可以开始安装piwigo了。

    首先现在piwigo的压缩包,在github主页上有

    然后将piwigo压缩包的内容放到你的服务器web server上

    配置到nginx,访问对应的网址,piwigo会自动检测,然后跳转到install.php上。

    这里需要先准备一个数据库,建立方式可以参考我的博客

    需要修改的是,在新的mariadb中,创建用户要使用以下方法:

    GRANT USAGE ON *.* TO 'username'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION;

    然后对需要授权的table进行授权即可:

    GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP ON tablename.* TO 'username'@'localhost' IDENTIFIED BY 'password';

    修改数据库位置时,对于centos,需要在/etc/my.cnf.d/client.cnf 中自行添加相关设置。

    然后创建数据库,将用户授权可以读写,最后flush privileges; 刷新系统权限表

    然后转到网页上,网页上的数据库地址填写my.cnf中sock文件的路径。
    用户名、密码为创建的用户名、密码

    问题

    通过查看/var/log/php-fpm/www-error.log 可以看到php相关的错误。

    Class 'DOMDocument' not found

    这是由于没有安装DOM拓展,对于php5之后的版本,可以安装php-xml即可。

    注意要与php版本一致

    安装完成后需要重启php-fpm服务:sudo systemctl restart php-fpm

    查看php扩展

    通过php-config --extension-dir php-config --include-dir 可以看到相关目录,

    另外,可以通过php -i 看到phpinfo的输出

    Call to undefined function mb_detect_encoding()

    首先安装扩展:php72w-mbstring.x86_64

    使用

    相册

    相册album是画廊gallery的基本结构,分为2类: 虚拟virtual和实体physical

    • 虚拟相册 :虚拟相册不对应实体的文件夹,更像是数据库中的逻辑结构,可以从管理面板-相册-管理中创建虚拟相册
    • 实体相册:如果使用ftp+同步的方式添加图片到gallery,那么就相当于创建了实体相册。实体相册表示的是在服务器下galleries文件夹下的任何层级的目录。如果是远程,那么可以通过ftp传输,如果在本地,可以直接对文件夹进行操作。每个相册都可以存在很多等级

    我觉得相册管理可以以实体相册为主,因为虚拟相册可以在不移动相片的情况下,将其加入任何实体相册,而实体相册的移动则伴随着相片的移动,比较费时。

    在galleries下面,可以先建立一个大文件夹,里面优先以年份作为名称建立文件夹,在每个文件夹中以日期加事件简述的形式再建立文件夹,在这一层文件夹中存储照片。

    对于虚拟相册则比较灵活,可以以主题等形式灵活创建

    在进行图片整理得过程中,可能会需要移动照片。但是,移动照片后,piwigo再进行同步时,会将移动过的照片的信息在数据库中删除,然后在新的位置添加。这样,已经添加过的metadata就消失了。为了解决这个问题,可以使用physical photo move插件

    metadata

    相片的元数据:基本元数据,exif,iptc,makernotes等

    基本数据:大小、颜色、甚至是缩略图
    exif:相机数据
    iptc:描述图像的内容,例如titles,descriptions,keywords等
    makernotes:设备相关的一些数据等

    缩略图

    https://odd-one-out.serek.eu/code/piwigo-thumbnail-generation-script/

    piwigo自动生成的缩略图放在了_data/i/galleries/_data/i/upload

    插件

    安装插件:可以在管理面板安装,也可以到官网上下载之后上传到网站服务器的目录下的plungins目录下即可,文件所属用户改为nginx用户,我的是www

    piwigo-videojs

    需要安装mediainfo, ffmpeg

    为了让ffmpeg能够转化格式,需要安装一些库:libfaad2 libx264-123 libvorbis0a libvorbisenc2 libvorbisfile3 libvpx1 libxvidcore4

    安装方法参照这个

    在安装x264时,还需要安装nasm,要求版本>2.13。去官网(https://www.nasm.us/pub/nasm/releasebuilds/)下载(https://www.nasm.us/pub/nasm/releasebuilds/2.14/nasm-2.14.tar.gz),然后编译安装

    安装exiftool:(如果报错,需要先安装yum install perl-devel)

    git clone https://github.com/exiftool/exiftool.git
    cd exiftool
    perl Makefile.PL
    make
    make test
    sudo make install
    

    另外,还需要安装videojs来进行播放。videojs是开源的html5播放器。

    先安装node.js sudo yum install -y nodejs

    启用淘宝镜像:npm install -g cnpm --registry=https://registry.npm.taobao.org

    启用淘宝的npm镜像cnpm,注意:启用后当我们要输入npm命令时,就需要输入cnpm

    先安装sudo cnpm install grunt

    然后安装videojs:cnpm install video.js

    安装完成后在管理面板选择对应的videojs版本即可。

    physical photo move

    参照github主页

    对于移动相册,后台-相册-管理-选择需要移动的物理相册-编辑,在此页面下多了一个move_button,选择要移动到的位置,可以先勾选only perform a simulation来进行测试,没问题后再移动

    为了保证能够移动,请记得将文件夹权限设为777

    这个只能进行移动,不能进行重命名。因此对于文件夹的命名要谨慎

    扩展

    与kodi链接

    https://github.com/abrenoch/piwigo-kodi

    相关文章

      网友评论

        本文标题:Piwigo照片管理平台的安装与使用总结

        本文链接:https://www.haomeiwen.com/subject/fwkrqhtx.html