Wyszukiwanie w witrynie

Lychee — świetnie wyglądający system zarządzania zdjęciami dla systemu Linux


Lychee to bezpłatny, elegancki i łatwy w użyciu system zarządzania zdjęciami o otwartym kodzie źródłowym, wyposażony we wszystkie niezbędne funkcje potrzebne do bezpiecznego zarządzania zdjęciami i udostępniania ich na serwerze. Umożliwia łatwe zarządzanie (przesyłanie, przenoszenie, zmiana nazwy, opisywanie, usuwanie lub wyszukiwanie) zdjęciami w ciągu kilku sekund z poziomu prostej aplikacji internetowej.

Funkcje liczi

  • Oszałamiający, piękny interfejs do zarządzania wszystkimi zdjęciami w jednym miejscu, bezpośrednio z przeglądarki.
  • Udostępnianie zdjęć i albumów jednym kliknięciem z ochroną hasłem.
  • Wyświetlaj wszystkie swoje zdjęcia w trybie pełnoekranowym z możliwością przewijania do przodu i do tyłu za pomocą klawiatury lub pozwól innym przeglądać Twoje zdjęcia, udostępniając je jako publiczne.
  • Obsługuje import zdjęć z różnych źródeł: localhost, Dropbox, serwer zdalny lub za pomocą łącza.

Aby zainstalować Lychee, wszystko, czego potrzebujesz, to działający serwer internetowy, taki jak Apache lub Nginx z PHP 5.5 lub nowszym i MySQL -Baza danych.

Na potrzeby tego artykułu zainstaluję system zarządzania zdjęciami Lychee z Nginx, PHP-FPM 7.0 i MariaDB na serwerze VPS RHEL 8 z nazwą domeny lychee.example.com.

Krok 1: Zainstaluj Nginx, PHP i MariaDB

1. Najpierw zacznij od zainstalowania Nginx, PHP z niezbędnymi rozszerzeniami i bazy danych MariaDB, aby skonfigurować środowisko hostingowe aby uruchomić Lychee.

Na 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

Na Ubuntu i Debianie

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. Po zainstalowaniu niezbędnych pakietów uruchom usługi nginx, php-fpm i mariadb, włącz je podczas uruchamiania systemu i sprawdź, czy te usługi działają.

------------ 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. Następnie, jeśli masz włączoną zaporę sieciową w swoim systemie, musisz otworzyć porty 80 i 443 w zaporze, aby umożliwić klientowi żądania do serwera WWW Nginx odpowiednio po HTTP i HTTPS, jak pokazano.

------------ 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. Aby efektywnie uruchomić Lychee, zaleca się zwiększenie wartości następujących właściwości w pliku php.ini.

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

Wyszukaj te parametry PHP i zmień ich wartości na:

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

5. Teraz skonfiguruj PHP-FPM, aby ustawić użytkownika i grupę, posłuchaj pliku www.conf gniazda, jak wyjaśniono.

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

Poszukaj poniższych dyrektyw, aby ustawić użytkownika/grupę procesów Uniksa (zmień www-data na nginx w CentOS).

user = www-data
group = www-data

Zmień także dyrektywę listen, w której akceptowane są żądania FastCGI kierowane do gniazda Unix.

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

I ustaw odpowiednie uprawnienia własności dla gniazda Unix za pomocą dyrektywy (zmień www-data na nginx w CentOS/RHEL).

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

Zapisz plik i uruchom ponownie usługi nginx i php-fpm.

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

Krok 2: Bezpieczna instalacja MariaDB

6. Na tym etapie należy zabezpieczyć instalację bazy danych MariaDB (która domyślnie jest niezabezpieczona, jeśli jest zainstalowana na świeżym systemie), uruchamiając skrypt zabezpieczający dołączony do pakiet binarny.

Uruchom następujące polecenie jako root, aby uruchomić skrypt.

sudo mysql_secure_installation

Zostaniesz poproszony o ustawienie hasła root, usunięcie anonimowych użytkowników, zdalne wyłączenie logowania root i usunięcie testowej bazy danych. Po utworzeniu hasła roota i odpowiedzi tak/y na pozostałe pytania.

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

Krok 3: Zainstaluj system zarządzania zdjęciami Lychee

7. Aby zainstalować Lychee, musisz najpierw utworzyć dla niego bazę danych z odpowiednimi uprawnieniami za pomocą poniższych poleceń.

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. Następnie przejdź do katalogu głównego dokumentów internetowych i pobierz najnowszą wersję Lychee za pomocą narzędzia wiersza poleceń git, jak pokazano.

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

9. Następnie ustaw prawidłowe uprawnienia i własność w katalogu instalacyjnym, jak pokazano (zastąp admin nazwą użytkownika w swoim systemie).

------------ 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. W tym kroku musisz skonfigurować composer w katalogu instalacyjnym lychee, który będzie używany do instalowania zależności 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

Krok 4: Skonfiguruj blok serwera Nginx dla Lychee

12. Następnie musisz utworzyć i skonfigurować blok serwera Nginx dla aplikacji Lychee w pliku /etc/nginx/conf.d/.

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

Dodaj następującą konfigurację do powyższego pliku, pamiętaj, aby użyć własnej nazwy domeny zamiast lychee.example.com (jest to tylko domena fikcyjna).

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

Następnie zapisz plik i zrestartuj serwer WWW Nginx i PHP-FPM, aby zastosować ostatnie zmiany.

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

Krok 5: Zakończ instalację Lychee za pomocą przeglądarki internetowej

13. Teraz użyj adresu URL lychee.example.com, aby otworzyć instalator internetowy Lychee w przeglądarce i podaj ustawienia połączenia z bazą danych oraz wprowadź nazwę bazy danych, dla której utworzyłeś liczi i kliknij Połącz.

14. Następnie wprowadź nazwę użytkownika i hasło dla swojej instalacji i kliknij Utwórz login. Po zalogowaniu przejdziesz do panelu administracyjnego, który zawiera domyślne Albumy, jak pokazano na poniższym zrzucie ekranu.

Aby przesłać zdjęcie, zaimportować je z linku, zaimportować z Dropbox lub z innego serwera albo dodać album, kliknij znak +. Aby wyświetlić zdjęcia w albumie, wystarczy na niego kliknąć.

Aby uzyskać więcej informacji, odwiedź stronę główną Lychee: https://lycheeorg.github.io/

Lychee to łatwy w użyciu i elegancki system zarządzania zdjęciami w języku PHP o otwartym kodzie źródłowym, umożliwiający zarządzanie zdjęciami i udostępnianie ich. Jeśli masz jakieś pytania lub uwagi, skorzystaj z poniższego formularza i napisz do nas.