FileRun是一个类似于Nextcloud的PHP网盘程序,其实说实话如果不考虑多用户的话这个真的比Nextcloud好用。
Nextcloud实在是太臃肿了,性能堪忧,而FileRun很明显没有这方面的问题。
其次是在功能方面,FileRun一点都不输Nextcloud,要说槽点就是同步客户端竟然还是用的Nextcloud的客户端。。
另外就是FileRun的源代码是用ionCube加密过的,免费版还有用户数量限制,更新也没有Nextcloud频繁。如果你比较崇尚开源软件,那Nextcloud应该是更好的选择。
我很久以前水过一篇用宝塔面板的LAMP搭建这个网盘的文章,不过自从宝塔面板频繁出幺蛾子问题后,我就很久没有用过宝塔面板了。
以前的宝塔面板确实很方便,适合我这种喜欢偷懒的人,为我节省了不少时间。但是我也不想自己的服务器因为我的懒惰而出安全问题。。。
最近发现这个FileRun增加了很多新的功能,所以决定在Debian10上手动装一个LNMP环境来搭建它。其实也可以用Docker,但是这个程序我个人不建议使用Docker,原因就不细说了。
下面的部署步骤是我目前生产机器上的,有需要的可以参考一下。
安装nginx/certbot/mariadb和一些基本工具:
apt -y update apt -y install nginx python-certbot-nginx mariadb-server unzip wget
安装php7.3:
apt -y install php7.3-fpm php7.3-mysql php7.3-mbstring php7.3-zip php7.3-curl php7.3-gd php7.3-ldap php7.3-xml php7.3-imagick
安装pngquant/imagemagick/ffmpeg,用于生成图片和视频的缩略图:
apt -y install pngquant imagemagick ffmpeg
安装stl-thumb,这也是用于生成缩略图的软件,但不是必须,你可以选择性安装:
wget https://github.com/unlimitedbacon/stl-thumb/releases/download/v0.3.1/stl-thumb_0.3.1_amd64.deb dpkg -i stl-thumb_0.3.1_amd64.deb apt -f install dpkg -i stl-thumb_0.3.1_amd64.deb
设置nginx/mariadb/php的开机自启:
systemctl enable --now nginx mariadb php7.3-fpm
之前说过FileRun的源代码是使用ionCube加密过的,这里还需要安装ionCube的PHP扩展:
wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz tar -xzvf ioncube_loaders_lin_x86-64.tar.gz -C /usr/local
修改cli的php.ini,这个其实可选,因为nginx是通过php-fpm工作的,这里只是为了后续验证一下ionCube扩展是否加载成功:
nano /etc/php/7.3/cli/php.ini
文件的末尾加入下面的配置:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.3.so
修改fpm的php.ini:
nano /etc/php/7.3/fpm/php.ini
文件的末尾加入下面的配置:
zend_extension = /usr/local/ioncube/ioncube_loader_lin_7.3.so
执行下面的命令查看ionCube扩展是否能够加载:
php -v
有类似下面的回显说明正常:
PHP 7.3.19-1~deb10u1 (cli) (built: Jul 5 2020 06:46:45) ( NTS ) Copyright (c) 1997-2018 The PHP Group Zend Engine v3.3.19, Copyright (c) 1998-2018 Zend Technologies with the ionCube PHP Loader + ionCube24 v10.4.5, Copyright (c) 2002-2020, by ionCube Ltd. with Zend OPcache v7.3.19-1~deb10u1, Copyright (c) 1999-2018, by Zend Technologies
对于php-fpm还需要重启才能使加载的模块生效:
systemctl restart php7.3-fpm.service
初始化mariadb数据库:
mysql_secure_installation
登录到mariadb数据库创建数据库和用户:
mysql -u root -p CREATE DATABASE filerun CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; GRANT ALL PRIVILEGES ON filerun.* TO filerun@localhost IDENTIFIED BY '设置你的数据库用户密码'; FLUSH PRIVILEGES; quit
下载解压filerun的源码并给予正确的权限:
cd /var/www/ wget -O FileRun.zip 'https://f.afian.se/wl/?id=yjp3GfHKwTEmEJ0WEKjyfMHFUr7ZAdEn&recipient=d3d3Lmdvb2dsZS5jby5qcA%3D%3D' unzip FileRun.zip -d filerun chown -R www-data:www-data filerun
如果下载地址有变化,你可以到这里查看到新的下载地址:
https://filerun.com/download
现在新建nginx站点配置文件:
nano /etc/nginx/conf.d/filerun.conf
写入如下配置:
server { listen 80; server_name filerun.imlala.best; # 换成你的域名 root /var/www/filerun; index index.php; client_max_body_size 0; location ~ .php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php7.3-fpm.sock; } }
使用certbot签发ssl证书:
certbot --nginx
现在创建一个数据存储目录,注意存储目录不要创建到filerun的web目录下,这样会造成文件越权访问,你可以任意创建一个目录,只要不是在/var/www/filerun下面即可。
例如在系统的根目录下创建,注意所有者权限,一定要是www-data:
mkdir /storage chown www-data:www-data /storage
现在访问你的域名,检查之前配置的环境是否正常:
配置你的数据库连接信息:
安装完成之后,登录到后台,第一件事修改你的存储目录,我们之前创建了/storage目录,这里就可以写成/storage/admin,然后点击创建目录。
当然你也可以直接写/storage,就不用创建子目录了,但对于多用户而言,再细分一下会比较好:
其次是关于语言的问题,程序是支持中文的,但支持的不是很全,你可以在这里下载翻译文件:
https://github.com/filerun/translations
然后通过下图所示的地方上传启用:
最后我们还需要配置一下之前安装的ffmpeg等执行文件的路径:
下面这两个,之前也是安装过的,如果有需要也可以启用:
filerun还支持全文搜索和OCR,但我没有这方面的需求所以就不配置了,另外配置这些会比较废内存,小内存的机器就不要尝试了,如果你有这方面的需求可以看看这里的文档:
https://docs.filerun.com/file_indexing
另外关于官方的文档上面提到了一些php的参数配置,例如脚本执行超时时间,文件上传大小之类的。
我实际上测试过了,这些都不需要更改你就可以上传大文件,保持debian默认的即可。
但是如果你遇到了大文件上传出错啊之类的问题,可以尝试着改一下fpm的php.ini配置:
nano /etc/php/7.3/fpm/php.ini
主要就这几个参数:
memory_limit = 256M max_execution_time = 300 upload_max_filesize = 100M post_max_size = 100M
最新评论
5211314
能不能教我 一点不会