如何在CentOS7上使用FileRun共享文件
FileRun的一篇文章
介绍
FileRun 是一个 PHP 文件管理器和文件共享应用程序,可帮助您访问、组织、查看和编辑文件。 您可以将它用于办公文档、照片、音乐以及您可能存储在 Web 服务器上的任何其他类型的文件。 在本教程中,我们将在 CentOS 7 服务器上安装 FileRun。
先决条件
要遵循本教程,您将需要:
- 一台具有 sudo 非 root 用户的 CentOS 7 服务器,您可以按照 this initial server setup tutorial 进行设置。
- Apache 和 MariaDB 安装在您的服务器上,您可以按照 this LAMP on CentOS 7 教程 的第一步和第二步进行设置。
FileRun 是一个资源友好型应用程序,因此 512MB 的内存对于大多数情况应该足够了。 至于磁盘空间,FileRun 及其所需的所有第三方软件使用的空间不会超过 2GB。
第 1 步 — 设置 FileRun 的数据库
FileRun 使用 MariaDB 管理其数据库,该数据库包含应用程序设置、用户设置和有关文件的信息。 首先,我们将创建此数据库和将访问它的用户帐户。
要开始使用,请使用您服务器上的 root 帐户登录 MariaDB。
mysql -u root -p
输入您在安装服务器时为 MariaDB 根用户设置的密码。
FileRun 需要一个单独的数据库来存储其数据。 您可以随意调用此数据库; 在这里,我们使用名称 filerun。
CREATE DATABASE filerun;
接下来,创建一个单独的 MariaDB 用户帐户,它将与新创建的数据库进行交互。 从管理和安全的角度来看,创建单一功能的数据库和帐户是一个好主意。
就像命名数据库一样,您可以选择您喜欢的任何用户名。 在这里,我们使用用户名 sammy。 确保选择强数据库密码。
GRANT ALL ON filerun.* to 'sammy'@'localhost' IDENTIFIED BY 'your_database_password';
为用户分配对数据库的访问权限后,刷新授权表以确保 MariaDB 的运行实例知道最近的权限分配。
FLUSH PRIVILEGES;
现在您可以退出 MariaDB。
exit
记下数据库名称 filerun、用户名 sammy 和您选择的密码,因为您很快就会再次需要这些信息。
第 2 步 — 设置 PHP
PHP-FPM(FastCGI 进程管理器)是另一种 PHP FastCGI 实现,它具有一些对繁忙站点有用的附加功能。 与流行的 mod_php
相比,这里是一个更好的选择,因为除了其他好处之外,由 PHP 脚本创建的文件不会归 Web 服务器所有。 这意味着您可以同时通过 FTP 或其他方法访问它们。
FileRun 需要 PHP 5.5 或更高版本。 CentOS 7 默认只提供较旧的 PHP 版本 5.4,因此我们首先需要更新 yum
存储库。
sudo rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm sudo rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
现在,安装 PHP 5.6。
sudo yum install php56w-fpm
接下来,为 PHP-FPM 创建系统启动链接并启动它。
sudo systemctl enable php-fpm.service sudo systemctl start php-fpm.service
PHP-FPM 是一个守护进程(带有初始化脚本 /etc/init.d/php-fpm
),它在端口 9000
上运行 FastCGI 服务器。 为了使 Apache 与 PHP-FPM 一起工作,我们可以在每个应该使用 PHP-FPM 的 vhost
中使用 ProxyPassMatch
指令。 我们通过编辑 Apache 配置文件来做到这一点:
sudo vi /etc/httpd/conf/httpd.conf
在 IncludeOptional conf.d/*.conf
行之前的末尾附近添加此块。
添加到 httpd.conf 的部分
<IfModule proxy_module> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1 </IfModule>
它应该如下所示:
/etc/httpd/conf/httpd.conf
. . . #EnableMMAP off EnableSendFile on <IfModule proxy_module> ProxyPassMatch ^/(.*\.php(/.*)?)$ fcgi://127.0.0.1:9000/var/www/html/$1 </IfModule> # Supplemental configuration # # Load config files in the "/etc/httpd/conf.d" directory if any. IncludeOptional conf.f/*.conf
接下来,在同一个文件的上方,找到 DirectoryIndex
指令并将 index.php
附加到它。
/etc/httpd/conf/httpd.conf
. . . # # DirectoryIndex: sets the file that Apache will serve if a directory # is requested. # <IfModule dir_module> DirectoryIndex index.html index.php </IfModule> . . .
重新启动 Apache 以完成 PHP 安装。
sudo systemctl restart httpd.service
FileRun 还需要以下附加 PHP 模块:
php56w-mbstring
,它允许 FileRun 处理多字节字符。php56w-pdo
和php56w-mysql
,它们允许 FileRun 使用 MySQL/MariaDB 数据库。php56w-mcrypt
,为 FileRun 提供加密功能。php56w-gd
,可选,但允许 FileRun 生成用户头像、二维码和其他类似的小图像。php56w-opcache
,这也是可选的,但极大地提高了 PHP 的性能。
我们可以使用以下命令安装以上所有内容:
sudo yum install php56w-mbstring php56w-mcrypt php56w-opcache php56w-pdo php56w-mysql php56w-gd
yum
存储库中未包含的最后一个必要模块是 ionCube
。 ionCube 是一个广泛使用的 PHP 扩展,用于运行受保护的 PHP 代码,以提高网站安全性、恶意软件拦截和性能。
下载最新的 ionCube 版本到 /usr/lib64/php/modules
目录。
sudo wget -P /usr/lib64/php/modules http://downloads3.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz
然后解压缩该目录中的文件。
sudo tar xvfz /usr/lib64/php/modules/ioncube_loaders_lin_x86-64.tar.gz -C /usr/lib64/php/modules
接下来,让我们创建一个文件,该文件将由 PHP 自动附加到其配置中。 这将包括 FileRun 特定的设置。
sudo vi /etc/php.d/filerun.ini
将以下内容粘贴到创建的文件中:
date.timezone = "UTC" zend_extension = "/usr/lib64/php/modules/ioncube/ioncube_loader_lin_5.6.so"
这将设置时区并让 PHP 加载 ionCube 扩展。 在这里,我们选择了 UTC 时区,但您可以 选择您自己的 。
注意:你可以在这里查看FileRun推荐的所有PHP设置。 这些指令可以附加到 /etc/php.d/filerun.ini
文件中。
最后,我们需要重新启动 PHP-FPM 服务以使更改生效:
sudo systemctl restart php-fpm.service
您的服务器现在满足所有要求,我们可以继续安装 FileRun。
第 3 步 — 安装 FileRun
在您的网络服务器 (/var/www/html/
) 的根文件夹中下载 FileRun:
cd /var/www/html/ sudo wget -O FileRun.zip http://www.filerun.com/download-latest
要提取 FileRun 安装程序,我们需要 unzip
实用程序。
sudo yum install unzip
现在,解压缩 FIleRun 存档。
sudo unzip FileRun.zip
使 Apache 成为该目录的所有者,以便它可以允许 PHP 安装 FileRun。
sudo chown -R apache:apache /var/www/html/
打开浏览器并将其指向 http://your_server_ip
。 从这里开始,您只需遵循 Web 安装程序,只需单击几下即可帮助您运行 FileRun。
在第一个 Welcome to FileRun! 屏幕上,单击右下角的蓝色 Next 按钮继续。 查看下一页上的服务器要求检查以确保没有红色错误消息,然后再次单击 Next。
下一页设置数据库连接。 填写以下字段:
- MySQL 主机名 应该是 localhost。
- 数据库名称 应该是您在本教程第 2 步中使用的名称。 我们的示例使用 filerun。
- MySQL 用户 应该是您在本教程第 2 步中使用的名称。 我们的示例使用 sammy。
- Password 应该是您在步骤 2 中选择的密码。
填写好后,点击Next。 您将看到一个显示 All done! 的屏幕,这意味着 FileRun 已成功安装。
注意:您将在此屏幕上看到用户名和(随机生成的)密码。 一定要复制! 你稍后会需要它。
单击下一步打开FileRun。 您将看到一个登录页面。 该表格应预先填写,因此您只需单击登录。
你们都登录了! 接下来,让我们确保我们的安装是安全的。
第 4 步 — 保护 FileRun 安装
登录 FileRun 后,系统会提示您更改密码。 尽管自动生成的密码非常安全,但设置自己的密码仍然是个好主意。
警告: FileRun 超级用户是唯一不受暴力登录攻击保护的帐户,因此设置一个计算机很难猜到的密码非常重要。 设置包含大写字母、数字和符号的长密码。
FileRun 应用程序文件的权限不应允许 PHP(或任何其他 Web 服务器应用程序)对其进行更改,因此请立即更新它们。
sudo chown -R root:root /var/www/html
/var/www/html/system/data
FileRun 文件夹是 PHP 需要写入权限的唯一文件夹,所以也要更新它。
sudo chown -R apache:apache /var/www/html/system/data
默认情况下,超级用户的主文件夹位于 /var/www/html/system/data/
内。 从 FileRun 控制面板编辑用户帐户并设置指向位于 Web 服务器公共区域之外的文件夹的主文件夹路径非常重要(即 /var/www/html
)。
一个简单的解决方案是创建一个名为 /files
的目录并将所有 FileRun 文件存储在其中:
sudo mkdir /files sudo chown apache:apache /files
接下来,再次连接到 MariaDB 服务器。
mysql -u root -p
更新配置的 MariaDB 用户帐户并删除 ALTER
和 DROP
权限。
REVOKE ALTER, DROP ON filerun.* FROM 'sammy'@'localhost'; FLUSH PRIVILEGES;
然后输入 CTRL+D
退出 MariaDB。
注意:您需要重新添加这些权限,然后才能安装任何 FileRun 软件更新。 为此,请再次连接到数据库服务器并运行 GRANT ALTER, DROP ON filerun.* TO 'sammy'@'localhost';
,然后运行 FLUSH PRIVILEGES;
。
您的 FileRun 安装现在是安全的并且可以使用了。 如果您愿意,您现在可以安装一些可选包来支持不同文件类型的缩略图。
第 5 步 — 添加缩略图支持(可选)
要为图像文件、摄影文件和 PDF 文档生成缩略图,您需要安装 ImageMagick。
sudo yum install ImageMagick*
接下来,从控制面板的 系统配置 > 文件 > 图像预览部分下的FileRun中启用它,使用路径/usr/bin/convert
。
要为视频文件生成缩略图,您需要安装 ffmpeg,它位于 ATrpms 软件包存储库中。
sudo rpm --import http://packages.atrpms.net/RPM-GPG-KEY.atrpms sudo rpm -ivh http://dl.atrpms.net/el6-x86_64/atrpms/stable/atrpms-repo-6-7.el6.x86_64.rpm
最后,安装它。
sudo yum install ffmpeg
同样,从控制面板的 FileRun 中启用它,在 系统配置 > Files > Image preview 部分下,使用路径 /usr/bin/ffmpeg
。
如果您现在在浏览器中访问 FileRun,您将看到文件的缩略图。
结论
您现在已经在您自己的私有和安全服务器上成功部署了 FileRun。 是时候上传您的文件、照片、音乐或工作文档并开始共享了。
您可以从这里做很多额外的事情。 例如,您可以按照 this host name tutorial 将域名指向您的服务器。
您还可以设置 SSL。 SSL 证书将加密您的浏览器和您的 FileRun 安装之间的通信。 它不仅会大大提高您数据的隐私性和安全性,而且还允许您使用免费的 FileRun Android 应用程序 访问您的文件。
要安装免费的 SSL 证书,请按照 这个 Let's Encrypt 教程 。 如果您没有域名并且仅将此配置用于测试或个人用途,则可以改用自签名证书。 按照 Apache 的 自签名 SSL 指南进行设置。
有关 FileRun 功能和设置的更多信息,请访问官方文档。