mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 21:27:40 +00:00
172 lines
6.1 KiB
Plaintext
172 lines
6.1 KiB
Plaintext
|
|
------------------------------------------------------------
|
|
About this README
|
|
------------------------------------------------------------
|
|
|
|
This README is intended to provide quick and to-the-point documentation for
|
|
technical users intending to compile parts of Guacamole themselves.
|
|
|
|
Distribution-specific packages are available from the files section of the main
|
|
project page:
|
|
|
|
http://sourceforge.net/projects/guacamole/files/
|
|
|
|
Distribution-specific documentation is provided on the Guacamole wiki:
|
|
|
|
http://guac-dev.org/
|
|
|
|
|
|
------------------------------------------------------------
|
|
What is guacamole-auth-mysql?
|
|
------------------------------------------------------------
|
|
|
|
guacamole-auth-ldap is a Java library for use with the Guacamole web
|
|
application to provide MySQL based authentication.
|
|
|
|
guacamole-auth-mysql provides an authentication provider which can be
|
|
set in guacamole.properties to allow MySQL authentication of Guacamole
|
|
users. Additional properties are required to configure the mysql
|
|
connection parameters.
|
|
|
|
A schema file are provided to create the required tables in your
|
|
mysql database.
|
|
|
|
|
|
------------------------------------------------------------
|
|
Compiling and installing guacamole-auth-mysql
|
|
------------------------------------------------------------
|
|
|
|
guacamole-auth-mysql is built using Maven. Building guacamole-auth-mysql
|
|
compiles all classes and packages them into a redistributable .jar file. This
|
|
.jar file can be installed in the library directory configured in
|
|
guacamole.properties such that the authentication provider is available.
|
|
|
|
1) Set up a MySQL database with the Guacamole schema.
|
|
|
|
When guacamole-auth-mysql is compiling, it needs to generate source
|
|
based on a database schema. Because the source generator uses a
|
|
connection to an actual database to do this, you must have a MySQL
|
|
database running with the Guacamole schema set up.
|
|
|
|
First, create a database. For the sake of these instructions, we will
|
|
call the database "guacamole", and will run all scripts as the root user:
|
|
|
|
$ mysql -u root -p
|
|
Enter password:
|
|
mysql> CREATE DATABASE guacamole;
|
|
Query OK, 1 row affected (0.00 sec)
|
|
|
|
mysql> exit
|
|
Bye
|
|
|
|
The schema files are in the schema/ subdirectory of the source. If run
|
|
in order, they will create the schema and a default user:
|
|
|
|
$ cat schema/*.sql | mysql -u root -p guacamole
|
|
|
|
2) Set up your ~/.m2/settings.xml
|
|
|
|
Once the database is set up, Maven will need to have the credentials
|
|
required to connect to it and query the schema. This information is
|
|
specified in properties inside your ~/.m2/settings.xml file. If this
|
|
file does not exist yet, simply create it.
|
|
|
|
For ease of compilation, we've included an example settings.xml
|
|
defining the required properties in doc/example/settings.xml. You can
|
|
simply copy this file into ~/.m2 and edit as necessary.
|
|
|
|
If you wish to write the file yourself, the file should look like this in
|
|
general:
|
|
|
|
<settings>
|
|
<profiles>
|
|
...profiles...
|
|
</profiles>
|
|
</settings>
|
|
|
|
We need to add a profile which defines the required properties by
|
|
placing a section like the following within the "profiles" section of your
|
|
settings.xml:
|
|
|
|
<profile>
|
|
<id>guacamole-mybatis</id>
|
|
<properties>
|
|
<guacamole.database.catalog>DATABASE</guacamole.database.catalog>
|
|
<guacamole.database.user>USERNAME</guacamole.database.user>
|
|
<guacamole.database.password>PASSWORD</guacamole.database.password>
|
|
</properties>
|
|
</profile>
|
|
|
|
Obviously, the DATABASE, USERNAME, and PASSWORD placeholders above must
|
|
be replaced with the appropriate values for your system.
|
|
|
|
Finally, to make the profile available to the build, it must be activated.
|
|
Place a section like the following at the bottom of your settings.xml,
|
|
right after the profiles section:
|
|
|
|
<activeProfiles>
|
|
<activeProfile>guacamole-mybatis</activeProfile>
|
|
</activeProfiles>
|
|
|
|
Maven's documentation has more details on writing the settings.xml file
|
|
if you have different needs or the above directions are not clear.
|
|
|
|
3) Run mvn package
|
|
|
|
$ mvn package
|
|
|
|
Maven will download any needed dependencies for building the .jar file.
|
|
Once all dependencies have been downloaded, the .jar file will be
|
|
created in the target/ subdirectory of the current directory.
|
|
|
|
If this process fails, check the build errors, and verify that the
|
|
contents of your settings.xml file is correct.
|
|
|
|
4) Extract the .tar.gz file now present in the target/ directory, and
|
|
place the .jar files in the extracted lib/ subdirectory in the library
|
|
directory specified in guacamole.properties.
|
|
|
|
You will likely need to do this as root.
|
|
|
|
If you do not have a library directory configured in your
|
|
guacamole.properties, you will need to specify one. The directory
|
|
is specified using the "lib-directory" property.
|
|
|
|
5) Set up your MySQL database to authenticate Guacamole users
|
|
|
|
A schema file is provided in the schema directory for creating
|
|
the guacamole authentication tables in your MySQL database.
|
|
|
|
Additionally, a script is provided to create a default admin user
|
|
with username 'guacadmin' and password 'guacadmin'. This user can
|
|
be used to set up any other connections and users.
|
|
|
|
6) Configure guacamole.properties for MySQL
|
|
|
|
There are additional properties required by the MySQL JDBC driver
|
|
which must be added/changed in your guacamole.properties:
|
|
|
|
# Configuration for MySQL connection
|
|
mysql-hostname: mysql.host.name
|
|
mysql-port: 3306
|
|
mysql-database: guacamole.database.name
|
|
mysql-username: user
|
|
mysql-password: pass
|
|
|
|
Optionally, the authentication provider can be configured
|
|
not to allow multiple users to use the same connection
|
|
at the same time:
|
|
|
|
mysql-disallow-simultaneous-connections: true
|
|
|
|
|
|
------------------------------------------------------------
|
|
Reporting problems
|
|
------------------------------------------------------------
|
|
|
|
Please report any bugs encountered by opening a new ticket at the Trac system
|
|
hosted at:
|
|
|
|
http://guac-dev.org/trac/
|
|
|