First make sure we added the admin user: nano /opt/apache-tomcat-9.0.0.M18/conf/tomcat-users.xml Add this at the bottom of the config: <role rolename="manager-gui"/> <role rolename="admin"/> <role rolename="admin-gui"/> <role rolename="manager-script"/> <role rolename="manager"/> <user username="admin" password="yoursecretpasswordhere" roles="admin,manager-gui,admin-gui,manager,manager-script,manager-status"/> </tomcat-users> Next, to allow remote login from different IPs... Make sure we're shut down: /opt/apache-tomcat-9.0.0.M18/bin/shutdown.sh Check processes: ps aux | grep tomcat | grep -v grep Edit the manager configuration: nano /opt/apache-tomcat-9.0.0.M18/webapps/manager/META-INF/context.xml Replace this: <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" /> </Context> to allow 192.*.*.* addresses, with this: <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|192\.\d+.\d+.\d+" /> </Context> or for 10.*.*.* addresses, with this: <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|10\.\d+.\d+.\d+" /> </Context> Restart: /opt/apache-tomcat-9.0.0.M18/bin/startup.sh Watch the log: tail -F /opt/apache-tomcat-9.0.0.M18/logs/*.out Next, access the management console by ip: http://server-ip-here:8080/ and then log in using "admin" and the password you set up above.
In 2019, to build a Dockerfile and replace
allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1" /> with allow="\d+\.\d+\.\d+\.\d+" />
Do:
RUN sed -i 's/allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1"/allow="\\d+\\.\\d+\\.\\d+\\.\\d+"/g' /usr/local/tomcat/webapps/manager/META-INF/context.xml
To enable Tomcat deployments, edit your Maven’s settings.xml file and add this in the <servers> section:
<servers> <server> <id>TomcatServer</id> <username>admin</username> <password>yoursecretpasswordhere</password> </server> </servers>
Then, in your project’s pom.xml, in the <builld> section, add something like this. Make sure that “TomcatServer” matches with the name you used in the maven settings.xml file.
<build> <finalName>projectabc</finalName> <plugins> <plugin> <artifactId>maven-compiler-plugin</artifactId> <version>3.6.1</version> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <url>http://ip.address.of.your.tomcat.server:8080/manager/text</url> <server>TomcatServer</server> <path>/projectabc</path> </configuration> </plugin> </plugins> </build> </project>
Then, from IntelliJ, select tomcat7:deploy