Get Tomcat console [duplicate] - java

using this tutorial http://www.eclipse.org/birt/phoenix/deploy/viewerSetup.php#install_viewer
And it tells me to display the Tomcat manager application through this link http://localhost:8080/manager/html.
However when I click it I get an error from my browser saying it could not connect. Why is this? How exactly does one display the Tomcat Manager Application

If you are launching tomcat from within Eclipse (using the webtools tomcat server adapter) you will have to make sure you have changed the settings to use the installation directory to launch instead of the default which uses a separate location for loading and deploying webapps. So just having the manager in your webapps in the tomcat installation wont be enough to see the manager since by default tomcat launched by Eclipse doesn't look for apps in the webapps folder.
Just make sure that catalina.base and catalina.home point to the tomcat installation directory

I solved that problem by setting up the server management in Eclipse to take control of the Tomcat installation, which has the manager enabled. This thread explains how to do it:
Tomcat started in Eclipse but unable to connect to http://localhost:8085/
Anyway I have the console at the address you mentioned:
localhost:8080/manager/html
in Tomcat 7.

Below things worked for me on fresh installation of apache-tomcat-7.0.63 -
Please make changes to below files and restart the server using %CATALINA_HOME%\bin>catalina.bat start and then try -
http://localhost:8080/manager/html
1) configured variables - CATALINA_HOME and CATALINA_BASE
2) created manager.xml file inside %CATALINA_HOME%\conf\Catalina\localhost
please paste below lines into manager.xml file -
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1" />
</Context>
3) modified %CATALINA_HOME%\conf\tomcat-users.xml file
please paste below lines into tomcat-users.xml file
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<role rolename="manager-jmx"/>
<role rolename="manager-status"/>
<role rolename="admin-gui"/>
<role rolename="admin-script"/>
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,admin-gui,admin-script"/>
4) modified %CATALINA_HOME%\conf\server.xml
Search this line '<Engine name="Catalina" defaultHost="localhost">' and add below line after that -
<Realm className="org.apache.catalina.realm.MemoryRealm" />

Make sure you activated the manager app and created a user that has access to it. For details see the documentation to your Tomcat-Version (e.g. for Tomcat 7: http://tomcat.apache.org/tomcat-7.0-doc/manager-howto.html )

Hey this issue just took me a lot of time to fix, so my tips would be (if it's relevant to others that view this page as well):
Use command line commands (set CATALINA_HOME etc..) instead of changing it through control panel enviroment variables.
When people use %.....% it means give the path to the folder of this variable, except the folder which you are at in command promplt. For example if you are in C:\ in command line and someone tells you to do %CATALINA_HOME%\bin, assuming for example the path for CATALINA_HOME is C:\Program Files, it means write in command line: Pragram Files\bin (excluding C:).
Could have saved me a lot of time.

Right Click On Apache Tomcat
Select Open
Go to Server Locations Tab
Select use tomcat installation
Goto the installation directory
Edit apache-tomcat-8.0/conf/tomcat-users.xml
Add the below users in the xml file
<role rolename="tomcat"/>
<role rolename="manager-gui"/>
<role rolename="manager"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="tomcat" password="tomcat" roles="tomcat,manager-gui,manager"/>
Copy tomcat-user.xml file in eclipse workspace server's tomcat directory
Now open tomcat manager page http://localhost:/manager/html/
Use username and password tomcat and manager page will open on your browser

If you want to keep using the workspace metadata for you Eclipse Tomcat instance, here's how you can get the manager webapp to work.
The base configuration instructions can be found in Apache Tomcat 7 Manager App HOW-TO.
In your Servers IDE project, the <server name>-config\server.xml file should have the following nested entries:
...
<Service name="Catalina">
...
<Engine defaultHost="localhost" name="Catalina">
...
<Host appBase="webapps" autoDeploy="true" name="localhost" unpackWARs="true">
...
Open your Eclipse workspace metadata, where the Tomcat instance folders are published, i.e.:
<your-workspace-dir>\.metadata\.plugins\org.eclipse.wst.server.core\tmp<n>
there, inside the conf\ folder create a new folder named Catalina (derived from <Engine ... name="Catalina"> above), inside this folder create another one named localhost (derived from <Host ... name="localhost" ...> above) and in this last one edit a file named manager.xml with the content as per the linked docs:
<Context privileged="true" antiResourceLocking="false"
docBase="${catalina.home}/webapps/manager">
<Valve className="org.apache.catalina.valves.RemoteAddrValve"
allow="127\.0\.0\.1" />
</Context>
Now publish and start the server instance, the manager will be deployed along side the other webapps you have added — for me it is the last one being deployed.
Tested with Tomcat 7, but I guess it would work for any Tomcat version that supports that linked configuration.
Side note
Do not create the above mentioned folders and files inside the configuration stored in the Eclipse Servers project, they won't be published in the org.eclipse.wst.server.core\tmp<n>\conf directory.

Related

How to change user config in docker tomcat 8?

Using docker quick start terminal I have started a tomcat container and it is running and i can able to open the tomcat homepage. But i can't able to open the manager app by using default username:"admin" password:"admin". How can i update the config of tomcat??
from the doc https://hub.docker.com/_/tomcat/:
The configuration files are available in /usr/local/tomcat/conf/. By default, no user is included in the "manager-gui" role required to operate the "/manager/html" web application. If you wish to use this app, you must define such a user in tomcat-users.xml.
If you want, you can replace this folder from your host with a volume in your run (docker run [...] -v /your/conf/:/usr/local/tomcat/conf/ [...])
In your catalina base directory you need to include something like:
<role rolename="manager"/>
<user username="admin" password="admin" roles="manager"/>
at file
"\CATALINA_BASE\conf\tomcat-users.xml"
For Manager Apps : GUI access
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager-gui"/>

Static ressources: where define context aliases with tomcat

I am looking for a way to access static resources (e.g. video files) from my web app JEE.
In my local environment, I added an aliases attribute in the context of my webapp under the config of my tomcat server in Eclipse. This works verywell.
Doing that my context in Eclipse Tomcat server.xml is:
<Context path="/maWebApp" docBase="path/vers/ma/webApp" aliases="/video=/chemin/sur/mon/PC">
Now I want to do the same thing in my production server. But:
under this server (linux, tomcat7), the file etc/tomcat7/server.xml doesn't contains any "Context" for my webapp. I suppose that the context is created automatically during webApp deployment
if I add a "Context" for my application, in order to define the "aliase" attribute, my server tomcat doesn't restart anymore.
So my question is: where should I define the "aliase" attribute when I use Tomcat7 and when I deploy my application with .war generated from Eclipse.
Important note: I don't want to manage the aliases in the webapp, because the aliases change depending on the server (local dev or prod).
Thank you very much for any advise and best practise,
Have a good day!
Adrien
You should be able to add a context attribute to your server.xml.
https://tomcat.apache.org/tomcat-4.1-doc/config/context.html
<Server port="8005" shutdown="SHUTDOWN">
<Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" /> <Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
/> <Listener
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener"
/>
<Context path="/maWebApp" docBase="path/vers/ma/webApp"
aliases="/video=/chemin/sur/mon/PC" />
</Server>
My tomcat is starting fine with this.
What error do you have when starting it with the "< Context .. />" attribute ?
Take a look over here: https://tomcat.apache.org/tomcat-7.0-doc/config/context.html#Defining_a_context
Defining Context elements in server.xml is discouraged. Instead put context.xml in
$CATALINA_BASE/conf/[enginename]/[hostname]/
enginename will most likely be Catalina, so e.g if your tomcat directory is /opt/tomcat7/ and your hostname is www.mysite.com then put the context in this directory:
/opt/tomcat7/conf/Catalina/www.mysite.com
And rename your context file maWebApp.xml
Update: Unless you need the static resources to be available to your app, and if only you need a virtual directory for visitors to access static resources you do not need the aliases attribute. Create a context in a file named video.xml in the same directory as above:
<Context docBase="/chemin/sur/mon/PC/" path="/video/"></Context>
Static resources will then be available at www.mysite.com/video

Tomcat 7 manager /text interface does not work

I've just setup a new Tomcat 7.0.59 installation and added the Tomcat Manager application to web-apps. I'm able to login and use the web interface to manager via http://host:8080/manager/html as I could with Tomcat 6. The Tomcat 7 documentation (http://tomcat.apache.org/migration-7.html#Manager_application) states:
Note that the URL for the text interface has changed from "" to "/text"
The problem that I have is that using the /text URI attribute doesn't work.
http://host:8080/manager/list (works)
http://host:8080/manager/text/list (returns 404)
Is there some configuration setup that I need to do in order to get this to work properly?
Edit your tomcat-users.xml to have a user with the manager-script role. It should look something like this:
<tomcat-users>
<role rolename="manager-gui"/>
<role rolename="manager-script"/>
<user username="<username>" password="<password>" roles="manager-gui,manager-script"/>
</tomcat-users>
On my ubuntu system, the file is located in /etc/tomcat7/tomcat-users.xml
Ok, so the recommendations for the manager-script role were important to solving my issue and for that I thank dnault and James for your feedback as I missed that in the documentation.
The biggest issue for the /manager/text not working was a bonehead mistake on my part. We breakout the catalina_home directory from the binary distribution of Tomcat. If I need manager for an installation, I create a symlink from the catalina_home/web-apps directory to the distribution web-apps/manager directory. In doing so, I linked it to the Tomcat 6 distro instead of Tomcat 7.
Changing the symlink and adding the manager-script solved my issue.
I think the root cause is server refuse maven's write action, Here my solution:
<user username="xxx" password="xxx" roles="manager-gui,manager-script,manager-jmx,manager-status"/>

Deploy webapp manually with Tomcat (ie autoDeploy=false, noDeployOnStartup=false)

I'm trying to deploy several web applications to tomcat 6.x, and I've turned off autoDeploy and onDeployStartup because I want to manually register these apps and map them to URLs not based on the names of their war files.
I've put the following context file in $catalina.home/conf/Catalina/localhost:
<Context path="" docBase="web-1.0-SNAPSHOT.war" debug="1">
</Context>
And I put the war file under $catalina.home/webapps, but when I startup tomcat nothing gets deployed. I don't even see any error messages about the context files I created. Or any print outs saying anything is wrong.
What's the problem? I've read the documents which outlines autodeploy a lot, but is very sketchy on details of how to do this outside of autodeploy.
So the details about how autoDeploy works, and alternative deployments is only really discussed here.:
http://wiki.apache.org/tomcat/HowTo#How_do_I_make_my_web_application_be_the_Tomcat_default_application.3F
I don't know why tomcat makes this so complicated. If you turn off autoDeploy your only option is to modify the server.xml and add your contexts there. You can't externalize the definitions of your contexts which seems convoluted way to deploy things. If I'm going to take the time to drop a XML config file I should be able to control the URL it's mounted to and the docBase. Just make it straight forward because Jetty does.
Try the following steps
Shutdown the tomcat
Copy web-1.0-SNAPSHOT.war to webapps folder.
Deploy the webapp.
Now there is a folder named web-1.0-SNAPSHOT inside webapps.
go to conf/server.xml
Add the following entries
<Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>
The docbase doesn't have the .war extention. When web-1.0-SNAPSHOT.war is deployed there will be a directory web-1.0-SNAPSHOT inside webapps. The docbase should point to this directory.
Please make sure that Context tag is within the
<Host> </Host> tag
<Host>
<Context path="/abc" docBase="web-1.0-SNAPSHOT" debug="1"></Context>
</Host>
After editing server.xml you have to restart tomcat server to reflect the changes.
Now you can find your webapp at
localhost:8080/abc
Hope this helps
Setting deployonstartup to false tells tomcat not to deploy apps on startup. I think its enough to turn autodeploy off. so maybe try the following in the Host in server.xml: autoDeploy="false" deployOnStartup="true".
Example code
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="false" deployOnStartup="false">
<Context path="/howto-prepareexam" docBase="howto-prepareexam" debug="1"></Context>
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
Then restart tomcat

NetBeans 7.1.2 tomcat /manager access configuration issue

I am trying to access the /manager page of the Tomcat instance installed by NetBeans 7.1.2.
When I right click the corresponding tree node for properties, I get this:
which seems to suggest I could use these credentials, but they don't work.
When I take a look at tomcat-users.xml, this user does not seem to exist:
<tomcat-users>
<!--
NOTE: By default, no user is included in the "manager-gui" role required
to operate the "/manager/html" web application. If you wish to use this app,
you must define such a user - the username and password are arbitrary.
-->
<!--
NOTE: The sample user and role entries below are wrapped in a comment
and thus are ignored when reading this file. Do not forget to remove
<!.. ..> that surrounds them.
-->
<!--
<role rolename="tomcat"/>
<role rolename="role1"/>
<user username="tomcat" password="tomcat" roles="tomcat"/>
<user username="both" password="tomcat" roles="tomcat,role1"/>
<user username="role1" password="tomcat" roles="role1"/>
-->
</tomcat-users>
Am I supposed to create it? If yes, I have tried, but could not find the proper roles. What would be the proper line to add? (and yes I have rebooted Tomcat)
In the properties dialog, you can see two variables:
CATALINA_HOME, the directory where you chose to install Tomcat. e. g. c:\Program Files\Apache Software Foundation\Tomcat 6.0. Tomcat uses this variable to find its internal classes and libraries.
CATALINA_BASE the directory of the configuration files and directories, such as the web application directories. If CATALINA_BASE isn't set, it defaults to the value of CATALINA_HOME. e. g. C:\Users\JVerstry\.netBeans\7.1.2\apache-tomcat-7.0.22.0_base
If you want to use the manager, you need deploy (copy) the manager application in the proper folder located in C:\Users\JVerstry\.netBeans\7.1.2\apache-tomcat-7.0.22.0_base if this application don't exists (see the directory conf/Catalina/localhost) and add the role manager-gui to the user

Categories

Resources