ftp文件服务器的安装和配置
2016-03-21 15:55
676 查看
可以将多个应用上传的文件,集中在一台服务器上,不论是管理还是备份,都可一步操作
系统:centos6.4
一、安装和配置
检查是否安装,若没有安装运行yum安装即可
创建文件目录(以后上传的文件将存放在这里)
单独创建一个用于上传的ftp用户
-s /sbin/nologin attachuser ,是不允许该用户登录系统
创建密码,这里我是123456
配置ftp
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 中加入
更详细的配置,请参考其文章,这里仅为创建文件服务器用户的配置
二、测试
测试上传文件
测试上传成功
这里只是简单的上传,没有涉及到目录的创建,可移步到这里看一个简单的类【ftp上传文件】,判断目录是否存在,不存在就创建后上传
三、discuz 远程附件
这里用discuz x3.2做个测试
配置如下图
在nginx中配置一个虚拟主机,并修改windows的hosts文件,将 file.test.com 指向 192.168.1.136
nginx 的配置如下(这里就不讲解 nginx的虚拟主机配置了)
重启nginx生效
在discuz 中测试,效果如下图
文件已生成
至此,ftp文件服务器配置完成
若想备份这些文件,请移步【linux 下 rsync 备份/同步文件】
系统: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 备份/同步文件】
相关文章推荐
- 【PHP】Yii2团队基于接口(interface)开发方式最佳实践
- ThinkPHP开发笔记-前后端数据交互
- ThinkPHP开发笔记-用户登录注册
- ThinkPHP开发笔记-控制器
- ThinkPHP开发笔记-视图
- ThinkPHP开发笔记-模型
- 调用WordPress函数统计文章访问量及PHP原生计数器的实现
- php回调后门,php过WAF一句话,php最新一句话,php过狗一句话.
- php各版本下载地址
- PHP QR Code - QR code generator, an LGPL PHP library
- php 类、方法关键字
- PHP程序中的文件锁、互斥锁、读写锁使用技巧解析
- php递归使用示例(php递归函数)
- PHPUnit整合ThinkPHP的库TPUnit
- PHP编程中尝试程序并发的几种方式总结
- php中ajax返回值
- PHP的Laravel框架中使用消息队列queue及异步队列的方法
- [ActionScritp 3.0] 使用LocalConnection建立通信
- composer 安装,并安装yii2
- DEDEcms 在php5.4以上 后台登录空白解决办法