Lychee - Eto Iṣakoso Fọto Nla Nla Nla fun Lainos


Lychee jẹ ọfẹ, orisun ṣiṣi, didara ati irọrun iṣakoso eto-iṣakoso fọto, eyiti o wa pẹlu gbogbo awọn ẹya pataki ti o nilo fun iṣakoso ni aabo ati pinpin awọn fọto lori olupin rẹ. O fun ọ laaye lati ṣakoso ni irọrun (gbe si, gbe, fun lorukọ mii, ṣapejuwe, paarẹ tabi wa) awọn fọto rẹ ni iṣẹju-aaya lati ohun elo wẹẹbu ti o rọrun.

  • Iyanu, wiwo ti o lẹwa lati ṣakoso gbogbo awọn fọto rẹ ni ibi kan, ni ọtun lati ẹrọ lilọ kiri ayelujara rẹ.
  • Fọwọkan fọto kan ati pinpin awo pẹlu aabo ọrọ igbaniwọle.
  • Wo gbogbo awọn aworan rẹ ni ipo iboju kikun pẹlu lilọ kiri siwaju ati sẹhin nipa lilo bọtini itẹwe rẹ tabi jẹ ki awọn miiran lọ kiri awọn fọto rẹ nipa ṣiṣe wọn ni gbangba.
  • Ṣe atilẹyin gbigbe wọle awọn fọto lati oriṣiriṣi awọn orisun: localhost, Dropbox, olupin latọna jijin, tabi lilo ọna asopọ kan.

Lati fi sori ẹrọ Lychee, ohun gbogbo ti o nilo ni olupin-ayelujara ti n ṣiṣẹ gẹgẹbi Apache tabi Nginx pẹlu PHP 5.5 tabi nigbamii ati aaye data MySQL kan.

Fun idi ti nkan yii, Emi yoo nfi eto iṣakoso fọto-fọto Lychee sori ẹrọ pẹlu Nginx, PHP-FPM 7.0 ati MariaDB lori CentOS 7 VPS kan pẹlu orukọ-ašẹ lychee.example.com.

Igbesẹ 1: Fi Nginx, PHP ati MariaDB sii

1. Ibẹrẹ akọkọ nipa fifi sori ẹrọ Nginx, PHP pẹlu awọn amugbooro ti o nilo ati ibi ipamọ data MariaDB lati ṣeto ayika agbegbe alejo gbigba lati ṣiṣe 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. Lọgan ti o ba ti fi awọn idii ti o nilo sii, bẹrẹ nginx, php-fpm ati awọn iṣẹ mariadb, jẹ ki wọn ṣiṣẹ ni akoko bata ati ṣayẹwo boya awọn iṣẹ wọnyi ba n ṣiṣẹ.

------------ 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. Nigbamii ti, ti o ba ni ogiriina ti o ṣiṣẹ lori eto rẹ, o nilo lati ṣii ibudo 80 ati 443 ni ogiriina lati gba awọn ibeere alabara si olupin ayelujara Nginx lori HTTP ati HTTPS lẹsẹsẹ, bi a ṣe han.

------------ 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. Lati le ṣiṣẹ Lychee daradara, o ni iṣeduro lati mu awọn iye ti awọn ohun-ini atẹle wọnyi pọ sii ni faili php.ini .

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

Wa fun awọn ipilẹ PHP wọnyi ki o yi awọn iye wọn pada si:

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

5. Bayi tunto PHP-FPM lati ṣeto olumulo ati ẹgbẹ, gbọ iho www.conf faili bi a ti ṣalaye.

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

Wa fun awọn itọsọna ni isalẹ lati ṣeto olumulo Unix/ẹgbẹ ti awọn ilana (yi www-data pada si nginx lori CentOS).

user = www-data
group = www-data

Tun yi itọsọna gbọ lori eyiti o gba awọn ibeere FastCGI si iho Unix.

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

Ati ṣeto awọn igbanilaaye nini ti o yẹ fun iho Unix nipa lilo itọsọna (yi www-data pada si nginx lori CentOS/RHEL).

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

Fipamọ faili ki o tun bẹrẹ awọn iṣẹ nginx ati php-fpm.

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

Igbesẹ 2: Fifi sori ẹrọ MariaDB Fifi sori ẹrọ

6. Ni igbesẹ yii, o yẹ ki o ni aabo fifi sori data data MariaDB (eyiti ko ni aabo nipasẹ aiyipada ti o ba fi sori ẹrọ lori ẹrọ tuntun), nipa ṣiṣe iwe afọwọkọ aabo eyiti o wa pẹlu package alakomeji.

Ṣiṣe aṣẹ atẹle bi gbongbo, lati ṣe ifilọlẹ akosile naa.

$ sudo mysql_secure_installation

A yoo ṣetan ọ lati ṣeto ọrọ igbaniwọle root, yọ awọn olumulo alailorukọ kuro, mu wiwọle root kuro latọna jijin ki o yọ ibi ipamọ data idanwo kuro. Lẹhin ṣiṣẹda ọrọ igbaniwọle kan, ki o dahun bẹẹni/y si iyoku awọn ibeere.

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

Igbesẹ 3: Fi sori ẹrọ Eto Iṣakoso Fọto Lychee

7. Lati fi sori ẹrọ Lychee, akọkọ o nilo lati ṣẹda ipilẹ data fun o pẹlu awọn igbanilaaye ti o yẹ nipa lilo awọn ofin atẹle.

$ 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. Nigbamii, gbe si gbongbo iwe wẹẹbu ki o mu ẹya tuntun ti Lychee ni lilo ọpa lait aṣẹ git, bi o ti han.

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

9. Lẹhinna ṣeto awọn igbanilaaye ti o tọ ati nini lori itọsọna fifi sori ẹrọ bi o ti han (rọpo abojuto pẹlu orukọ olumulo lori ẹrọ rẹ).

------------ 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. Ni igbesẹ yii, o nilo lati ṣeto olupilẹṣẹ eto ninu ilana fifi sori ẹrọ lychee, eyiti yoo lo lati fi awọn igbẹkẹle PHP sii.

# 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

Igbesẹ 4: Tunto Àkọsílẹ Server Nginx fun Lychee

12. Nigbamii ti, o nilo lati ṣẹda ati tunto bulọọki olupin Nginx fun ohun elo Lychee labẹ /etc/nginx/conf.d/.

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

Ṣafikun iṣeto ni atẹle ni faili ti o wa loke, ranti lati lo orukọ ìkápá tirẹ dipo ti lychee.example.com (eyi o jẹ aaye aṣẹ odidi).

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

Lẹhinna fi faili naa pamọ ki o tun bẹrẹ olupin ayelujara Nginx ati PHP-FPM lati lo awọn ayipada to ṣẹṣẹ.

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

Igbesẹ 5: Fifi sori ẹrọ Lychee Pipe Nipasẹ aṣawakiri Wẹẹbu

13. Bayi lo URL lychee.example.com lati ṣii olupilẹṣẹ wẹẹbu Lychee ninu ẹrọ aṣawakiri rẹ ati pese awọn eto asopọ asopọ data rẹ ki o tẹ orukọ ibi-ipamọ data ti o ṣẹda fun lychee sii ki o tẹ Sopọ.

14. Itele, tẹ orukọ olumulo ati ọrọ igbaniwọle sii fun fifi sori rẹ ki o tẹ Ṣẹda Wiwọle. Lẹhin iwọle, iwọ yoo de sinu dasibodu abojuto eyiti o ni Awọn awo-orin aiyipada bi o ṣe han ninu sikirinifoto atẹle.

Lati gbe aworan kan tabi gbe wọle lati ọna asopọ kan tabi gbe wọle lati Dropbox tabi lati olupin miiran tabi ṣafikun awo-orin kan, tẹ ami + . Ati lati wo awọn fọto inu awo-orin kan, tẹ ẹ ni kia kia.

Fun alaye diẹ sii, ṣabẹwo si oju-iwe akọọkan Lychee: https://lycheeorg.github.io/

Lychee jẹ orisun ṣiṣi, irọrun lati lo ati didara iṣakoso eto fọto fọto PHP lati ṣakoso ati pin awọn fọto. Ti o ba ni ibeere tabi awọn asọye eyikeyi, lo fọọmu ti o wa ni isalẹ lati kọwe si wa.