Lychee - E super Look Photo Management System fir Linux


Lychee ass e gratis, Open-Source, elegant an einfach ze benotzen Foto-Management System, dee mat all déi néideg Funktiounen kënnt, déi Dir braucht fir sécher Fotoen op Ärem Server ze managen an ze deelen. Et erlaabt Iech Är Fotoen a Sekonne vun enger einfacher Webapplikatioun einfach ze managen (eroplueden, réckelen, ëmbenennen, beschreiwen, läschen oder sichen).

  • En beandrockend, schéinen Interface fir all Är Fotoen op enger Plaz ze verwalten, direkt vun Ärem Browser.
  • Een-Klick Foto an Album Deele mat Passwuert Schutz.
  • Kuckt all Är Biller am Vollbildmodus mat Forward an Backward Navigatioun mat Ärer Tastatur oder loosst anerer Är Fotoen duerchsichen andeems se se ëffentlech maachen.
  • Ënnerstëtzt d'Importéiere vu Fotoen aus verschiddene Quellen: localhost, Dropbox, Remote Server oder mat engem Link.

Fir Lychee z'installéieren, alles wat Dir braucht ass e lafende Webserver wéi Apache oder Nginx mat PHP 5.5 oder méi spéit an eng MySQL-Datebank.

Fir den Zweck vun dësem Artikel installéieren ech e Lychee Photo-Management System mat Nginx, PHP-FPM 7.0, a MariaDB op engem RHEL 8 VPS mam Domain Numm lychee.example.com.

Schrëtt 1: Installéiert Nginx, PHP, a MariaDB

1. Als éischt fänkt un mat der Installatioun vun Nginx, PHP mat erfuerderlechen Extensiounen, a MariaDB Datebank fir e Hosting Ëmfeld opzestellen fir Lychee ze lafen.

# 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
$ 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. Wann Dir déi néideg Packagen installéiert hutt, starten nginx, php-fpm, a mariadb Servicer, aktivéiert se bei der Bootzäit a kontrolléiert ob dës Servicer up a lafen sinn.

------------ 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. Als nächst, wann Dir eng Firewall op Ärem System aktivéiert hutt, musst Dir d'Ports 80 an 443 an der Firewall opmaachen, fir Client Ufroen un den Nginx Webserver op HTTP respektiv HTTPS z'erméiglechen, wéi gewisen.

------------ 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. Fir Lychee effektiv ze lafen, ass et recommandéiert d'Wäerter vun den folgenden Eegeschaften an php.ini Datei ze erhéijen.

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

Sich no dëse PHP Parameteren a ännert hir Wäerter op:

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

5. Elo konfiguréieren PHP-FPM fir de Benotzer a Grupp ze setzen, lauschtert Socket www.conf Datei wéi erkläert.

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

Kuckt no den Direktiven hei drënner fir den Unix Benotzer/Grupp vu Prozesser ze setzen (www-Daten änneren op nginx op CentOS).

user = www-data
group = www-data

Ännert och d'Lauschterdirektiv op där Dir FastCGI-Ufroen un en Unix Socket akzeptéiert.

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

A set déi entspriechend Eegentumsrechter fir den Unix Socket mat der Direktiv (änneren www-Daten op nginx op CentOS/RHEL).

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

Späichert d'Datei an nei starten d'nginx a php-fpm Servicer.

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

Schrëtt 2: Séchert MariaDB Installatioun

6. An dësem Schrëtt sollt Dir d'MariaDB-Datebankinstallatioun sécheren (déi als Standard net geséchert ass wann se op engem frësche System installéiert ass), andeems Dir de Sécherheetsskript leeft, deen mam binäre Package kënnt.

Fëllt de folgende Kommando als Root, fir de Skript ze starten.

$ sudo mysql_secure_installation

Dir wäert gefuerdert ginn e Root Passwuert ze setzen, anonym Benotzer ze läschen, Root Login op afstand auszeschalten an d'Testdatenbank ze läschen. Nodeems Dir e Root-Passwuert erstallt hutt, an äntwer jo/y op de Rescht vun de Froen.

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

Schrëtt 3: Installéiere Lychee Photo Management System

7. Fir Lychee z'installéieren, musst Dir als éischt eng Datebank fir et mat passenden Permissiounen erstellen mat de folgende Kommandoen.

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

8. Als nächst gitt an d'Webdokumentroot a gräift déi lescht Versioun vu Lychee mat dem git Kommandozeil Tool, wéi gewisen.

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

9. Setzt dann déi richteg Permissiounen a Proprietairen op der Installatiounsverzeechnes wéi gewisen (ersetzt den Admin mat engem Benotzernumm op Ärem System).

------------ 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. An dësem Schrëtt musst Dir de Komponist am Lychee Installatiounsverzeechnes opsetzen, deen benotzt gëtt fir PHP Ofhängegkeeten z'installéieren.

# 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

Schrëtt 4: Nginx Server Block fir Lychee konfiguréieren

12. Als nächst musst Dir en Nginx Serverblock fir d'Lychee Applikatioun erstellen an konfiguréieren ënner /etc/nginx/conf.d/.

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

Füügt déi folgend Konfiguratioun an der uewe genannter Datei un, erënnert un Ären eegenen Domain Numm anstatt lychee.example.com (dëst ass just en Dummy Domain).

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

Da späichert d'Datei an nei start den Nginx Webserver a PHP-FPM fir déi rezent Ännerungen anzesetzen.

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

Schrëtt 5: Komplett Lychee Installatioun Via Web Browser

13. Benotzt elo d'URL lychee.example.com fir de Lychee Webinstallateur an Ärem Browser opzemaachen an Är Datebankverbindungsastellungen unzeginn a gitt den Numm vun der Datebank déi Dir fir Lychee erstallt hutt a klickt Connect.

14. Als nächst gitt e Benotzernumm a Passwuert fir Är Installatioun a klickt op Login erstellen. Nom Login kommt Dir am Admin-Dashboard landen, deen d'Standardalben enthält wéi am folgenden Screenshot gewisen.

Fir eng Foto eropzelueden oder vun engem Link z'importéieren oder vun Dropbox oder vun engem anere Server z'importéieren oder en Album derbäizefügen, klickt op + Zeechen. A fir Fotoen an engem Album ze gesinn, klickt einfach drop.

Fir méi Informatioun, besicht Lychee Homepage: https://lycheeorg.github.io/

Lychee ass en Open-Source, einfach ze benotzen, an elegant PHP-Fotomanagementsystem fir Fotoen ze managen an ze deelen. Wann Dir Froen oder Kommentaren hutt, benotzt de Formulaire hei ënnen fir eis ze schreiwen.