Lychee - Usa ka Nindot nga Tan-awon nga Sistema sa Pagdumala sa Litrato alang sa Linux


Ang Lychee usa ka libre, open-source, elegante ug sayon-gamiton nga photo-management system, nga nag-uban sa tanang gikinahanglang feature nga imong gikinahanglan para sa luwas nga pagdumala ug pagpaambit sa mga litrato sa imong server. Gitugotan ka nga dali nga madumala (pag-upload, paglihok, pagbag-o sa ngalan, paghulagway, pagtangtang o pagpangita) sa imong mga litrato sa mga segundo gikan sa usa ka yano nga aplikasyon sa web.

  • Usa ka katingad-an, matahum nga interface aron madumala ang tanan nimong mga litrato sa usa ka lugar, gikan mismo sa imong browser.
  • Usa ka pag-klik nga pagpaambit sa litrato ug album nga adunay proteksyon sa password.
  • Tan-awa ang tanan nimong mga hulagway sa full-screen mode nga adunay forwarding ug backward navigation gamit ang imong keyboard o tugoti ang uban nga mag-browse sa imong mga litrato pinaagi sa paghimo niini nga publiko.
  • Gisuportahan ang pag-import sa mga litrato gikan sa lainlaing mga gigikanan: localhost, Dropbox, layo nga server, o gamit ang usa ka link.

Aron ma-install ang Lychee, ang tanan nga imong kinahanglan usa ka nagdagan nga web-server sama sa Apache o Nginx nga adunay PHP 5.5 o sa ulahi ug usa ka MySQL-Database.

Alang sa katuyoan niini nga artikulo, mag-install ako usa ka Lychee photo-management system nga adunay Nginx, PHP-FPM 7.0, ug MariaDB sa usa ka RHEL 8 VPS nga adunay domain name lychee.example.com.

Lakang 1: I-install ang Nginx, PHP, ug MariaDB

1. Una magsugod pinaagi sa pag-instalar sa Nginx, PHP uban sa gikinahanglan nga mga extension, ug MariaDB database sa pag-set up sa usa ka hosting nga palibot sa pagpadagan 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. Kung na-install na nimo ang kinahanglan nga mga pakete, sugdi ang nginx, php-fpm, ug mariadb nga mga serbisyo, pagana kini sa oras sa pag-boot ug susiha kung kini nga mga serbisyo naa na.

------------ 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. Sunod, kung ikaw adunay firewall nga gipagana sa imong sistema, kinahanglan nimo nga ablihan ang mga port 80 ug 443 sa firewall aron tugotan ang mga hangyo sa kliyente sa Nginx web server sa HTTP ug HTTPS matag usa, ingon sa gipakita.

------------ 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. Aron epektibong modagan ang Lychee, girekomendar nga dugangan ang mga bili sa mosunod nga mga kabtangan sa php.ini file.

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

Pangitaa kini nga mga parameter sa PHP ug usba ang ilang mga kantidad sa:

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

5. Karon i-configure ang PHP-FPM aron itakda ang user ug grupo, paminawa ang socket www.conf file sama sa gipatin-aw.

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

Pangitaa ang mga direktiba sa ubos aron itakda ang Unix user/grupo sa mga proseso (bag-ohon ang www-data sa nginx sa CentOS).

user = www-data
group = www-data

Usab, usba ang direktiba sa pagpamati kung diin dawaton ang mga hangyo sa FastCGI sa usa ka socket sa Unix.

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

Ug itakda ang angay nga pagtugot sa pagpanag-iya alang sa Unix socket gamit ang direktiba (bag-o ang www-data sa nginx sa CentOS/RHEL).

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

I-save ang file ug i-restart ang nginx ug php-fpm nga mga serbisyo.

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

Lakang 2: Lig-on ang Pag-install sa MariaDB

6. Niini nga lakang, kinahanglan nimong ma-secure ang pag-instalar sa database sa MariaDB (nga dili sigurado pinaagi sa default kung gi-install sa usa ka bag-ong sistema), pinaagi sa pagpadagan sa script sa seguridad nga kauban ang binary nga pakete.

Pagdalagan ang mosunod nga sugo isip gamut, aron ilunsad ang script.

$ sudo mysql_secure_installation

Maaghat ka nga magbutang usa ka password sa ugat, tangtangon ang mga wala mailhi nga tiggamit, pag-disable ang pag-login sa gamut sa layo ug tangtangon ang database sa pagsulay. Human makahimo ug root password, ug tubaga ang yes/y sa uban pang pangutana.

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

Lakang 3: I-install ang Lychee Photo Management System

7. Aron ma-install ang Lychee, una, kinahanglan nimo nga maghimo usa ka database alang niini nga adunay angay nga pagtugot gamit ang mosunod nga mga mando.

$ 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. Sunod, balhin sa web document root ug kuhaa ang pinakabag-o nga bersyon sa Lychee gamit ang git command-line tool, sama sa gipakita.

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

9. Dayon ibutang ang hustong permiso ug pagpanag-iya sa direktoryo sa pag-instalar sama sa gipakita (ilisan ang admin og username sa imong sistema).

------------ 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. Niini nga lakang, kinahanglan nimo nga i-set up ang kompositor sa direktoryo sa pag-install sa lychee, nga gamiton sa pag-install sa mga dependency sa PHP.

# 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

Lakang 4: I-configure ang Nginx Server Block alang sa Lychee

12. Sunod, kinahanglan ka maghimo ug mag-configure sa Nginx server block para sa Lychee application ubos sa /etc/nginx/conf.d/.

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

Idugang ang mosunod nga configuration sa ibabaw nga file, hinumdumi nga gamiton ang imong kaugalingong domain name imbes nga lychee.example.com (kini usa lang ka dummy domain).

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

Dayon i-save ang file ug i-restart ang Nginx web server ug PHP-FPM aron magamit ang bag-ong mga pagbag-o.

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

Lakang 5: Kompletoha ang Pag-install sa Lychee Pinaagi sa Web Browser

13. Karon gamita ang URL lychee.example.com aron maablihan ang Lychee web installer sa imong browser ug ihatag ang imong database connection settings ug isulod ang ngalan sa database nga imong gibuhat para sa lychee ug i-klik ang Connect.

14. Sunod, pagsulod ug username ug password para sa imong instalasyon ug i-klik ang Create Login. Human sa pag-login, makaadto ka sa admin dashboard nga adunay mga default nga Albums sama sa gipakita sa mosunod nga screenshot.

Aron mag-upload og litrato o mag-import gikan sa usa ka link o mag-import gikan sa Dropbox o gikan sa laing server o magdugang og album, i-klik ang + sign. Ug aron makita ang mga litrato sa usa ka album, pag-klik lang niini.

Para sa dugang nga impormasyon, bisitaha ang Lychee Homepage: https://lycheeorg.github.io/

Ang Lychee usa ka open-source, sayon-gamiton, ug elegante nga PHP photo-management system aron pagdumala ug pagpaambit sa mga litrato. Kung naa kay pangutana o komento, gamita ang porma sa ubos para magsulat kanamo.