Lychee - Linux üçin ajaýyp görünýän surat dolandyryş ulgamy


“Lychee”, serweriňizde suratlary ygtybarly dolandyrmak we paýlaşmak üçin zerur bolan ähli aýratynlyklar bilen üpjün edilen erkin, açyk çeşme, owadan we ulanmaga aňsat surat dolandyryş ulgamy. Simpleönekeý web programmasyndan suratlaryňyzy sekuntlarda aňsatlyk bilen dolandyrmaga (ýüklemäge, göçürmäge, adyny üýtgetmäge, suratlandyrmaga, pozmaga ýa-da gözlemäge) mümkinçilik berýär.

  • yourhli suratlaryňyzy brauzeriňizden bir ýerde dolandyrmak üçin ajaýyp, owadan interfeýs.
  • Paroly goramak bilen bir gezek basylan surat we albom paýlaşmak.
  • keyshli suratlaryňyzy klawiaturany ulanyp, öňe we yza nawigasiýa bilen doly ekran re modeiminde görüň ýa-da suratlaryňyzy köpçülige açyp göz aýlamaga rugsat beriň.
  • Dürli çeşmelerden suratlaryň getirilmegini goldaýar: localhost, Dropbox, uzak serwer ýa-da baglanyşyk ulanmak.

“Lychee” -ni gurmak üçin size zerur zat, “PHP 5.5” ýa-da has soňraky “Apache” ýa-da “Nginx” ýaly işleýän web-serwer we MySQL-maglumatlar bazasy.

Bu makalanyň maksady üçin, lychee.example.com domen ady bolan RHEL 8 VPS-de Nginx, PHP-FPM 7.0 we MariaDB bilen Lychee surat dolandyryş ulgamyny guraryn.

1-nji ädim: Nginx, PHP we MariaDB guruň

1. Ilki bilen “Lychee” -ni işletmek üçin hosting gurşawyny gurmak üçin zerur giňeltmeler bilen “Nginx”, “PHP” we “MariaDB” maglumat bazasyny gurmakdan başlaň.

# 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. Gerekli paketleri guranyňyzdan soň, nginx, php-fpm we mariadb hyzmatlaryny başlaň, ýükleme wagtynda işlediň we bu hyzmatlaryň işleýändigini ýa-da işlemeýändigini barlaň.

------------ 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. Ondan soň, ulgamyňyzda gorag diwary işledilen bolsa, görkezilişi ýaly HTTP we HTTPS-de Nginx web serwerine müşderileriň isleglerine rugsat bermek üçin diwar diwaryndaky 80 we 443 portlaryny açmaly.

------------ 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. “Lychee” -ni netijeli işletmek üçin php.ini faýlynda aşakdaky häsiýetleriň bahalaryny ýokarlandyrmak maslahat berilýär.

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

Bu PHP parametrlerini gözläň we bahalaryny üýtgediň:

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

5. Indi ulanyjyny we topary düzmek üçin düşündirilişi ýaly www.conf faýlyny diňlemek üçin PHP-FPM sazlaň.

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

Unix ulanyjysyny/amallar toparyny düzmek üçin aşakdaky görkezmeleri gözläň (www-maglumatlary CentOS-da nginx-e üýtgediň).

user = www-data
group = www-data

Şeýle hem, “FastCGI” haýyşlaryny “Unix” rozetkasyna kabul etmeli diňlemek görkezmesini üýtgediň.

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

Direktiwany ulanyp, “Unix” rozetkasyna degişli eýeçilik rugsatlaryny belläň (www-maglumatlary CentOS/RHEL-de nginx-e üýtgediň).

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

Faýly ýazdyryň we nginx we php-fpm hyzmatlaryny täzeden açyň.

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

2-nji ädim: Howpsuz MariaDB gurnamasy

6. Bu ädimde, ikilik bukjasy bilen gelýän howpsuzlyk skriptini işledip, MariaDB maglumat bazasyny gurnamagy üpjün etmeli (täze ulgamda gurnalan bolsa deslapky kepillendirilmeýär).

Scriptazgyny işe girizmek üçin aşakdaky buýrugy kök hökmünde işlediň.

$ sudo mysql_secure_installation

Size kök paroly bellemek, näbelli ulanyjylary aýyrmak, kök girişini uzakdan öçürmek we synag bazasyny aýyrmak soralar. Kök paroly döredeniňizden soň we beýleki soraglara hawa/y jogap beriň.

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-nji ädim: “Lychee” surat dolandyryş ulgamyny guruň

7. “Lychee” -ni gurmak üçin ilki bilen aşakdaky buýruklary ulanyp, degişli rugsatlar bilen maglumat bazasyny döretmeli.

$ 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. Ondan soň, web resminamasynyň köküne geçiň we görkezilişi ýaly git buýruk setiri guralyny ulanyp, Lychee-iň iň soňky wersiýasyny alyň.

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

9. Soňra görkezilişi ýaly gurnama katalogynda dogry rugsatlary we eýeçiligi belläň (administratoryňyzy ulgamyňyzdaky ulanyjy ady bilen çalşyň).

------------ 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. Bu ädimde, PHP baglylyklaryny gurmak üçin ulanyljak lychee gurnama katalogynda kompozitor gurmaly.

# 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-nji ädim: Lychee üçin Nginx Serwer Blokyny sazlaň

12. Ondan soň /etc/nginx/conf.d/ aşagyndaky Lychee programmasy üçin Nginx serwer blokyny döretmeli we düzmeli.

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

Aboveokardaky faýlda aşakdaky konfigurasiýany goşuň, lychee.example.com ýerine domen adyňyzy ulanmagy ýatdan çykarmaň (bu diňe bir domen).

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

Soňra faýly ýazdyryň we soňky üýtgeşmeleri ulanmak üçin Nginx web serwerini we PHP-FPM-i täzeden açyň.

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

5-nji ädim: Web brauzeri arkaly doly “Lychee” gurnamasy

13. Indi brauzeriňizde Lychee web gurnawçysyny açmak we maglumat bazasyna birikdiriş sazlamalaryny üpjün etmek we lychee üçin döreden maglumatlar binýadyňyzyň adyny girizmek we birikdirmek düwmesine girmek üçin lychee.example.com URL ulanyň.

14. Ondan soň, gurmak üçin ulanyjy adyny we paroly giriziň we Giriş döretmek düwmesine basyň. Girişden soň, aşakdaky skrinshotda görkezilişi ýaly deslapky Albomlary öz içine alýan administrator paneline düşersiňiz.

Surat ýüklemek ýa-da baglanyşykdan import etmek ýa-da Dropbox-dan ýa-da başga bir serwerden import etmek ýa-da albom goşmak üçin + belgisine basyň. Albomdaky suratlary görmek üçin basyň.

Has giňişleýin maglumat üçin Lychee Baş sahypasyna giriň: https://lycheeorg.github.io/

“Lychee” suratlary dolandyrmak we paýlaşmak üçin açyk çeşme, ulanmak aňsat we ajaýyp PHP surat dolandyryş ulgamy. Soraglaryňyz ýa-da teswirleriňiz bar bolsa, bize ýazmak üçin aşakdaky formany ulanyň.