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

  • Post author:
  • Post category:linux


因为在网上发现系统性、严谨(特别是在安全方面)的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) – 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。

(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。

最后,希望对你有用。)



(一)FTP安装



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) – 一些常用命令总结

这篇系列性文章将会在以后的实践中持续地做修正和更新。

(在整理和记录这些文档的时候,对于我这个曾经从来不写博客的程序员来说,我发现的确收获良多,首先最重要的是对我的知识结构进行了一次重要的梳理和总结;另外,让我的思维和逻辑更加缜密;第三,强化和加深记忆;四,共享和分享的精神。

最后,希望对你有用。)

相关视频课程推荐

《站长必修课:网站是怎样做出来的?》


https://edu.51cto.com/sd/3be5b

网站是怎样做出来的?



版权声明:本文为spokenInChina原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。