Lychee 是一款基于 PHP 和 MySQL 的开源照片管理软件。它是一款自托管照片管理软件,可让您在服务器上安全地上传、浏览和共享照片。
在本教程中,你将学习如何在 Debian 12 服务器上安装荔枝照片管理。您将使用 LAMP Stack 运行荔枝,并通过 Certbot 和 Letsencrypt 使用 HTTPS 确保荔枝的安全。
开始之前,请确保您具备以下条件:
在本节中,您将在 Debian 服务器上安装 LAMP Stack(Linux、Apache、MariaDB 和 PHP)。目前,Lychee 支持 PHP 8.2 或更高版本,Debian 代码库中默认提供了 PHP 8.2。
首先,运行下面的命令更新 Ubuntu 软件包索引。
sudo apt update
现在使用以下命令在 Debian 系统中安装 LAMP Stack 软件包。输入 “Y ”确认安装。
sudo apt install apache2 mariadb-server php-cli php-intl php-xmlrpc php-soap php-mysql php-zip php-gd php-tidy php-mbstring php-curl php-xml php-pear php-bcmath php-imagick php-tokenizer libapache2-mod-php
安装完成后,执行以下命令检查 Apache 服务状态。你会看到 Apache 网络服务器正在运行并已启用。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
现在使用以下命令检查 MariaDB 服务器。MariaDB 服务器应该正在运行,并在系统中自动启用。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
最后,用以下命令检查 PHP 版本 - 可以看到 PHP 8.3 已安装。
php -v
php -m
安装好依赖项后,编辑 “php.ini ”文件配置 PHP,然后重启 Apache 网络服务器即可生效。
使用 “nano ”编辑器打开“/etc/php/8.3/apache2/php.ini ”文件。
sudo nano /etc/php/8.3/apache2/php.ini
像这样更改默认配置 - 确保相应调整 “memory_limit ”和 “date.timezone ”选项。
date.timezone = Europe/Amsterdam
memory_limit = 256M
upload_max_filesize = 64MB
post_max_size = 64MB
完成后,保存文件并退出编辑器。
现在运行下面的 “systemctl ”命令重启 Apache 网络服务器并应用更改。
sudo systemctl restart apache2
配置好 PHP 后,使用 “mariadb-secure-installation ”命令保护 MariaDB 服务器。然后,通过 “mariadb ”客户端为荔枝创建一个新的数据库和用户。
执行下面的 “mariadb-secure-installation ”命令来设置 MariaDB 服务器。
sudo mariadb-secure-installation
现在,你会被要求进行以下 MariaDB 配置:
配置好 MariaDB 并确保其安全后,你将创建一个新的数据库和用户,供荔枝安装使用。
使用下面的 “mariadb ”命令登录 MariaDB 服务器。根据提示输入 MariaDB 根密码。
sudo mariadb -u root -p
现在运行以下查询,以用户 “lycheeuser@localhost ”和密码 “LycheePassword ”创建新数据库 “lychee”。您可以根据需要更改数据库的详细信息。
CREATE DATABASE lychee;
GRANT ALL PRIVILEGES ON lychee. * TO lycheeuser@'localhost' IDENTIFIED BY 'LycheePassword' WITH GRANT OPTION;
FLUSH PRIVILEGES;
接下来,运行下面的查询,确保用户 “lycheeuser@'localhost ”可以访问数据库 “lychee”。
SHOW GRANTS FOR lycheeuser@localhost;
如果一切顺利,您将看到以下输出:
最后,输入 “quit ”退出 MariaDB 服务器。
配置好 PHP 和 MariaDB 后,就可以下载荔枝源代码并设置安装目录和“.env ”文件了。
但首先,请使用以下命令在 Debian 系统中安装 “unzip ”软件包。
sudo apt install unzip -y
进入“/var/www ”目录,使用下面的 “wget ”命令下载荔枝源代码。确保从荔枝发布页面获取最新版本的链接。
cd /var/www/
wget https://github.com/LycheeOrg/Lychee/releases/download/v5.5.1/Lychee.zip
下载完成后,使用下面的 “unzip ”命令解压缩荔枝源代码。源代码将解压到“/var/www/Lychee ”目录。
unzip Lychee.zip
接下来,执行以下命令将“/var/www/Lychee ”目录的所有权更改为用户 “www-data”,并使某些目录可由用户 “www-data ”写入。
sudo chown -R www-data:www-data /var/www/Lychee
sudo chmod u+rw /var/www/Lychee/{storage,bootstrap/cache/,public/dist,public/uploads,public/sym}
现在运行以下命令复制荔枝的“.env ”文件,并使用 “nano ”编辑器进行修改。
sudo -u www-data cp /var/www/Lychee/.env-example /var/www/Lychee/.env
sudo -u www-data nano /var/www/Lychee/.env
用域名更改默认的 APP_URL,用 “mysql ”和数据库详细信息更改数据库配置,如下所示:
# domain name
APP_URL=https://photo.howtoforge.local
# database to MariaDB/MySQL
DB_CONNECTION=mysql
DB_HOST=localhost
DB_PORT=3306
DB_DATABASE=lychee
DB_USERNAME=lycheeuser
DB_PASSWORD=LycheePassword
保存文件并退出编辑器。
在本节中,你将为运行荔枝图片管理创建一个新的 Apache 虚拟主机文件。
首先,运行下面的命令激活 “rewrite ”模块。
sudo a2enmod rewrite
现在使用 “nano ”编辑 Apache 配置文件“/etc/apache2/apache.conf”。
sudo nano /etc/apache2/apache.conf
在文件中添加以下配置。这样就可以为重写规则设置“.htaccess”。
<Directory /var/www/Lychee>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
保存文件并退出编辑器。
现在使用下面的 “nano ”编辑器命令创建一个新的 Apache 虚拟主机配置文件“/etc/apache2/sites-available/lychee.conf”。
sudo nano /etc/apache2/sites-available/lychee.conf
粘贴以下配置,并确保用目标域名更改 “ServerName ”选项。确保与“.env ”文件中的 APP_URL 相同。
<VirtualHost *:80>
ServerAdmin admin@howtoforge.local
ServerName photo.howtoforge.local
DocumentRoot /var/www/Lychee/
ErrorLog /var/log/apache2/photo-howtoforge-local-error_log
CustomLog /var/log/apache2/photo-howtoforge-local-access_log common
</VirtualHost>
完成后,保存并退出文件。
现在运行下面的命令激活虚拟主机文件 “lychee.conf ”并验证 Apache 语法。如果 Apache 语法正确,将显示 “语法OK”。
sudo a2ensite lychee.conf
sudo apachectl configtest
最后,运行以下命令重启 Apache 并应用更改。
sudo systemctl restart apache2
如果在公共域名上运行 Lychee,请确保使用 HTTPS 确保其安全。本节将安装 Certbot,并使用 Letsencrypt 提供的 SSL/TLS 证书保护 Lychee。
运行下面的命令安装 Certbot 和 Apache 插件。
sudo apt install certbot python3-certbot-apache -y
安装完成后,运行以下 “certbot ”命令为荔枝安装生成新的 SSL/TLS 证书。确保在此命令中更改域名和电子邮件地址。
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email admin@howtoforge.local -d photo.howtoforge.local
整个过程完成后,你的荔枝安装应该已经通过 HTTPS 加密,你的 SSL/TLS 证书将出现在“/etc/letsencrypt/live/domain.com ”目录下。
使用首选浏览器访问荔枝安装域名(如 https://photo.howtoforge.local/),即可看到荔枝安装向导。
单击 “下一步 ”继续安装。
确保安装了所有 PHP 扩展,并启用了 Apache 的 “重写 ”模块。
确保 PHP 可以在其中一些目录中读取、写入和执行。
检查屏幕中的“.env ”文件,确保域名和 MariaDB 的详细信息正确无误。
现在,安装程序将为荔枝生成应用密钥。
输入你的管理员用户、电子邮件地址和密码。荔枝安装应该就完成了。
在荔枝首页,点击登录提示,然后输入管理用户和密码。
上传一些图片到荔枝服务器后,你可以看到下面的荔枝用户仪表板。
恭喜你 您已经在使用 LAMP Stack(Linux、Apache、MariaDB 和 PHP)的 Debian 12 服务器上完成了荔枝图片管理的安装。您还通过 Certbot 和 Letsnencyrpt 确保了荔枝的 HTTPS 安全。