設定好了 LAMP 之後,開始要讓用戶端來連線啊!那麼如何放行呢?要放行哪些埠口?剛剛的 port 3306 要不要放行? 這裡請注意,如果是小型的 WWW 網站,事實上,Apache 是連接本機的 MySQL,並沒有開放給外部的用戶來連接資料庫! 因此,請不要將 3306 放行給網際網路連接,除非你真的知道你要給其他的伺服器讀取你的 MySQL 喔!既然如此,當然只要開放 port 80 即可
此外,如果你的 Apache 未來還想要進行一些額外的連線工作,那麼 SELinux 的一些簡單規則也得先放行!否則會有問題啦!不過 SELinux 的問題其實都好解決,因為可以參考登錄檔來修訂嘛! 好了,讓我們簡單的來談談:
# 1. 放行防火牆中的 port 80 連線
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p TCP -i $EXTIF --dport  80  --sport 1024:65534 -j ACCEPT
# 將上面這一行的註解拿掉即可!
[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save | grep 80
-A PREROUTING -s 192.168.100.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 
   -j REDIRECT --to-ports 3128 <==這一行是進行 squid 產生的,應該要拿掉較佳
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 80 -j ACCEPT
# 看到上面這行,就是將防火牆的放行加進來了,用戶端應該是能夠連線囉!
# 2. 解決 SELinux 的規則放行問題:
[root@www ~]# getsebool -a | grep httpd  <==會出現一堆規則,有興趣的如下:
[root@www ~]# setsebool -P httpd_can_network_connect=1
# 其他的規則或類型,等待後續的章節介紹再來談!
例題:
你想要修改首頁內容,且先使用 root 在 /root 底下建立了 index.html 了,這個檔案將被移動到 /var/www/html 底下,請建立該檔案,並且放置成首頁檔案,瀏覽看看。
答:
可以透過簡單的方式建立一個無關緊要的首頁檔案:
[root@www ~]# echo "This is my Home page" > index.html
[root@www ~]# mv index.html /var/www/html
[root@www ~]# ll /var/www/html/index.html
-rw-r--r--. 1 root root 21 2011-08-08 13:49 /var/www/html/index.html
# 權限看起來是 OK 的!
現在請使用瀏覽器瀏覽一下 http://localhost ,就會發現無法讀取!為什麼?請檢查 /var/log/httpd/error_log 以及 /var/log/messages 的內容:
[root@www ~]# tail /var/log/httpd/error_log
[error] [client 192.168.1.101] (13)Permission denied: access to /index.html denied
[root@www ~]# tail /var/log/messages
Aug  8 13:50:14 www setroubleshoot: SELinux is preventing /usr/sbin/httpd "getattr"
 access to /var/www/html/index.html. For complete SELinux messages. run sealert -l
 6c927892-2469-4fcc-8568-949da0b4cf8d
看到上面畫底下的地方了吧?就是他!執行一下,你就能發現如何處理囉!
 
# 1. 放行防火牆中的 port 80 連線
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p TCP -i $EXTIF --dport  80  --sport 1024:65534 -j ACCEPT
# 將上面這一行的註解拿掉即可!
[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save | grep 80
-A PREROUTING -s 192.168.100.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 
   -j REDIRECT --to-ports 3128 <==這一行是進行 squid 產生的,應該要拿掉較佳
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 80 -j ACCEPT
# 看到上面這行,就是將防火牆的放行加進來了,用戶端應該是能夠連線囉!
# 2. 解決 SELinux 的規則放行問題:
[root@www ~]# getsebool -a | grep httpd  <==會出現一堆規則,有興趣的如下:
[root@www ~]# setsebool -P httpd_can_network_connect=1
# 其他的規則或類型,等待後續的章節介紹再來談!
 
 
 
 
例題:
你想要修改首頁內容,且先使用 root 在 /root 底下建立了 index.html 了,這個檔案將被移動到 /var/www/html 底下,請建立該檔案,並且放置成首頁檔案,瀏覽看看。
答:
可以透過簡單的方式建立一個無關緊要的首頁檔案:
[root@www ~]# echo "This is my Home page" > index.html
[root@www ~]# mv index.html /var/www/html
[root@www ~]# ll /var/www/html/index.html
-rw-r--r--. 1 root root 21 2011-08-08 13:49 /var/www/html/index.html
# 權限看起來是 OK 的!
現在請使用瀏覽器瀏覽一下 http://localhost ,就會發現無法讀取!為什麼?請檢查 /var/log/httpd/error_log 以及 /var/log/messages 的內容:
[root@www ~]# tail /var/log/httpd/error_log
[error] [client 192.168.1.101] (13)Permission denied: access to /index.html denied
[root@www ~]# tail /var/log/messages
Aug  8 13:50:14 www setroubleshoot: SELinux is preventing /usr/sbin/httpd "getattr"
 access to /var/www/html/index.html. For complete SELinux messages. run sealert -l
 6c927892-2469-4fcc-8568-949da0b4cf8d
 
 
看到上面畫底下的地方了吧?就是他!執行一下,你就能發現如何處理囉!
# 1. 放行防火牆中的 port 80 連線
[root@www ~]# vim /usr/local/virus/iptables/iptables.rule
iptables -A INPUT -p TCP -i $EXTIF --dport  80  --sport 1024:65534 -j ACCEPT
# 將上面這一行的註解拿掉即可!
[root@www ~]# /usr/local/virus/iptables/iptables.rule
[root@www ~]# iptables-save | grep 80
-A PREROUTING -s 192.168.100.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 80 
   -j REDIRECT --to-ports 3128 <==這一行是進行 squid 產生的,應該要拿掉較佳
-A INPUT -i eth0 -p tcp -m tcp --sport 1024:65534 --dport 80 -j ACCEPT
# 看到上面這行,就是將防火牆的放行加進來了,用戶端應該是能夠連線囉!
# 2. 解決 SELinux 的規則放行問題:
[root@www ~]# getsebool -a | grep httpd  <==會出現一堆規則,有興趣的如下:
[root@www ~]# setsebool -P httpd_can_network_connect=1
# 其他的規則或類型,等待後續的章節介紹再來談!
例題:
你想要修改首頁內容,且先使用 root 在 /root 底下建立了 index.html 了,這個檔案將被移動到 /var/www/html 底下,請建立該檔案,並且放置成首頁檔案,瀏覽看看。
答:
可以透過簡單的方式建立一個無關緊要的首頁檔案:
[root@www ~]# echo "This is my Home page" > index.html
[root@www ~]# mv index.html /var/www/html
[root@www ~]# ll /var/www/html/index.html
-rw-r--r--. 1 root root 21 2011-08-08 13:49 /var/www/html/index.html
# 權限看起來是 OK 的!
現在請使用瀏覽器瀏覽一下 http://localhost ,就會發現無法讀取!為什麼?請檢查 /var/log/httpd/error_log 以及 /var/log/messages 的內容:
[root@www ~]# tail /var/log/httpd/error_log
[error] [client 192.168.1.101] (13)Permission denied: access to /index.html denied
[root@www ~]# tail /var/log/messages
Aug  8 13:50:14 www setroubleshoot: SELinux is preventing /usr/sbin/httpd "getattr"
 access to /var/www/html/index.html. For complete SELinux messages. run sealert -l
 6c927892-2469-4fcc-8568-949da0b4cf8d
看到上面畫底下的地方了吧?就是他!執行一下,你就能發現如何處理囉!