Hi David,
I have no experience with Ubuntu and maria db connector, but I run w/out
any issue Guacamole on Debian 11 with MariaDB using MySQL connector, you
could try to use it instead of MariaDB connector.
Alessandro
Il 08/03/2023 17:12, David Ramirez ha scritto:
Good morning/afternoon/night to you all!
I am writing this as I believe it is a very silly mistake but I am not
savvy enough on Guacamole+Tomcat to identify the issue.
I had a standalone Guacamole 1.4.0 Installation which is reachable
through a NGINX Reverse Proxy. The access to Guacamole was using local
authentication with the user-mapping.xml user definition file and it
worked.
I've followed all the steps on the documentation to upgrade and
install Guacamole Server on Ubuntu 20.04.
* I have made my guacamole Install by compiling it from source code on
1.5.0. It compiles and installs ok.
* Guacamole installed as root <-- I know I have to correct this at
some point in the future.
* Same access through NGINX
* I am using init.d start scripts managing it as a legacy systemctl unit.
* Guacamole home is /etc/guacamole as default
* I decided to use mariadb instead of MySQL, so I installed it using
the tutorial from DigitalOcean at:
https://www.digitalocean.com/community/tutorials/how-to-install-mariadb-on-ubuntu-20-04
* I have downloaded the JDBC extension package at:
https://apache.org/dyn/closer.lua/guacamole/1.5.0/binary/guacamole-auth-jdbc-1.5.0.tar.gz?action=download
* I have placed this extension at /etc/guacamole/extensions
* I created the database per the instructions on the manual.
* I downloaded the DB connector for MariaDB at:
https://mariadb.com/kb/en/about-mariadb-connector-j/
* I placed the connector at /etc/guacamole/lib
* Here is my guacamole.properties file contents:
guacd-hostname: localhost
guacd-port: 4822
# MariaDB/MySQL properties
mysql-hostname: localhost
mysql-database: guacamole_db
mysql-username: guacamole_user
mysql-password: somepassword
mysql-driver: mariadb
** I added the driver definition to mariadb
* Restarted tomcat 9
When I try to login to guacamole I see an error that the action could
not be completed and contact the administrator.
So, it is an error with the DB connector. When looking at:
/va/log/tomcat9/catalina.out here is the output:
[2023-03-08 16:03:47] [info] 16:03:47.527 [http-nio-8080-exec-10] WARN
o.a.g.e.AuthenticationProviderFacade - The "mysql" authentication
provider has encountered an internal error which will halt the
authentication process. If this is unexpected or you are the developer
of this authentication provider, you may wish to enable debug-level
logging. If this is expected and you wish to ignore such failures in
the future, please set "skip-if-unavailable: mysql" within your
guacamole.properties.
[2023-03-08 16:03:47] [info] 16:03:47.527 [http-nio-8080-exec-10]
ERROR o.a.g.rest.RESTExceptionMapper - Unexpected internal error:
[2023-03-08 16:03:47] [info] ### Error querying database. Cause:
java.sql.SQLException: No suitable driver found for
jdbc:mysql://localhost:3306/guacamole_db
[2023-03-08 16:03:47] [info] ### The error may exist in
org/apache/guacamole/auth/jdbc/user/UserMapper.xml
[2023-03-08 16:03:47] [info] ### The error may involve
org.apache.guacamole.auth.jdbc.user.UserMapper.selectOne
[2023-03-08 16:03:47] [info] ### The error occurred while executing a
query
*[2023-03-08 16:03:47] [info] ### Cause: java.sql.SQLException: No
suitable driver found for jdbc:mysql://localhost:3306/guacamole_db*
It is CLEAR as light that Tomcat9 is unable to read/reach the mariadb
connector. But for the love of me, I can't find why tomcat9 is unable
to read/reach the connector at /etc/guacamole/lib
/etc/guacamole is owned by root with group root with permissions
rwx,r-x,r-x which I believe is correct. Beyond that I do not know what
may be wrong.
I really believe this is a very simple mistake that I am overseeing.
Any help would be really appreciated!
Regards,
David.