Búsqueda de sitios web

Lychee: un excelente sistema de gestión de fotografías 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 para gestionar y compartir fotografías de forma segura en su servidor. Le permite administrar fácilmente (cargar, mover, cambiar el nombre, describir, eliminar o buscar) sus fotos en segundos desde una simple aplicación web.

Características del lichi

  • Una interfaz hermosa e impresionante para administrar todas tus fotos en un solo lugar, directamente desde tu navegador.
  • Compartir fotos y álbumes con un solo clic con protección por contraseña.
  • Vea todas sus imágenes en modo de pantalla completa con navegación hacia adelante y hacia atrás usando su teclado o permita que otros exploren sus fotos haciéndolas públicas.
  • Admite la importación de fotografías desde varias fuentes: localhost, Dropbox, servidor remoto o mediante un enlace.

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. -Base de datos.

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

Paso 1: instale 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 Lychee.

En Cent/RHEL/Rocky Linux y AlmaLinux

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

En Ubuntu y Debian

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, habilite en el momento del arranque y verifique 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.4-fpm mysql
sudo systemctl status nginx php7.4-fpm mysql
sudo systemctl enable nginx php7.4-fpm mysql

3. A continuación, si tiene un firewall habilitado en su sistema, necesita abrir los puertos 80 y 443 en el firewall para permitir que el cliente solicitudes 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.4/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 www.conf del socket 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

Además, cambie la directiva listen para aceptar solicitudes FastCGI a un socket Unix.

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

Y establezca los permisos de propiedad apropiados para el socket Unix usando 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.4-fpm      #Ubuntu/Debian

Paso 2: Instalación segura de MariaDB

6. En este paso, debe proteger la instalación de la base de datos MariaDB (que no es segura de forma predeterminada si se instala 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 establezca una contraseña root, elimine usuarios anónimos, deshabilite el inicio de sesión de root de forma remota y elimine la base de datos de prueba. Después de crear una contraseña de root, responda sí/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: Instale el sistema de gestión de fotografías Lychee

7. Para instalar Lychee, primero debe crear una base de datos 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 '=@!#@%$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 obtenga la última versión de Lychee usando 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, establezca 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/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 este paso, debe configurar composer en el directorio de instalación de lychee, que se utilizará 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 (este es solo un dominio ficticio).

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;
	}
}

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ó. lichi y haga clic en Conectar.

14. A continuación, introduzca un nombre de usuario y una contraseña para su instalación y haga clic en Crear inicio de sesión. Después de iniciar sesión, accederá al 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 las fotos de un álbum, simplemente haz 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 fotografías PHP elegante, fácil de usar y de código abierto para gestionar y compartir fotografías. Si tienes alguna pregunta o comentario, utiliza el siguiente formulario para escribirnos.