Error retrieving attribute users/groups/roles - Tomcat 5.0.30

steffikom

Grünschnabel
Ich habe Tomcat in der Version 5.0.30 auf Red Hat Enterprise Linux AS 3 über eine VMWare Session.

Meine Basisinstallation läuft auf Port 8080 samt Manager und Admin Applikation. Hier funktioniert auch alles.

Dann sollte eine Instanz eingerichtet werden.
Folgendes funktioniert: Aufruf über Port 10921, Starten der Manager Applikation, Starten der Admin Applikation.

Folgendes funktioniert (im Gegensatz zur Basisinstallation!!) nicht:
unter Resources -> User Databases steht kein Eintrag drin. Will ich einen mit denselben Daten wie in der Basisinstallation anlegen, kommt folgende Fehlermeldung:

Code:
HTTP Status 500 - Error invoking operation addResource
--------------------------------------------------------------------------------
type Status report
message Error invoking operation addResource
description The server encountered an internal error (Error invoking operation addResource) that prevented it from fulfilling this request.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.30

Ich habe es mit folgenden Parametern versucht:
Name: UserDatabase
Location: conf/tomcat-users.xml
Factory: org.apache.catalina.users.MemoryUserDatabaseFactory
Description: User database that can be updated and saved

Klicke ich unter User Definition auf Users, Groups oder Roles, kommt jeweils folgende Fehlermeldung:
Code:
HTTP Status 500 - Error retrieving attribute users
--------------------------------------------------------------------------------
type Status report
message Error retrieving attribute users
description The server encountered an internal error (Error retrieving attribute users) that prevented it from fulfilling this request.
--------------------------------------------------------------------------------
Apache Tomcat/5.0.30

Bei Users wie oben, bei Groups mit Error retrieving attribute groups und bei Roles mit Error retrieving attribute roles.

Was kann da falsch sein? Bei der Basisinstallation geht das alles.

Meine Admin Applikation liess sich in der Basis und in der Instanz erst aufrufen, nachdem ich im Verzeichnis /var/opt/jakarta-tomcat-5.0.30/<instanzname>/server/webapps/admin/WEB-INF die Datei struts-config.xml einfügte, denn die war vorher nicht vorhanden und laut der Tomcat Seite bei Apache notwendig.

Code:
<?xml version="1.0" encoding="ISO-8859-1" ?>

<!DOCTYPE struts-config PUBLIC
          "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN"
          "http://struts.apache.org/dtds/struts-config_1_2.dtd">


<struts-config>


  <!-- ========== Data Source Configuration =============================== -->


  <!-- ========== Form Bean Definitions =================================== -->

  <form-beans>

    <!-- Set Locale form bean -->
    <form-bean      name="setLocaleForm"
                    type="org.apache.webapp.admin.SetLocaleForm"/>

    <!-- ============= Server Module ============= -->

    <form-bean      name="serverForm"
                    type="org.apache.webapp.admin.server.ServerForm"/>
                    
    <!-- ============= Service Module ============= -->

    <form-bean      name="serviceForm"
                    type="org.apache.webapp.admin.service.ServiceForm"/>
                    
    <form-bean      name="servicesForm"
                    type="org.apache.webapp.admin.service.ServicesForm"/>

    <!-- ============= Host Module ============= -->

    <form-bean      name="hostForm"
                    type="org.apache.webapp.admin.host.HostForm"/>
                    
    <form-bean      name="hostsForm"
                    type="org.apache.webapp.admin.host.HostsForm"/>

    <form-bean      name="aliasForm"
                    type="org.apache.webapp.admin.host.AliasForm"/>
                    
    <form-bean      name="aliasesForm"
                    type="org.apache.webapp.admin.host.AliasesForm"/>

    <!-- ============= Realm Module ============= -->

    <form-bean      name="dataSourceRealmForm"
                    type="org.apache.webapp.admin.realm.DataSourceRealmForm"/>

    <form-bean      name="jdbcRealmForm"
                    type="org.apache.webapp.admin.realm.JDBCRealmForm"/>

    <form-bean      name="jndiRealmForm"
                    type="org.apache.webapp.admin.realm.JNDIRealmForm"/>

    <form-bean      name="memoryRealmForm"
                    type="org.apache.webapp.admin.realm.MemoryRealmForm"/>

    <form-bean      name="userDatabaseRealmForm"
                    type="org.apache.webapp.admin.realm.UserDatabaseRealmForm"/>

    <form-bean      name="realmsForm"
                    type="org.apache.webapp.admin.realm.RealmsForm"/>

    <!-- ============= Context Module ============= -->

    <form-bean      name="contextForm"
                    type="org.apache.webapp.admin.context.ContextForm"/>
                    
    <form-bean      name="contextsForm"
                    type="org.apache.webapp.admin.context.ContextsForm"/>
                    
    <!-- ============= DefaultContext Module ============= -->
                                        
    <!-- ============= Connector Module ============= -->

    <form-bean      name="connectorForm"
                    type="org.apache.webapp.admin.connector.ConnectorForm"/>
                    
    <form-bean      name="connectorsForm"
                    type="org.apache.webapp.admin.connector.ConnectorsForm"/>

    <!-- ============= Valve Module ============= -->

    <form-bean      name="accessLogValveForm"
                    type="org.apache.webapp.admin.valve.AccessLogValveForm"/>

    <form-bean      name="remoteAddrValveForm"
                    type="org.apache.webapp.admin.valve.RemoteAddrValveForm"/>

    <form-bean      name="remoteHostValveForm"
                    type="org.apache.webapp.admin.valve.RemoteHostValveForm"/>

    <form-bean      name="requestDumperValveForm"
                    type="org.apache.webapp.admin.valve.RequestDumperValveForm"/>

    <form-bean      name="singleSignOnValveForm"
                    type="org.apache.webapp.admin.valve.SingleSignOnValveForm"/>

    <form-bean      name="valvesForm"
                    type="org.apache.webapp.admin.valve.ValvesForm"/>

    <!-- ========== Resources Module ========== -->

    <form-bean      name="envEntryForm"
                    type="org.apache.webapp.admin.resources.EnvEntryForm"/>

    <form-bean      name="envEntriesForm"
                    type="org.apache.webapp.admin.resources.EnvEntriesForm"/>

    <form-bean      name="userDatabaseForm"
                    type="org.apache.webapp.admin.resources.UserDatabaseForm"/>

    <form-bean      name="userDatabasesForm"
                    type="org.apache.webapp.admin.resources.UserDatabasesForm"/>

    <form-bean      name="dataSourceForm"
                    type="org.apache.webapp.admin.resources.DataSourceForm"/>

    <form-bean      name="dataSourcesForm"
                    type="org.apache.webapp.admin.resources.DataSourcesForm"/>

    <form-bean      name="mailSessionForm"
                    type="org.apache.webapp.admin.resources.MailSessionForm"/>

    <form-bean      name="mailSessionsForm"
                    type="org.apache.webapp.admin.resources.MailSessionsForm"/>

    <form-bean      name="resourceLinkForm"
                    type="org.apache.webapp.admin.resources.ResourceLinkForm"/>

    <form-bean      name="resourceLinksForm"
                    type="org.apache.webapp.admin.resources.ResourceLinksForm"/>

    <!-- ========== User Database Module ========== -->

    <form-bean      name="databaseForm"
                    type="org.apache.webapp.admin.users.BaseForm"/>

    <form-bean      name="groupForm"
                    type="org.apache.webapp.admin.users.GroupForm"/>

    <form-bean      name="groupsForm"
                    type="org.apache.webapp.admin.users.GroupsForm"/>

    <form-bean      name="roleForm"
                    type="org.apache.webapp.admin.users.RoleForm"/>

    <form-bean      name="rolesForm"
                    type="org.apache.webapp.admin.users.RolesForm"/>

    <form-bean      name="userForm"
                    type="org.apache.webapp.admin.users.UserForm"/>

    <form-bean      name="usersForm"
                    type="org.apache.webapp.admin.users.UsersForm"/>

    <!-- ========== ==================== ========== -->


  </form-beans>


  <!-- ========== Global Forward Definitions ============================== -->

Vielleicht noch die Verzeichnisstruktur meiner Instanz:
/var/opt/jakarta-tomcat-5.0.30/<instanzname>
conf -> von Basis kopiert
logs -> neu angelegt
work -> von Basis kopiert
bin -> symbolic link auf bin der Basis
server -> symbolic link auf server der Basis
/var/apphome/<instanzname>
temp -> neu angelegt
webapps -> von Basis kopiert

Die Basisinstallation befindet sich im Ordner /opt/jakarta-tomcat-5.0.30. Hier wurde an der Verzeichnisstruktur nichts verändert.

Würde mich über eine Antwort freuen.
 
Ich habe den Großteil der Probleme schon selber gelöst.
Falls es jemanden interessiert:

unter Resources -> User Databases steht kein Eintrag drin.

Hier musste in der server.xml der Instanz folgendes gleich nach <server ..> hinzugefügt werden:
Code:
<Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"/>
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"/>

Die bereits vorhandene und in der server.xml standardmäßig definierte User Database wird nun angezeigt. Um eine neue anlegen zu können, muss man allerdings auf conf/Catalina/localhost für User und Gruppe Schreibrechte geben.

Löschen kann man die User Database allerdings nicht. Wer was weiß, bitte melden.

Folgende Fehlermeldung kommt, wenn ich die zu löschende Database angeklickt und auf save gedrückt habe:
Code:
HTTP Status 500 - Error invoking operation removeResource

--------------------------------------------------------------------------------

type Status report

message Error invoking operation removeResource

description The server encountered an internal error (Error invoking operation removeResource) that prevented it from fulfilling this request.


--------------------------------------------------------------------------------

Apache Tomcat/5.0.30

Klicke ich unter User Definition auf Users, Groups oder Roles, kommt jeweils folgende Fehlermeldung ...

Was ich gemacht habe, um mir die entsprechenden Rubriken überhaupt anzeigen zu lassen, kann ich leider nicht mehr nachvollziehen.

Das Löschen funktionierte sofort nachdem es auch angezeigt wurde.

Um User, Gruppen oder Rollen anlegen zu können, musste ich folgende Dateien in das Verzeichnis server/webapps/admin/users kopieren (aus der Source des Tomcats, runterzuladen hier: http://jakarta.apache.org/site/downloads/downloads_tomcat-5.cgi (unter Source)), da sie bei mir (z.T.) nicht vorhanden waren:

deleteGroups.jsp
deleteRoles.jsp
deleteUsers.jsp
footer.jsp
group.jsp
groups.jspf -> identisch mit der bereits vorhandenen
header.jsp
listGroups.jsp
listGroups.jspf -> identisch mit der bereits vorhandenen
listRoles.jsp
listRoles.jspf -> identisch mit der bereits vorhandenen
listUsers.jsp
listUsers.jspf -> identisch mit der bereits vorhandenen
role.jsp
roles.jspf -> identisch mit der bereits vorhandenen
user.jsp
users.jspf -> identisch mit der bereits vorhandenen

Zum Schluss fehlt noch die Datei buttons.jsp, die in das Verzeichnis server/webapps/admin zu kopieren war.

Alle kopierten Dateien befinden sich in der Source unter jakarta-tomcat-5.0.30-src\jakarta-tomcat-catalina\webapps\admin\users bzw. jakarta-tomcat-5.0.30-src\jakarta-tomcat-catalina\webapps\admin.

Einziger Fehler ist also nur noch das Löschen der User Database.
 

Neue Beiträge

Zurück