ftp文件服务器的安装和配置

可以将多个应用上传的文件,集中在一台服务器上,不论是管理还是备份,都可一步操作


系统:centos6.4

一、安装和配置

检查是否安装,若没有安装运行yum安装即可

rpm -q vsftpd
yum install vsftpd

创建文件目录(以后上传的文件将存放在这里)

mkdir /home/wwwroot/attachments

单独创建一个用于上传的ftp用户

adduser -d /home/wwwroot/attachments -g ftp -s /sbin/nologin attachuser 

-s /sbin/nologin attachuser ,是不允许该用户登录系统

创建密码,这里我是123456

passwd attachuser

配置ftp

/etc/vsftpd/vsftpd.conf

1、不可改变目录

去掉这两行的注释

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

创建 /etc/vsftpd/chroot_list 文件,内容为用户名,一行一个

这里就是:

attachuser


2、不允许匿名登录

anonymous_enable=NO


3、链接闲置2分钟后断开

data_connection_timeout=120


4、允许root 登录

注释 /etc/vsftpd/ftpusers 和 /etc/vsftpd/user_list 文件中的 root(在前面加#)


5、打开端口

在iptables 中加入

-A INPUT -m state --state NEW -m tcp -p tcp --dport 20 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
重启生效 service iptables restart

更详细的配置,请参考其文章,这里仅为创建文件服务器用户的配置


二、测试

测试上传文件

$ftppath='/';//相对于ftp用户目录
$loaclfile = 'test.jpg';
$fp = fopen($loaclfile, 'r');

$conn_id = ftp_connect("192.168.1.136") or die("Could not connect");
ftp_login($conn_id,"attachuser","123456");

$target=$ftppath."test.jpg";

if(ftp_fput($conn_id, $target, $fp, FTP_BINARY)) {
	echo "Successfully uploaded $target\n";
} else {
	echo "There was a problem while uploading $target\n";
}

ftp_close($conn_id);

测试上传成功

这里只是简单的上传,没有涉及到目录的创建,可移步到这里看一个简单的类【ftp上传文件】,判断目录是否存在,不存在就创建后上传


三、discuz 远程附件

这里用discuz x3.2做个测试

配置如下图


在nginx中配置一个虚拟主机,并修改windows的hosts文件,将 file.test.com 指向 192.168.1.136

nginx 的配置如下(这里就不讲解 nginx的虚拟主机配置了)

server
{
	listen       80;
	server_name file.test.com;
	index index.html index.htm index.php default.html default.htm default.php;
	root  /home/wwwroot/attachments;

	location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
	{
		expires      30d;
	}

}

重启nginx生效

在discuz 中测试,效果如下图


文件已生成

至此,ftp文件服务器配置完成


若想备份这些文件,请移步【linux 下 rsync 备份/同步文件



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值