ലിച്ചി - Linux-നുള്ള ഒരു മികച്ച ഫോട്ടോ മാനേജ്മെന്റ് സിസ്റ്റം


നിങ്ങളുടെ സെർവറിൽ ഫോട്ടോകൾ സുരക്ഷിതമായി കൈകാര്യം ചെയ്യുന്നതിനും പങ്കിടുന്നതിനും ആവശ്യമായ എല്ലാ ഫീച്ചറുകളും ഉൾക്കൊള്ളുന്ന സൗജന്യവും ഓപ്പൺ സോഴ്uസ് മനോഹരവും ഉപയോഗിക്കാൻ എളുപ്പമുള്ളതുമായ ഫോട്ടോ മാനേജ്uമെന്റ് സിസ്റ്റമാണ് ലിച്ചി. ഒരു ലളിതമായ വെബ് ആപ്ലിക്കേഷനിൽ നിന്ന് നിമിഷങ്ങൾക്കുള്ളിൽ നിങ്ങളുടെ ഫോട്ടോകൾ എളുപ്പത്തിൽ നിയന്ത്രിക്കാൻ (അപ്uലോഡ് ചെയ്യുക, നീക്കുക, പേരുമാറ്റുക, വിവരിക്കുക, ഇല്ലാതാക്കുക അല്ലെങ്കിൽ തിരയുക) ഇത് നിങ്ങളെ അനുവദിക്കുന്നു.

  • നിങ്ങളുടെ എല്ലാ ഫോട്ടോകളും ഒരിടത്ത്, നിങ്ങളുടെ ബ്രൗസറിൽ നിന്ന് തന്നെ മാനേജ് ചെയ്യാനുള്ള അതിശയകരവും മനോഹരവുമായ ഇന്റർഫേസ്.
  • പാസ്uവേർഡ് പരിരക്ഷയുള്ള ഫോട്ടോയും ആൽബവും പങ്കിടൽ ഒറ്റ ക്ലിക്ക്.
  • നിങ്ങളുടെ കീബോർഡ് ഉപയോഗിച്ച് ഫോർവേഡിംഗും ബാക്ക്uവേർഡ് നാവിഗേഷനും ഉപയോഗിച്ച് നിങ്ങളുടെ എല്ലാ ചിത്രങ്ങളും പൂർണ്ണ സ്uക്രീൻ മോഡിൽ കാണുക അല്ലെങ്കിൽ നിങ്ങളുടെ ഫോട്ടോകൾ എല്ലാവർക്കുമായി ബ്രൗസ് ചെയ്യാൻ മറ്റുള്ളവരെ അനുവദിക്കുക.
  • വിവിധ ഉറവിടങ്ങളിൽ നിന്ന് ഫോട്ടോകൾ ഇറക്കുമതി ചെയ്യുന്നതിനെ പിന്തുണയ്ക്കുന്നു: ലോക്കൽ ഹോസ്റ്റ്, ഡ്രോപ്പ്ബോക്സ്, റിമോട്ട് സെർവർ അല്ലെങ്കിൽ ഒരു ലിങ്ക് ഉപയോഗിക്കുന്നത്.

ലിച്ചി ഇൻസ്uറ്റാൾ ചെയ്യാൻ, നിങ്ങൾക്കാവശ്യമുള്ളത് PHP 5.5 അല്ലെങ്കിൽ അതിന് ശേഷമുള്ള അപ്പാച്ചെ അല്ലെങ്കിൽ Nginx പോലെയുള്ള ഒരു പ്രവർത്തിക്കുന്ന വെബ്-സെർവറും ഒരു MySQL-ഡാറ്റാബേസും ആണ്.

ഈ ലേഖനത്തിന്റെ ഉദ്ദേശ്യത്തിനായി, ഞാൻ lychee.example.com എന്ന ഡൊമെയ്uൻ നാമമുള്ള RHEL 8 VPS-ൽ Nginx, PHP-FPM 7.0, MariaDB എന്നിവയ്uക്കൊപ്പം ഒരു ലിച്ചി ഫോട്ടോ-മാനേജ്uമെന്റ് സിസ്റ്റം ഇൻസ്റ്റാൾ ചെയ്യും.

ഘട്ടം 1: Nginx, PHP, MariaDB എന്നിവ ഇൻസ്റ്റാൾ ചെയ്യുക

1. ആദ്യം Nginx, ആവശ്യമായ വിപുലീകരണങ്ങളുള്ള PHP, മരിയാഡിബി ഡാറ്റാബേസ് എന്നിവ ഇൻസ്റ്റാൾ ചെയ്തുകൊണ്ട് ലിച്ചി പ്രവർത്തിപ്പിക്കുന്നതിന് ഒരു ഹോസ്റ്റിംഗ് എൻവയോൺമെന്റ് സജ്ജീകരിക്കുക.

# 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. നിങ്ങൾ ആവശ്യമായ പാക്കേജുകൾ ഇൻസ്റ്റാൾ ചെയ്തുകഴിഞ്ഞാൽ, 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. അടുത്തതായി, നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഒരു ഫയർവാൾ പ്രവർത്തനക്ഷമമാക്കിയിട്ടുണ്ടെങ്കിൽ, കാണിച്ചിരിക്കുന്നതുപോലെ, യഥാക്രമം HTTP, HTTPS എന്നിവയിലെ Nginx വെബ് സെർവറിലേക്ക് ക്ലയന്റ് അഭ്യർത്ഥനകൾ അനുവദിക്കുന്നതിന് നിങ്ങൾ ഫയർവാളിൽ 80, 443 എന്നീ പോർട്ടുകൾ തുറക്കേണ്ടതുണ്ട്.

------------ 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. ലിച്ചി ഫലപ്രദമായി പ്രവർത്തിപ്പിക്കുന്നതിന്, 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 ഉപയോക്താവിനെ/പ്രോസസുകളുടെ ഗ്രൂപ്പ് സജ്ജീകരിക്കുന്നതിന് ചുവടെയുള്ള നിർദ്ദേശങ്ങൾക്കായി നോക്കുക (CentOS-ൽ www-data nginx ആയി മാറ്റുക).

user = www-data
group = www-data

കൂടാതെ, ഒരു Unix സോക്കറ്റിലേക്ക് FastCGI അഭ്യർത്ഥനകൾ സ്വീകരിക്കുന്നതിനുള്ള ശ്രവണ നിർദ്ദേശം മാറ്റുക.

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

നിർദ്ദേശം ഉപയോഗിച്ച് Unix സോക്കറ്റിന് ഉചിതമായ ഉടമസ്ഥാവകാശ അനുമതികൾ സജ്ജമാക്കുക (CentOS/RHEL-ൽ www-data nginx ആയി മാറ്റുക).

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 ഡാറ്റാബേസ് ഇൻസ്റ്റാളേഷൻ (പുതിയ സിസ്റ്റത്തിൽ ഇൻസ്റ്റാൾ ചെയ്തിട്ടുണ്ടെങ്കിൽ സ്ഥിരസ്ഥിതിയായി സുരക്ഷിതമല്ല) സുരക്ഷിതമാക്കണം.

സ്ക്രിപ്റ്റ് സമാരംഭിക്കുന്നതിന് ഇനിപ്പറയുന്ന കമാൻഡ് റൂട്ടായി പ്രവർത്തിപ്പിക്കുക.

$ sudo mysql_secure_installation

ഒരു റൂട്ട് പാസ്uവേഡ് സജ്ജീകരിക്കാനും അജ്ഞാത ഉപയോക്താക്കളെ നീക്കം ചെയ്യാനും റൂട്ട് ലോഗിൻ വിദൂരമായി പ്രവർത്തനരഹിതമാക്കാനും ടെസ്റ്റ് ഡാറ്റാബേസ് നീക്കം ചെയ്യാനും നിങ്ങളോട് ആവശ്യപ്പെടും. ഒരു റൂട്ട് പാസ്uവേഡ് സൃഷ്ടിച്ച ശേഷം, ബാക്കി ചോദ്യങ്ങൾക്ക് yes/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. ലിച്ചി ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന്, ആദ്യം, ഇനിപ്പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് ഉചിതമായ അനുമതികളോടെ അതിനായി ഒരു ഡാറ്റാബേസ് നിങ്ങൾ സൃഷ്ടിക്കേണ്ടതുണ്ട്.

$ 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. അടുത്തതായി, വെബ് ഡോക്യുമെന്റ് റൂട്ടിലേക്ക് നീങ്ങുകയും, കാണിച്ചിരിക്കുന്നതുപോലെ, git കമാൻഡ്-ലൈൻ ടൂൾ ഉപയോഗിച്ച് ലിച്ചിയുടെ ഏറ്റവും പുതിയ പതിപ്പ് നേടുകയും ചെയ്യുക.

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

9. തുടർന്ന് ഇൻസ്റ്റലേഷൻ ഡയറക്uടറിയിൽ കാണിച്ചിരിക്കുന്നതുപോലെ ശരിയായ അനുമതികളും ഉടമസ്ഥാവകാശവും സജ്ജമാക്കുക (നിങ്ങളുടെ സിസ്റ്റത്തിൽ ഒരു ഉപയോക്തൃനാമം ഉപയോഗിച്ച് അഡ്മിൻ മാറ്റിസ്ഥാപിക്കുക).

------------ 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: ലിച്ചിയ്uക്കായി Nginx സെർവർ ബ്ലോക്ക് കോൺഫിഗർ ചെയ്യുക

12. അടുത്തതായി, /etc/nginx/conf.d/ എന്നതിന് കീഴിൽ നിങ്ങൾ ലിച്ചി ആപ്ലിക്കേഷനായി ഒരു Nginx സെർവർ ബ്ലോക്ക് സൃഷ്ടിക്കുകയും കോൺഫിഗർ ചെയ്യുകയും ചെയ്യേണ്ടതുണ്ട്.

# 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. ഇപ്പോൾ നിങ്ങളുടെ ബ്രൗസറിൽ ലിച്ചി വെബ് ഇൻസ്റ്റാളർ തുറക്കുന്നതിന് lychee.example.com എന്ന URL ഉപയോഗിക്കുക, കൂടാതെ നിങ്ങളുടെ ഡാറ്റാബേസ് കണക്ഷൻ ക്രമീകരണങ്ങൾ നൽകുകയും നിങ്ങൾ ലിച്ചിയ്uക്കായി സൃഷ്uടിച്ച ഡാറ്റാബേസിന്റെ പേര് നൽകുകയും കണക്റ്റുചെയ്യുക ക്ലിക്കുചെയ്യുകയും ചെയ്യുക.

14. അടുത്തതായി, നിങ്ങളുടെ ഇൻസ്റ്റാളേഷനായി ഒരു ഉപയോക്തൃനാമവും പാസ്uവേഡും നൽകി ലോഗിൻ സൃഷ്uടിക്കുക ക്ലിക്കുചെയ്യുക. ലോഗിൻ ചെയ്ത ശേഷം, ഇനിപ്പറയുന്ന സ്ക്രീൻഷോട്ടിൽ കാണിച്ചിരിക്കുന്നതുപോലെ സ്ഥിരസ്ഥിതി ആൽബങ്ങൾ അടങ്ങുന്ന അഡ്മിൻ ഡാഷ്ബോർഡിൽ നിങ്ങൾ ഇറങ്ങും.

ഒരു ഫോട്ടോ അപ്uലോഡ് ചെയ്യുന്നതിനോ ഒരു ലിങ്കിൽ നിന്ന് ഇറക്കുമതി ചെയ്യുന്നതിനോ ഡ്രോപ്പ്uബോക്uസിൽ നിന്നോ മറ്റൊരു സെർവറിൽ നിന്നോ ഇറക്കുമതി ചെയ്യുന്നതിനോ ആൽബം ചേർക്കുന്നതിനോ, + ചിഹ്നത്തിൽ ക്ലിക്കുചെയ്യുക. ഒരു ആൽബത്തിലെ ഫോട്ടോകൾ കാണുന്നതിന്, അതിൽ ക്ലിക്ക് ചെയ്യുക.

കൂടുതൽ വിവരങ്ങൾക്ക്, ലിച്ചി ഹോംപേജ് സന്ദർശിക്കുക: https://lycheeorg.github.io/

ഫോട്ടോകൾ കൈകാര്യം ചെയ്യാനും പങ്കിടാനുമുള്ള ഒരു ഓപ്പൺ സോഴ്uസ്, ഉപയോഗിക്കാൻ എളുപ്പമുള്ളതും ഗംഭീരവുമായ PHP ഫോട്ടോ മാനേജ്uമെന്റ് സിസ്റ്റമാണ് ലിച്ചി. നിങ്ങൾക്ക് എന്തെങ്കിലും ചോദ്യങ്ങളോ അഭിപ്രായങ്ങളോ ഉണ്ടെങ്കിൽ, ഞങ്ങൾക്ക് എഴുതാൻ ചുവടെയുള്ള ഫോം ഉപയോഗിക്കുക.