Website-Suche

Lychee – Ein großartig aussehendes Fotoverwaltungssystem für Linux


Lychee ist ein kostenloses, Open-Source-, elegantes und benutzerfreundliches Fotoverwaltungssystem, das über alle notwendigen Funktionen verfügt, die Sie zum sicheren Verwalten und Teilen von Fotos auf Ihrem Server benötigen. Damit können Sie Ihre Fotos in Sekundenschnelle über eine einfache Webanwendung einfach verwalten (hochladen, verschieben, umbenennen, beschreiben, löschen oder suchen).

Litschi-Funktionen

  • Eine atemberaubende, schöne Oberfläche, mit der Sie alle Ihre Fotos an einem Ort verwalten können, direkt über Ihren Browser.
  • Teilen von Fotos und Alben mit einem Klick und Passwortschutz.
  • Sehen Sie sich alle Ihre Bilder im Vollbildmodus mit Vor- und Rückwärtsnavigation über Ihre Tastatur an oder lassen Sie andere Ihre Fotos durchsuchen, indem Sie sie öffentlich machen.
  • Unterstützt den Import von Fotos aus verschiedenen Quellen: Localhost, Dropbox, Remote-Server oder über einen Link.

Um Lychee zu installieren, benötigen Sie lediglich einen laufenden Webserver wie Apache oder Nginx mit PHP 5.5 oder höher und ein MySQL -Datenbank.

Für den Zweck dieses Artikels werde ich ein Lychee-Fotoverwaltungssystem mit Nginx, PHP-FPM 7.0 und installieren MariaDB auf einem RHEL 8 VPS mit dem Domainnamen lychee.example.com.

Schritt 1: Installieren Sie Nginx, PHP und MariaDB

1. Beginnen Sie zunächst mit der Installation von Nginx, PHP mit den erforderlichen Erweiterungen und der MariaDB-Datenbank, um eine Hosting-Umgebung einzurichten Lychee ausführen.

Auf Cent/RHEL/Rocky Linux und 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

Auf Ubuntu und 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. Sobald Sie die erforderlichen Pakete installiert haben, starten Sie die Dienste nginx, php-fpm und mariadb und aktivieren Sie sie Laden Sie sie beim Booten herunter und prüfen Sie, ob diese Dienste aktiv sind.

------------ 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. Wenn auf Ihrem System eine Firewall aktiviert ist, müssen Sie als Nächstes die Ports 80 und 443 in der Firewall öffnen, um den Client zuzulassen Anfragen an den Nginx-Webserver über HTTP bzw. HTTPS, wie gezeigt.

------------ 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. Um Lychee effektiv auszuführen, wird empfohlen, die Werte der folgenden Eigenschaften in der Datei php.ini zu erhöhen.

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

Suchen Sie nach diesen PHP-Parametern und ändern Sie ihre Werte in:

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

5. Konfigurieren Sie nun PHP-FPM, um den Benutzer und die Gruppe festzulegen, und hören Sie sich die Socket-Datei www.conf wie erläutert an.

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

Suchen Sie nach den Anweisungen unten, um den Unix-Benutzer/die Gruppe von Prozessen festzulegen (ändern Sie www-data in nginx unter CentOS).

user = www-data
group = www-data

Ändern Sie außerdem die listen-Direktive, um FastCGI-Anfragen an einen Unix-Socket zu akzeptieren.

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

Und legen Sie mithilfe der Direktive die entsprechenden Besitzrechte für den Unix-Socket fest (ändern Sie www-data in nginx unter CentOS/RHEL).

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

Speichern Sie die Datei und starten Sie die Dienste nginx und php-fpm neu.

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

Schritt 2: Sichere MariaDB-Installation

6. In diesem Schritt sollten Sie die Installation der MariaDB-Datenbank sichern (die standardmäßig ungesichert ist, wenn sie auf einem neuen System installiert wird), indem Sie das Sicherheitsskript ausführen, das im Lieferumfang enthalten ist Binärpaket.

Führen Sie den folgenden Befehl als Root aus, um das Skript zu starten.

sudo mysql_secure_installation

Sie werden aufgefordert, ein Root-Passwort festzulegen, anonyme Benutzer zu entfernen, die Root-Anmeldung aus der Ferne zu deaktivieren und die Testdatenbank zu entfernen. Nachdem Sie ein Root-Passwort erstellt haben, beantworten Sie die restlichen Fragen mit ja/ja.

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

Schritt 3: Installieren Sie das Lychee Photo Management System

7. Um Lychee zu installieren, müssen Sie zunächst mit den folgenden Befehlen eine Datenbank mit den entsprechenden Berechtigungen erstellen.

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. Gehen Sie als Nächstes in das Stammverzeichnis des Webdokuments und holen Sie sich die neueste Version von Lychee mit dem Git-Befehlszeilentool, wie gezeigt.

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

9. Legen Sie dann wie gezeigt die richtigen Berechtigungen und Eigentümer für das Installationsverzeichnis fest (ersetzen Sie admin durch einen Benutzernamen auf Ihrem 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. In diesem Schritt müssen Sie composer im lychee-Installationsverzeichnis einrichten, das zur Installation von PHP-Abhängigkeiten verwendet wird.

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

Schritt 4: Konfigurieren Sie den Nginx-Serverblock für Lychee

12. Als nächstes müssen Sie einen Nginx-Serverblock für die Lychee-Anwendung unter /etc/nginx/conf.d/ erstellen und konfigurieren.

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

Fügen Sie die folgende Konfiguration in die obige Datei ein. Denken Sie daran, Ihren eigenen Domänennamen anstelle von lychee.example.com zu verwenden (dies ist nur eine Dummy-Domäne).

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

Speichern Sie dann die Datei und starten Sie den Nginx-Webserver und PHP-FPM neu, um die letzten Änderungen zu übernehmen.

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

Schritt 5: Schließen Sie die Lychee-Installation über einen Webbrowser ab

13. Verwenden Sie nun die URL lychee.example.com, um das Lychee-Webinstallationsprogramm in Ihrem Browser zu öffnen, geben Sie Ihre Datenbankverbindungseinstellungen ein und geben Sie den Namen der Datenbank ein, für die Sie erstellt haben lychee und klicken Sie auf Verbinden.

14. Geben Sie als Nächstes einen Benutzernamen und ein Passwort für Ihre Installation ein und klicken Sie auf Anmeldung erstellen. Nach der Anmeldung landen Sie im Admin-Dashboard, das die Standard-Alben enthält, wie im folgenden Screenshot gezeigt.

Um ein Foto hochzuladen oder über einen Link zu importieren oder von Dropbox oder von einem anderen Server zu importieren oder ein Album hinzuzufügen, klicken Sie auf das +-Zeichen. Und um Fotos in einem Album anzuzeigen, klicken Sie einfach darauf.

Weitere Informationen finden Sie auf der Lychee-Homepage: https://lycheeorg.github.io/

Lychee ist ein Open-Source-, benutzerfreundliches und elegantes PHP-Fotoverwaltungssystem zum Verwalten und Teilen von Fotos. Wenn Sie Fragen oder Anmerkungen haben, können Sie uns über das untenstehende Formular schreiben.