Lychee - Un sistem grozav de gestionare a fotografiilor pentru Linux


Lychee este un sistem de gestionare a fotografiilor gratuit, open-source, elegant și ușor de utilizat, care vine cu toate caracteristicile necesare de care aveți nevoie pentru a gestiona și a partaja în siguranță fotografiile pe serverul dvs. Vă permite să gestionați cu ușurință (încărcați, mutați, redenumiți, descrieți, ștergeți sau căutați) fotografiile în câteva secunde dintr-o simplă aplicație web.

Caracteristici Lychee

  • O interfață uimitoare și frumoasă pentru a vă gestiona toate fotografiile într-un singur loc, direct din browser.
  • Partajarea fotografiilor și a albumelor cu un singur clic cu protecție prin parolă.
  • Vizualizați toate imaginile dvs. în modul ecran complet cu redirecționare și navigare înapoi folosind tastatura sau lăsați-i pe alții să vă răsfoiască fotografiile făcându-le publice.
  • Acceptă importarea fotografiilor din diverse surse: localhost, Dropbox, server la distanță sau folosind un link.

Pentru a instala Lychee, tot ce aveți nevoie este un server web care rulează, cum ar fi Apache sau Nginx cu PHP 5.5 sau o versiune ulterioară și un MySQL -Baza de date.

În scopul acestui articol, voi instala un sistem de gestionare a fotografiilor Lychee cu Nginx, PHP-FPM 7.0 și MariaDB pe un VPS RHEL 8 cu nume de domeniu lychee.example.com.

Pasul 1: Instalați Nginx, PHP și MariaDB

1. Începeți mai întâi prin a instala Nginx, PHP cu extensiile necesare și baza de date MariaDB pentru a configura un mediu de găzduire pentru a rula Lychee.

Pe Cent/RHEL/Rocky Linux și 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

Pe Ubuntu și 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. După ce ați instalat pachetele necesare, porniți serviciile nginx, php-fpm și mariadb, activați le în momentul pornirii și verificați dacă aceste servicii sunt în funcțiune.

------------ 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. Apoi, dacă aveți un firewall activat pe sistemul dvs., trebuie să deschideți porturile 80 și 443 din firewall pentru a permite clientului solicitări către serverul web Nginx de pe HTTP și, respectiv, HTTPS, după cum se arată.

------------ 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. Pentru a rula eficient Lychee, este recomandat să creșteți valorile următoarelor proprietăți în fișierul php.ini.

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

Căutați acești parametri PHP și modificați-le valorile în:

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

5. Acum configurați PHP-FPM pentru a seta utilizatorul și grupul, ascultați fișierul socket www.conf așa cum este explicat.

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

Căutați directivele de mai jos pentru a seta utilizatorul/grupul de procese Unix (schimbați www-data în nginx pe CentOS).

user = www-data
group = www-data

De asemenea, modificați directiva ascultă pentru a accepta cererile FastCGI la un socket Unix.

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

Și setați permisiunile de proprietate corespunzătoare pentru socket-ul Unix folosind directiva (schimbați www-data în nginx pe CentOS/RHEL).

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

Salvați fișierul și reporniți serviciile nginx și php-fpm.

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

Pasul 2: Instalarea MariaDB securizată

6. În acest pas, ar trebui să securizați instalarea bazei de date MariaDB (care este nesecurizată în mod implicit dacă este instalată pe un sistem nou), rulând scriptul de securitate care vine cu pachet binar.

Rulați următoarea comandă ca root, pentru a lansa scriptul.

sudo mysql_secure_installation

Vi se va solicita să setați o parolă root, să eliminați utilizatorii anonimi, să dezactivați autentificarea root de la distanță și să eliminați baza de date de testare. După ce ați creat o parolă de root și răspundeți la da/y la restul întrebărilor.

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

Pasul 3: Instalați Lychee Photo Management System

7. Pentru a instala Lychee, mai întâi, trebuie să creați o bază de date pentru acesta cu permisiunile corespunzătoare utilizând următoarele comenzi.

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. Apoi, treceți la rădăcina documentului web și luați cea mai recentă versiune de Lychee folosind instrumentul de linie de comandă git, așa cum se arată.

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

9. Apoi setați permisiunile și proprietatea corecte în directorul de instalare, așa cum se arată (înlocuiți admin cu un nume de utilizator pe sistemul dvs.).

------------ 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. În acest pas, trebuie să configurați composer în directorul de instalare lychee, care va fi folosit pentru a instala dependențe 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

Pasul 4: Configurați Nginx Server Block pentru Lychee

12. În continuare, trebuie să creați și să configurați un bloc de server Nginx pentru aplicația Lychee sub /etc/nginx/conf.d/.

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

Adăugați următoarea configurație în fișierul de mai sus, nu uitați să utilizați propriul nume de domeniu în loc de lychee.example.com (acesta este doar un domeniu inactiv).

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

Apoi salvați fișierul și reporniți serverul web Nginx și PHP-FPM pentru a aplica modificările recente.

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

Pasul 5: finalizați instalarea Lychee prin intermediul browserului web

13. Acum utilizați adresa URL lychee.example.com pentru a deschide programul de instalare web Lychee în browser și pentru a furniza setările de conectare la baza de date și introduceți numele bazei de date pentru care ați creat-o. lychee și dați clic pe Conectați.

14. Apoi, introduceți un nume de utilizator și parolă pentru instalarea dvs. și faceți clic pe Creați autentificare. După conectare, veți ajunge în tabloul de bord administrativ care conține Albumurile implicite, așa cum se arată în următoarea captură de ecran.

Pentru a încărca o fotografie sau a importa dintr-un link sau a importa de pe Dropbox sau de pe alt server sau pentru a adăuga un album, dați clic pe semnul +. Și pentru a vedea fotografiile dintr-un album, faceți clic pe el.

Pentru mai multe informații, vizitați pagina de pornire a Lychee: https://lycheeorg.github.io/

Lychee este un sistem de gestionare a fotografiilor PHP cu sursă deschisă, ușor de utilizat și elegant pentru a gestiona și a partaja fotografii. Dacă aveți întrebări sau comentarii, folosiți formularul de mai jos pentru a ne scrie.