摘要
树莓派能用的网盘非常多,但大部分都对性能要求较高。filerun是国外的一款网盘程序或者说是一款基于网页的文件管理器(web file manager),看官网开发者应该是一家瑞典公司,国内使用的人目前似乎还不是很多。之前在树莓派上配置网盘,先后尝试过nextcloud、kodbox、seafile、cloudreve等等,最终选择了filerun。filerun的主要优点在于它更像一款简单、快速、纯粹的网盘程序。免费版支持3个用户,个人使用来说也足够。filerun没有自己的客户端,但可以使用nextcloud的客户端。
准备工作
树莓派4B一个,文件存储推荐使用2.5寸移动硬盘,其他USB存储如3.5寸移动硬盘、大容量USB 3.0 U盘等也可以。连两个移动硬盘配置成软raid1理论上应该也没问题。
操作系统推荐64位的Debian-Pi-Aarch64或Ubuntu Server 20.04,本文以Debian-Pi-Aarch64为例,推荐使用无桌面的基础版,所有版本配置过程基本相同,只需要注意PHP的版本不同、关闭防火墙等
系统可以安装在SD卡上,也可以直接安装在移动硬盘上。需要注意的是如果没有更新过树莓派的固件,需要先在SD卡上安装官方系统执行sudo apt full-upgrade升级固件以支持USB启动。另外,树莓派的Ubuntu Server 20.04默认不支持USB启动,需要一番配置才可以,本文不赘述。
系统安装完成后配置固定IP地址、开启SSH、更新系统
安装配置数据库
安装MariaDB,它是MySQL的社区开源分支
sudo apt install mariadb-server
输入mysql -V
检查是否安装成功
安装完成后,建议运行MariaDB随附的安全脚本。该脚本将删除一些不安全的默认设置,并锁定对数据库系统的访问。通过运行以下命令来启动交互式脚本:
sudo mysql_secure_installation
刚安装的数据库,还没有数据库root密码,直接回车设置root密码
设置root保护
因为前面设置过了所以不更改数据库root密码
移除默认账户
剩下的步骤分别是禁止root账户的远程登录、删除test数据库、重新加载特权表让更改生效等,一路按Y确认即可
接下来创建filerun所需的数据库和数据库账户
首先,使用root帐户登录MariaDB:
sudo mysql
创建filerun数据库,数据库可以随意命名,但本文示例直接使用filerun
CREATE DATABASE filerun;
接下来,创建一个单独的MariaDB数据库用户帐户,该帐户将管理新创建的filerun数据库。从管理和安全的角度来看,创建单一功能的数据库和帐户是一个好主意。与数据库的命名一样,可以选择自己喜欢的用户名。本示例直接选择使用filerun作为账户名称。
CREATE USER 'filerun'@'localhost' IDENTIFIED BY '此处替换为filerun账户密码';
现在,将新创建的数据库上的所有权限授予用户:
GRANT ALL ON filerun.* TO 'filerun'@'localhost';
在为用户分配了对数据库的访问权限后,执行flush-privileges操作以确保正在运行的MariaDB实例知道最新的权限分配:
FLUSH PRIVILEGES;
这样就完成了MariaDB数据库的配置,输入exit退出会话:
exit
记下数据库名称filerun
,用户名filerun
和密码,稍后配置filerun需要这些信息。
外网访问数据库
- 如需远程使用数据库,需要更改配置文件
/etc/mysql/mariadb.conf.d/50-server.cnf
,将bind-address = 127.0.0.1 改成0.0.0.0
- 进入数据库
mysql -u用户名 -p密码
grant all privileges on *.* to 'root'@'%' identified by '密码' with grant option;
- 修改配置
将sudo vim vim /etc/mysql/mariadb.conf.d/对应版本-server.cnf
127.0.0.1
改为0.0.0.0
- 重启Mysql
sudo systemctl restart mariadb
安装apache2
官网显示filerun支持apache、nginx、IIS等web服务器,但官方教程似乎钟爱apache
安装完成之后就可以在浏览器打开树莓派的IP地址,看到一个示例网页sudo apt install apache2
安装配置PHP
安装PHP及需要的各种PHP模块
安装完成后,可以运行以下命令来确认PHP版本:sudo apt install php libapache2-mod-php php-mysql php-mbstring php-zip php-curl php-gd php-ldap php-xml php-imagick
php -v
安装memcached
filerun官方教程似乎没有推荐安装memcached,但安装之后网页加载速度有明显提升,因此本示例建议安装sudo apt install memcached libmemcached-tools php-memcached
安装ionCube
filerun还需要一个闭源的PHP模块ionCube,需要手动安装,先从官网下载arm64版本的ioncude loaders,地址:https://www.ioncube.com/loaders.php
可以手动下载,下载完成后通过winscp或其他工具放进pi的home目录(直接在树莓派用wget/curl下载可能会因为墙的原因下载失败)
也可以用wget下载wget https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_aarch64.tar.gz
然后解压:tar -xzf ioncube_loaders_lin_aarch64.tar.gz
将ioncubeloader_linphp版本号(如:ioncube_loader_lin_7.4.so)
.so这个文件复制到/usr/lib/php。
新建PHP配置文件以加载ioncube模块sudo mv ioncube_loader_lin_7.4.so /usr/lib/php/
输入以下内容sudo vim /etc/php/7.4/apache2/conf.d/00-ioncube.ini
zend_extension = /usr/lib/php/ioncube_loader_lin_7.4.so
配置FileRun需要的PHP参数
创建一个配置文件,该文件将自动由PHP附加到其配置中。这将包括FileRun所需的所有设置。
将以下内容粘贴到创建的文件中:sudo vim /etc/php/7.4/apache2/conf.d/filerun.ini
注意: 可以在这里找到FileRun建议的最新PHP设置:http://docs.filerun.com/php_configurationexpose_php = Off error_reporting = E_ALL & ~E_NOTICE display_errors = Off display_startup_errors = Off log_errors = On ignore_repeated_errors = Off allow_url_fopen = On allow_url_include = Off variables_order = "GPCS" allow_webdav_methods = On memory_limit = 128M max_execution_time = 300 output_buffering = Off output_handler = "" zlib.output_compression = Off zlib.output_handler = "" safe_mode = Off register_globals = Off magic_quotes_gpc = Off upload_max_filesize = 20M post_max_size = 20M enable_dl = Off disable_functions = "" disable_classes = "" session.save_handler = files session.use_cookies = 1 session.use_only_cookies = 1 session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_httponly = 1 date.timezone = "Asia/Shanghai"
本人实测upload_max_filesize = 20M post_max_size = 20M两个值可以适当改大一些,可以提高上传大文件时的速度,但不能太大,否则可能适得其反,两个值要相同,个人建议设置在20M-200M之间。
最后,重新启动Apache使以上PHP配置生效:
sudo systemctl restart apache2
验证PHP配置
在默认的web根目录里创建一个phpinfo.php文件
sudo vim /var/www/html/phpinfo.php
输入以下内容:
<?php
phpinfo();
然后浏览器里打开以下地址
http://树莓派IP地址/phpinfo.php
看到以下页面可以确认PHP配置成功,同时可以在这个页面检查ioncube、memcached等PHP模块是否正常启用
配置FileRun
配置完数据库和PHP之后,就可以开始配置filerun了。首先从官网https://www.filerun.com/download 通过winscp等工具放进pi的home目录,也可以直接用以下命令在树莓派上下载,但可能速度很慢
sudo wget -O FileRun.zip http://www.filerun.com/download-latest
删除默认的web根目录里的文件
sudo rm /var/www/html/*
将下载的filerun压缩包复制到/var/www/html下并解压
sudo mv FileRun.zip /var/www/html/
cd /var/www/html
sudo unzip /var/www/html/FileRun.zip
使Apache成为文件夹的所有者,以便可以进行更改:
sudo chown -R www-data:www-data /var/www/html/
然后就可以在浏览器里打开树莓派的IP地址,配置filerun了
filerun自检
配置之前的数据库
配置filerun成功,记住账户superuser
和密码,
filerun翻译
接下来先改上传中文翻译文件把界面改成中文吧
从https://github.com/filerun/translations 下载翻译文件或者点击这里下载
下载完成后解压,将其中的chinese.php在以下界面上传
上传完毕后点击Save changes
,刷新网页再选择中文
,检查是否成功
设置中文
选择超级管理员账户,修改
更改密码
配置储存目录
创建一个目录并为apache赋予权限
sudo mkdir /files
sudo chown www-data:www-data /files
在控制面板里为superuser用户设置主目录
配置目录