超强大的私有云存储FileRun
一度看好的FileRun,纠结于官方没有arm64镜像,不了了之。
如今受不了NextCloud的龟速加载及莫名bug,还是决定手动安装下FileRun。
第一步自然是docker-compose down
停用nextcloud容器。
第二步自然是find / -name 'nextcloud'
但凡有这个英文的目录,全给rm掉,有条件的,建议直接重装系统。(丫,泻火有点过头。)
进入正题。
一、安装数据库
以前使用docker-compose安装好了,大伙挪一挪翻一翻去看。
二、安装及配置php环境
安装apache2
apt install apache2
安装php及所需插件
apt install php libapache2-mod-php php-mysql php-mbstring php-zip php-curl php-gd php-ldap php-xml php-imagick -y
查看版本,记住版本。
php -v
FileRun需要下载ionCube模块解密
从这里下载:https://www.ioncube.com/loaders.php,选择arm64版本。
移至树莓派,并解压到/usr/lib/php目录
tar -xzf ioncube_loaders_lin_aarch64.tar.gz -C /usr/lib/php
使用ionCube,注意版本我是7.3,最好去确认下有没有这个目录。
vi /etc/php/7.3/apache2/conf.d/00-ioncube.ini
# 添加下面内容
zend_extension = /usr/lib/php/ioncube/ioncube_loader_lin_7.3.so
新建FileRun配置文件
vi /etc/php/7.3/apache2/conf.d/filerun.ini
加入以下内容,官网复制改了时区。
expose_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"
重启apache2
systemctl restart apache2.service
三、安装FileRun
删除apache2默认网页文件
rm /var/www/html/*
官网下载FileRun并复制到/var/www/html
目录中
解压文件
unzip FileRun_2021_06_27_PHP_71-74_2.zip # 后面是你的文件名
赋予apache2权限
chown -R www-data:www-data /var/www/html/
输入树莓派IP访问,我申请了公网IP,但是80与443默认是封禁的,因此我使用端口映射访问成功
一直下一步,最后配置你的数据库即可完成
记录下密码
四、优化及调教
登录之后去到设置页面,把中文文件(解压后叫chinese.php)下载下来。
改密码与用户名
挂路径
赋予filerun这个目录下的全部权限
chown -R www-data:www-data /data
仅自用,关闭游客账号
安装图片预览与视频预览插件
apt install imagemagick ffmpeg pngquant -y
网页端启用
启用api访问,以便同步及手机访问
webdav使用。
我这里用它同步我的joplin笔记。
joplin同步会创建.开头的隐藏文件,所以需要配置一下,在/var/www/html/customizables
目录下新建config.php
文件,复制下面内容进去
<?php
$config['app']['ui']['enable_favicon_ico'] = true; //网页logo,可以替换favicon.ico实现自定义
$config['app']['hidden_folder_names'] = ['.filerun.*'];//允许创建隐藏文件
去到joplin设置同步页面,选择webdav,输入地址:http://你的网址/dav.php/%40Home/joplin
,账号及密码,记得提前建立好joplin目录。
网页加载速度有点小慢(在NextCloud面前不值一提),加上缓存。
首先配置opcache,输入find / -name opcache.so
找到.so文件,记录路径/usr/lib/php/20180731/opcache.so
再输入find / -name php.ini
找到php配置文件并编辑。
编辑成下图这样。
只有第一行是新增的,其他的文件里面都有,只需要将分号去掉即可。数字也不用改(我内存大,任性改了)
网上一哥们说,安装memcached也能提高加载速度,那就装上吧,一行代码搞定的事情,不纠结
apt install memcached libmemcached-tools php-memcached -y
最后重启下服务
systemctl restart apache2.service
输入php -m
查看模块都配置好了。
再度打开网页,哦吼,比我快多了。
最后的最后,折腾了下在线打开office,官方教程在这里:https://docs.filerun.com/google_editor_integration 。试了下报错了。
安装了libreoffice启用插件也报错了。
猜测一个是没有开https,一个是网络问题。
无妨,对这块需求也不大。
五、总结
我去,满满当当一千来字,要换成docker-compose,几个单词就搞定了。
比起docker的轻便与前沿,一步一个脚印安装出来的FileRun也颇有一番舒畅感。
几个单词过后,按回车的那一霎,俨然一种电影中控制核弹发射的快感。
玩转代码的黑客,在中指敲下的那一刻,所获得的成就自豪感,莫出其右。
SHIT,咋还唠上了,抓紧发布睡觉。