Lychee - Et flott bildebehandlingssystem for Linux


Lychee er et gratis, åpen kildekode, elegant og brukervennlig bildebehandlingssystem, som kommer med alle de nødvendige funksjonene du trenger for sikker administrasjon og deling av bilder på serveren din. Den lar deg enkelt administrere (laste opp, flytte, gi nytt navn, beskrive, slette eller søke i) bildene dine på sekunder fra en enkel nettapplikasjon.

  • Et fantastisk, vakkert grensesnitt for å administrere alle bildene dine på ett sted, rett fra nettleseren.
  • Ett-klikks bilde- og albumdeling med passordbeskyttelse.
  • Se alle bildene dine i fullskjermmodus med forover- og bakovernavigering ved hjelp av tastaturet eller la andre bla gjennom bildene dine ved å gjøre dem offentlige.
  • Støtter import av bilder fra ulike kilder: localhost, Dropbox, ekstern server eller ved å bruke en lenke.

For å installere Lychee, er alt du trenger en kjørende web-server som Apache eller Nginx med PHP 5.5 eller nyere og en MySQL-database.

For formålet med denne artikkelen vil jeg installere et Lychee-bildebehandlingssystem med Nginx, PHP-FPM 7.0 og MariaDB på en RHEL 8 VPS med domenenavn lychee.example.com.

Trinn 1: Installer Nginx, PHP og MariaDB

1. Start først med å installere Nginx, PHP med nødvendige utvidelser og MariaDB-database for å sette opp et vertsmiljø for å kjøre Lychee.

# 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. Når du har installert de nødvendige pakkene, start nginx-, php-fpm- og mariadb-tjenester, aktiver dem ved oppstart og sjekk om disse tjenestene er oppe og kjører.

------------ 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. Deretter, hvis du har en brannmur aktivert på systemet ditt, må du åpne portene 80 og 443 i brannmuren for å tillate klientforespørsler til Nginx-nettserveren på henholdsvis HTTP og HTTPS, som vist.

------------ 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. For å kjøre Lychee effektivt, anbefales det å øke verdiene til følgende egenskaper i filen php.ini.

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

Søk etter disse PHP-parametrene og endre verdiene til:

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

5. Konfigurer nå PHP-FPM for å sette brukeren og gruppen, lytte socket www.conf-filen som forklart.

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

Se etter direktivene nedenfor for å angi Unix-bruker/-gruppe av prosesser (endre www-data til nginx på CentOS).

user = www-data
group = www-data

Endre også lyttedirektivet for å akseptere FastCGI-forespørsler til en Unix-socket.

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

Og angi de riktige eierskapstillatelsene for Unix-kontakten ved å bruke direktivet (endre www-data til nginx på CentOS/RHEL).

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

Lagre filen og start tjenestene nginx og php-fpm på nytt.

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

Trinn 2: Sikker installasjon av MariaDB

6. I dette trinnet bør du sikre MariaDB-databaseinstallasjonen (som er usikret som standard hvis den er installert på et nytt system), ved å kjøre sikkerhetsskriptet som følger med binærpakken.

Kjør følgende kommando som root for å starte skriptet.

$ sudo mysql_secure_installation

Du vil bli bedt om å angi et root-passord, fjerne anonyme brukere, deaktivere root-pålogging eksternt og fjerne testdatabasen. Etter å ha opprettet et root-passord, og svar ja/y på resten av spørsmålene.

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

Trinn 3: Installer Lychee Photo Management System

7. For å installere Lychee må du først opprette en database for den med passende tillatelser ved å bruke følgende kommandoer.

$ 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. Gå deretter inn i webdokumentroten og ta tak i den nyeste versjonen av Lychee ved å bruke git-kommandolinjeverktøyet, som vist.

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

9. Sett deretter riktige tillatelser og eierskap på installasjonsmappen som vist (erstatt admin med et brukernavn på systemet ditt).

------------ 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. I dette trinnet må du sette opp composer i lychee-installasjonskatalogen, som vil bli brukt til å installere PHP-avhengigheter.

# 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

Trinn 4: Konfigurer Nginx Server Block for Lychee

12. Deretter må du opprette og konfigurere en Nginx-serverblokk for Lychee-applikasjonen under /etc/nginx/conf.d/.

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

Legg til følgende konfigurasjon i filen ovenfor, husk å bruke ditt eget domenenavn i stedet for lychee.example.com (dette er bare et dummy-domene).

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

Lagre deretter filen og start Nginx-webserveren og PHP-FPM på nytt for å bruke de siste endringene.

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

Trinn 5: Fullfør Lychee-installasjonen via nettleseren

13. Bruk nå URL-adressen lychee.example.com for å åpne Lychee-nettinstallasjonsprogrammet i nettleseren din og oppgi databasetilkoblingsinnstillingene og skriv inn navnet på databasen du opprettet for lychee og klikk på Koble til.

14. Deretter skriver du inn et brukernavn og passord for installasjonen og klikker på Opprett pålogging. Etter pålogging vil du lande i admin-dashbordet som inneholder standardalbumene som vist i følgende skjermbilde.

For å laste opp et bilde eller importere fra en lenke eller importere fra Dropbox eller fra en annen server eller legge til et album, klikk på +-tegnet. Og for å se bilder i et album, klikker du bare på det.

For mer informasjon, besøk Lychee-hjemmesiden: https://lycheeorg.github.io/

Lychee er et åpen kildekode, enkelt å bruke og elegant PHP-bildebehandlingssystem for å administrere og dele bilder. Hvis du har spørsmål eller kommentarer, bruk skjemaet nedenfor for å skrive til oss.