Cómo instalar Lychee Photo Management System en Debian 12

Lychee es un software de gestión de fotos de código abierto basado en PHP y MySQL. Es un gestor de fotos autoalojado que te permite subir, navegar y compartir fotos de forma segura en tu servidor.

En este tutorial, aprenderás a instalar Lychee Photo Management en un servidor Debian 12. Utilizarás la pila LAMP para ejecutar Lychee y asegurar Lychee con HTTPS mediante Certbot y Letsencrypt.

Requisitos previos

Antes de empezar, asegúrate de que tienes lo siguiente

  • Un servidor Debian 12
  • Un usuario no root con privilegios de administrador

Instalación de dependencias

En esta sección, instalarás la pila LAMP (Linux, Apache, MariaDB y PHP) en el servidor Debian. Por ahora, Lychee admite PHP 8.2 o superior, que está disponible por defecto en el repositorio de Debian.

En primer lugar, ejecuta el siguiente comando para actualizar el índice de paquetes de Ubuntu.

sudo apt update

actualizar repo

Ahora instala los paquetes LAMP Stack en tu sistema Debian con el siguiente comando. Introduce«Y» para confirmar la instalación.

sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath php-imagick php-tokenizer libapache2-mod-php

instalar deps

Una vez finalizada la instalación, ejecuta el siguiente comando para comprobar el estado del servicio Apache. Verás que el servidor web Apache se está ejecutando y está habilitado.

sudo systemctl is-enabled apache2
sudo systemctl status apache2

comprobar apache2

Ahora comprueba el servidor MariaDB con el siguiente comando. El servidor MariaDB debería estar ejecutándose y habilitado automáticamente en tu sistema.

sudo systemctl is-enabled mariadb
sudo systemctl status mariadb

comprobar mariadb

Por último, comprueba la versión de PHP con lo siguiente – Verás que PHP 8.3 está instalado.

php -v
php -m

comprueba la versión de php

Configurar PHP

Una vez instaladas las dependencias, configurarás PHP editando el archivo ‘php.ini’ y reiniciando el servidor web Apache para que surta efecto.

Abre el archivo‘/etc/php/8.3/apache2/php.ini‘ con el editor‘nano‘.

sudo nano /etc/php/8.3/apache2/php.ini

Cambia la configuración por defecto así – Asegúrate de ajustar las opciones‘memory_limit‘ y‘date.timezone‘ en consecuencia.

date.timezone = Europe/Amsterdam
memory_limit = 256M
upload_max_filesize = 64MB
post_max_size = 64MB

Cuando hayas terminado, guarda el archivo y sal del editor.

Ahora ejecuta el siguiente comando‘systemctl’ para reiniciar el servidor web Apache y aplicar tus cambios.

sudo systemctl restart apache2

Configurar el servidor MariaDB

Con el PHP configurado, asegurarás el servidor MariaDB utilizando el comando‘mariadb-secure-installation‘. Y después, crear una nueva base de datos y un nuevo usuario que se utilizarán para Lychee a través del cliente‘mariadb‘.

Ejecuta el siguiente comando‘mariadb-secure-installation‘ para configurar tu servidor MariaDB.

sudo mariadb-secure-installation

Ahora se te pedirán las siguientes configuraciones de MariaDB:

  • Para la instalación por defecto del servidor MariaDB sin contraseña de root, pulsa ENTER cuando se te pregunte por la contraseña.
  • La autenticación local para los usuarios root de MariaDB está asegurada por defecto, introduce ‘n’ cuando se te pregunte si quieres cambiar el método de autenticación a ‘unix_socket’.
  • Introduce «Y» para crear una nueva contraseña de root de MariaDB. A continuación, introduce la contraseña segura de tu usuario raíz de MariaDB y repite la operación.
  • Cuando se te pida que desactives la autenticación remota para el usuario raíz de MariaDB, introduce «Y» para aceptar.
  • La instalación por defecto del servidor MariaDB viene con la base de datos «test» y permite que un usuario anónimo acceda a ella.
  • Introduce «Y» en ambas opciones para eliminar la base de datos «test» por defecto y el privilegio anónimo.
  • Por último, introduce «Y» para confirmar los privilegios de recarga de tablas.

Una vez configurada y asegurada MariaDB, crearás una nueva base de datos y un nuevo usuario que utilizará la instalación de Lychee.

Accede al servidor MariaDB con el siguiente comando‘mariadb‘. Introduce tu contraseña de root de MariaDB cuando se te solicite.

sudo mariadb -u root -p

Ahora ejecuta las siguientes consultas para crear una nueva base de datos‘lychee‘ con el usuario‘lycheeuser@localhost‘ y la contraseña‘LycheePassword‘. Puedes cambiar los detalles de la base de datos según sea necesario.

CREATE DATABASE lychee;
GRANT ALL PRIVILEGES ON lychee. * TO lycheeuser@'localhost' IDENTIFIED BY 'LycheePassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;

crear base de datos y usuario

A continuación, ejecuta la siguiente consulta para asegurarte de que el usuario‘lycheeuser@localhost‘ puede acceder a la base de datos‘lychee‘.

SHOW GRANTS FOR lycheeuser@localhost;

Si todo va bien, verás la siguiente salida:

comprobar base de datos y usuario

Por último, escribe‘quit‘ para salir del servidor MariaDB.

Descargar Lychee Photo Management

Ahora que ya has configurado PHP y MariaDB, vas a descargar el código fuente de Lychee y a configurar el directorio de instalación y el archivo ‘.env’.

Pero antes, instala el paquete ‘unzip’ en tu sistema Debian con el siguiente comando.

sudo apt install unzip -y

Ve al directorio‘/var/www‘ y descarga la versión del código fuente de Lychee utilizando el siguiente comando‘wget’. Asegúrate de coger el enlace a la última versión de la página de publicación de Lychee.

cd /var/www/
wget https://github.com/LycheeOrg/Lychee/releases/download/v5.5.1/Lychee.zip

Una vez descargado, extrae el código fuente de Lychee con el comando‘unzip’ que aparece a continuación. El código fuente se extraerá al directorio‘/var/www/Lychee‘.

unzip Lychee.zip

A continuación, ejecuta el siguiente comando para cambiar la propiedad del directorio‘/var/www/Lychee‘ al usuario‘www-data‘, y hacer que algunos directorios tengan permisos de escritura para el usuario‘www-data‘.

sudo chown -R www-data:www-data /var/www/Lychee
sudo chmod u+rw /var/www/Lychee/{storage,bootstrap/cache/,public/dist,public/uploads,public/sym}

Ahora ejecuta el siguiente comando para copiar el archivo ‘.env‘ para Lychee y modifícalo utilizando el editor‘nano‘.

sudo -u www-data cp /var/www/Lychee/.env-example /var/www/Lychee/.env
sudo -u www-data nano /var/www/Lychee/.env

Cambia la APP_URL por defecto por tu nombre de dominio y la configuración de la base de datos por‘mysql’ y los detalles de tu base de datos como se indica a continuación:

# domain name
APP_URL=https://photo.howtoforge.local
# database to MariaDB/MySQL
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lychee
DB_USERNAME=lycheeuser
DB_PASSWORD=LycheePassword

Guarda el archivo y sal del editor.

Creación del host virtual Apache

En esta sección, crearás un nuevo archivo de host virtual Apache para ejecutar Lychee Photo Management.

En primer lugar, ejecuta el siguiente comando para activar el módulo ‘rewrite’.

sudo a2enmod rewrite

Ahora edita la configuración de Apache‘/etc/apache2/apache.conf‘ utilizando‘nano‘.

sudo nano /etc/apache2/apache.conf

Añade la siguiente configuración al archivo. Esto te permitirá configurar el ‘.htaccess‘ para las reglas de reescritura.

<Directory /var/www/Lychee>
 Options Indexes FollowSymLinks
 AllowOverride All
 Require all granted
</Directory>

Guarda el archivo y sal del editor.

Ahora crea una nueva configuración de host virtual Apache‘/etc/apache2/sites-available/lychee.conf‘ con el comando de editor‘nano‘ que aparece a continuación.

sudo nano /etc/apache2/sites-available/lychee.conf

Pega la siguiente configuración y asegúrate de cambiar la opción‘ServerName’ por el nombre de tu dominio de destino. Asegúrate de que es igual que la APP_URL dentro del archivo ‘.env‘.

<VirtualHost *:80>
ServerAdmin [email protected]
ServerName photo.howtoforge.local

DocumentRoot /var/www/Lychee/

ErrorLog /var/log/apache2/photo-howtoforge-local-error_log
CustomLog /var/log/apache2/photo-howtoforge-local-access_log common

</VirtualHost>

Cuando hayas terminado, guarda y sal del archivo.

Ahora ejecuta el siguiente comando para activar el archivo de host virtual‘lychee.conf‘ y verifica tu sintaxis de Apache. Si la sintaxis de Apache es correcta, verásel mensaje «La sintaxis es correcta«.

sudo a2ensite lychee.conf
sudo apachectl configtest

Por último, ejecuta el siguiente comando para reiniciar Apache y aplicar tus cambios.

sudo systemctl restart apache2

configurar apache

Proteger Lychee con HTTPS

Si estás ejecutando Lychee en el nombre de dominio público, asegúrate de asegurarlo con HTTPS. En esta sección, instalarás Certbot y asegurarás Lychee con certificados SSL/TLS de Letsencrypt.

Ejecuta el siguiente comando para instalar Certbot y el plugin de Apache.

sudo apt install certbot python3-certbot-apache -y

Una vez completada la instalación, ejecuta el siguiente comando‘certbot‘ para generar nuevos certificados SSL/TLS para la instalación de Lychee. Asegúrate de cambiar el nombre de dominio y la dirección de correo electrónico en este comando.

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d photo.howtoforge.local

Cuando se complete el proceso, tu instalación de Lychee debería estar protegida con HTTPS y tus certificados SSL/TLS estarán disponibles en el directorio ‘/etc/letsencrypt/live/domain.com’.

Instalación de Lychee Photo Management

Visita el dominio de instalación de Lychee, como https://photo.howtoforge.local/, utilizando tu navegador web preferido y verás el asistente de instalación de Lychee.

Haz clic en Siguiente para proceder a la instalación.

instalar lichi

Asegúrate de que todas las extensiones de PHP están instaladas y de que el módulo de «reescritura» de Apache está activado en tu sistema.

comprobación de dependencias

Asegúrate de que PHP puede leer, escribir y ejecutar dentro de algunos de esos directorios.

directorios con permisos de escritura

Comprueba el archivo ‘.env’ dentro de tu pantalla y asegúrate de que el nombre de tu dominio y los datos de MariaDB son correctos.

archivo .env

Ahora el instalador generará la clave de aplicación para Lychee.

clave de aplicación generada

Introduce tu usuario administrador, dirección de correo electrónico y contraseña. Y la instalación de Lychee debería completarse.

crear acceso de administrador

En la página de inicio de Lychee, haz clic en el indicador de inicio de sesión e introduce tu usuario y contraseña de administrador.

iniciar sesión en lichi

A continuación puedes ver el panel de usuario de Lychee después de subir algunas imágenes al servidor de Lychee.

salpicadero de lichi

Conclusión

¡Enhorabuena! Has completado la instalación de Lychee Photo Management en el servidor Debian 12 con la pila LAMP (Linux, Apache, MariaDB y PHP). También has asegurado Lychee con HTTPS mediante Certbot y Letsnencyrpt.

También te podría gustar...