Zoeken op website

Lychee - Een fantastisch uitziend fotobeheersysteem voor Linux


Lychee is een gratis, open source, elegant en gebruiksvriendelijk fotobeheersysteem, dat wordt geleverd met alle noodzakelijke functies die u nodig heeft voor het veilig beheren en delen van foto's op uw server. Hiermee kunt u uw foto's eenvoudig binnen enkele seconden beheren (uploaden, verplaatsen, hernoemen, beschrijven, verwijderen of zoeken) vanuit een eenvoudige webapplicatie.

Lychee-functies

  • Een verbluffende, mooie interface om al uw foto's op één plek te beheren, rechtstreeks vanuit uw browser.
  • Foto's en albums delen met één klik met wachtwoordbeveiliging.
  • Bekijk al uw afbeeldingen op volledig scherm met voorwaartse en achterwaartse navigatie met uw toetsenbord of laat anderen door uw foto's bladeren door ze openbaar te maken.
  • Ondersteunt het importeren van foto's uit verschillende bronnen: localhost, Dropbox, externe server of via een link.

Om Lychee te installeren heeft u alleen een actieve webserver nodig, zoals Apache of Nginx met PHP 5.5 of hoger en een MySQL -Database.

Voor de doeleinden van dit artikel installeer ik een Lychee fotobeheersysteem met Nginx, PHP-FPM 7.0, en MariaDB op een RHEL 8 VPS met domeinnaam lychee.example.com.

Stap 1: Installeer Nginx, PHP en MariaDB

1. Begin eerst met het installeren van Nginx, PHP met de benodigde extensies en de MariaDB database om een hostingomgeving op te zetten om Lychee uit te voeren.

Op Cent/RHEL/Rocky Linux en 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

Op Ubuntu en 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. Zodra u de benodigde pakketten heeft geïnstalleerd, start u de services nginx, php-fpm, en mariadb en schakelt u deze in tijdens het opstarten en controleer of deze services actief zijn.

------------ 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 u vervolgens een firewall op uw systeem heeft ingeschakeld, moet u de poorten 80 en 443 in de firewall openen om clienttoegang toe te staan verzoeken aan de Nginx webserver op respectievelijk HTTP en HTTPS, zoals weergegeven.

------------ 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. Om Lychee effectief uit te voeren, wordt aanbevolen om de waarden van de volgende eigenschappen in het bestand php.ini te verhogen.

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

Zoek naar deze PHP-parameters en wijzig hun waarden in:

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

5. Configureer nu PHP-FPM om de gebruiker en groep in te stellen, luister naar het socket www.conf bestand zoals uitgelegd.

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

Zoek naar de onderstaande richtlijnen om de Unix-gebruiker/groep van processen in te stellen (wijzig www-data in nginx op CentOS).

user = www-data
group = www-data

Wijzig ook de listen-richtlijn waarop FastCGI-verzoeken naar een Unix-socket moeten worden geaccepteerd.

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

En stel de juiste eigendomsrechten in voor de Unix-socket met behulp van de richtlijn (wijzig www-data in nginx op CentOS/RHEL).

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

Sla het bestand op en start de services nginx en php-fpm opnieuw.

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

Stap 2: Veilige MariaDB-installatie

6. In deze stap moet u de database-installatie van MariaDB beveiligen (die standaard onbeveiligd is als deze op een nieuw systeem wordt geïnstalleerd) door het beveiligingsscript uit te voeren dat wordt meegeleverd met de binair pakket.

Voer de volgende opdracht uit als root om het script te starten.

sudo mysql_secure_installation

U wordt gevraagd een root-wachtwoord in te stellen, anonieme gebruikers te verwijderen, root-aanmelding op afstand uit te schakelen en de testdatabase te verwijderen. Nadat je een root-wachtwoord hebt aangemaakt, beantwoord je ja/y op de rest van de vragen.

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

Stap 3: Installeer Lychee Photo Management System

7. Om Lychee te installeren, moet je er eerst een database voor maken met de juiste rechten, met behulp van de volgende opdrachten.

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. Ga vervolgens naar de hoofdmap van het webdocument en pak de nieuwste versie van Lychee met behulp van het git-opdrachtregelprogramma, zoals weergegeven.

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

9. Stel vervolgens de juiste rechten en eigendom in voor de installatiemap, zoals weergegeven (vervang admin door een gebruikersnaam op uw systeem).

------------ 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 deze stap moet je composer instellen in de lychee installatiemap, die zal worden gebruikt om PHP-afhankelijkheden te installeren.

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

Stap 4: Configureer Nginx Server Block voor Lychee

12. Vervolgens moet u een Nginx-serverblok maken en configureren voor de Lychee-applicatie onder /etc/nginx/conf.d/.

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

Voeg de volgende configuratie toe aan het bovenstaande bestand. Vergeet niet om uw eigen domeinnaam te gebruiken in plaats van lychee.example.com (dit is slechts een dummydomein).

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

Sla het bestand vervolgens op en start de Nginx webserver en PHP-FPM opnieuw op om de recente wijzigingen toe te passen.

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

Stap 5: Voltooi de Lychee-installatie via een webbrowser

13. Gebruik nu de URL lychee.example.com om het Lychee-webinstallatieprogramma in uw browser te openen, uw databaseverbindingsinstellingen op te geven en de naam in te voeren van de database waarvoor u heeft gemaakt lychee en klik op Verbinden.

14. Voer vervolgens een gebruikersnaam en wachtwoord in voor uw installatie en klik op Aanmelding maken. Na het inloggen komt u terecht in het beheerdersdashboard dat de standaard Albums bevat, zoals weergegeven in de volgende schermafbeelding.

Om een foto te uploaden, te importeren via een link, te importeren vanuit Dropbox of vanaf een andere server, of om een album toe te voegen, klik je op het + teken. En om foto's in een album te bekijken, klikt u er eenvoudig op.

Ga voor meer informatie naar de Lychee-startpagina: https://lycheeorg.github.io/

Lychee is een open source, gebruiksvriendelijk en elegant PHP-fotobeheersysteem voor het beheren en delen van foto's. Als u vragen of opmerkingen heeft, kunt u het onderstaande formulier gebruiken om ons te schrijven.