1

I installed Tomcat 8.5.23 on Ubuntu 17.04. All works correctly but cannot login to Manager/Host Manager.

I do tomcat group and tomcat user

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

Downloading Tomcat

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

Extracting + renaming directory

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

Changing the tomcat owner directory

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

Edit bashrc

vim ~/.bashrc

Paste config line with reloading:

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

Testing Tomcat:

$CATALINA_HOME/bin/startup.sh

And I get Tomcat homepage on

http://localhost:8080/

Now I setup Apache as a service:

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

And my tomcat.service file looks like this:

[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

Reloading system daemon and starting Tomcat:

systemctl daemon-reload
systemctl start tomcat
systemctl enable tomcat

Now when I type

systemctl status tomcat

Printing Tomcat status again:

● 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.

For /opt/tomcat/conf/tomcat-users.xml

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

For /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"/>

For /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" /> -->

**Finally restart:ing **

systemctl restart tomcat

And I going to http://localhost:8080/andwhe I type for Manager App/Host Manager login: admin pass: admin I'm getting re-login and again and again...

Second problem is when I want add Tomcat to my Eclipse Oxygen.

Unknown version of Tomcat was specified.

I suppose this is due to the Tomcat installation in / opt / and lack of access from Eclipse (no permissions). Is there a way to remedy this?

purrll
  • 13

1 Answers1

1

I've solved it this way:

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
karel
  • 114,770