2017-05-12 73 views
0

我在Docker上運行tracd with Alpine。我能夠使其運行並可以訪問除我無法登錄的所有組件。我跑碼頭工人上運行此腳本:Trac獨立權限

if [ -f /trac/VERSION ]; then 
    echo "Project already exists here" 
else 
    echo "Creating a new project" 
    trac-admin /trac initenv $projectname sqlite:db/trac.db 
    echo "Setting permissions for $user" 
    trac-admin /trac permission add $user $password 
    htpasswd -bc /trac/.htpasswd $user $password 
fi 

tracd --port 8000 --basic-auth="$projectname,/trac/.htpasswd,trac" /trac 

該腳本完成,沒有任何錯誤,並提出了Web服務器:

Server starting in PID 15. 
Serving on 0.0.0.0:8000 view at http://127.0.0.1:8000/ 
Using HTTP/1.1 protocol version 
192.168.1.133 - - [12/May/2017 20:05:37] "GET /trac HTTP/1.1" 200 - 

但是,當我去http://myserver:8000/trac我不提示我了密碼也不會看到管理員用戶選項卡。

$ user和$ password具有admin/admin的默認值,但可以在運行時重寫。我已經驗證.htpassword是它應該在的位置,但如果它不在那裏,我會期待一個錯誤。

現有項目的上市權限確實會適當返回。下面是他們的第一個:

docker exec -it trac trac-admin /trac permission list 

User Action 
---------------------- 
admin BROWSER_VIEW 
admin CHANGESET_VIEW 
admin FILE_VIEW 

當試圖在Trac系統登錄我收到以下錯誤:

Trac Error 
Authentication information not available. Please refer to the installation documentation. 

我怎樣才能得到驗證與Tracd工作?

回答

1

如果要授予TRAC_ADMIN$user,你需要改變這一行:

- trac-admin /trac permission add $user $password + trac-admin /trac permission add $user TRAC_ADMIN

要獲得認證工作,使這一變化: - tracd --port 8000 --basic-auth="$projectname,/trac/.htpasswd,trac" /trac + tracd --port 8000 --basic-auth="trac,/trac/.htpasswd,trac" /trac

第一個參數到--basic-auth需要是你的環境目錄的名稱。

相關問題