Lychee - Linux için Harika Görünümlü Fotoğraf Yönetim Sistemi


Lychee, sunucunuzdaki fotoğrafları güvenli bir şekilde yönetmek ve paylaşmak için ihtiyacınız olan tüm gerekli özellikleri içeren, ücretsiz, açık kaynaklı, şık ve kullanımı kolay bir fotoğraf yönetim sistemidir. Basit bir web uygulamasından saniyeler içinde fotoğraflarınızı kolayca yönetmenize (yüklemenize, taşımanıza, yeniden adlandırmanıza, tanımlamanıza, silmenize veya aramanıza) olanak tanır.

Lychee'nin Özellikleri

  • Tüm fotoğraflarınızı doğrudan tarayıcınızdan tek bir yerden yönetmenizi sağlayan çarpıcı, güzel bir arayüz.
  • Parola korumasıyla tek tıklamayla fotoğraf ve albüm paylaşımı.
  • Klavyenizi kullanarak ileri ve geri gezinme özelliğiyle tüm görsellerinizi tam ekran modunda görüntüleyin veya fotoğraflarınıza herkese açık hale getirerek başkalarının fotoğraflarınıza göz atmasına izin verin.
  • Fotoğrafların çeşitli kaynaklardan içe aktarılmasını destekler: localhost, Dropbox, uzak sunucu veya bir bağlantı kullanılarak.

Lychee'yi yüklemek için ihtiyacınız olan her şey, PHP 5.5 veya üzeri sürüme sahip Apache veya Nginx gibi çalışan bir web sunucusu ve MySQL'dir. -Veritabanı.

Bu makalenin amacı doğrultusunda Nginx, PHP-FPM 7.0 ve ile bir Lychee fotoğraf yönetim sistemi kuracağım. MariaDB, lychee.example.com alan adına sahip bir RHEL 8 VPS üzerinde.

Adım 1: Nginx, PHP ve MariaDB'yi yükleyin

1. Öncelikle Nginx, gerekli uzantılarla birlikte PHP ve bir barındırma ortamı oluşturmak için MariaDB veritabanını yükleyerek başlayın. Lychee'yi çalıştırmak için.

Cent/RHEL/Rocky Linux ve AlmaLinux'ta

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 ve Debian'da

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 yükledikten sonra nginx, php-fpm ve mariadb hizmetlerini başlatın, etkinleştirin önyükleme sırasında bunları kontrol edin ve bu hizmetlerin çalışır durumda olup olmadığını kontrol edin.

------------ 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. Ardından, sisteminizde etkinleştirilmiş bir güvenlik duvarı varsa, istemciye izin vermek için güvenlik duvarındaki 80 ve 443 bağlantı noktalarını açmanız gerekir. gösterildiği gibi sırasıyla HTTP ve HTTPS üzerindeki Nginx web sunucusuna yapılan istekler.

------------ 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'yi etkili bir şekilde çalıştırmak için php.ini dosyasında aşağıdaki özelliklerin değerlerinin artırılması önerilir.

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

Bu PHP parametrelerini arayın ve değerlerini şu şekilde değiştirin:

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

5. Şimdi kullanıcıyı ve grubu ayarlamak için PHP-FPM'yi yapılandırın, açıklandığı gibi www.conf soket dosyasını dinleyin.

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

Unix işlem kullanıcısını/grubunu ayarlamak için aşağıdaki yönergeleri arayın (CentOS'ta www-data'yı nginx olarak değiştirin).

user = www-data
group = www-data

Ayrıca, Unix soketine yönelik FastCGI isteklerinin kabul edileceği listen yönergesini de değiştirin.

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

Ve yönergeyi kullanarak Unix soketi için uygun sahiplik izinlerini ayarlayın (CentOS/RHEL'de www-data'yı nginx olarak değiştirin).

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

Dosyayı kaydedin ve nginx ve php-fpm hizmetlerini yeniden başlatın.

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

Adım 2: Güvenli MariaDB Kurulumu

6. Bu adımda, MariaDB veritabanı kurulumunu (yeni bir sisteme kurulduğunda varsayılan olarak güvenli değildir), birlikte gelen güvenlik komut dosyasını çalıştırarak güvence altına almalısınız. ikili paket

Komut dosyasını başlatmak için aşağıdaki komutu root olarak çalıştırın.

sudo mysql_secure_installation

Bir root şifresi belirlemeniz, anonim kullanıcıları kaldırmanız, root girişini uzaktan devre dışı bırakmanız ve test veritabanını kaldırmanız istenecektir. Root şifresi oluşturduktan sonra geri kalan soruları evet/y olarak yanıtlayın.

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

Adım 3: Lychee Fotoğraf Yönetim Sistemini Kurun

7. Lychee'yi kurmak için öncelikle aşağıdaki komutları kullanarak uygun izinlere sahip bir veritabanı oluşturmanız gerekir.

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. Ardından, web belgesi köküne gidin ve gösterildiği gibi git komut satırı aracını kullanarak Lychee'nin en son sürümünü edinin.

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

9. Ardından kurulum dizininde gösterildiği gibi doğru izinleri ve sahipliği ayarlayın (sisteminizde admin yerine bir kullanıcı adı yazın).

------------ 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 adımda, lychee kurulum dizininde PHP bağımlılıklarını yüklemek için kullanılacak composer'ı kurmanız gerekir.

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

Adım 4: Lychee için Nginx Sunucu Bloğunu Yapılandırma

12. Daha sonra, /etc/nginx/conf.d/ altında Lychee uygulaması için bir Nginx sunucu bloğu oluşturup yapılandırmanız gerekir.

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

Yukarıdaki dosyaya aşağıdaki yapılandırmayı ekleyin, lychee.example.com yerine kendi alan adınızı kullanmayı unutmayın (bu yalnızca sahte bir alan adıdır).

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

Ardından dosyayı kaydedin ve son değişiklikleri uygulamak için Nginx web sunucusunu ve PHP-FPM'yi yeniden başlatın.

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

Adım 5: Lychee Kurulumunu Web Tarayıcısıyla Tamamlayın

13. Şimdi tarayıcınızda Lychee web yükleyicisini açmak için lychee.example.com URL'sini kullanın ve veritabanı bağlantı ayarlarınızı sağlayın ve oluşturduğunuz veritabanının adını girin. lychee'ye gidin ve Bağlan'ı tıklayın.

14. Ardından, kurulumunuz için bir kullanıcı adı ve şifre girin ve Giriş Oluştur'u tıklayın. Giriş yaptıktan sonra, aşağıdaki ekran görüntüsünde gösterildiği gibi varsayılan Albümleri içeren yönetici kontrol paneline yönlendirileceksiniz.

Bir fotoğraf yüklemek veya bir bağlantıdan içe aktarmak ya da Dropbox'tan veya başka bir sunucudan içe aktarmak ya da albüm eklemek için + işaretini tıklayın. Bir albümdeki fotoğrafları görüntülemek için üzerine tıklamanız yeterlidir.

Daha fazla bilgi için Lychee Ana Sayfasını ziyaret edin: https://lycheeorg.github.io/

Lychee, fotoğrafları yönetmeye ve paylaşmaya yönelik açık kaynaklı, kullanımı kolay ve zarif bir PHP fotoğraf yönetim sistemidir. Herhangi bir sorunuz veya yorumunuz varsa aşağıdaki formu kullanarak bize yazın.