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

  • 1
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Piwigo是一款免费开源使用的多功能图库软件,该软件基于最新的MySQL5与PHP5编程语言开发,性能强大,为用户提供了高效便捷的图片管理功能,用户可根据图片的拍摄时间,类型等信息对其进行分类,还可以手机同步。我这里介绍的是piwigo-videojs,视频插件,我在安装时候走了很多弯路,这里先说下 Piwigo 11.3.0 是支持本插件的 php.ini需要开启 system,putenv,shell_exec 这三个权限 视频生成缩略图,由于主机设置PHP程序执行时间比较短,需要在 plugins\piwigo-videojs\include\function_sync2.php 文件中加入set_time_limit(0);语句 后台插件-LocalFiles Editor-设置-本地配置中需要加入一下参数 $conf['sync_chars_regex'] = '/^[a-zA-Z0-9-_.\x00-\xff]+$/'; $conf['show_exif'] = true; $conf['show_exif_fields'] = array( 'Make', 'Model', 'ExifVersion', 'Software', 'DateTimeOriginal', 'FNumber', 'ExposureBiasValue', 'FILE;FileSize', 'ExposureTime', 'Flash', 'ISOSpeedRatings', 'FocalLength', 'FocalLengthIn35mmFilm', 'WhiteBalance', 'ExposureMode', 'MeteringMode', 'ExposureProgram', 'LightSource', 'Contrast', 'Saturation', 'Sharpness', 'bitrate', 'channel', 'date_creation', 'display_aspect_ratio', 'duration', 'filesize', 'format', 'formatprofile', 'codecid', 'frame_rate', 'latitude', 'longitude', 'make', 'model', 'playtime_seconds', 'sampling_rate', 'type', 'resolution', 'rotation', ); $conf['vjs_mediainfo_dir'] = 'D:\MediaInfo\MediaInfo.exe '; $conf['vjs_exiftool_dir'] = 'D:\exiftool\"exiftool.exe" '; $conf['vjs_ffprobe_dir'] = 'D:\ffmpeg\bin\ffprobe.exe '; $conf['ffmpeg_dir'] = 'D:\ffmpeg\bin\ffmpeg.exe '; 最后的参数是安装piwigo-videojs插件的必须软件,并且需要指出安装位置,如果您已经把参数写到变量里面,可以不用理会直接删除就可以了,注意,在EXE后面有空格,否则执行脚本会出错。 设置环境变量,windows服务器,我的电脑或者此电脑-右键属性-高级-环境变量-找到系统变量,里面变量为PATH-编辑 添加D:\MediaInfo到系统变量(PATH) 添加D:\exiftool到系统变量(PATH) 添加D:\ffmpeg\bin到系统变量(PATH) 在插件里面的piwigo-videojs设置需要提前设置好,在插件里面的同步是没用的,我测试好几次都不能同步数据和生成缩略图和海报 视频不能直接网页上传,需要用FTP上传到galleries目录 例如你要上传 wenhua.mp4 到galleries目录,你需要在galleries目录新建一个英文目录(千万别是中文文件夹或者文件名后期会出错的),上传好后,进网页后台,面板最下面有个 快速本地同步 ,别的同步都不起作用。同步好后,点图片-批量管理,选择您的视频,下面有个操作,选择videojs,需要生成缩略图的自己选择下,然后点执行操作就可以了。 还有个问题,第一次生成海报,你要是第二次在生成海报,前台海报不会变,你需要到 _data\i\galleries\视频目录\pwg_representative 删除这个目录下xxxx-cu_e250.jpg文件,然后刷新下前台
使用Docker部署Piwigo,首先需要安装Docker引擎。Docker引擎是一种容器化平台,可以轻松地部署和管理应用程序。以下是部署Piwigo的步骤: 第一步是通过Docker Hub下载Piwigo镜像。可以使用以下命令: ``` docker pull piwigo ``` 这将从Docker Hub下载最新的Piwigo镜像。 下一步是创建一个数据卷,用于存储Piwigo的配置和图像。可以使用以下命令创建一个名为piwigo_data的数据卷: ``` docker volume create piwigo_data ``` 接下来,需要创建一个Docker容器来运行Piwigo。可以使用以下命令: ``` docker run -d -p 80:80 -v piwigo_data:/var/www/html --name piwigo_container piwigo ``` 此命令将在后台运行一个名为piwigo_container的Docker容器,并将主机的80端口映射到容器的80端口。同时,piwigo_data数据卷将被挂载到容器的/var/www/html目录,用于存储配置和图像。 现在,Piwigo已经在Docker容器中运行,可以通过浏览器访问它。在浏览器中输入服务器的IP地址或域名即可访问Piwigo安装页面。 在安装页面上,需要提供数据库的连接信息。可以使用MySQL或MariaDB作为数据库后端,可以设置数据库的IP地址、端口、用户名、密码和数据库名称。 完成安装后,就可以开始使用Piwigo了。可以上传照片、创建相册,并使用Piwigo的各种功能来管理和共享照片总结一下,使用Docker部署Piwigo可以简化部署过程,并且可以轻松地在不同环境中进行部署和迁移。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值