2016-02-27 51 views
1

系統:運行CentOS 6和Virutalmin/Webmin的LAMP堆棧。爲什麼不在子域中的php文件與主域(Webmin)在相同的用戶/組下運行?

我在現有的主域(也是用Webmin創建的)內使用Webmin建立一個子域。主域運行作爲用戶910,組582放置PHP腳本在主域的的public_html DIR與此代碼:

<? echo `whoami`; ?> 

生成域所有者的用戶名。

在子域的public_html中放置相同的腳本會生成'apache'。

目錄和文件都具有相同的所有權(910:582)。

在/etc/httpd/conf/httpd.conf中兩個虛擬主機具有相同SuexecUserGroup行:

SuexecUserGroup "#910" "#582" 

我需要的子域相同的用戶權限下運行,所以WordPress的可以直接訪問這些文件。否則,我必須將子域中的所有內容切換到apache:apache,這是一種安全風險/不好的做法。

我在這裏錯過了什麼?

謝謝!

+0

我應該將其移至ServerFault嗎? –

回答

0

原來,這個問題幾件事情是由於:

  1. mod_php5默認被啓用。添加指令

    php_admin_value engine Off 
    

到httpd.conf文件中查找該虛擬主機禁用mod_php5這與suexec的不兼容。

  • 添加FCGIWrapper指令,它不是由Webmin的

    FCGIWrapper [home dir]/fcgi-bin/php5.fcgi .php 
    
  • 創建在FCGI-bin目錄中的文件php5.fcgi創建。我只是從另一個虛擬主機複製這個文件,因爲它只是一個bash shell腳本來啓動php解釋器。

  • 添加的AddHandler和將AddType指令到主虛擬主機部分,也是的public_html <directory>部分:

    AddType application/x-httpd-php .php 
    
    AddHandler fcgid-script .php 
    
  • 確保所有文件的所有權和權限設置正確的帳戶的所有者。

  • 相關問題