Lychee – puikiai atrodanti nuotraukų valdymo sistema, skirta Linux


Lychee yra nemokama, atviro kodo, elegantiška ir paprasta naudoti nuotraukų valdymo sistema, turinti visas būtinas funkcijas, kurių reikia norint saugiai tvarkyti ir dalytis nuotraukomis serveryje. Tai leidžia lengvai valdyti (įkelti, perkelti, pervardyti, apibūdinti, ištrinti ar ieškoti) nuotraukas iš paprastos žiniatinklio programos.

Ličių savybės

  • Stulbinanti, graži sąsaja, skirta tvarkyti visas nuotraukas vienoje vietoje, tiesiai iš naršyklės.
  • Vieno paspaudimo nuotraukų ir albumų bendrinimas su slaptažodžio apsauga.
  • Peržiūrėkite visus vaizdus viso ekrano režimu su naršymu pirmyn ir atgal naudodami klaviatūrą arba leiskite kitiems naršyti jūsų nuotraukas padarydami jas viešas.
  • Palaiko nuotraukų importavimą iš įvairių šaltinių: localhost, Dropbox, nuotolinio serverio arba naudojant nuorodą.

Norėdami įdiegti „Lychee“, viskas, ko jums reikia, yra veikiantis žiniatinklio serveris, pvz., Apache arba Nginx su PHP 5.5 arba naujesne versija ir MySQL -Duomenų bazė.

Šiame straipsnyje aš įdiegsiu Lychee nuotraukų valdymo sistemą su Nginx, PHP-FPM 7.0, ir MariaDB RHEL 8 VPS domeno pavadinimu lychee.example.com.

1 veiksmas: įdiekite „Nginx“, PHP ir „MariaDB“.

1. Pirmiausia įdiekite Nginx, PHP su reikalingais plėtiniais ir MariaDB duomenų bazę, kad nustatytumėte prieglobos aplinką paleisti Ličė.

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

„Ubuntu“ ir „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. Įdiegę reikiamus paketus, paleiskite nginx, php-fpm ir mariadb paslaugas, įgalinkite paleisties metu ir patikrinkite, ar šios paslaugos veikia ir veikia.

------------ 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. Tada, jei jūsų sistemoje įgalinta užkarda, turite atidaryti užkardos prievadus 80 ir 443, kad leistų klientui užklausas Nginx žiniatinklio serveriui atitinkamai HTTP ir HTTPS, kaip parodyta.

------------ 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. Norint efektyviai paleisti Lychee, rekomenduojama padidinti toliau nurodytų ypatybių reikšmes faile php.ini.

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

Ieškokite šių PHP parametrų ir pakeiskite jų reikšmes į:

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

5. Dabar sukonfigūruokite PHP-FPM, kad nustatytumėte vartotoją ir grupę, klausymo lizdo www.conf failą, kaip paaiškinta.

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

Ieškokite toliau pateiktų nurodymų, kaip nustatyti „Unix“ naudotoją/procesų grupę (pakeiskite www-data į nginx sistemoje CentOS).

user = www-data
group = www-data

Be to, pakeiskite klausymo direktyvą, pagal kurią priimamos FastCGI užklausos į Unix lizdą.

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

Ir nustatykite atitinkamus „Unix“ lizdo nuosavybės teises naudodami direktyvą (pakeiskite www-data į nginx sistemoje CentOS/RHEL).

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

Išsaugokite failą ir iš naujo paleiskite nginx ir php-fpm paslaugas.

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

2 veiksmas: saugus MariaDB diegimas

6. Atlikdami šį veiksmą, turėtumėte apsaugoti MariaDB duomenų bazės diegimą (kuris pagal numatytuosius nustatymus yra neapsaugotas, jei įdiegtas naujoje sistemoje), paleisdami saugos scenarijų, pateiktą kartu su dvejetainis paketas.

Paleiskite šią komandą kaip root, kad paleistumėte scenarijų.

sudo mysql_secure_installation

Būsite paraginti nustatyti root slaptažodį, pašalinti anoniminius vartotojus, nuotoliniu būdu išjungti root prisijungimą ir pašalinti bandomąją duomenų bazę. Sukūrę root slaptažodį ir į likusius klausimus atsakykite taip/y.

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

3 veiksmas: įdiekite „Lychee Photo Management System“.

7. Norėdami įdiegti Lychee, pirmiausia turite sukurti jo duomenų bazę su atitinkamais leidimais naudodami šias komandas.

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. Tada eikite į žiniatinklio dokumento šaknį ir paimkite naujausią Lychee versiją naudodami git komandinės eilutės įrankį, kaip parodyta.

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

9. Tada nustatykite teisingus leidimus ir nuosavybės teises diegimo kataloge, kaip parodyta (pakeiskite administratorius naudotojo vardu savo sistemoje).

------------ 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. Atlikdami šį veiksmą, lychee diegimo kataloge turite nustatyti composer, kuris bus naudojamas PHP priklausomybėms įdiegti.

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

4 veiksmas: sukonfigūruokite „Nginx“ serverio bloką, skirtą „Lychee“.

12. Tada turite sukurti ir sukonfigūruoti „Nginx“ serverio bloką, skirtą programai Lychee, adresu /etc/nginx/conf.d/.

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

Įtraukite šią konfigūraciją į anksčiau pateiktą failą, nepamirškite naudoti savo domeno pavadinimo, o ne lychee.example.com (tai tik netikras domenas).

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

Tada išsaugokite failą ir iš naujo paleiskite Nginx žiniatinklio serverį ir PHP-FPM, kad pritaikytumėte naujausius pakeitimus.

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

5 veiksmas: užbaikite ličių diegimą naudodami žiniatinklio naršyklę

13. Dabar naudokite URL lychee.example.com, kad naršyklėje atidarytumėte „Lychee“ žiniatinklio diegimo programą, pateikite duomenų bazės ryšio nustatymus ir įveskite duomenų bazės, kuriai sukūrėte, pavadinimą. ličiai ir spustelėkite Prisijungti.

14. Tada įveskite diegimo naudotojo vardą ir slaptažodį ir spustelėkite Sukurti prisijungimą. Prisijungę pateksite į administratoriaus prietaisų skydelį, kuriame yra numatytieji Albumai, kaip parodyta toliau esančioje ekrano kopijoje.

Norėdami įkelti nuotrauką arba importuoti iš nuorodos arba importuoti iš Dropbox ar kito serverio arba pridėti albumą, spustelėkite ženklą +. Jei norite peržiūrėti nuotraukas albume, tiesiog spustelėkite jį.

Norėdami gauti daugiau informacijos, apsilankykite „Lychee“ pagrindiniame puslapyje: https://lycheeorg.github.io/

Lychee yra atviro kodo, paprasta naudoti ir elegantiška PHP nuotraukų valdymo sistema, skirta tvarkyti ir bendrinti nuotraukas. Jei turite klausimų ar pastabų, naudokite žemiau esančią formą ir parašykite mums.