Lychee – upean näköinen valokuvien hallintajärjestelmä Linuxille


Lychee on ilmainen, avoimen lähdekoodin, tyylikäs ja helppokäyttöinen valokuvien hallintajärjestelmä, joka sisältää kaikki tarvittavat ominaisuudet, joita tarvitset valokuvien turvalliseen hallintaan ja jakamiseen palvelimellasi. Sen avulla voit helposti hallita (ladata, siirtää, nimetä uudelleen, kuvata, poistaa tai etsiä) valokuviasi sekunneissa yksinkertaisesta verkkosovelluksesta.

Litsi ominaisuuksia

  • Upea, kaunis käyttöliittymä, jolla voit hallita kaikkia valokuviasi yhdessä paikassa suoraan selaimesta.
  • Yhden napsautuksen valokuvien ja albumien jakaminen salasanasuojauksella.
  • Tarkastele kaikkia kuviasi koko näytön tilassa siirtymällä eteenpäin ja taaksepäin näppäimistölläsi tai anna muiden selata valokuviasi tekemällä niistä julkisia.
  • Tukee valokuvien tuontia eri lähteistä: localhost, Dropbox, etäpalvelin tai linkin avulla.

Lycheen asentamiseen tarvitset vain käynnissä olevan verkkopalvelimen, kuten Apache tai Nginx, jossa on PHP 5.5 tai uudempi ja MySQL - Tietokanta.

Tätä artikkelia varten aion asentaa Lychee -valokuvanhallintajärjestelmän, jossa on Nginx, PHP-FPM 7.0, ja MariaDB RHEL 8 VPS:ssä verkkotunnuksella lychee.example.com.

Vaihe 1: Asenna Nginx, PHP ja MariaDB

1. Aloita asentamalla Nginx, PHP tarvittavilla laajennuksilla ja MariaDB-tietokanta isännöintiympäristön luomiseksi ajaa Litsi.

Cent/RHEL/Rocky Linuxissa ja AlmaLinuxissa

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

Ubuntussa ja Debianissa

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. Kun olet asentanut tarvittavat paketit, käynnistä nginx-, php-fpm-,- ja mariadb-palvelut, ota käyttöön ne käynnistysvaiheessa ja tarkista, ovatko palvelut käytössä.

------------ 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. Seuraavaksi, jos palomuuri on käytössä järjestelmässäsi, sinun on avattava palomuurin portit 80 ja 443, jotta asiakas pyynnöt Nginx-verkkopalvelimelle HTTP:llä ja HTTPS:llä, kuten kuvassa.

------------ 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. Jotta Lychee toimisi tehokkaasti, on suositeltavaa suurentaa seuraavien ominaisuuksien arvoja php.ini-tiedostossa.

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

Etsi näitä PHP-parametreja ja muuta niiden arvoiksi:

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

5. Määritä nyt PHP-FPM käyttäjän ja ryhmän kuunteluliittimen www.conf-tiedoston määrittämiseksi kuvatulla tavalla.

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

Etsi alla olevia ohjeita Unix-käyttäjän/prosessiryhmän määrittämiseksi (muuta www-data arvoksi nginx CentOS:ssä).

user = www-data
group = www-data

Muuta myös kuuntelu-ohjetta, jonka mukaan FastCGI-pyynnöt hyväksytään Unix-liitäntään.

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

Ja aseta asianmukaiset omistusoikeudet Unix-socketille ohjeen avulla (muuta www-data arvoksi nginx CentOS/RHEL:ssä).

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

Tallenna tiedosto ja käynnistä nginx- ja php-fpm-palvelut uudelleen.

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

Vaihe 2: Suojattu MariaDB-asennus

6. Tässä vaiheessa sinun tulee suojata MariaDB-tietokannan asennus (joka on oletuksena suojaamaton, jos se on asennettu uuteen järjestelmään) suorittamalla suojauskomentosarja, joka tulee binääripaketti.

Suorita seuraava komento pääkäyttäjänä käynnistääksesi komentosarjan.

sudo mysql_secure_installation

Sinua pyydetään asettamaan root-salasana, poistamaan anonyymit käyttäjät, poistamaan pääkäyttäjän kirjautuminen etänä ja poistamaan testitietokanta. Kun olet luonut pääkäyttäjän salasanan, vastaa kyllä/y muihin kysymyksiin.

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

Vaihe 3: Asenna Lychee Photo Management System

7. Jotta voit asentaa Lycheen, sinun on ensin luotava sille tietokanta, jolla on asianmukaiset käyttöoikeudet seuraavien komentojen avulla.

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. Siirry seuraavaksi verkkodokumentin juureen ja hanki Lycheen uusin versio git-komentorivityökalulla kuvan mukaisesti.

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

9. Aseta sitten oikeat käyttöoikeudet ja omistajuus asennushakemistoon kuvan mukaisesti (korvaa admin järjestelmäsi käyttäjänimellä).

------------ 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. Tässä vaiheessa sinun on määritettävä composer lychee-asennushakemistossa, jota käytetään PHP-riippuvuuksien asentamiseen.

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

Vaihe 4: Määritä Nginx-palvelinlohko Lycheelle

12. Seuraavaksi sinun on luotava ja määritettävä Nginx-palvelinlohko Lychee-sovellukselle osoitteessa /etc/nginx/conf.d/.

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

Lisää seuraavat asetukset yllä olevaan tiedostoon, muista käyttää omaa verkkotunnuksesi nimeä lychee.example.com sijaan (tämä on vain valeverkkotunnus).

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

Tallenna sitten tiedosto ja käynnistä Nginx-verkkopalvelin ja PHP-FPM uudelleen ottaaksesi käyttöön viimeisimmät muutokset.

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

Vaihe 5: Suorita litsi-asennus loppuun verkkoselaimen kautta

13. Käytä nyt URL-osoitetta lychee.example.com avataksesi Lychee-verkkoasennusohjelman selaimessasi ja määritä tietokantayhteysasetukset ja anna sen tietokannan nimi, jota varten loit litsi ja napsauta Yhdistä.

14. Kirjoita seuraavaksi asennuksen käyttäjänimi ja salasana ja napsauta Luo kirjautuminen. Kirjautumisen jälkeen pääset järjestelmänvalvojan hallintapaneeliin, joka sisältää oletusarvoiset Albumit, kuten seuraavassa kuvakaappauksessa näkyy.

Lataa valokuva tai tuo linkistä tai tuo Dropboxista tai toiselta palvelimelta tai lisää albumi napsauttamalla +-merkkiä. Ja katsellaksesi kuvia albumissa, napsauta sitä.

Lisätietoja on Lycheen kotisivulla: https://lycheeorg.github.io/

Lychee on avoimen lähdekoodin, helppokäyttöinen ja tyylikäs PHP-valokuvien hallintajärjestelmä valokuvien hallintaan ja jakamiseen. Jos sinulla on kysyttävää tai kommentteja, käytä alla olevaa lomaketta kirjoittaaksesi meille.