Pesquisa de site

Lychee - um sistema de gerenciamento de fotos de ótima aparência para Linux


Lychee é um sistema de gerenciamento de fotos gratuito, de código aberto, elegante e fácil de usar, que vem com todos os recursos necessários para gerenciar e compartilhar fotos com segurança em seu servidor. Ele permite que você gerencie facilmente (carregar, mover, renomear, descrever, excluir ou pesquisar) suas fotos em segundos a partir de um simples aplicativo da web.

Recursos de lichia

  • Uma interface linda e deslumbrante para gerenciar todas as suas fotos em um só lugar, diretamente do seu navegador.
  • Compartilhamento de fotos e álbuns com um clique e proteção por senha.
  • Visualize todas as suas imagens no modo de tela inteira com navegação para frente e para trás usando o teclado ou deixe que outras pessoas naveguem pelas suas fotos, tornando-as públicas.
  • Suporta importação de fotos de várias fontes: localhost, Dropbox, servidor remoto ou usando um link.

Para instalar o Lychee, tudo que você precisa é de um servidor web em execução como Apache ou Nginx com PHP 5.5 ou posterior e um MySQL -Banco de dados.

Para os fins deste artigo, instalarei um sistema de gerenciamento de fotos Lychee com Nginx, PHP-FPM 7.0 e MariaDB em um VPS RHEL 8 com nome de domínio lychee.example.com.

Etapa 1: Instale Nginx, PHP e MariaDB

1. Primeiro comece instalando Nginx, PHP com as extensões necessárias e o banco de dados MariaDB para configurar um ambiente de hospedagem para executar Lichia.

No Cent/RHEL/Rocky Linux e 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

No Ubuntu e 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. Depois de instalar os pacotes necessários, inicie os serviços nginx, php-fpm e mariadb, habilite no momento da inicialização e verifique se esses serviços estão funcionando.

------------ 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. Em seguida, se você tiver um firewall ativado em seu sistema, será necessário abrir as portas 80 e 443 no firewall para permitir que o cliente solicitações para o servidor web Nginx em HTTP e HTTPS respectivamente, conforme mostrado.

------------ 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. Para executar o Lychee de forma eficaz, é recomendado aumentar os valores das seguintes propriedades no arquivo php.ini.

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

Procure esses parâmetros PHP e altere seus valores para:

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

5. Agora configure o PHP-FPM para definir o usuário e o grupo, ouça o arquivo www.conf do soquete conforme explicado.

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

Procure as diretivas abaixo para definir o usuário/grupo de processos Unix (altere www-data para nginx no CentOS).

user = www-data
group = www-data

Além disso, altere a diretiva listen na qual aceitar solicitações FastCGI para um soquete Unix.

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

E defina as permissões de propriedade apropriadas para o soquete Unix usando a diretiva (altere www-data para nginx no CentOS/RHEL).

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

Salve o arquivo e reinicie os serviços nginx e php-fpm.

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

Etapa 2: instalação segura do MariaDB

6. Nesta etapa, você deve proteger a instalação do banco de dados MariaDB (que não é seguro por padrão se instalado em um sistema novo), executando o script de segurança que vem com o pacote binário.

Execute o seguinte comando como root para iniciar o script.

sudo mysql_secure_installation

Você será solicitado a definir uma senha de root, remover usuários anônimos, desabilitar o login root remotamente e remover o banco de dados de teste. Depois de criar uma senha root, responda yes/y ao restante das perguntas.

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

Etapa 3: Instale o sistema de gerenciamento de fotos Lychee

7. Para instalar o Lychee, primeiro você precisa criar um banco de dados para ele com as permissões apropriadas usando os seguintes comandos.

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. Em seguida, vá para a raiz do documento da web e obtenha a versão mais recente do Lychee usando a ferramenta de linha de comando git, conforme mostrado.

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

9. Em seguida, defina as permissões e propriedade corretas no diretório de instalação conforme mostrado (substitua admin por um nome de usuário em seu sistema).

------------ 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. Nesta etapa, você precisa configurar o composer no diretório de instalação do lychee, que será usado para instalar as dependências do 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

Etapa 4: configurar o bloco de servidor Nginx para Lychee

12. Em seguida, você precisa criar e configurar um bloco de servidor Nginx para o aplicativo Lychee em /etc/nginx/conf.d/.

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

Adicione a seguinte configuração no arquivo acima, lembre-se de usar seu próprio nome de domínio em vez de lychee.example.com (este é apenas um domínio fictício).

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

Em seguida, salve o arquivo e reinicie o servidor web Nginx e o PHP-FPM para aplicar as alterações recentes.

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

Etapa 5: Conclua a instalação do Lychee via navegador da web

13. Agora use o URL lychee.example.com para abrir o instalador web do Lychee em seu navegador e forneça as configurações de conexão do banco de dados e insira o nome do banco de dados que você criou para lichia e clique em Conectar.

14. Em seguida, insira um nome de usuário e uma senha para sua instalação e clique em Criar login. Após o login, você acessará o painel de administração que contém os Álbuns padrão, conforme mostrado na captura de tela a seguir.

Para fazer upload de uma foto ou importar de um link ou importar do Dropbox ou de outro servidor ou adicionar um álbum, clique no sinal +. E para ver as fotos de um álbum, basta clicar nele.

Para obter mais informações, visite a página inicial da Lychee: https://lycheeorg.github.io/

Lychee é um sistema de gerenciamento de fotos PHP de código aberto, fácil de usar e elegante para gerenciar e compartilhar fotos. Se você tiver alguma dúvida ou comentário, use o formulário abaixo para nos escrever.