FileRun是由PHP编写的文件管理器和文件共享程序,可帮助您访问,整理,查看和编辑文件。您可以将其与Office文档,照片,音乐等文件一起使用。在本教程中,我们将在CentOS 7服务器上安装FileRun。
要学习本教程,您需要:
FileRun是一个非常省内存的服务,一般情况下512MB的内存应该足够了。至于硬盘空间,FileRun及其所有必需的第三方软件将会使用不超过2GB的空间。(校者注:注意这里仅仅是指装软件的大小,非文件所需硬盘大小)
FileRun使用MariaDB来管理其数据库,该数据库包含应用程序设置,用户设置和有关文件的信息。首先,我们将创建此数据库和用户帐户。
使用服务器上的root帐户登录MariaDB。
mysql -u root -p
输入MariaDB root用户设置的密码。
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 和您设置的密码。
PHP-FPM(FastCGI Process Manager)是另一种PHP FastCGI的实现,它具有一些针对于繁忙站点的附加功能。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是一个守护进程(使用init脚本/etc/init.d/php-fpm
),它在端口9000
上运行FastCGI服务器。为了使Apache能够使用PHP-FPM
,我们可以在每个应该使用PHP-FPM
的ProxyPassMatch
指令中使用vhost
指令。编辑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>
它应该如下所示:
. . .
#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
。,具体代码如下:
. . .
#
# 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模块:
我们可以使用以下命令安装以上所有内容:
sudo yum install php56w-mbstring php56w-mcrypt php56w-opcache php56w-pdo php56w-mysql php56w-gd
ionCube是一种广泛使用的PHP扩展,用于运行受保护的PHP代码,以提高网站安全性,阻止恶意软件并提高性能,但是他未包含在yum存储库中,所以我们需要将最新的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时区,但您可以选择自己的时区。
注意: 此命令可以附加到文件/etc/php.d/filerun.ini中,您可以在此处查看FileRun推荐的所有PHP设置。
最后,我们需要重新启动PHP-FPM服务才能使更改生效:
sudo systemctl restart php-fpm.service
接下来,我们可以继续安装FileRun。
在webserver(/var/www/html/
)的根目录下载FileRun :
cd /var/www/html/
sudo wget -O FileRun.zip http://www.filerun.com/download-latest
我们需要用unzip
命令提取FileRun安装程序。
sudo yum install unzip
现在,解压缩FIleRun。
sudo yum install unzip
给Apache赋予权限,以便允许PHP安装FileRun。
sudo chown -R apache:apache /var/www/html/
打开浏览器并将其指向http://your_server_ip
从这里开始,您只需要打开网页即可安装程序,点击几下即可帮助您运行FileRun。
在 欢迎使用FileRun!界面 上,单击右下角蓝色的" 下一步" 按钮继续。查看下一页上的服务器要求检查以确保没有红色错误消息,然后再次单击" 下一步" 。
下一页设置数据库连接。填写如下字段:
填写完成后,单击" 下一步" 。您将看到一个 全部完成 的界面,这意味着FileRun已成功安装。
注意 :您将在此界面上看到用户名和(随机生成的)密码。请保存好这个密码。
单击" 下一步" 打开FileRun。您将看到一个登录页面。登录表单会自动填写,因此您只需单击" 登录即可 。
登录FileRun,系统就会提示您更改密码。
警告: FileRun的超级用户是唯一不受强力登录攻击保护的帐户,因此设置一个难以猜测的密码非常重要。密码应当包含大写字母,数字和符号。
FileRun应用程序文件的权限不应允许PHP(或任何其他Web服务器应用程序)对它们进行更改,因此请立即更新它们。
sudo chown -R root:root /var/www/html
/var/www/html/system/data
文件夹是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是安全的并且是可以运行的。接下来,让我们选装一些安装包来提供一些不同文件类型的缩略图支持。
要为图像文件,摄影文件和PDF文档生成缩略图,您需要安装ImageMagick。
sudo yum install ImageMagick*
接下来,使用/usr/bin/convert
路径从控制面板的 System Configuration > Files > Image preview 下的FileRun中启用它。
要为视频文件生成缩略图,您需要安装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
同样,使用/usr/bin/ffmpeg
路径从控制面板,在 系统配置 > 文件 > 图像预览 部分下,在FileRun中启用它。
如果您在浏览器中访问FileRun,您将可以看到文件的缩略图。
您现在已经在自己的私有安全CVM服务器上成功部署了FileRun。您可以上传或分享文件,照片,音乐,工作文档等。
您也可以设置SSL。SSL证书将加密浏览器与FileRun安装之间的通信。它不仅可以显著提高数据的隐私性和安全性,还可以让您使用免费的FileRun Android应用程序访问您的文件。免费使用SSL证书详见:https://cloud.tencent.com/product/ssl
参考文献:《How To Share Files with FileRun on CentOS 7》
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。