Lychee - Et flot fotostyringssystem til Linux


Lychee er et gratis, open source, elegant og brugervenligt fotostyringssystem, der leveres med alle de nødvendige funktioner, du har brug for til sikker styring og deling af fotos på din server. Det giver dig mulighed for nemt at administrere (uploade, flytte, omdøbe, beskrive, slette eller søge) dine fotos på få sekunder fra en simpel webapplikation.

  • En fantastisk, smuk grænseflade til at administrere alle dine fotos på ét sted lige fra din browser.
  • Deling af et enkelt foto og album med adgangskodebeskyttelse.
  • Se alle dine billeder i fuldskærmstilstand med navigering frem og tilbage ved hjælp af dit tastatur, eller lad andre gennemse dine fotos ved at gøre dem offentlige.
  • Understøtter import af fotos fra forskellige kilder: localhost, Dropbox, fjernserver eller ved hjælp af et link.

For at installere Lychee er alt hvad du behøver en kørende webserver som Apache eller Nginx med PHP 5.5 eller nyere og en MySQL-database.

Med henblik på denne artikel vil jeg installere Lychee-fotostyringssystem med Nginx, PHP-FPM 7.0 og MariaDB på en CentOS 7 VPS med domænenavn lychee.example.com.

Trin 1: Installer Nginx, PHP og MariaDB

1. Start med at installere Nginx, PHP med nødvendige udvidelser og MariaDB-database for at konfigurere et hostingmiljø til at køre Lychee.

# yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
# yum install yum-utils
# yum-config-manager --enable remi-php70   [Install PHP 7.0]
# 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 installeret de nødvendige pakker, skal du starte nginx-, php-fpm- og mariadb-tjenester, aktivere dem ved opstartstid og kontrollere, om disse tjenester er i gang.

------------ 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.0-fpm mysql
$ sudo systemctl status nginx php7.0-fpm mysql
$ sudo systemctl enable nginx php7.0-fpm mysql

3. Hvis du derefter har en firewall aktiveret på dit system, skal du åbne porten 80 og 443 i firewallen for at tillade klientanmodninger til Nginx-webserveren 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 at køre Lychee effektivt anbefales det at øge værdierne for følgende egenskaber i php.ini -filen.

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

Søg efter disse PHP-parametre, og skift deres værdier til:

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

5. Konfigurer nu PHP-FPM til at indstille brugeren og gruppen, lyt stikket www.conf -filen som forklaret.

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

Se efter nedenstående direktiver for at indstille Unix-brugeren/gruppen af processer (skift www-data til nginx på CentOS).

user = www-data
group = www-data

Skift også lyttedirektivet, hvorefter FastCGI-anmodninger accepteres til et Unix-stik.

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

Og indstil de relevante ejerskabstilladelser til Unix-stikket ved hjælp af direktivet (skift www-data til nginx på CentOS/RHEL).

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

Gem filen, og genstart nginx- og php-fpm-tjenesterne.

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

Trin 2: Sikker installation af MariaDB

6. I dette trin skal du sikre MariaDB-databaseinstallationen (som standard ikke er sikret, hvis den er installeret på et nyt system) ved at køre sikkerhedsscriptet, der følger med den binære pakke.

Kør følgende kommando som root for at starte scriptet.

$ sudo mysql_secure_installation

Du bliver bedt om at indstille en root-adgangskode, fjerne anonyme brugere, deaktivere rod-login eksternt og fjerne testdatabase. Når du har oprettet en root-adgangskode, og svar ja/y på de øvrige spørgsmål.

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

Trin 3: Installer Lychee Photo Management System

7. For at installere Lychee skal du først oprette en database til den med passende tilladelser ved hjælp af 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å derefter ind på webdokumentets rod, og tag den nyeste version af Lychee ved hjælp af kommandolinjeværktøjet git, som vist.

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

9. Indstil derefter de korrekte tilladelser og ejerskab i installationsmappen som vist (udskift admin med et brugernavn på dit system).

------------ CentOS/RHEL ------------
# chown admin:nginx -R /var/www/html/Lychee
# chmod 775 -R /var/www/html/Lychee
------------ Debian/Ubuntu ------------
$ sudo chown admin:www-data -R /var/www/html/Lychee
$ sudo chmod 775  -R /var/www/html/Lychee

10. I dette trin skal du konfigurere komponisten i lychee-installationsmappen, som bruges til at installere PHP-afhængigheder.

# 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

Trin 4: Konfigurer Nginx Server Block til Lychee

12. Dernæst skal du oprette og konfigurere en Nginx-serverblok til Lychee-applikationen under /etc/nginx/conf.d/.

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

Tilføj følgende konfiguration i ovenstående fil, husk at bruge dit eget domænenavn i stedet for lychee.example.com (dette er bare et dummy domæne).

server {
	listen      80;
	server_name	 lychee.example.com;
	root         	/var/www/html/Lychee/;
	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;
	}
}

Gem derefter filen, og genstart Nginx-webserveren og PHP-FPM for at anvende de seneste ændringer.

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

Trin 5: Komplet Lychee-installation via webbrowser

13. Brug nu URL lychee.example.com til at åbne Lychee webinstallationsprogram i din browser og angive dine indstillinger for databaseforbindelse, og indtast navnet på den database, du oprettede til lychee, og klik på Opret forbindelse.

14. Indtast derefter et brugernavn og en adgangskode til din installation, og klik på Opret login. Efter login lander du i admin-dashboardet, der indeholder standardalbummerne som vist i følgende skærmbillede.

Hvis du vil uploade et foto eller importere fra et link eller importere fra Dropbox eller fra en anden server eller tilføje et album, skal du klikke på + -tegnet. Og for at se fotos i et album skal du blot klikke på det.

For mere information, besøg Lychee-hjemmesiden: https://lycheeorg.github.io/

Lychee er et open source, let at bruge og elegant PHP-fotostyringssystem til at styre og dele fotos. Hvis du har spørgsmål eller kommentarer, så brug nedenstående formular til at skrive til os.