轉載自: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修改的。