经过简单调研,从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.rpmwget 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照片管理平台的安装与使用总结相关推荐

  1. 【云原生之Docker实战】使用Docker部署Lychee照片管理平台

    [云原生之Docker实战]使用Docker部署Lychee照片管理平台 一.Lychee介绍 二.检查宿主机系统版本 三.检查本地docker环境 1.检查docker服务状态 2.检查docker ...

  2. docker管理平台 shipyard安装

    http://www.cnblogs.com/cainiaoit/p/6543326.html http://www.cnblogs.com/menglingqian/p/6935726.html h ...

  3. (三)搭建容器云管理平台笔记—安装前准备工作

    2019独角兽企业重金招聘Python工程师标准>>> 一.参考文档 1. 官网:https://kubernetes.io/ 2. 官网文档: https://kubernetes ...

  4. cas云计算机管理平台添加加密锁,CAS云计算管理平台安装手册.docx

    H3C CAS 云计算管理平台 安装指导 前 言 H3C CAS 云计算管理平台 安装指导各章节内容如下: 第 1 章 概述.介绍 CAS 的组成和版本概况. 第 2 章 安装前的准备工作.介绍 CA ...

  5. 天融信七层虚拟服务器设置,一看就会!天融信智慧无线管理平台(ESP)安装图解...

    原标题:一看就会!天融信智慧无线管理平台(ESP)安装图解 熟悉天融信智慧无线的小伙伴都知道,智慧无线的最大特色是"软件定义无线".无需购买笨重的硬件设备,用户将纯软件形式的天融信 ...

  6. Dubbo-Admin管理平台和Zookeeper注册中心的搭建(转)

    林炳文Evankaka原创作品.转载请注明出处http://blog.csdn.net/evankaka ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubb ...

  7. 推荐一款轻量级的kafka管理平台:kafka-console-ui

    点击关注公众号,实用技术文章及时了解 来源:blog.csdn.net/x763795151/article/ details/121294450 介绍 kafka-console-ui 是一款轻量级 ...

  8. spring boot高校二手教材管理平台 毕业设计-附源码231057

    目  录 摘要 1 1 绪论 1 1.1 研究意义 1 1.2开发现状 1 1.3论文结构与章节安排 1 2高校二手教材管理平台 系统分析 3 2.1 可行性分析 3 2.2 系统流程分析 3 2.2 ...

  9. (附源码)springboot高校二手教材管理平台 毕业设计 231057

    目  录 摘要 1 绪论 1.1 研究意义 1.2开发现状 1.3论文结构与章节安排 2高校二手教材管理平台 系统分析 2.1 可行性分析 2.2 系统流程分析 2.2.1数据增加流程 2.3.2数据 ...

最新文章

  1. 用Python解“支票问题”题
  2. python编写单实例总结
  3. mysql 统计做饼状图_PHP+mysql+Highcharts实现饼状统计图
  4. vue项目打包丢入服务器,浅谈vue项目如何打包扔向服务器
  5. 完全二叉树最小深度_树与二叉树递归c++
  6. 面试题,你觉得XX和XX产品有何区别?
  7. 糖原代谢疾病行业调研报告 - 市场现状分析与发展前景预测
  8. Windows7和Ubuntu9.10完美硬盘安装(2)
  9. es 仅返回单个字段 查询_ES性能优化实战,几十亿数据查询 3 秒返回!
  10. mac sqlite可视化工具_Navicat for SQLite 12 for mac(强大数据库管理及开发工具)
  11. 现代化编程 -- 在 Swoole 上开发 Laravel 框架的应用
  12. 【网络安全】物理层(网线、接口、信号、MB/s和Mb/s)
  13. 极验滑动验证码的识别
  14. java实现业务编排_手写实现一套流程编排规则引擎
  15. Daily English(每日一句)
  16. 【JZOJ4598】准备食物
  17. ---- 招聘之操作系统原理 ----
  18. UDS-下载示例解读
  19. ABBYY OCR客开demo
  20. Maven Pom文件标签详解

热门文章

  1. Docker的物理隔离方式及网络桥接模式
  2. Spring学习(适合新人)
  3. html+css 实现导航栏二级菜单——气泡框
  4. 创客使用Fusion 360 - 编辑模型
  5. 多边形分割成若干凸多边形(NavMesh的初步形成)
  6. 土豪老板如何用互联网思维在商学院追美女
  7. html页面左侧广告悬浮窗
  8. 微信小游戏开发技术与应用
  9. python抽奖游戏_利用Python写一个抽奖程序,解密游戏内抽奖的秘密
  10. 【第13章】网络安全漏洞防护技术原理与应用(信息安全工程师 )-- 软考笔记