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.