我和阿尔卑斯一起在码头上跑。我可以让它运行,可以访问所有的组件,但我不能登录。我在docker run上运行这个脚本:
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具有管理/管理的默认值,但在运行时可以被覆盖。我已经验证了.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进行身份验证?
发布于 2017-05-14 15:59:51
如果要将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的第一个参数需要是环境目录的名称。
https://stackoverflow.com/questions/43945808
复制相似问题