ค้นหาเว็บไซต์

Lychee - ระบบจัดการรูปภาพที่ดูดีสำหรับ Linux


Lychee เป็นระบบจัดการรูปภาพแบบโอเพ่นซอร์ส สวยงาม และใช้งานง่ายฟรี ซึ่งมาพร้อมกับคุณสมบัติที่จำเป็นทั้งหมดที่คุณต้องการสำหรับการจัดการและแบ่งปันรูปภาพอย่างปลอดภัยบนเซิร์ฟเวอร์ของคุณ ช่วยให้คุณสามารถจัดการ (อัปโหลด ย้าย เปลี่ยนชื่อ อธิบาย ลบ หรือค้นหา) รูปภาพของคุณได้อย่างง่ายดายภายในไม่กี่วินาทีจากเว็บแอปพลิเคชันธรรมดา

คุณสมบัติของลิ้นจี่

  • อินเทอร์เฟซที่สวยงามและน่าทึ่งสำหรับจัดการรูปภาพทั้งหมดของคุณในที่เดียวจากเบราว์เซอร์ของคุณ
  • การแชร์รูปภาพและอัลบั้มในคลิกเดียวพร้อมการป้องกันด้วยรหัสผ่าน
  • ดูภาพทั้งหมดของคุณในโหมดเต็มหน้าจอพร้อมการนำทางไปข้างหน้าและย้อนกลับโดยใช้แป้นพิมพ์ของคุณ หรือให้ผู้อื่นเรียกดูรูปภาพของคุณโดยทำให้เป็นสาธารณะ
  • รองรับการนำเข้ารูปภาพจากแหล่งต่าง ๆ : localhost, Dropbox, เซิร์ฟเวอร์ระยะไกล หรือใช้ลิงก์

ในการติดตั้ง Lychee ทุกสิ่งที่คุณต้องการคือเว็บเซิร์ฟเวอร์ที่ทำงานอยู่ เช่น Apache หรือ Nginx ที่มี PHP 5.5 หรือใหม่กว่า และ MySQL -ฐานข้อมูล.

สำหรับวัตถุประสงค์ของบทความนี้ ฉันจะติดตั้งระบบการจัดการภาพถ่าย Lychee ด้วย Nginx, PHP-FPM 7.0 และ MariaDB บน RHEL 8 VPS ที่มีชื่อโดเมน lychee.example.com

ขั้นตอนที่ 1: ติดตั้ง Nginx, PHP และ MariaDB

1. เริ่มต้นด้วยการติดตั้ง Nginx, PHP พร้อมส่วนขยายที่จำเป็น และฐานข้อมูล MariaDB เพื่อตั้งค่าสภาพแวดล้อมการโฮสต์ วิ่ง ลิ้นจี่

บน Cent/RHEL/Rocky Linux และ AlmaLinux

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

บน Ubuntu และ Debian

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.4-fpm mysql
sudo systemctl status nginx php7.4-fpm mysql
sudo systemctl enable nginx php7.4-fpm mysql

3. ถัดไป หากคุณเปิดใช้งานไฟร์วอลล์บนระบบของคุณ คุณจะต้องเปิดพอร์ต 80 และ 443 ในไฟร์วอลล์เพื่ออนุญาตไคลเอ็นต์ ร้องขอไปยังเว็บเซิร์ฟเวอร์ 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

vim /etc/php/php.ini			#CentOS/RHEL
sudo vim /etc/php/7.4/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

มองหาคำสั่งด้านล่างเพื่อตั้งค่าผู้ใช้ Unix/กลุ่มของกระบวนการ (เปลี่ยน www-data เป็น nginx บน CentOS)

user = www-data
group = www-data

นอกจากนี้ ให้เปลี่ยนคำสั่ง listen ที่จะยอมรับคำขอ FastCGI ไปยังซ็อกเก็ต Unix

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

และตั้งค่าสิทธิ์การเป็นเจ้าของที่เหมาะสมสำหรับซ็อกเก็ต Unix โดยใช้คำสั่ง (เปลี่ยน www-data เป็น 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.4-fpm      #Ubuntu/Debian

ขั้นตอนที่ 2: การติดตั้ง MariaDB ที่ปลอดภัย

6. ในขั้นตอนนี้ คุณควรรักษาความปลอดภัยให้กับการติดตั้งฐานข้อมูล MariaDB (ซึ่งจะไม่ปลอดภัยตามค่าเริ่มต้นหากติดตั้งบนระบบใหม่) โดยการเรียกใช้สคริปต์ความปลอดภัยที่มาพร้อมกับ แพคเกจไบนารี

รันคำสั่งต่อไปนี้ในฐานะ root เพื่อเรียกใช้สคริปต์

sudo mysql_secure_installation

คุณจะได้รับแจ้งให้ตั้งรหัสผ่าน root ลบผู้ใช้ที่ไม่ระบุชื่อ ปิดการใช้งานการเข้าสู่ระบบรูทจากระยะไกล และลบฐานข้อมูลทดสอบ หลังจากสร้างรหัสผ่านรูทแล้ว และตอบ ใช่/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: ติดตั้งระบบจัดการภาพถ่ายลิ้นจี่

7. ในการติดตั้ง Lychee ขั้นแรกคุณต้องสร้างฐานข้อมูลโดยมีสิทธิ์ที่เหมาะสมโดยใช้คำสั่งต่อไปนี้

sudo mysql -u root -p
MariaDB [(none)]> CREATE DATABASE lychee; 
MariaDB [(none)]> CREATE USER 'lycheeadmin'@'localhost' IDENTIFIED BY '=@!#@%$Lost';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON  lychee.* TO 'lycheeadmin'@'localhost';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

8. จากนั้น ย้ายไปยังรูทเอกสารเว็บและคว้า Lychee เวอร์ชันล่าสุดโดยใช้เครื่องมือบรรทัดคำสั่ง git ดังที่แสดง

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

9. จากนั้นตั้งค่าการอนุญาตและความเป็นเจ้าของที่ถูกต้องในไดเร็กทอรีการติดตั้งดังที่แสดง (แทนที่ ผู้ดูแลระบบ ด้วยชื่อผู้ใช้บนระบบของคุณ)

------------ 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. ในขั้นตอนนี้ คุณจะต้องตั้งค่า ผู้แต่ง ในไดเร็กทอรีการติดตั้ง ลิ้นจี่ ซึ่งจะใช้ในการติดตั้งการอ้างอิง 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: กำหนดค่า Nginx Server Block สำหรับ 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/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;
	}
}

จากนั้นบันทึกไฟล์และรีสตาร์ทเว็บเซิร์ฟเวอร์ Nginx และ PHP-FPM เพื่อใช้การเปลี่ยนแปลงล่าสุด

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

ขั้นตอนที่ 5: ติดตั้งลิ้นจี่ให้เสร็จสมบูรณ์ผ่านเว็บเบราว์เซอร์

13. ตอนนี้ใช้ URL lychee.example.com เพื่อเปิดโปรแกรมติดตั้งเว็บ Lychee ในเบราว์เซอร์ของคุณและระบุการตั้งค่าการเชื่อมต่อฐานข้อมูลของคุณและป้อนชื่อของฐานข้อมูลที่คุณสร้างขึ้น ลิ้นจี่แล้วคลิก เชื่อมต่อ

14. จากนั้น ป้อน ชื่อผู้ใช้ และ รหัสผ่าน สำหรับการติดตั้งของคุณ และคลิก สร้างการเข้าสู่ระบบ หลังจากเข้าสู่ระบบ คุณจะเข้าสู่แผงควบคุมของผู้ดูแลระบบซึ่งประกอบด้วย อัลบั้ม เริ่มต้นตามที่แสดงในภาพหน้าจอต่อไปนี้

หากต้องการอัปโหลดรูปภาพหรือนำเข้าจากลิงก์ หรือนำเข้าจาก Dropbox หรือจากเซิร์ฟเวอร์อื่น หรือเพิ่มอัลบั้ม ให้คลิกเครื่องหมาย + และหากต้องการดูรูปภาพในอัลบั้ม ให้คลิกที่รูปภาพนั้น

สำหรับข้อมูลเพิ่มเติม โปรดเยี่ยมชมโฮมเพจของลิ้นจี่: https://lycheeorg.github.io/

Lychee เป็นระบบจัดการรูปภาพ PHP แบบโอเพ่นซอร์ส ใช้งานง่าย และสวยงามสำหรับจัดการและแบ่งปันรูปภาพ หากคุณมีคำถามหรือความคิดเห็นใดๆ โปรดใช้แบบฟอร์มด้านล่างเพื่อเขียนถึงเรา