Recherche de site Web

Lychee - Un superbe système de gestion de photos pour Linux


Lychee est un système de gestion de photos gratuit, open source, élégant et facile à utiliser, doté de toutes les fonctionnalités nécessaires dont vous avez besoin pour gérer et partager en toute sécurité des photos sur votre serveur. Il vous permet de gérer facilement (télécharger, déplacer, renommer, décrire, supprimer ou rechercher) vos photos en quelques secondes à partir d'une simple application Web.

Caractéristiques du litchi

  • Une superbe et belle interface pour gérer toutes vos photos en un seul endroit, directement depuis votre navigateur.
  • Partage de photos et d'albums en un clic avec protection par mot de passe.
  • Affichez toutes vos images en mode plein écran avec navigation avant et arrière à l'aide de votre clavier ou laissez les autres parcourir vos photos en les rendant publiques.
  • Prend en charge l'importation de photos à partir de diverses sources : localhost, Dropbox, serveur distant ou à l'aide d'un lien.

Pour installer Lychee, tout ce dont vous avez besoin est un serveur Web en cours d'exécution tel que Apache ou Nginx avec PHP 5.5 ou version ultérieure et un MySQL -Base de données.

Pour les besoins de cet article, je vais installer un système de gestion de photos Lychee avec Nginx, PHP-FPM 7.0 et MariaDB sur un VPS RHEL 8 avec le nom de domaine lychee.example.com.

Étape 1 : Installez Nginx, PHP et MariaDB

1. Commencez par installer Nginx, PHP avec les extensions nécessaires et la base de données MariaDB pour configurer un environnement d'hébergement. pour exécuter Lychee.

Sur Cent/RHEL/Rocky Linux et 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

Sur Ubuntu et 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. Une fois que vous avez installé les packages nécessaires, démarrez les services nginx, php-fpm et mariadb, activez au moment du démarrage et vérifiez si ces services sont opérationnels.

------------ 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. Ensuite, si un pare-feu est activé sur votre système, vous devez ouvrir les ports 80 et 443 dans le pare-feu pour permettre au client requêtes au serveur Web Nginx sur HTTP et HTTPS respectivement, comme indiqué.

------------ 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. Afin d'exécuter Lychee efficacement, il est recommandé d'augmenter les valeurs des propriétés suivantes dans le fichier php.ini.

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

Recherchez ces paramètres PHP et modifiez leurs valeurs comme suit :

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

5. Maintenant, configurez PHP-FPM pour définir l'utilisateur et le groupe, écoutez le fichier www.conf du socket comme expliqué.

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

Recherchez les directives ci-dessous pour définir l'utilisateur/groupe de processus Unix (remplacez www-data par nginx sur CentOS).

user = www-data
group = www-data

Modifiez également la directive listen sur laquelle accepter les requêtes FastCGI vers un socket Unix.

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

Et définissez les autorisations de propriété appropriées pour le socket Unix à l'aide de la directive (remplacez www-data par nginx sur CentOS/RHEL).

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

Enregistrez le fichier et redémarrez les services nginx et php-fpm.

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

Étape 2 : Installation sécurisée de MariaDB

6. Dans cette étape, vous devez sécuriser l'installation de la base de données MariaDB (qui n'est pas sécurisée par défaut si elle est installée sur un nouveau système), en exécutant le script de sécurité fourni avec le paquet binaire.

Exécutez la commande suivante en tant que root pour lancer le script.

sudo mysql_secure_installation

Vous serez invité à définir un mot de passe root, à supprimer les utilisateurs anonymes, à désactiver la connexion root à distance et à supprimer la base de données de test. Après avoir créé un mot de passe root, répondez oui/ou au reste des questions.

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

Étape 3 : Installer le système de gestion de photos Lychee

7. Pour installer Lychee, vous devez d'abord créer une base de données avec les autorisations appropriées à l'aide des commandes suivantes.

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. Ensuite, accédez à la racine du document Web et récupérez la dernière version de Lychee à l'aide de l'outil de ligne de commande git, comme indiqué.

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

9. Définissez ensuite les autorisations et la propriété correctes sur le répertoire d'installation comme indiqué (remplacez admin par un nom d'utilisateur sur votre système).

------------ 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. Dans cette étape, vous devez configurer composer dans le répertoire d'installation de lychee, qui sera utilisé pour installer les dépendances 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

Étape 4 : Configurer le bloc serveur Nginx pour Lychee

12. Ensuite, vous devez créer et configurer un bloc serveur Nginx pour l'application Lychee sous /etc/nginx/conf.d/.

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

Ajoutez la configuration suivante dans le fichier ci-dessus, n'oubliez pas d'utiliser votre propre nom de domaine au lieu de lychee.example.com (il s'agit simplement d'un domaine factice).

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

Enregistrez ensuite le fichier et redémarrez le serveur Web Nginx et PHP-FPM pour appliquer les modifications récentes.

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

Étape 5 : Terminez l'installation de Lychee via un navigateur Web

13. Utilisez maintenant l'URL lychee.example.com pour ouvrir le programme d'installation Web Lychee dans votre navigateur, fournissez les paramètres de connexion à votre base de données et entrez le nom de la base de données que vous avez créée pour litchi et cliquez sur Connecter.

14. Ensuite, saisissez un nom d'utilisateur et un mot de passe pour votre installation et cliquez sur Créer une connexion. Après la connexion, vous arriverez dans le tableau de bord d'administration qui contient les Albums par défaut, comme indiqué dans la capture d'écran suivante.

Pour télécharger une photo ou importer à partir d'un lien ou importer depuis Dropbox ou depuis un autre serveur ou ajouter un album, cliquez sur le signe +. Et pour visualiser les photos dans un album, il suffit de cliquer dessus.

Pour plus d'informations, visitez la page d'accueil de Lychee : https://lycheeorg.github.io/

Lychee est un système de gestion de photos PHP open source, facile à utiliser et élégant pour gérer et partager des photos. Si vous avez des questions ou des commentaires, utilisez le formulaire ci-dessous pour nous écrire.