2017-05-12 11 views
0

私はDockerでalpineを使ってtracdを実行しています。私はそれを稼働させることができ、私がログインできない以外のすべてのコンポーネントにアクセスできます。私は、ドッキングウィンドウの実行時にこのスクリプトを実行している: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に行くとき、私は、Aの入力を求めていませんよパスワードもなく、[管理者]タブも表示されません。

$ userと$ passwordはデフォルトのadmin/adminのパスワードを持ちますが、実行時に上書きすることができます。私は.htpasswordがどこにあるべきかを確認しましたが、そこになければエラーが予想されます。

既存のプロジェクトに対する権限の一覧表示が適切に戻ります。ここではそれらの最初のです:Tracの中にログインしようとすると

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

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

私は次のエラーを取得する:私は認証がでtracdでの作業取得できますか

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

答えて

1

あなたは$userTRAC_ADMINを付与したい場合は、この行を変更する必要があります:この変更を行う、認証作業を取得するには

- 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には、環境ディレクトリの名前が必要です。