如何在 Debian 10 上使用 Jirafeau 设置文件共享网站
在此页
- 要求
- Jirafeau 安装
- 更新系统并安装依赖项
- 获取 SSL 证书
- Nginx 配置
- 安装 Jirafeau
- 配置 Jirafeau
Jirafeau 是一个用 PHP 构建的简单文件托管和共享 Web 应用程序。它不需要数据库,并提供干净、易于使用的用户界面,支持密码保护、计划到期、一次性下载(自毁)和浏览器内预览以及其他有用的功能。
本文将指导您使用 Nginx 和 PHP-FPM 从头开始在 Debian 10 上安装和配置 Jirafeau。
要求
- 您拥有 root 访问权限的 Debian 10 系统。
- 指向您的服务器的域名。
- 必须设置 $EDITOR 环境变量。
如果您以非 root sudo 用户身份登录,请使用特权 shell 执行本指南中显示的命令。您可以使用以下命令启动 root shell:
sudo -s
Jirafeau 安装
更新系统并安装依赖
从更新系统开始:
apt update apt upgrade -y reboot
系统再次启动后,使用以下命令安装所需的软件包:
apt install -y nginx php php-fpm certbot git
然后确保 Nginx 和 PHP-FPM 都已启用并正在运行:
systemctl enable --now nginx.service php7.3-fpm.service
获取 SSL 证书
在配置 Web 服务器之前,您需要为您的域获取 SSL 证书。为此,请使用 certbot 工具,如下所示:
certbot certonly --webroot -m -d your_domain --agree-tos
执行此命令后,首先会询问您是否要接收来自 EFF 的电子邮件。然后,当提示为您的域输入 webroot 时,输入 /var/www/html:
Obtaining a new certificate Performing the following challenges: http-01 challenge for example.com Input the webroot for example.com: (Enter 'c' to cancel): /var/www/html
域所有权将被验证,您的证书和相关文件将保存在 /etc/letsencrypt/live/your_domain/ 中。我们现在可以配置 Nginx。
Nginx 配置
禁用默认配置文件,因为它不需要:
rm /etc/nginx/sites-enabled/default
然后创建一个新的配置文件:
$EDITOR /etc/nginx/sites-available/your_domain.conf
并输入以下内容:
server { listen 80; listen [::]:80; server_name your_domain; return 301 https://your_domain$request_uri; } server { listen 443 ssl; listen [::]:443 ssl; server_name your_domain; root /var/www/html/jirafeau; index index.php; ssl on; ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem; location ~ \.php$ { fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_index index.php; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; include fastcgi_params; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; } }
注意:使用提供的配置,所有 HTTP 请求都将重定向到 HTTPS。
接下来,通过在 /etc/nginx/sites-enabled/ 目录中创建一个符号链接来启用新的配置文件:
ln -s /etc/nginx/sites-available/your_domain.conf /etc/nginx/sites-enabled/
使用以下命令检查是否存在任何配置错误:
nginx -t
然后通过发出命令加载它:
systemctl reload nginx.service
安装 Jirafeau
从其 Gitlab 存储库下载 Jirafeau:
mkdir /var/www/html/jirafeau git clone https://gitlab.com/mojo42/Jirafeau.git /var/www/html/jirafeau
为 Jirafeau 创建一个数据目录。这个目录不应该可以通过你的网络服务器访问(即它应该位于网络根目录之外,我们的配置是 /var/www/html)。我们将使用 /var/data/jirafeau。
mkdir -p /var/data/jirafeau
将 Jirafeau 使用的配置和数据目录的所有权授予 Nginx 用户。最理想的情况是,您应该在设置完成后收紧文件权限。
chown -R www-data:www-data /var/www/html/jirafeau/lib /var/data/jirafeau
然后打开您的 Web 浏览器并导航至 https://your_domain/install.php。您将首先被要求为管理界面选择一个密码。输入安全密码并继续下一步。对于基地址,输入 https://your_domain/,并为数据目录输入 /var/data/jirafeau/。继续下一步,在此期间安装程序将为 Jirafeau 创建一个基本配置文件。
配置 Jirafeau
内置安装程序脚本仅配置必要的。如需更彻底的配置,请打开相应的文件:
$EDITOR /var/www/html/jirafeau/lib/config.local.php
替换默认组织名称并设置联系人和职务键。组织和联系人值将显示在您的服务条款 (https://your_domain/tos.php) 中。
'organisation' => 'Your Organisation/Company', 'contactperson' => 'Your Name <>', 'title' => 'Title of your choice',
默认情况下,上传功能的访问是不受限制的。您可以设置一个或多个密码来限制这种访问。使用显示的语法:
'upload_password' => array ( 'password1', 'password2', ),
上传文件时,上传表单中提供了不同的时间限制。 Jirafeau 默认允许最多一个月的时间限制,超过一个月后上传的文件将被删除。要更改可用时间段,请修改可用性数组。例如,要允许所有有效期,请使用以下内容:
array ( 'minute' => true, 'hour' => true, 'day' => true, 'week' => true, 'month' => true, 'quarter' => true, 'year' => true, 'none' => true, ),
对配置感到满意后,无需执行任何操作即可应用更改。
您的文件托管网站现在可以使用了。可以在 https://your_domain/admin.php 访问管理界面