共计 3378 个字符,预计需要花费 9 分钟才能阅读完成。
[题记]本文使用 CentOS 6.5 minimal 快速搭建 HTTP 服务器和仅供授权用户登陆的 FTP 服务器。意在使用授权 FTP 用户通过登陆指定的服务器文件夹来上传、下载、修改、更新、删除位于 /var/www/html 目录内的网站文件。同时又保持 SeLinux 和 iptables 防火墙的工作状态,使其得以安全有效的运行。
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm
LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
第一步 启动 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 服务开机启动。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103207p2.htm
第五步 检查服务配置状态
# chkconfig
2、3、4、5 启动。
第六步 启动服务
# service httpd start
启动 HTTP 服务。
# service vsftpd start
启动 FTP 服务。
# service mysqld start
启动 MySQL 服务。
第七步配置 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 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
[题记]本文使用 CentOS 6.5 minimal 快速搭建 HTTP 服务器和仅供授权用户登陆的 FTP 服务器。意在使用授权 FTP 用户通过登陆指定的服务器文件夹来上传、下载、修改、更新、删除位于 /var/www/html 目录内的网站文件。同时又保持 SeLinux 和 iptables 防火墙的工作状态,使其得以安全有效的运行。
Ubuntu 13.04 安装 LAMP\Vsftpd\Webmin\phpMyAdmin 服务及设置 http://www.linuxidc.com/Linux/2013-06/86250.htm
CentOS 5.9 下编译安装 LAMP(Apache 2.2.44+MySQL 5.6.10+PHP 5.4.12) http://www.linuxidc.com/Linux/2013-03/80333p3.htm
RedHat 5.4 下 Web 服务器架构之源码构建 LAMP 环境及应用 PHPWind http://www.linuxidc.com/Linux/2012-10/72484p2.htm
LAMP 源码环境搭建 WEB 服务器 Linux+Apache+MySQL+PHP http://www.linuxidc.com/Linux/2013-05/84882.htm
第一步 启动 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 服务开机启动。
更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-06/103207p2.htm