Lychee - ລະບົບການຄຸ້ມຄອງຮູບພາບທີ່ດີເລີດ ສຳ ລັບ Linux


Lychee ແມ່ນລະບົບຈັດການຮູບພາບທີ່ບໍ່ເສຍຄ່າ, ເປີດ, ສະຫງ່າງາມແລະງ່າຍຕໍ່ການໃຊ້, ເຊິ່ງມາພ້ອມກັບຄຸນລັກສະນະທີ່ ຈຳ ເປັນທັງ ໝົດ ທີ່ທ່ານຕ້ອງການໃນການຈັດການແລະແບ່ງປັນຮູບພາບໃນ server ຂອງທ່ານຢ່າງປອດໄພ. ມັນຊ່ວຍໃຫ້ທ່ານສາມາດຈັດການໄດ້ງ່າຍ (ອັບໂຫລດ, ຍ້າຍ, ປ່ຽນຊື່, ອະທິບາຍ, ລຶບຫຼືຄົ້ນຫາ) ຮູບພາບຂອງທ່ານພາຍໃນວິນາທີຈາກໂປແກຼມເວັບງ່າຍໆ.

  • ອິນເຕີເຟດທີ່ສວຍງາມແລະສວຍງາມໃນການຈັດການຮູບພາບທັງ ໝົດ ຂອງທ່ານຢູ່ບ່ອນດຽວ, ຈາກຕົວທ່ອງເວັບຂອງທ່ານ.
  • ການແລກປ່ຽນຮູບພາບແລະການກົດປຸ່ມ album ໜຶ່ງ ຄັ້ງດ້ວຍການປ້ອງກັນລະຫັດຜ່ານ.
  • ເບິ່ງຮູບພາບທັງ ໝົດ ຂອງທ່ານໃນຮູບແບບເຕັມ ໜ້າ ຈໍດ້ວຍການ ນຳ ທາງໄປທາງ ໜ້າ ແລະທາງຫລັງໂດຍໃຊ້ແປ້ນພິມຂອງທ່ານຫຼືໃຫ້ຄົນອື່ນສາມາດຄົ້ນຫາຮູບພາບຂອງທ່ານໂດຍການເຜີຍແຜ່ສາທາລະນະ.
  • ສະ ໜັບ ສະ ໜູນ ການ ນຳ ເຂົ້າຮູບພາບຈາກແຫຼ່ງຂໍ້ມູນຕ່າງໆ: localhost, Dropbox, server ຫ່າງໄກສອກຫຼີກຫຼືການ ນຳ ໃຊ້ link.

ການຕິດຕັ້ງ Lychee, ທຸກຢ່າງທີ່ທ່ານຕ້ອງການແມ່ນ web-server ທີ່ໃຊ້ງານເຊັ່ນ Apache ຫຼື Nginx ກັບ PHP 5.5 ຫຼືຫຼັງຈາກນັ້ນແລະ MySQL-Database.

ສຳ ລັບຈຸດປະສົງຂອງບົດຄວາມນີ້, ຂ້ອຍຈະຕິດຕັ້ງລະບົບການຈັດການຮູບພາບຂອງ Lychee ກັບ Nginx, PHP-FPM 7.0 ແລະ MariaDB ໃນ CentOS 7 VPS ທີ່ມີຊື່ໂດເມນ lychee.example.com.

ຂັ້ນຕອນທີ 1: ຕິດຕັ້ງ Nginx, PHP ແລະ MariaDB

1. ທຳ ອິດເລີ່ມຕົ້ນໂດຍການຕິດຕັ້ງ Nginx, PHP ດ້ວຍການຂະຫຍາຍທີ່ ຈຳ ເປັນແລະຖານຂໍ້ມູນ MariaDB ໃນການຕັ້ງຄ່າສະພາບແວດລ້ອມໂຮດຕິ້ງໃນການເຮັດວຽກ 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. ເມື່ອທ່ານໄດ້ຕິດຕັ້ງແພັກເກດທີ່ ຈຳ ເປັນແລ້ວ, ເລີ່ມຕົ້ນການບໍລິການ nginx, php-fpm ແລະ mariadb, ເປີດໃຊ້ງານໃຫ້ເຂົາເຈົ້າໃນເວລາບູດແລະກວດເບິ່ງວ່າການບໍລິການເຫຼົ່ານີ້ລຸກຂຶ້ນແລະເຮັດວຽກຢູ່ບໍ.

------------ 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. ຕໍ່ໄປຖ້າທ່ານມີລະບົບໄຟວໍຢູ່ໃນລະບົບຂອງທ່ານ, ທ່ານ ຈຳ ເປັນຕ້ອງເປີດພອດ 80 ແລະ 443 ໃນ Firewall ເພື່ອໃຫ້ ຄຳ ຮ້ອງຂໍຂອງລູກຄ້າເຂົ້າໄປທີ່ເວັບໄຊຕ໌ Nginx ໃນ HTTP ແລະ HTTPS ຕາມ ລຳ ດັບ, ດັ່ງທີ່ສະແດງ.

------------ 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 ຢ່າງມີປະສິດຕິຜົນ, ແນະ ນຳ ໃຫ້ເພີ່ມຄ່າຂອງຄຸນສົມບັດຕໍ່ໄປນີ້ໃນ php.ini file.

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

ຄົ້ນຫາພາລາມິເຕີ PHP ເຫລົ່ານີ້ແລະປ່ຽນຄ່າຂອງມັນໄປ:

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

5. ດຽວນີ້ ກຳ ຫນົດຄ່າ PHP-FPM ເພື່ອ ກຳ ນົດຜູ້ໃຊ້ແລະກຸ່ມ, ຟັງໄຟລ໌ເຕົ້າຮັບ www.conf ດັ່ງທີ່ໄດ້ອະທິບາຍແລ້ວ.

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

ຊອກຫາທິດທາງຂ້າງລຸ່ມເພື່ອ ກຳ ນົດຜູ້ ນຳ ໃຊ້/ກຸ່ມຂະບວນການ (ປ່ຽນ www-data to nginx ເທິງ CentOS).

user = www-data
group = www-data

ພ້ອມທັງປ່ຽນທິດທາງໃນການຟັງເພື່ອຮັບເອົາ ຄຳ ຮ້ອງຂໍ FastCGI ໃຫ້ກັບເຕົ້າຮັບ Unix.

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

ແລະ ກຳ ນົດສິດ ກຳ ມະສິດທີ່ ເໝາະ ສົມ ສຳ ລັບເຕົ້າຮັບ Unix ໂດຍໃຊ້ ຄຳ ສັ່ງ (ປ່ຽນ www-data to nginx ໃນ CentOS/RHEL).

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

ບັນທຶກເອກະສານແລະເລີ່ມການບໍລິການ nginx ແລະ php-fpm.

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

ຂັ້ນຕອນທີ 2: ການຕິດຕັ້ງ MariaDB ທີ່ປອດໄພ

6. ໃນຂັ້ນຕອນນີ້, ທ່ານຄວນຮັບປະກັນການຕິດຕັ້ງຖານຂໍ້ມູນຂອງ MariaDB (ເຊິ່ງບໍ່ປອດໄພໂດຍຄ່າເລີ່ມຕົ້ນຖ້າຖືກຕິດຕັ້ງໃນລະບົບສົດ), ໂດຍການແລ່ນສະຄິບຄວາມປອດໄພທີ່ມາພ້ອມກັບຊຸດຖານສອງ.

ດໍາເນີນການຄໍາສັ່ງຕໍ່ໄປນີ້ເປັນຮາກ, ເພື່ອເປີດຕົວສະຄິບ.

$ sudo mysql_secure_installation

ທ່ານຈະໄດ້ຮັບການກະຕຸ້ນເຕືອນໃຫ້ຕັ້ງລະຫັດລັບຮາກ, ເອົາຜູ້ໃຊ້ບໍລິຈາກເງິນ, ປິດການເຂົ້າສູ່ລະບົບຮາກຈາກໄລຍະໄກແລະເອົາຖານຂໍ້ມູນທົດສອບອອກ. ຫລັງຈາກສ້າງລະຫັດຜ່ານຮາກ, ແລະຕອບ ແມ່ນ/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: ຕິດຕັ້ງລະບົບການຈັດການຮູບພາບຂອງ Lychee

7. ໃນການຕິດຕັ້ງ Lychee, ທຳ ອິດທ່ານຕ້ອງສ້າງຖານຂໍ້ມູນໃຫ້ມັນໂດຍມີສິດທີ່ ເໝາະ ສົມໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້.

$ 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. ຕໍ່ໄປ, ຍ້າຍເຂົ້າໄປໃນຮາກເອກະສານເວັບແລະຄວ້າເອົາ Lychee ລຸ້ນລ້າສຸດໂດຍໃຊ້ເຄື່ອງມືເສັ້ນ git command, ດັ່ງທີ່ສະແດງໄວ້.

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

9. ຫຼັງຈາກນັ້ນ, ກຳ ນົດສິດແລະຄວາມເປັນເຈົ້າຂອງທີ່ຖືກຕ້ອງໄວ້ໃນໄດເລກະທໍລີຕິດຕັ້ງດັ່ງທີ່ສະແດງ (ແທນ admin ກັບຊື່ຜູ້ໃຊ້ໃນລະບົບຂອງທ່ານ).

------------ 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. ໃນຂັ້ນຕອນນີ້, ທ່ານ ຈຳ ເປັນຕ້ອງຕັ້ງ composer ໄວ້ໃນໄດເລກະທໍລີຕິດຕັ້ງ lychee, ເຊິ່ງຈະຖືກ ນຳ ໃຊ້ເພື່ອຕິດຕັ້ງເອກະສານເອື່ອຍອີງຂອງ 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

ຂັ້ນຕອນທີ 4: ຕັ້ງຄ່າ Server Nginx Server ສຳ ລັບ Lychee

12. ຕໍ່ໄປ, ທ່ານ ຈຳ ເປັນຕ້ອງສ້າງແລະ ກຳ ນົດບລັອກເຊີຟເວີ Nginx ສຳ ລັບໂປແກຼມ Lychee ພາຍໃຕ້ /etc/nginx/conf.d/.

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

ຕື່ມການຕັ້ງຄ່າຕໍ່ໄປນີ້ໃນເອກະສານຂ້າງເທິງ, ຈົ່ງຈື່ ຈຳ ທີ່ຈະໃຊ້ຊື່ໂດເມນຂອງທ່ານເອງແທນທີ່ຈະເປັນ lychee.example.com (ນີ້ແມ່ນພຽງແຕ່ໂດເມນຍ່ອຍ).

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

ຫຼັງຈາກນັ້ນບັນທຶກເອກະສານດັ່ງກ່າວແລະເລີ່ມຕົ້ນ ໃໝ່ ຂອງ Nginx web server ແລະ PHP-FPM ເພື່ອ ນຳ ໃຊ້ການປ່ຽນແປງ ໃໝ່ໆ.

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

ຂັ້ນຕອນທີ 5: ເຮັດການຕິດຕັ້ງ Lychee ສຳ ເລັດຜ່ານ Browser Web

13. ຕອນນີ້ໃຊ້ URL lychee.example.com ເພື່ອເປີດຜູ້ຕິດຕັ້ງເວັບໄຊທ໌ Lychee ໃນ browser ຂອງທ່ານແລະໃຫ້ການຕັ້ງຄ່າການເຊື່ອມຕໍ່ຖານຂໍ້ມູນຂອງທ່ານແລະໃສ່ຊື່ຂອງຖານຂໍ້ມູນທີ່ທ່ານສ້າງຂື້ນ ສຳ ລັບ lychee ແລະກົດເຊື່ອມຕໍ່.

14. ຕໍ່ໄປ, ໃສ່ຊື່ຜູ້ໃຊ້ແລະລະຫັດຜ່ານ ສຳ ລັບການຕິດຕັ້ງຂອງທ່ານແລະກົດປຸ່ມ Login Login. ຫຼັງຈາກເຂົ້າສູ່ລະບົບແລ້ວ, ທ່ານຈະລົງຈອດໃນ dashboard ຂອງ admin ເຊິ່ງປະກອບດ້ວຍການຕັ້ງຄ່າ Albums ຕາມທີ່ສະແດງໃນ ໜ້າ ຈໍຕໍ່ໄປ

ເພື່ອອັບໂຫລດຮູບພາບຫລືການ ນຳ ເຂົ້າຈາກລິ້ງຫລື ນຳ ເຂົ້າຈາກ Dropbox ຫຼືຈາກເຄື່ອງແມ່ຂ່າຍອື່ນຫຼືເພີ່ມອະລະບ້ ຳ, ໃຫ້ຄລິກໃສ່ສັນຍາລັກ + . ແລະເພື່ອເບິ່ງຮູບໃນອະລະບ້ ຳ, ພຽງແຕ່ກົດເຂົ້າເບິ່ງ.

ສຳ ລັບຂໍ້ມູນເພີ່ມເຕີມ, ເຂົ້າເບິ່ງເວັບໄຊທ໌ Lychee: https://lycheeorg.github.io/

Lychee ແມ່ນລະບົບທີ່ເປີດເຜີຍ, ງ່າຍຕໍ່ການໃຊ້ງານແລະສະຫງ່າງາມໃນລະບົບ PHP ເພື່ອຄຸ້ມຄອງແລະແບ່ງປັນຮູບພາບ. ຖ້າທ່ານມີ ຄຳ ຖາມຫຼື ຄຳ ເຫັນໃດໆ, ໃຫ້ໃຊ້ແບບຟອມລຸ່ມນີ້ເພື່ອຂຽນຫາພວກເຮົາ.