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

经过简单调研,从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

你可能感兴趣的:(新奇工具)