无法登录 Tomcat 8 并在 Eclipse Oxygen 上添加为服务器

无法登录 Tomcat 8 并在 Eclipse Oxygen 上添加为服务器

我在 Ubuntu 17.04 上安装了 Tomcat 8.5.23。一切正常,但无法登录管理器/主机管理器。

我愿意tomcat 组tomcat 用户

groupadd tomcat
useradd -s /bin/false -g tomcat -d /opt/tomcat tomcat

下载 Tomcat

cd /opt/
wget www-eu.apache.org/dist/tomcat/tomcat-8/v8.5.23/bin/apache-tomcat-8.5.23.tar.gz

提取+重命名目录

tar -xzvf apache-tomcat-8.5.6.tar.gz
mv apache-tomcat-8.5.6 tomcat

更改 tomcat 所有者目录

chown -hR tomcat:tomcat tomcat
chmod +x /opt/tomcat/bin/

编辑 .bashrc

vim ~/.bashrc

粘贴配置行并重新加载:

export CATALINA_HOME=/opt/tomcat
source ~/.bashrc

测试 Tomcat:

$CATALINA_HOME/bin/startup.sh

我得到了 Tomcat 主页

http://localhost:8080/

现在我将 Apache 设置为服务:

cd /etc/systemd/system/
vim tomcat.service

我的 tomcat.service 文件如下所示:

[Unit]
Description=Apache Tomcat 8 Servlet Container
After=syslog.target network.target

[Service]
User=tomcat
Group=tomcat
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
Environment=CATALINA_PID=/opt/tomcat/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'

ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh

Restart=on-failure

[Install]
WantedBy=multi-user.target

重新加载系统守护进程并启动 Tomcat:

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat

现在当我输入

systemctl status tomcat

再次打印 Tomcat 状态:

● tomcat.service - Apache Tomcat 8 Servlet Container
   Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
   Active: active (running) since Tue 2017-10-17 13:54:04 CEST; 11min ago
  Process: 3521 ExecStop=/opt/tomcat/bin/shutdown.sh (code=exited, status=0/SUCCESS)
  Process: 3559 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
 Main PID: 3567 (java)
    Tasks: 53 (limit: 4915)
   CGroup: /system.slice/tomcat.service
           └─3567 /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre/bin/java -Djava.util.logging.config.file=/opt/tomcat/conf/

paź 17 13:54:04 acid-G551JM systemd[1]: Starting Apache Tomcat 8 Servlet Container...
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using CATALINA_BASE:   /opt/tomcat
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using CATALINA_HOME:   /opt/tomcat
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using CATALINA_TMPDIR: /opt/tomcat/temp
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using JRE_HOME:        /usr/lib/jvm/java-1.8.0-openjdk-amd64/jre
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using CLASSPATH:       /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tom
paź 17 13:54:04 acid-G551JM startup.sh[3559]: Using CATALINA_PID:    /opt/tomcat/tomcat.pid
paź 17 13:54:04 acid-G551JM systemd[1]: Started Apache Tomcat 8 Servlet Container.

对于 /opt/tomcat/conf/tomcat-users.xml

<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui,admin-gui"/>

对于 /opt/tomcat/webapps/manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
        <!--  <Valve className="org.apache.catalina.valves.RemoteAddrValve"
         allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->
  <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreventionFilter\$LruCache(?:\$1)?|java\.util\.(?:Linked)?HashMap"/>

对于 /opt/tomcat/webapps/host-manager/META-INF/context.xml

<Context antiResourceLocking="false" privileged="true" >
    <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve"
     allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> -->

**最后重启**

systemctl restart tomcat

我要去http://localhost:8080/并且当我输入管理器应用程序/主机管理器登录名:管理员密码:管理员我一次又一次地重新登录...

第二个问题是当我想将 Tomcat 添加到我的 Eclipse Oxygen 时。

指定了未知的 Tomcat 版本。

我认为这是由于 Tomcat 安装在 /opt/ 中,而 Eclipse 无法访问(没有权限)。有办法补救吗?

答案1

我已经通过这种方式解决了:

root@debianMate:/usr/local/apache-tomcat-9.0.6# chgrp -R tomcat /usr/local/apache-tomcat-9.0.6

root@debianMate:/usr/local/apache-tomcat-9.0.6# chown -R tomcat /usr/local/apache-tomcat-9.0.6
root@debianMate:/usr/local/apache-tomcat-9.0.6# chmod -R 755 /usr/local/apache-tomcat-9.0.6

相关内容