Lychee - Mfumo Mzuri wa Kusimamia Picha kwa Linux


Lychee ni mfumo wa bure, wa chanzo huria, maridadi na rahisi kutumia, ambao huja na vipengele vyote muhimu unavyohitaji ili kudhibiti na kushiriki picha kwa usalama kwenye seva yako. Inakuruhusu kudhibiti kwa urahisi (kupakia, kusonga, kubadilisha jina, kuelezea, kufuta au kutafuta) picha zako kwa sekunde kutoka kwa programu rahisi ya wavuti.

  • Kiolesura cha kuvutia, kizuri cha kudhibiti picha zako zote katika sehemu moja, kutoka kwa kivinjari chako.
  • Picha na kushiriki albamu kwa kubofya mara moja kwa ulinzi wa nenosiri.
  • Tazama picha zako zote katika hali ya skrini nzima kwa kusambaza mbele na kusogeza nyuma kwa kutumia kibodi yako au waruhusu wengine wavinjari picha zako kwa kuziweka hadharani.
  • Inaauni uagizaji wa picha kutoka vyanzo mbalimbali: localhost, Dropbox, seva ya mbali, au kwa kutumia kiungo.

Ili kusakinisha Lychee, kila kitu unachohitaji ni seva ya wavuti inayoendesha kama vile Apache au Nginx iliyo na PHP 5.5 au baadaye na Hifadhidata ya MySQL.

Kwa madhumuni ya kifungu hiki, nitakuwa nikisakinisha mfumo wa usimamizi wa picha wa Lychee na Nginx, PHP-FPM 7.0, na MariaDB kwenye RHEL 8 VPS iliyo na jina la kikoa lychee.example.com.

Hatua ya 1: Sakinisha Nginx, PHP, na MariaDB

1. Anza kwanza kwa kusakinisha Nginx, PHP na viendelezi vinavyohitajika, na hifadhidata ya MariaDB ili kuweka mazingira ya kukaribisha kuendesha 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. Mara baada ya kusakinisha vifurushi vinavyohitajika, anza huduma za nginx, php-fpm, na mariadb, ziwashe wakati wa kuwasha na uangalie ikiwa huduma hizi ziko na zinaendelea.

------------ 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. Kisha, ikiwa umewasha ngome kwenye mfumo wako, unahitaji kufungua milango 80 na 443 kwenye ngome ili kuruhusu maombi ya mteja kwa seva ya wavuti ya Nginx kwenye HTTP na HTTPS mtawalia, kama inavyoonyeshwa.

------------ 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. Ili kuendesha Lychee kwa ufanisi, inashauriwa kuongeza maadili ya sifa zifuatazo katika faili ya php.ini.

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

Tafuta vigezo hivi vya PHP na ubadilishe maadili yao kuwa:

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

5. Sasa sanidi PHP-FPM ili kuweka mtumiaji na kikundi, sikiliza soketi www.conf faili kama ilivyoelezwa.

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

Tafuta maagizo hapa chini ili kuweka mtumiaji wa Unix/kikundi cha michakato (badilisha www-data kuwa nginx kwenye CentOS).

user = www-data
group = www-data

Pia, badilisha maagizo ya kusikiliza ambayo utakubali maombi ya FastCGI kuwa soketi ya Unix.

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

Na uweke ruhusa zinazofaa za umiliki kwa soketi ya Unix kwa kutumia maagizo (badilisha www-data hadi nginx kwenye CentOS/RHEL).

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

Hifadhi faili na uanze tena huduma za nginx na php-fpm.

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

Hatua ya 2: Salama Usakinishaji wa MariaDB

6. Katika hatua hii, unapaswa kulinda usakinishaji wa hifadhidata ya MariaDB (ambayo haijalindwa kwa chaguomsingi ikiwa imesakinishwa kwenye mfumo mpya), kwa kuendesha hati ya usalama inayokuja na kifurushi cha binary.

Endesha amri ifuatayo kama mzizi, ili kuzindua hati.

$ sudo mysql_secure_installation

Utaombwa kuweka nenosiri la msingi, kuondoa watumiaji wasiojulikana, kuzima kuingia kwa mizizi kwa mbali na kuondoa hifadhidata ya majaribio. Baada ya kuunda nenosiri la msingi, na ujibu ndiyo/y kwa maswali mengine.

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

Hatua ya 3: Sakinisha Mfumo wa Kusimamia Picha za Lychee

7. Ili kufunga Lychee, kwanza, unahitaji kuunda database kwa ajili yake na ruhusa zinazofaa kwa kutumia amri zifuatazo.

$ 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. Kisha, nenda kwenye mzizi wa hati ya wavuti na unyakue toleo la hivi punde la Lychee ukitumia zana ya mstari wa amri ya git, kama inavyoonyeshwa.

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

9. Kisha weka ruhusa na umiliki sahihi kwenye saraka ya usakinishaji kama inavyoonyeshwa (badilisha admin na jina la mtumiaji kwenye mfumo wako).

------------ 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. Katika hatua hii, unahitaji kuanzisha mtunzi katika saraka ya ufungaji ya lychee, ambayo itatumika kufunga utegemezi wa 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

Hatua ya 4: Sanidi Kizuizi cha Seva ya Nginx kwa Lychee

12. Kisha, unahitaji kuunda na kusanidi kizuizi cha seva cha Nginx kwa programu ya Lychee chini ya /etc/nginx/conf.d/.

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

Ongeza usanidi ufuatao katika faili iliyo hapo juu, kumbuka kutumia jina la kikoa chako badala ya lychee.example.com (hiki ni kikoa dummy).

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

Kisha hifadhi faili na uanze upya seva ya wavuti ya Nginx na PHP-FPM ili kutumia mabadiliko ya hivi majuzi.

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

Hatua ya 5: Kamilisha Usakinishaji wa Lychee Kupitia Kivinjari cha Wavuti

13. Sasa tumia URL lychee.example.com ili kufungua kisakinishi cha Lychee kwenye kivinjari chako na kutoa mipangilio ya muunganisho wa hifadhidata yako na uweke jina la hifadhidata uliyounda kwa lychee na ubofye Unganisha.

14. Kisha, ingiza jina la mtumiaji na nenosiri kwa usakinishaji wako na ubofye Unda Ingia. Baada ya kuingia, utatua kwenye dashibodi ya msimamizi ambayo ina Albamu chaguo-msingi kama inavyoonyeshwa kwenye picha ya skrini ifuatayo.

Ili kupakia picha au kuagiza kutoka kwa kiungo au kuagiza kutoka kwa Dropbox au kutoka kwa seva nyingine au kuongeza albamu, bofya ishara ya +. Na kutazama picha kwenye albamu, bonyeza tu juu yake.

Kwa habari zaidi, tembelea ukurasa wa nyumbani wa Lychee: https://lycheeorg.github.io/

Lychee ni mfumo huria, rahisi kutumia, na wa kifahari wa usimamizi wa picha wa PHP ili kudhibiti na kushiriki picha. Ikiwa una maswali au maoni yoyote, tumia fomu iliyo hapa chini kutuandikia.