2017-05-02 44 views
1

我正在運行Ubuntu 17.04。我有一個在Wildfly 10.1.0中運行的應用程序,並試圖使用Apache 2.4強制用戶在瀏覽到應用程序URL時登錄。我已經在Windows環境下工作了,希望它能像將Apache配置文件複製到Ubuntu框一樣簡單,但事實並非如此。Ubuntu上的Apache 2.4:「無法加載驅動程序文件apr_dbd_oracle.so」

我加入線之下的httpd.conf到

Include conf/extra/dbd.conf 

CONF /額外/ dbd.conf的內容:

DBDriver oracle 
DBDParams user=xx;pass=yy;server=zz 
DBDMin 2 
DBDKeep 4 
DBDMax 10 
DBDExptime 300 

我然後試圖使用命令來重新啓動Apache:

sudo /usr/local/apache2/bin/apachectl restart -f /usr/local/apache2/conf/httpd.conf 

我收到消息:

AH00526: Syntax error on line 1 of /usr/local/apache2/conf/extra/dbd.conf 
Can't load driver file apr_dbd_oracle.so 

我跟着this教程如何構建文件apr_dbd_oracle.so。我試圖驗證apr_dbd_oracle.so通過運行命令正確建:

ldd /usr/local/apr/lib/apr-util-1/apr_dbd_oracle.so 

將會產生輸出:

linux-vdso.so.1 => (0x00007ffc2d3f6000) 
libclntsh.so.11.1 => /u01/app/oracle/product/11.2.0/xe/lib/libclntsh.so.11.1 (0x00007f92d4b0e000) 
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f92d48d7000) 
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f92d4510000) 
libnnz11.so => /u01/app/oracle/product/11.2.0/xe/lib/libnnz11.so (0x00007f92d4148000) 
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f92d3f44000) 
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f92d3c39000) 
libnsl.so.1 => /lib/x86_64-linux-gnu/libnsl.so.1 (0x00007f92d3a20000) 
libaio.so.1 => /lib/x86_64-linux-gnu/libaio.so.1 (0x00007f92d381e000) 
/lib64/ld-linux-x86-64.so.2 (0x0000561dd2f8b000) 

我不是一個Linux專家,但我懷疑,如果中的.so文件已損壞,則ldd將不會生成此輸出。我從這裏得出結論,apr_dbd_oracle.so可以工作,但Apache無法找到它。我試圖通過複製文件和創建符號鏈接來將文件複製到各個位置。我也嘗試了谷歌搜索的地方在Apache尋找文件,但沒有運氣。

任何人都可以澄清Apache的文件apr_dbd_oracle.so所在的目錄嗎?提前致謝。

+0

我解決了我自己的問題。重新啓動它,而不輸入sudo,即:/ usr/local/apache2/bin/apachectl restart -f /usr/local/apache2/conf/httpd.conf –

回答

0

從我們之前的對話中可以看出:

配置用於根訪問的共享庫與登錄用戶不同。

嘗試在沒有sudo的情況下執行,看看它是否是配置問題。

相關問題