Lychee - 一款漂亮的 Linux 照片管理系统
Lychee 是一个免费、开源、优雅且易于使用的照片管理系统,它配备了安全管理和共享服务器上的照片所需的所有必要功能。它允许您通过简单的 Web 应用程序在几秒钟内轻松管理(上传、移动、重命名、描述、删除或搜索)您的照片。
荔枝特点
- 一个令人惊叹的、漂亮的界面,可以直接从浏览器在一个地方管理您的所有照片。
- 一键共享照片和相册,并带有密码保护。
- 使用键盘以全屏模式查看所有图像,并使用键盘向前和向后导航,或者通过公开照片让其他人浏览您的照片。
- 支持从各种来源导入照片:本地主机、Dropbox、远程服务器或使用链接。
要安装 Lychee,您需要的只是一个正在运行的 Web 服务器,例如带有 PHP 5.5 或更高版本的 Apache 或 Nginx 以及 MySQL -数据库。
出于本文的目的,我将使用 Nginx、PHP-FPM 7.0 和 安装 Lychee 照片管理系统MariaDB 位于 RHEL 8 VPS 上,域名为 lychee.example.com。
第 1 步:安装 Nginx、PHP 和 MariaDB
1.首先安装Nginx、带有所需扩展的PHP以及MariaDB数据库来设置托管环境运行Lychee。
在 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以允许客户端分别通过 HTTP 和 HTTPS 向 Nginx Web 服务器发出请求,如图所示。
------------ 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 用户/进程组(在 CentOS 上将 www-data 更改为 nginx)。
user = www-data
group = www-data
另外,更改用于接受 Unix 套接字的 FastCGI 请求的 listen 指令。
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. 在此步骤中,您应该通过运行随二进制包。
以 root 身份运行以下命令来启动脚本。
sudo mysql_secure_installation
系统将提示您设置root密码、删除匿名用户、禁用远程root登录以及删除测试数据库。创建 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
第三步:安装荔枝照片管理系统
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. 接下来,进入 Web 文档根目录并使用 git 命令行工具获取最新版本的 Lychee,如图所示。
cd /var/www/html/
sudo git clone --recurse-submodules https://github.com/LycheeOrg/Lychee.git
9. 然后在安装目录上设置正确的权限和所有权,如图所示(将 admin 替换为您系统上的用户名)。
------------ 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.在这一步中,您需要在lychee安装目录中设置composer,该目录将用于安装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:为 Lychee 配置 Nginx 服务器块
12.接下来,您需要在/etc/nginx/conf.d/下为Lychee应用程序创建并配置一个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 Web 服务器和 PHP-FPM 以应用最近的更改。
systemctl restart nginx php-fpm #CentOS/RHEL
sudo systemctl restart nginx php7.0-fpm #Ubuntu/Debian
第 5 步:通过 Web 浏览器完成 Lychee 安装
13. 现在使用 URL lychee.example.com
在浏览器中打开 Lychee Web 安装程序,提供数据库连接设置并输入您为其创建的数据库的名称lychee 并单击连接。
14. 接下来,输入安装的用户名和密码,然后单击创建登录。登录后,您将进入管理仪表板,其中包含默认的相册,如以下屏幕截图所示。
要上传照片、从链接导入、从 Dropbox 或其他服务器导入或添加相册,请点击 +
符号。要查看相册中的照片,只需单击它即可。
欲了解更多信息,请访问Lychee主页:https://lycheeorg.github.io/
Lychee 是一个开源、易于使用且优雅的 PHP 照片管理系统,用于管理和共享照片。如果您有任何问题或意见,请使用下面的表格写信给我们。