转载自:http://www.server110.com/linux/201403/8613.html

[题记]本文使用CentOS 6.5 minimal快速搭建HTTP服务器和仅供授权用户登陆的FTP服务器。意在使用授权FTP用户通过登陆指定的服务器文件夹来上传、下载、修改、更新、删除位于/var/www/html目录内的网站文件。同时又保持SeLinux和iptables防火墙的工作状态,使其得以安全有效的运行。

第一步 启动CentOS 6.5
假设你已经安装好了CentOS,虚拟机中或实体服务器。

第二步 登陆系统
# yum install httpd vsftpd mysql mysql-server php php-mysql
为了自己能掌握,所以采取了默认输入y确认安装的方法。

第三步 确认安装列表
# y
回车确认

第四步 设置开机启动
# chkconfig httpd on
配置HTTP服务开机启动。
# chkconfig vsftpd on
配置FTP服务开机启动。
# chkconfig mysqld on
配置MySQL服务开机启动。

第五步 检查服务配置状态
# chkconfig
2、3、4、5启动。

第六步 启动服务
# service httpd start
启动HTTP服务。
# service vsftpd start
启动FTP服务。
# service mysqld start
启动MySQL服务。

===================以上是配置WEB服务器========现在已经可以用公网IP访问服务器了==================

Apache配置文件位置:/etc/httpd/conf/httpd.conf

PHP.ini的位置:/etc/php.ini

第七步 配置FTP用户、用户组及相应权限
# groupadd webftp
添加webftp用户组,用来承载我们的FTP授权用户。
# useradd -g webftp -M -d /var/www -s /sbin/nologin wwwer
使用-g参数将它归集到webftp用户组下,-M参数不设置它的主目录(没有-M参数/home里会有个wwwer文件夹,这个文件夹没多少实际用处,所以不用设置),-d参数设定它的初始登入目录为/var/www,-s参数设定它不需要登陆系统/sbin/nologin,它被命名为wwwer(之所以这样命名,也就是根据初始登入目录来设置的,下同,登陆到www目录有一个好处是它可以直接FTP进去修改诸如404一类的页面,而不用其他过程来配置)。
# useradd -g webftp -M -d /var/www/html -s /sbin/nologin htmler
同样的方法在webftp用户组继续添加用户htmler,它也不设置主目录,也不需要登陆系统,设定它的初始登入目录为/var/www/html。
# passwd wwwer
为wwwer添加密码,两次输入。
# passwd htmler
为htmler添加密码,两次输入。
# chown -R wwwer.webftp /var/www
更改/var/www目录及其下所有文件和文件夹(-R)的所有者为webftp用户组下的wwwer用户。
# chown -R htmler.webftp /var/www/html
同样将/var/www/html目录及其下所有文件和文件夹chown给html。

第八步 不启用匿名用户
# vi /etc/vsftpd/vsftpd.conf
按I键进入编辑模式,找到anonymous_enable=YES,更改YES为NO,然后按ESC键退出编辑,输入“:wq”存盘并退出。

第九步 配置基本安全策略
# getsebool -a | grep ftp
列出所有selinux全部ftp策略。
#setsebool allow_ftpd_full_access on
允许FTP完全访问。
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT
插入防火墙规则(CentOS里用-A添加一条规则会处于链表尾,但表尾貌似不起作用,所以用-I插入到链表头),这条规则的意思是所有INPUT到服务器的包,-p如果是tcp协议的,--dport目标端口是80端口的,-j那么就ACCEPT。
# iptables -I INPUT -p tcp --dport 21 -j ACCEPT
同样的方法接受所有要到达服务器21端口的tcp包。
# modprobe ip_conntrack_ftp
载入IP连线跟踪模块。记住最后这一步(第九步)的基本安全策略配置在重启后全部失效,你需要重新配置一遍,当然通过修改selinux和iptables的配置文件或service iptables save是可以保持这些策略的。但你应该清晰的认识到一个问题:一个服务器应该总是保持开启状态的,如果服务器重启了,那么只有两种可能,一种是在你的控制之下,一种不在你的控制之下,当服务器重启事件不在你的控制之下时,那么你应该认识到这是很危险的情况,那么刚才那些“放行”的策略应该完全失效而不是继续保持才对。也正因为如此,我想这可能是CentOS这样做的其中一个原因。如果你要添加的规则比较多可以先保存到一个txt文件里,直接cp过来就okay。

效果测试
HTTP、FTP测试均已成功,而且我们添加的wwwer和htmler也拥有了对这些文件的有效权限。如果你的网站程序需要某些777的权限,你也可以直接通过FTP修改的。

CentOS 6.5部署HTTP WEB服务器和FTP服务器的更多相关文章

  1. 手把手教你搭建WEB服务器和FTP服务器

    注:本次教程的环境是在“Windows 10 PC中远程控制的Windows Server 2012 R2服务器”,你可以自己在自己电脑中安装虚拟机再安装Windows Server 2012 R2服 ...

  2. Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法

    我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...

  3. 【原】Eclipse部署Maven web项目到tomcat服务器时,没有将lib下的jar复制过去的解决办法

    我们在做web开发是,经常都要在eclipse中搭建web服务器,并将开发中的web项目部署到web服务器进行调试,在此,我选择的是tomcat服务器.之前部署web项目到tomcat进行启动调试都很 ...

  4. web服务器和ftp服务器有什么区别

    WEB是以一个网页的形势展现出来的,FTP是一个上传和下摘的软件统称,一般,在网站制作中有WEB和FTP两种上传文件的方式,WEB是通过文件夹复制的方式将本地文件传到服务器上,速度较慢,FTP是通过不 ...

  5. Web浏览器导出FTP服务器上的文件

    开发思路:1.代码登录ftp服务器下载文件到服务器2.通过web浏览器下载服务器上的文件 using System; using System.Collections; using System.Co ...

  6. CentOS 7运维管理笔记(4)----安装ftp服务器

    在CentOS 7下安装ftp服务器,可以使局域网内的主机拥有共享文件的一个站点. 在Linux系统下,vsftp是一款应用比较广泛的FTP软件,其特点是小巧轻快,安全易用.目前在开源操作系统中常用的 ...

  7. CentOS Linux自动备份MySQL数据库到远程FTP服务器并删除指定日期前的备份Shell脚本

    说明: 我这里要把MySQL数据库存放目录/var/lib/mysql下面的pw85数据库备份到/home/mysql_data里面,并且保存为mysqldata_bak_2011_11_03.tar ...

  8. 【腾讯云】腾讯云服务器搭建ftp服务器

    一.硬件描述 1.1 云服务器:腾讯云 云主机 操作系统:Ubuntu Server 14.04.1 LTS 32位 CPU:1核 内存:1GB 系统盘:20GB(本地磁盘) 数据盘:0GB 公网带宽 ...

  9. python 搭建http服务器和ftp服务器

    默认安装版本为pytho2.7 http服务器搭建: 进入要开放访问的目录下,执行命令:python -m SimpleHTTPServer 9000 显示上述表示安装成功,且http服务的端口为:9 ...

随机推荐

  1. fancybox 无效 失效 直接打开页面, ajax 之后 fancybox对更新的数据无效,Jquery失效 无效

    案例:做个聊天室项目,数据都是通过ajax刷新出来的,而对新数据绑定的fancybox均无效,点击直接打开到了新页面而不是弹窗,解决方法其实很简单   简单分析:ajax加载内容是在$(documen ...

  2. HDU 5289 Assignment (数字序列,ST算法)

    题意: 给一个整数序列,多达10万个,问:有多少个区间满足“区间最大元素与最小元素之差不超过k”.k是给定的. 思路: 如果穷举,有O(n*n)复杂度.可以用ST算法先预处理每个区间最大和最小,O(n ...

  3. system函数的总结

    最近在看APUE第10章中关于system函数的POSIX.1的实现.关于POSIX.1要求system函数忽略SIGINT和SIGQUIT,并且阻塞信号SIGCHLD的论述,理解得不是很透彻,本文就 ...

  4. 【转】http-equiv的含义

    http-equiv顾名思义,相当于http的文件头作用,它可以向浏览器传回一些有用的信息,以帮助正确和精确地显示网页内容,与之对应的属性值为content,content中的内容其实就是各个参数的变 ...

  5. HDU 5874 Friends and Enemies

    Friends and Enemies Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Othe ...

  6. [Everyday Mathematics]20150119

    设 $V$ 是 $n$ 维线性空间, $V_1, V_2$ 均为 $V$ 的子空间, 且 $$\bex V_1\subset V_2,\quad \dim V=10,\quad \dim V_1=3, ...

  7. Claim-based-security for ASP.NET Web APIs using DotNetOpenAuth

    Recently I worked with a customer assisting them in implementing their Web APIs using the new ASP.NE ...

  8. LeetCode题解——Longest Common Prefix

    题目: 给定一系列的字符串,找出这些字符串的最长公共前缀. 解法: 暴力法,依次比较每个字符串的每个字符,碰到第一个不同的就返回之前找到的前缀. 代码: class Solution { public ...

  9. document.body、document.documentElement和window获取视窗大小的区别

    来源:http://www.ido321.com/906.html 在w3school关于window对象的介绍中,介绍了获取浏览器窗口大小的三种方法(浏览器的视口,不包括工具栏和滚动条). 对于In ...

  10. HDU 1708

    思路 :二位数组维护数目. #include<iostream> #include<stdio.h> #include<stdlib.h> #include< ...