Lychee: un gran sistema de gestió de fotografies per a Linux


Lychee és un sistema de gestió de fotografies gratuït, de codi obert, elegant i fàcil d'utilitzar, que inclou totes les funcions necessàries que necessiteu per gestionar i compartir fotos de manera segura al vostre servidor. Et permet gestionar fàcilment (penjar, moure, canviar el nom, descriure, eliminar o cercar) les teves fotos en qüestió de segons des d'una senzilla aplicació web.

  • Una interfície impressionant i bonica per gestionar totes les teves fotos en un sol lloc, directament des del teu navegador.
  • Compartir fotos i àlbums amb un sol clic amb protecció amb contrasenya.
  • Consulteu totes les vostres imatges en mode de pantalla completa amb navegació cap endavant i cap enrere amb el teclat o deixeu que altres naveguin per les vostres fotos fent-les públiques.
  • Admet la importació de fotos des de diverses fonts: localhost, Dropbox, servidor remot o mitjançant un enllaç.

Per instal·lar Lychee, tot el que necessiteu és un servidor web en execució com Apache o Nginx amb PHP 5.5 o posterior i una base de dades MySQL.

Als efectes d'aquest article, instal·laré un sistema de gestió de fotografies Lychee amb Nginx, PHP-FPM 7.0 i MariaDB en un VPS RHEL 8 amb nom de domini lychee.example.com.

Pas 1: instal·leu Nginx, PHP i MariaDB

1. Primer comenceu instal·lant Nginx, PHP amb les extensions necessàries i la base de dades MariaDB per configurar un entorn d'allotjament per executar Lychee.

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-8.rpm
# yum install yum-utils
# yum-config-manager --enable remi-php74   [Install PHP 7.4]
# yum install nginx php php-fpm php-mysqli php-exif php-mbstring php-json php-zip php-gd php-imagick mariadb-server mariadb-client
$ sudo apt install nginx php php-fpm php-mysqli php-exif php-mbstring php-json php-zip php-gd php-imagick mariadb-server mariadb-client

2. Un cop instal·lats els paquets necessaris, inicieu els serveis nginx, php-fpm i mariadb, activeu-los en el moment de l'arrencada i comproveu si aquests serveis estan en funcionament.

------------ CentOS/RHEL ------------
# systemctl start nginx php-fpm mariadb
# systemctl status nginx php-fpm mariadb
# systemctl enable nginx php-fpm mariadb
------------ Debian/Ubuntu ------------
$ sudo systemctl start nginx php7.4-fpm mysql
$ sudo systemctl status nginx php7.4-fpm mysql
$ sudo systemctl enable nginx php7.4-fpm mysql

3. A continuació, si teniu un tallafoc habilitat al vostre sistema, heu d'obrir els ports 80 i 443 al tallafoc per permetre les sol·licituds de client al servidor web Nginx a HTTP i HTTPS respectivament, tal com es mostra.

------------ Debian/Ubuntu ------------
$ sudo  ufw  allow 80/tcp
$ sudo  ufw  allow 443/tcp
$ sudo  ufw  reload
------------ CentOS/RHEL ------------
# firewall-cmd --zone=public --permanent --add-port=80/tcp
# firewall-cmd --zone=public --permanent --add-port=443/tcp
# firewall-cmd --reload

4. Per executar Lychee de manera eficaç, es recomana augmentar els valors de les propietats següents al fitxer php.ini.

# vim /etc/php/php.ini			#CentOS/RHEL
$ sudo vim /etc/php/7.4/fpm/php.ini     #Ubuntu/Debian 

Cerqueu aquests paràmetres PHP i canvieu-ne els valors a:

max_execution_time = 200
post_max_size = 100M
upload_max_size = 100M
upload_max_filesize = 20M
memory_limit = 256M

5. Ara configureu PHP-FPM per configurar l'usuari i el grup, escolteu el fitxer www.conf del socket tal com s'explica.

# vim /etc/php-fpm.d/www.conf		        #CentOS/RHEL
$ sudo vim /etc/php/7.0/fpm/pool.d/www.conf	#Ubuntu/Debian

Cerqueu les instruccions següents per configurar l'usuari/grup de processos Unix (canvieu www-data a nginx a CentOS).

user = www-data
group = www-data

A més, canvieu la directiva listen per acceptar les sol·licituds FastCGI a un sòcol Unix.

listen = /run/php/php7.4-fpm.sock

I configureu els permisos de propietat adequats per al sòcol Unix mitjançant la directiva (canvieu www-data a nginx a CentOS/RHEL).

listen.owner = www-data
listen.group = www-data

Deseu el fitxer i reinicieu els serveis nginx i php-fpm.

# systemctl restart nginx php-fpm              #CentOS/RHEL
$ sudo systemctl restart nginx php7.4-fpm      #Ubuntu/Debian

Pas 2: instal·lació segura de MariaDB

6. En aquest pas, hauríeu de protegir la instal·lació de la base de dades MariaDB (que no està segura per defecte si s'instal·la en un sistema nou), executant l'script de seguretat que ve amb el paquet binari.

Executeu l'ordre següent com a root per iniciar l'script.

$ sudo mysql_secure_installation

Se us demanarà que configureu una contrasenya d'arrel, elimineu usuaris anònims, desactiveu l'inici de sessió d'arrel de forma remota i elimineu la base de dades de prova. Després de crear una contrasenya d'arrel, respon sí/i a la resta de preguntes.

Enter current password for root (enter for none):
Set root password? [Y/n] y Remove anonymous users? [Y/n] y Disallow root login remotely? [Y/n] y Remove test database and access to it? [Y/n] y Reload privilege tables now? [Y/n] y

Pas 3: instal·leu Lychee Photo Management System

7. Per instal·lar Lychee, primer, heu de crear-hi una base de dades amb els permisos adequats mitjançant les ordres següents.

$ sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE lychee; 
MariaDB [(none)]> CREATE USER 'lycheeadmin'@'localhost' IDENTIFIED BY '[email !#@%$Lost';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON  lychee.* TO 'lycheeadmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

8. A continuació, aneu a l'arrel del document web i agafeu la darrera versió de Lychee mitjançant l'eina de línia d'ordres git, tal com es mostra.

$ cd /var/www/html/
$ sudo git clone --recurse-submodules https://github.com/LycheeOrg/Lychee.git

9. A continuació, configureu els permisos i la propietat correctes al directori d'instal·lació tal com es mostra (substituïu l'administrador per un nom d'usuari al vostre sistema).

------------ CentOS/RHEL ------------
# chown admin:nginx -R /var/www/html/Lychee/public
# chmod 775 -R /var/www/html/Lychee/public
------------ Debian/Ubuntu ------------
$ sudo chown admin:www-data -R /var/www/html/Lychee/public
$ sudo chmod 775  -R /var/www/html/Lychee/public

10. En aquest pas, heu de configurar el compositor al directori d'instal·lació de lychee, que s'utilitzarà per instal·lar dependències PHP.

# cd Lychee/
# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php -r "if (hash_file('sha384', 'composer-setup.php') === '93b54496392c062774670ac18b134c3b3a95e5a5e5c8f1a9f115f203b75bf9a129d5daa8ba6a13e2cc8a1da0806388a8') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;"
# php composer-setup.php
# php -r "unlink('composer-setup.php');"
# php composer.phar update

Pas 4: configureu el bloc del servidor Nginx per a Lychee

12. A continuació, heu de crear i configurar un bloc de servidor Nginx per a l'aplicació Lychee a /etc/nginx/conf.d/.

# vim /etc/nginx/conf.d/lychee.conf

Afegiu la configuració següent al fitxer anterior, recordeu utilitzar el vostre propi nom de domini en lloc de lychee.example.com (això és només un domini fictici).

server {
	listen      80;
	server_name	 lychee.example.com;
	root         	/var/www/html/Lychee/public;
	index       	index.html;

	charset utf-8;
	gzip on;
	gzip_types text/css application/javascript text/javascript application/x-javascript 	image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon;
	location / {
		try_files $uri $uri/ /index.php?$query_string;
	}
	location ~ \.php {
		include fastcgi.conf;
		fastcgi_split_path_info ^(.+\.php)(/.+)$;
		fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	}
	location ~ /\.ht {
		deny all;
	}
}

A continuació, deseu el fitxer i reinicieu el servidor web Nginx i PHP-FPM per aplicar els canvis recents.

# systemctl restart nginx php-fpm              #CentOS/RHEL
$ sudo systemctl restart nginx php7.0-fpm      #Ubuntu/Debian

Pas 5: completeu la instal·lació de Lychee mitjançant el navegador web

13. Ara utilitzeu l'URL lychee.example.com per obrir l'instal·lador web de Lychee al vostre navegador i proporcioneu la configuració de connexió de la vostra base de dades i introduïu el nom de la base de dades que heu creat per a Lychee i feu clic a Connecta.

14. A continuació, introduïu un nom d'usuari i una contrasenya per a la vostra instal·lació i feu clic a Crea un inici de sessió. Després d'iniciar sessió, arribareu al tauler d'administració que conté els àlbums predeterminats, tal com es mostra a la captura de pantalla següent.

Per carregar una foto o importar des d'un enllaç o importar des de Dropbox o des d'un altre servidor o afegir un àlbum, feu clic al signe +. I per veure fotos en un àlbum, només cal que feu-hi clic.

Per obtenir més informació, visiteu la pàgina d'inici de Lychee: https://lycheeorg.github.io/

Lychee és un sistema de gestió de fotos PHP de codi obert, fàcil d'utilitzar i elegant per gestionar i compartir fotos. Si teniu cap pregunta o comentari, utilitzeu el formulari següent per escriure'ns.