Lychee - Un excelente sistema de gestión de fotos para Linux


Lychee es un sistema de gestión de fotografías gratuito, de código abierto, elegante y fácil de usar, que incluye todas las funciones necesarias que necesita para administrar y compartir de forma segura las fotos en su servidor. Le permite administrar fácilmente (cargar, mover, renombrar, describir, eliminar o buscar) sus fotos en segundos desde una aplicación web simple.

  • A stunning, beautiful interface to manage all your photos in one place, right from your browser.
  • One click photo and album sharing with password protection.
  • View all your images in full-screen mode with forward and backward navigation using your keyboard or let others browse your photos by making them public.
  • Supports importing of photos from various sources: localhost, Dropbox, remote server, or using a link.

Para instalar Lychee, todo lo que necesita es un servidor web en ejecución como Apache o Nginx con PHP 5.5 o posterior y un MySQL -Database .

A los efectos de este artículo, instalaré el Lychee sistema de gestión de fotos con Nginx , PHP-FPM 7.0 y MariaDB en un VPS CentOS 7 con el nombre de dominio lychee.example.com .

Paso 1: Instalar Nginx, PHP y MariaDB

1. Primero comience instalando Nginx , PHP con las extensiones necesarias y la base de datos MariaDB para configurar un entorno de alojamiento para ejecutar Lichi .

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum install yum-utils
# yum-config-manager --enable remi-php70   [Install PHP 7.0]
# 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. Una vez que haya instalado los paquetes necesarios, inicie los servicios nginx , php-fpm y mariadb , habilítelos en el momento del arranque y compruebe si estos servicios están en funcionamiento.

------------ 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.0-fpm mysql
$ sudo systemctl status nginx php7.0-fpm mysql
$ sudo systemctl enable nginx php7.0-fpm mysql

3. A continuación, si tiene un firewall habilitado en su sistema, debe abrir el puerto 80 y 443 en el firewall para permitir que el cliente solicita al servidor web Nginx en HTTP y HTTPS respectivamente, como se muestra.

------------ 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. Para ejecutar Lychee de manera efectiva, se recomienda aumentar los valores de las siguientes propiedades en el archivo php.ini .

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

Busque estos parámetros de PHP y cambie sus valores a:

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

5. Ahora configure PHP-FPM para configurar el usuario y el grupo, escuche el archivo socket www.conf como se explica.

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

Busque las directivas a continuación para configurar el usuario/grupo de procesos de Unix (cambie www-data a nginx en CentOS ).

user = www-data
group = www-data

También cambie la directiva escuchar para aceptar las solicitudes FastCGI a un socket Unix.

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

Y establezca los permisos de propiedad adecuados para el socket Unix mediante la directiva (cambie www-data a nginx en CentOS/RHEL ).

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

Guarde el archivo y reinicie los servicios nginx y php-fpm .

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

Paso 2: Asegurar la instalación de MariaDB

6. En este paso, debe asegurar la instalación de la base de datos MariaDB (que no está protegida de forma predeterminada si está instalada en un sistema nuevo), ejecutando el script de seguridad que viene con el paquete binario

Ejecute el siguiente comando como root, para iniciar el script.

$ sudo mysql_secure_installation

Se le pedirá que configure una contraseña raíz , elimine usuarios anónimos, desactive el inicio de sesión de forma remota y elimine la base de datos de prueba. Después de crear una contraseña de root, y responda yes/y al resto de las preguntas.

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

Paso 3: Instalar Lychee Photo Management System

7. Para instalar Lychee , primero debe crear una base de datos para ella con los permisos adecuados utilizando los siguientes comandos.

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

8. A continuación, vaya a la raíz del documento web y tome la última versión de Lychee con la herramienta de línea de comandos git, como se muestra.

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

9. Luego, configure los permisos y la propiedad correctos en el directorio de instalación como se muestra (reemplace admin con un nombre de usuario en su sistema).

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

10. En este paso, debe configurar compositor en el directorio de instalación lychee , que se usará para instalar las dependencias de 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

Paso 4: Configurar el Bloque del Servidor Nginx para Lychee

12. A continuación, debe crear y configurar un bloque de servidor Nginx para la aplicación Lychee en /etc/nginx/conf.d/

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

Agregue la siguiente configuración en el archivo anterior, recuerde usar su propio nombre de dominio en lugar de lychee.example.com (esto es solo un dominio ficticio)

server {
	listen      80;
	server_name	 lychee.example.com;
	root         	/var/www/html/Lychee/;
	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;
	}
}

Luego guarde el archivo y reinicie el servidor web Nginx y PHP-FPM para aplicar los cambios recientes.

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

Paso 5: Complete la instalación de Lychee a través del navegador web

13. Ahora use la URL lychee.example.com para abrir el instalador web de Lychee en su navegador y proporcione la configuración de conexión de su base de datos e ingrese el nombre de la base de datos que creó para lichi. y haga clic en Conectar .

14. Luego, ingrese un nombre de usuario y contraseña para su instalación y haga clic en Crear inicio de sesión . Después de iniciar sesión, aterrizará en el panel de administración que contiene los Álbumes predeterminados, como se muestra en la siguiente captura de pantalla.

Para cargar una foto o importar desde un enlace o importar desde Dropbox o desde otro servidor o agregar un álbum, haga clic en el signo + . Y para ver fotos en un álbum, simplemente haga clic en él.

Para obtener más información, visite la página de inicio de Lychee: https://lycheeorg.github.io/

Lychee es un sistema de gestión de fotos PHP de código abierto, fácil de usar y elegante para administrar y compartir fotos. Si tiene alguna pregunta o comentario, utilice el siguiente formulario para escribirnos.