2008-08-13 72 views

回答

2

您是否在Xinc bug tracker上發佈了問題? Xinc本身應該運行良好,因爲它既作爲守護進程也作爲Web應用程序運行。正如你所提到的,問題可能是守護進程沒有運行在chroot的環境中,因爲web界面是這樣的,導致任何一方都不能抓取這些文件。

0

從來沒有使用xinc我自己,我只能暗示我通常如何到chrooting應用程序。

第一步是收集應用程序需要運行的所有信息;我通常通過運行systrace(1)ldd(1)來了解運行該軟件需要什麼。

都要經過

systrace -A -d. <app> 
ldd <app> 

輸出,並確保所有應用程序的觸摸和需求(相當多的應用程序的觸摸東西,它實際上並不需要)是在chroot環境中可用。您可能需要稍微調整配置和環境變量。另外,如果有選項讓應用程序登錄到系統日誌,我通常會這樣做,並創建一個系統日誌套接字(請參閱syslogd(8)的-a選項)以減少應用程序需要寫入訪問的位置。我剛剛描述的是一種通用的方法,可以在chroot環境中運行任何程序(但是,如果需要導入一半的userland和一些suid命令,那麼您可能只想不做chroot :)。對於在Apache下運行的應用程序(我確定您知道OpenBSD httpd(8)略有不同),您可以選擇使用apache訪問選項(一旦程序啓動;任何動態庫仍需存在於監獄中)這些文件允許使用httpd.conf在chroot環境中導入資源,而不需要實際複製它們。

同樣有用的(如果稍微過時的話)是this鏈接,它概述了OpenBSD上chrooted PHP的一些問題。

0

第一步是收集有關的一切應用程序運行所需要的信息;我通常通過運行systrace(1)和ldd(1)來找到運行該軟件所需的東西。

我會試試看。我在xinc中發現的一個重大問題是,雖然它是一個PHP應用程序,但它想知道應用程序的安裝路徑(但它仍將內容傳播到其他文件夾中),並以守護進程模式運行一些PHP腳本(這些腳本是最難的跑步)。因此,舉例來說,我告訴它安裝到/ var/WWW/xinc然後由

在/ var/WWW的/ var/WWW/xinc一個符號 - >在/ var/WWW/xinc

和它部分工作。我得到了圖形用戶界面,它拒絕承認我設立的任何項目。我認爲最大的問題是它的一部分運行chroot,另一半運行在外面。

如果一切都失敗我將只需要建立的東西,因爲我們因爲我們的生產是chroot的內部chroot的環境中進行編程。我們遇到了一些問題,我們在chroot之外進行編碼,然後必須回溯到找到我們需要在chroot中工作的東西。

1

@dragonmantank

在Xinc的情況下,我希望你用PEAR來安裝它。

pear list-files xinc/Xinc 

這應該做到這一點,並告訴你你的Xinc安裝文件的位置。所以即使Xinc只是一個大的PHP腳本,它仍然分佈在rc腳本和所有其他需要運行的應用程序中。我相信你不需要添加那裏列出的所有路徑,但可能是爲了使其運行。

除了Xinc本身,我認爲還需要PHPUnit的和很多其他的PEAR庫運行的,所以我想提出的是:

pear config-get php_dir 

然後你需要補充的路徑(像Henrik建議的那樣)到chroot環境。

相關問題