我在Ubuntu Xenial 16.04上安装了Tomcat 8.5.24,如下文所述:How To Install Apache Tomcat 8 on Ubuntu 16.04。
我可以在键入localhost:8080
时访问Tomcat,所有内容似乎都已正确安装。但是我无法访问Tomcat Manager。
这是我的tomcat-users.xml
文件:
<tomcat-users xmlns="http://tomcat.apache.org/xml"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://tomcat.apache.org/xml tomcat-users.xsd"
version="1.0">
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-status"/>
<role rolename="manager-jmx"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>
<user username="maven-deployer" password="maven" roles="manager-script"/>
</tomcat-users>
这是server.xml
文件的配置:
...
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
...
<Engine name="Catalina" defaultHost="localhost">
...
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/>
</Realm>
...
</Engine>
问题是当我输入用户名admin
并且密码admin
时我无法登录,空的登录提示再次出现。我已经检查过日志文件,但那里什么都没有。
我在google上搜索过这个问题,但我已经尝试了所有功能,但没有任何效果。
感谢您的时间。
修改
1-按照上面提到的教程,我创建了一个tomcat组和一个tomcat用户:
> sudo groupadd tomcat
> sudo useradd -s /bin/false -g tomcat -d /usr/local/tomcat tomcat
2-然后我在整个安装目录中授予tomcat组所有权:
> sudo chgrp -R tomcat /usr/local/tomcat
3- Next我给tomcat组访问并执行对conf目录的访问:
> sudo chmod -R g+r conf
> sudo chmod g+x conf
4-最后我创建了webapps,work,temp和logs目录的tomcat用户所有者:
> sudo chown -R tomcat webapps/ work/ temp/ logs/
但是当我不得不访问tomcat-users.xml
文件时,我将自己添加到了tomcat组:
> sudo usermod -a -G tomcat karim
然后我编辑了这个文件,保存并关闭:
> sudo kate /usr/local/tomcat/conf/tomcat-users.xml
但我无法登录Tomcat Manager。重复步骤1,2,3和4后,我成功登录,有人可以解释发生了什么吗?