2015-05-12 74 views
0

我想用nginx使用Deabian的phpmyadmin包。在輔導他們創造的符號鏈接到phpMyAdmin的源文件從虛擬主機,像這樣:phpmyadmin在Debian上與nginx

$ln -s /usr/share/phpmyadmin/ /var/www/host.com/phpmyadmin 

我想我的第一個問題是,Nginx的下nobody用戶運行,但phpMyAdmin的文件的所有者是root。我試圖將所有者更改爲nginx用戶,但它沒有幫助。第二個問題可能是符號鏈接的使用,所以我試圖讓nginx的跟隨符號鏈接:

disable_symlinks off; 

它也沒有幫助。服務器仍在返回

未指定輸入文件。

當我嘗試查看phpmyadmin索引。 http請求產生此錯誤:

2015/05/12 02:07:02 [error] 4017#0:* 35在stderr中發送FastCGI:「無法打開主腳本:/ var/www/host .com/phpmyadmin/index.php(操作不允許)「,而從上游讀取響應標頭

我在做什麼錯?有什麼正確的方法使它能夠通過apt-get升級phpmyadmin?謝謝。

+0

嘗試創建一個用戶'www'例如在'/ var/www'和'/ usr/share/phpmyadmin'上遞歸給他權限,當你chown時不要忘記'-R'參數 – Bobot

+0

@ Bob0t/var/www由nobody擁有 - 用戶在nginx進程下運行。正如我寫的,我已經試圖將phpmyadmin文件夾的所有者更改爲任何人,並沒有幫助。 – midlan

+0

我有很多probs安裝它,然後我用[這個配置](https://gist.github.com/denys281/8931843):) – Bobot

回答

0

最後我找到了解決辦法。我忘了將phpmyadmin目錄添加到PHP open_basedir。現在一切正常。感謝所有用戶的建議。

0

如果您使用軟件包管理器,則不應該自行創建鏈接或更改用戶 - 軟件包管理器應該正確處理設置權限和別名。

我建議撤消你已經完成的操作,然後從shell /命令行運行dpkg-reconfigure --plow phpmyadmin以強制apt/dpkg重新配置程序包。確保你在屏幕上選擇nginx,它會提示你使用哪個web服務器。

+0

我不能選擇nginx,因爲它不存在,請參閱屏幕截圖: [鏈接](http://ctrlv.cz/Lzz1) – midlan

+0

你使用包管理器來安裝nginx嗎? –

+0

我是這麼做的,但是自從安裝以來,配置現在已經發生了很大變化。 – midlan