您的位置:首页 > 数据库 > SQL

(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2015-05-31 19:47 891 查看
因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅;
如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。
(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。
最后,希望对你有用。)

[b](一)FTP安装[/b]

1. 安装
使用chkconfig --list来查看是否装有vsftpd服务;
使用yum命令直接安装:yum -y install vsftpd
然后为它创建日志文件:touch /var/log/vsftpd.log

这样简单的两个命令就完成了vsftp的安装,但是如果你现在想这样ftp://your_ip来访问的话,那还不行,还需要配置权限!

2. 启动与配置自启动
使用chkconfig --list来查看vsftpd服务启动项情况;
如果看到的是如下显示的结果:
vsftpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
服务全部都是off的,注意这里的off表示的是服务器启动的时候是否会自启动服务,我们使用如下命令来配置其自启动:
chkconfig --level 2345 vsftpd on #2345对应的是上面对应的0-6项

查看ftp相关设置状态: getsebool -a | grep ftp

查看与管理ftp服务:
启动ftp服务:service vsftpd start
查看ftp服务状态:service vsftpd status
重启ftp服务:service vsftpd restart
关闭ftp服务:service vsftpd stop

3. 配置vsftp服务
编辑/etc/vsftpd/vsftpd.conf文件,配置vsftp服务:
#vi /etc/vsftpd/vsftpd.conf
3.1 编辑修改如下项目:
anonymous_enable=NO #设定不允许匿名访问
local_enable=YES #设定本地用户可以访问。注:如使用虚拟宿主用户,在该项目设定为NO的情况下所有虚拟用户将无法访问。
chroot_list_enable=YES #使用户不能离开主目录(和/etc/vsftpd/chroot_list配合使用)
xferlog_file=/var/log/vsftpd.log #设定vsftpd的服务日志保存路径。注意,该文件默认不存在。必须要手动touch出来
ascii_upload_enable=YES #允许使用ASCII模式上传
ascii_download_enable=YES #设定支持ASCII模式的上传和下载功能。
pam_service_name=vsftpd #PAM认证文件名。PAM将根据/etc/pam.d/vsftpd进行认证



3.2 创建chroot list,将92wyftp用户加入其中:
touch /etc/vsftpd/chroot_list
echo 92wyftp >> /etc/vsftpd/chroot_list
(chroot:是为了限制所列的ftp用户只能访问其被指定的Home目录,不能访问其他文件夹)

3.3 使用命令添加ftp用户
添加ftp用户,命令格式:
#adduser -d /目录路径 -g ftp -s /sbin/nologin用户名
如使用:#adduser -d /tmp/92wyftp -g ftp -s /sbin/nologin 92wyftp
增加了一个名为92wyftp的用户,它的目录属于/opt/92wyftp下面,属于ftp用户组。此用户是不可以登陆我们终端服务器的。
#adduser -d /tmp/92wyftp -g ftp -s /sbin/nologin 92wyftp
添加密码
#passwd 92wyftp
#chown -R 92wyftp:ftp /tmp/92wyftp
(如未授权,会出现问题:“553 Could not create file”)

#service vsftpd restart
用92wyftp用户登录试一下。

防火墙端口开放:
vi /etc/sysconfig/iptables
-I INPUT -p tcp --dport 21 -j ACCEPT


登录时如遇到:“500 OOPS: cannot change directory:/tmp/” 问题
设置SElinux安全机制 :
#setsebool -P ftp_home_dir on
(有些是:#setsebool -P ftpd_disable_trans 1)
# setsebool -Pallow_ftpd_full_access=on //重要,不然目录无法列出,无法创建文件(允许完全访问/读写权限)
#service vsftpd restart
(其他例子如setsebool -P allow_ftpd_anon_write=1 -P是永久性设置,否则重启之后又恢复预设值)
#sestatus -b| grep ftp
可查看当前的SELinux状态
有关SELinux:

http://wenku.baidu.com/view/d1b90c8271fe910ef12df8d7.html


FTP Passive Mode模式配置
vi /etc/vsftpd/vsftpd.conf
pasv_enable=YES
pasv_min_port=10000
pasv_max_port=10010


防火墙添加
#vi /etc/sysconfig/iptables:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -jACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --sport 20 -jACCEPT
-I INPUT -p tcp --dport 10000:10010 -j ACCEPT

#service iptables restart
#service vsftpd restart

http://blog.sina.com.cn/s/blog_54cae6d70101do71.html
http://www.xmydlinux.org/201012/144.html
http://blog.sina.com.cn/s/blog_68b56adb01010zl2.html
http://blog.sina.com.cn/s/blog_417ad82e0101eyvw.html


参考:http://www.myhack58.com/Article/sort099/sort0101/2012/33100.htm

因为在网上发现系统性、严谨(特别是在安全方面)的Linux部署方面的参考文章很少,于是整理以下六篇Linux环境部署的系列性文章,其为本人在实践中,完整的搭建一个基于Linux系统上Centos+Nginx+Tomcat+Mysql+FTP的操作文档,梳理记录如下,特别是在实践中碰到的各种问题和容易出错的地方,都做了重要标注和提醒(踩过的那些坑,我都特别标注出来);希望对于那些想要系统地完整搭建Linux环境的程序员们一个系统性的参考。但因大部分都是边搭建边记录下的操作,必定有所疏漏,还望见谅;
如有问题和意见请帮忙在后面的评论中指出,万分感谢!另整个搭建的过程中参考了网上许多优秀博主的优秀实践,在文中末尾或者其他适当的地方都有所标注,如有必要,你可以按参考的链接阅读参考的原文章。本文档一共分为6篇,这6个部分分别是:

1、(一)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - FTP安装

2、(二)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 防火墙配置

3、(三)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Nginx环境搭建

4、(四)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 安装Tomcat和JDK 以及 Nginx与Tomcat整合

5、(五)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - Mysql 安装

6、(六)Linux环境部署(Centos+Nginx+Tomcat+Mysql) - 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。
(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。
最后,希望对你有用。)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: