在目录列表程序整理汇总一文中分享了当前支持将OneDrive,阿里云盘,GoogleDrive等各大网盘变身个人存储的目录列表程序,其中FileGator是一个支持多用户的文件管理器,支持Dropbox、Amazon S3、DigitalOcean Spaces、微软Azure Blob Storage等网盘存储。
当然,FileGator也完全可以当成一个本地存储,支持所有基本文件操作:复制,移动,重命名,创建,删除,压缩,解压缩,下载,上传。FileGator支持匿名操作,也就是说用户不需要登录FileGator,就可以查看、上传或者下载文件了,FileGator可以打造成一个公共存储网盘。
有朋友留言说可以介绍一下在宝塔面板中FileGator文件管理器安装与使用,这里就基于宝塔面板来做一个安装演示,其它的面板也可以参考。更多的网盘存储还有:
PS:更新记录.
1、安装简单,网络要求低 ,提供完善的版本控制,更适合用于私有分享的自建网盘:Syncthing开源免费跨平台的文件同步工具-利用Syncthing搭建免费同步网盘。2022.9.21
网站:
FileGator对于Web环境没有太高的要求,你只需要保证你的 PHP 7.2.5+ (with php-zip extension)即可。你可以找一个虚拟主机或者是VPS主机安装好LNMP环境,参考:VPS主机排行榜单。
如果用VPS主机安装FileGator文件管理器,可以使用宝塔面板安装一键安装LNMP,同时把域名解析好和SSL证书配置好,其它的面板可以参考:服务器控制面板榜单。
到FileGator官网下载最新的安装包,上传到网站的根目录下,然后解压。如果是宝塔面板,直接在宝塔面板的文件管理器中就可以下载了。(宝塔面板教程:新版宝塔面板安装与使用教程。)
将这两个文件夹 repository 和 private 设置为777可以读写权限。
修改你的FileGator的Root目录为dist 目录。如果用的是宝塔面板的话,去掉防跨站“open_basedir”。然后在运行目录设置为/dist。
如果你用的是LNMP一键安装包或者Oneinstack,可以直接到Nginx的配置文件中修改root路径即可。然后打开你的域名,现在你可以使用默认的账号和密码 admin/admin123登录了。如果发现错误可以查看日志文件: filegator/private/logs/app.log
FileGator的界面管理如下:
FileGator可以复制、移动、压缩、重命名等操作。
FileGator支持在线浏览图片,其它的文件只能是下载了。
FileGator默认是需要登录才能查看和下载文件的。
不过,我们可以在FileGator的用户管理中,对平guest用户权限进行开放,例如你可以允许匿名用户上传、下载或者查看文件。
FileGator支持中文,不过需要我们编辑configuration.php 文件,将'language' => 'english',改成 'language' => 'chinese',,如下:
return [
'public_path' => APP_PUBLIC_PATH,
'public_dir' => APP_PUBLIC_DIR,
'overwrite_on_upload' => false,
'timezone' => 'UTC', // https://www.php.net/manual/en/timezones.php
'download_inline' => ['pdf'], // download inline in the browser, array of extensions, use * for all
'frontend_config' => [
'app_name' => 'FileGator',
'app_version' => APP_VERSION,
//'language' => 'english',
'language' => 'chinese',
'logo' => 'https://filegator.io/filegator_logo.svg',
'upload_max_size' => 100 * 1024 * 1024, // 100MB
'upload_chunk_size' => 1 * 1024 * 1024, // 1MB
'upload_simultaneous' => 3,
'default_archive_name' => 'archive.zip',
'editable' => ['.txt', '.css', '.js', '.ts', '.html', '.php', '.json', '.md'],
'date_format' => 'YY/MM/DD hh:mm:ss', // see: https://momentjs.com/docs/#/displaying/format/
'guest_redirection' => '', // useful for external auth adapters
'search_simultaneous' => 5,
'filter_entries' => [],
], FileGator中文效果如下:
直接修改配置文件中的最大上传文件大小即可:
'upload_max_size' => 100 * 1024 * 1024, // 100MB 'upload_chunk_size' => 1 * 1024 * 1024, // 1MB
FileGator支持第三方存储,包括本地存储(默认)、FTP, SFTP, Amazon S3, DigitalOcean Spaces, Microsoft Azure Blob, Dropbox 等等。
默认的是FileGator本地存储的文件是放在 repository 文件夹里。
如果你要修改路径,你只需要修改 repository 文件夹的路径,编辑configuration.php 文件找到 repository 文件夹。
'Filegator\Services\Storage\Filesystem' => [
'handler' => '\Filegator\Services\Storage\Filesystem',
'config' => [
'separator' => '/',
'config' => [],
'adapter' => function () {
return new \League\Flysystem\Adapter\Local(
__DIR__.'/repository'
);
},
],
], 如果你想要添加SFTP为你的FileGator存储,先安装环境(注意:宝塔面板安装了PHP后会自动安装好composer ,只需要执行一下命令):
composer require league/flysystem-sftp:^1.0 -W
然后调整配置文件,添加SFTP相关的信息。
'Filegator\Services\Storage\Filesystem' => [
'handler' => '\Filegator\Services\Storage\Filesystem',
'config' => [
'separator' => '/',
'config' => [],
'adapter' => function () {
return new \League\Flysystem\Sftp\SftpAdapter([
'host' => 'example.com',
'port' => 22,
'username' => 'demo',
'password' => 'password',
'timeout' => 10,
]);
},
],
], 要想让Dropbox成为FileGator的第三方存储,首是安装环境:
composer require spatie/flysystem-dropbox
然后调整配置文件,添加Dropbox的Token信息。如下:
'Filegator\Services\Storage\Filesystem' => [
'handler' => '\Filegator\Services\Storage\Filesystem',
'config' => [
'separator' => '/',
'config' => [
'case_sensitive' => false,
],
'adapter' => function () {
$authorizationToken = '1234';
$client = new \Spatie\Dropbox\Client($authorizationToken);
return new \Spatie\FlysystemDropbox\DropboxAdapter($client);
},
],
], 要想让Amazon S3成为FileGator的第三方存储,需要安装环境:
composer require league/flysystem-aws-s3-v3:^1.0 -W
然后就是修改配置了。
'Filegator\Services\Storage\Filesystem' => [
'handler' => '\Filegator\Services\Storage\Filesystem',
'config' => [
'separator' => '/',
'config' => [],
'adapter' => function () {
$client = new \Aws\S3\S3Client([
'credentials' => [
'key' => '123456',
'secret' => 'secret123456',
],
'region' => 'us-east-1',
'version' => 'latest',
]);
return new \League\Flysystem\AwsS3v3\AwsS3Adapter($client, 'my-bucket-name');
},
],
], 关于Amazon服务可以参考:AWS免费VPS主机申请使用。
要想让DigitalOcean Spaces成为FileGator的第三方存储,需要安装环境:
composer require league/flysystem-aws-s3-v3:^1.0 -W
然后就是修改配置了。
获取DigitalOcean Spaces的Key和Secret信息请参考:DigitalOcean Spaces云存储空间管理使用。
如果你在执行composer命令时出现以下错误:
PHP Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/vendor/composer/xdebug-handler/src/Process.php on line 93
Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/vendor/composer/xdebug-handler/src/Process.php on line 93
PHP Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/bin/composer on line 59
Warning: putenv() has been disabled for security reasons in phar:///usr/bin/composer/bin/composer on line 59
Info from https://repo.packagist.org: #StandWithUkraine
./composer.json has been created
Running composer update league/flysystem-sftp --with-all-dependencies
Installation failed, deleting ./composer.json.
[ErrorException]
putenv() has been disabled for security reasons 原因是一些PHP函数如 putenv()被禁用了,你需要在宝塔面板中删除这些被禁用的函数。
文章出自:挖站否 https://wzfou.com/filegator/, 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。
文章更新于: 2022年9月21日 下午5:45
查看评论
https://demo.filegator.io/#/ 链接后面的 /#/ 请问下如何去掉
这个恐怕要Nginx重写规则了。
支持第三方的存储 非常好
很简洁
这方面我觉得 kodi 更牛
kodi 更强大。