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

因为在网上发现系统性、严谨(特别是在安全方面)的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

网站是怎样做出来的?

 

 

你可能感兴趣的:(Linux,建站,架构)