fileRunServer

移植filerun服务器

为了在84机器上调通phpstorm的debug功能插件,在84的原有php5.6环境里下载了一堆模块,debug调通了,但是测试组同事来报,说部门用作内部网盘的filerun软件不能访问了,继续在84机器上找问题有可能会导致debug功能不可用,干脆将它移到201服务器上。

一、确认一下php版本

update-alternatives 命令用于处理linux系统中软件版本的切换
update-alternatives –display php
输出:

php - 自动模式
  link best version is /usr/bin/php7.3
 链接目前指向 /usr/bin/php7.3
  link php is /usr/bin/php
  slave php.1.gz is /usr/share/man/man1/php.1.gz
/usr/bin/php5.6 - 优先级 56
  次要 php.1.gz:/usr/share/man/man1/php5.6.1.gz
/usr/bin/php7.3 - 优先级 73
  次要 php.1.gz:/usr/share/man/man1/php7.3.1.gz

update-alternatives –config php
有 2 个候选项可用于替换 php (提供 /usr/bin/php)。

  选择       路径           优先级  状态
------------------------------------------------------------
* 0            /usr/bin/php7.3   73        自动模式
  1            /usr/bin/php5.6   56        手动模式
  2            /usr/bin/php7.3   73        手动模式

要维持当前值[*]请按<回车键>,或者键入选择的编号:1

切换php版本也可用 a2dismod php5.6 及 a2enmod php7.3,这里不用再改。

二、安装filerun所需的php模块

命令行敲php命令,报有些php模块没加载,可是在网页的phpinfo里却看到是已经加载,后来发现在/etc/php/7.3/cli/ 和 /etc/php/7.3/apache/ 下面各有一个php.ini,加载的模块也不一样,所以命令行下php报某个模块没有加载是指cli目录下,会与phpinfo里的不一样。
安装curl模块用命令 apt install php7.3-curl,其它的类似
只有ionCube比较麻烦,filerun必须要,用来加密它的源代码用的。按照这个链接装好。
https://blog.csdn.net/forLightWay/article/details/78888583

三、下载软件并安装配置

上官网 https://filerun.com/download
下载软件 FileRun_2019_06_01_PHP_71-73.zip, 按照官网的
http://blog.filerun.com/how-to-install-filerun-on-ubuntu-16/ 进行安装配置
将 /etc/php/7.3/apache2/conf.d/filerun.ini 中display_errors = Off 改成 on
数据库先创建一个新的,指定目录到/data1/biosfiles
然后 vim system/data/autoconfig.php 将数据库配置到老数据库上成功 !!!
filerun2 以后可以删除

四、解决问题1

word文件双击报错
将/etc/php/7.3/apache2/php.ini 中 ;com.allow_dcom = true 的注释去掉 ,解决了 201上面filerun中word双击报错问题,至少可以双击下载

五、解决问题2

访问慢
从数据库远程方面找原因,将filerun数据库从84移动到201上 改配置文件 system/data# vim autoconfig.php ,还是慢
从新版软件方面找原因,将老的filerun文件装到201的php7.3环境,不能运行
查看201 日志 /var/log/apache2/error.log 发现 filerun 的这个老版本FileRun_2017_03_18_PHP7.zip 在201上不能运行 原因是 :

The file index.php was encoded by the ionCube Encoder for PHP 5.6 and
cannot run under PHP 7.1 or later.\n Please ask the provider of the script 
to provide a version encoded with the ionCube Encoder for PHP 7.1. 
in Unknown on line 0 

这些文件是被用php5.6版本的加密软件加密的,不能用在php7.3版本上
最后吐血发现,要在 filerun/system/data/autoconfig.php 中将数据库地址改成localhost 就很快 —-早该想到的 作为OracleDBA认证专家,哈哈。

六、解决问题3

又发现word文件不能下载问题,看来前面的办法无效
先改设置 Control Panel > Configuration > Files > Misc options > Enable download accelerator : None
试图用libreoffice,无效,office365要购买
上filerun的官网讨论区搜索,发现onlyoffice用的挺多
找到了一个 ONLYOFFICE,在docker环境运行,免得与外面的php7.3和诸模块不匹配

docker network create --driver bridge onlyoffice
docker pull onlyoffice/documentserver
docker run --net onlyoffice -i -t -d -p 8080:80 --restart=always --name onlyoffice-document-server  onlyoffice/documentserver
ufw allow 8080  --放开防火墙端口

http://192....201:8080 即可访问onlyoffice
Control Panel > Configuration > Files >Plugin->中 关联 到onlyoffice的地址 http://192....201:8080 ,并在Defaults中设置为office文档的设置默认打开方式,ok
不仅可以预览下载,还可以在线编辑,非常好用。

七、解决问题4

不能下载几百兆的文件
这个服务器存了很多测试环境的镜像,要解决这个问题
vim /var/log/apache2/error.log 发现 PHP Fatal error: Allowed memory size of
使用ps -aux | sort -k4nr | head -10命令查看内存占用前10的进程 没有结果
多次在/etc/php/7.3/apache/php.ini下改memory_limit,重启apache2都没有效果,后来
vim /etc/php/7.3/apache2/conf.d/filerun.ini 改memory_limit 为4196 就行了
可见在php.ini 之外 ,可以为自己的应用设置php内存的可用大小 真牛 !

八、解决问题5

网页上还是只能下载2G以内的文件
不知道是不是系统限制,干脆另外建一个ftp服务器,可参考文档 搭建vsftp服务器,将ftp目录设置为filerun存在文件的目录,太大的镜像走ftp吧,速度也会快一些。

九、总结

filerun是加密运行的,不能一步步debug
遇到问题开阔思维,逐步收小范围,直到锁定目标。

ruixia,sun wechat
生活相关,请扫描wechat帐号获取更多精彩内容。。。。。。
0%