树莓派搭建私有云存储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,输入地址:https://你的网址/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,咋还唠上了,抓紧发布睡觉。

发表评论

邮箱地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.