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
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
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
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
Por último, comprueba la versión de PHP con lo siguiente – Verás que PHP 8.3 está instalado.
php -v php -m
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;
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:
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
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.
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.
Asegúrate de que PHP puede leer, escribir y ejecutar dentro de algunos de esos directorios.
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.
Ahora el instalador generará la clave de aplicación para Lychee.
Introduce tu usuario administrador, dirección de correo electrónico y contraseña. Y la instalación de Lychee debería completarse.
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.
A continuación puedes ver el panel de usuario de Lychee después de subir algunas imágenes al servidor de Lychee.
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.