Hello, Did you set GUACAMOLE_HOME env var? The Guacamole extension .jar will ultimately need to be placed within GUACAMOLE_HOME/extensions, while the JDBC driver must be downloaded separately from the database vendor and placed within GUACAMOLE_HOME/lib. Please, check both directories and permissions.
If guacamole home env var is not set, this could be an issue. At least I had such problem deploying with docker. чт, 6 мар. 2025 г., 22:26 Jason Bailey <jbai...@emerytelcom.com.invalid>: > Okay... LDAP works now. Progress! I still can't get MariaDB/MySQL to work, > however. > > This is what I'm seeing in the logs. > > 12:09:07.428 [http-nio-8080-exec-1] DEBUG o.a.i.t.jdbc.JdbcTransaction - > Opening JDBC Connection > 12:09:07.429 [http-nio-8080-exec-1] DEBUG > o.a.g.a.j.DynamicallyAuthenticatedDataSource - Creating new database > connection for pool. > 12:09:07.429 [http-nio-8080-exec-1] WARN > o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication provider > has encountered an internal error which will halt the authentication > process. If this is unexpe> > 12:09:07.430 [http-nio-8080-exec-1] ERROR o.a.g.rest.RESTExceptionMapper - > Unexpected internal error: > ### Error querying database. Cause: java.sql.SQLException: No suitable > driver found for jdbc:mysql://127.0.0.1:3306/guacamole > ### The error may exist in > org/apache/guacamole/auth/jdbc/user/UserMapper.xml > ### The error may involve > org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne > ### The error occurred while executing a query > ### Cause: java.sql.SQLException: No suitable driver found for jdbc: > mysql://127.0.0.1:3306/guacamole > 12:09:07.430 [http-nio-8080-exec-1] DEBUG o.a.g.rest.RESTExceptionMapper - > Unexpected error in REST endpoint. > org.apache.ibatis.exceptions.PersistenceException: > ### Error querying database. Cause: java.sql.SQLException: No suitable > driver found for jdbc:mysql://127.0.0.1:3306/guacamole > ### The error may exist in > org/apache/guacamole/auth/jdbc/user/UserMapper.xml > ### The error may involve > org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne > ### The error occurred while executing a query > ### Cause: java.sql.SQLException: No suitable driver found for jdbc: > mysql://127.0.0.1:3306/guacamole > > The mariadb jdbc driver is in /etc/guacamole/lib and the folder is owned > by the tomcat user with 755 permissions. > > Suggestions? Thank you! > > > > > On 3/6/25 4:16 AM, Anakien Skywalker wrote: > > Hello, > Please, look higher up in the logs, during the startup of Tomcat (or > deployment > of the guacamole WAR file) to make sure it's loading the expected > extensions, and see if there are any other errors there. The error you are > referring to may be related with mysql driver not getting loaded. > > ср, 5 мар. 2025 г. в 21:12, Jason Bailey <jbai...@emerytelcom.com.invalid> > <jbai...@emerytelcom.com.invalid>: > >> Did you enable auto creation of accounts in the mysql plugin? Yes. >> >> Did you create guacadmin user in mysql? I ran the >> 000-create-admin-user.sql script against the database and I can see the >> records present when I view the appropriate database tables. >> >> Set extension priority? I have not done so thus far. It isn't being used >> in my old server, which is what I used as a template for the new server. >> That said, I'll add it. >> >> Checking in the logs.... I see no mention of LDAP, so it must not be >> loading. >> >> Nick, you were right, the permissions on the /etc/guacamole/lib and >> /etc/guacamole/extensions folders were wrong. I'm actually trying to build >> SaltStack state / provisioning that sets Apache Guacamole up, and I had >> copied and pasted the wrong block of YAML. Long story short, the folder was >> 644 instead of 755. That has been fixed. >> >> Unfortunately, even with all these changes, it's still not working. I'm >> now getting "DEBUG o.a.g.rest.RESTExceptionMapper - Client request >> rejected: Permission Denied". I get that even when I bypass the reverse >> proxy config and connect to tomcat directly with my browser. >> >> This is what I have in my guacamole.properties file: >> >> guacd-hostname: ::1 >> guacd-port: 4822 >> >> mysql-hostname: 127.0.0.1 >> mysql-database: guacamole >> mysql-username: guacamole >> mysql-password: LongGuacamolePassword >> mysql-driver: mariadb >> mysql-auto-create-accounts: true >> mysql-server-timezone: America/Denver >> >> ldap-hostname: corp.myorganization.com >> ldap-port: 389 >> ldap-encryption-method: none >> ldap-username-attribute: sAMAccountName >> ldap-search-bind-dn: cn=OBS Manager >> LDAP,OU=Services,DC=corp,DC=myorganization,DC=com >> ldap-search-bind-password: MyReallyLongLdapPassword >> ldap-user-base-dn: dc=corp,dc=myorganization,dc=com >> ldap-user-search-filter: (memberOf=CN=OBS >> Users,OU=Services,DC=corp,DC=myorganization,DC=com) >> ldap-max-search-results: 400 >> >> auth-provider: >> net.sourceforge.guacamole.net.auth.ldap.LDAPAuthenticationProvider >> >> Thanks >> >> >> >> On 3/5/25 4:41 AM, Anakien Skywalker wrote: >> >> Hello, >> Just a few things to check: >> 1. Did you enable auto creation accounts in mysql plugin? >> https://guacamole.apache.org/doc/gug/jdbc-auth.html#auto-creating-database-users >> >> >>> mysql-auto-create-accounts: true >> >> 2. Did you create guacadmin user in mysql? You need to execute the >> following schema migration 002-create-admin-user.sql in your db in order to >> create admin user. Make sure all queries from migration are executed. >> 3. Set extension priority. In your log, I don't see any evidence you use >> ldap. But you could use ldap, mysql where mysql is fallback for guacadmin. >> >>> extension-priority: mysql, ldap >> >> I am not sure of the correct naming. Please, check it yourself in your >> logs: >> >>> 23:32:06.468 [main] INFO o.a.g.extension.ExtensionModule - - [postgresql] >>> "PostgreSQL Authentication" >>> (/etc/guacamole/extensions/guacamole-auth-jdbc-postgresql-1.5.5.jar) >>> 23:32:06.468 [main] INFO o.a.g.extension.ExtensionModule - - [ldap] "LDAP >>> Authentication" (/etc/guacamole/extensions/guacamole-auth-ldap-1.5.5.jar) >>> >>> According to these logs, it would be: >> >>> >>> extension-priority: postgresql, ldap >> >> >> >> ср, 5 мар. 2025 г. в 03:37, Nick Couchman <vn...@apache.org>: >> >>> On Tue, Mar 4, 2025 at 7:00 PM Jason Bailey >>> <jbai...@emerytelcom.com.invalid> <jbai...@emerytelcom.com.invalid> >>> wrote: >>> >>>> Replying to my own email here, but I did get debug logging working. I'm >>>> seeing a few extra things now when I try to login: >>>> >>>> DEBUG o.a.g.r.auth.AuthenticationService - Anonymous authentication >>>> attempt from [10.0.0.86, 127.0.0.1] failed. >>>> >>>> DEBUG o.a.g.rest.RESTExceptionMapper - Client request rejected: >>>> Permission Denied. >>>> >>>> WARN o.a.g.r.auth.AuthenticationService - Authentication attempt from >>>> [10.0.0.86, 127.0.0.1] for user "guacadmin" failed >>>> >>>> DEBUG o.a.g.a.f.FileAuthenticationProvider - User mapping file >>>> "/etc/guacamole/user-mapping.xml" does not exist and will not be read >>>> >>>> I don't have a user-mapping.xml anymore -- not since going to LDAP/MSAD >>>> authentication. >>>> >>> >>> It does not appear to me that the LDAP authentication extension is >>> loading at all. Are there other messages, prior to this, that indicate that >>> it is loading successfully? >>> >>> The message about the user-mapping.xml file is relatively benign - it's >>> just warning you that it isn't there. >>> >>> >>>> >>>> Is this an indication that the reverse proxy through Apache might be >>>> the issue? >>>> >>> >>> Nope, don't think this has anything to do with reverse proxy - I think >>> your Guacamole install is not picking up the LDAP extension at all. Maybe >>> check that permissions are correct on all of the files/folders, such that >>> the user running Tomcat has access to /etc/guacamole and all of the files >>> and folders under it? >>> >>> -Nick >>> >> *Confidentiality Notice* This email message may contain legally >> privileged and/or confidential information. If you are not the intended >> recipient(s), you are hereby notified that any dissemination, distribution >> or copying of this email message is strictly prohibited. If you have >> received this email in error, please immediately notify the sender and >> delete this email message from your computer. >> >