Server Side Installation

This 'server side' step if only necessary if you plan to use Goozzee as a multi-user documentation repository. In this case, you'll have to store data on a Mysql database server. This step describes the initialization of the repository on the database server.

I. Creating the database

The installation requires a running Mysql or MariaDB database server (>=5.5. Note : If you want to use an earlier version of Mysql, you'll have to recompile the database plug-in with a corresponding version of the libmysqlclient library ).

Linux and Mac OSX

To initialize the repository, copy the initMysqldb.bsh and initMysqldb.sql files onto the database server. You must execute initMysqldb.bsh as root, unless your user has administrative rights on Mysql. This script will :
  • create a new database,
  • create the first Goozzee user – the administrator, the only one who will be allowed to create new users,
  • populate the database with some necessary topics and associations.
The script asks you 5 questions :
  • the path to your Mysql installation (i.e. the directory containing the mysql executable), if it can't find it automatically
  • the password needed to connect to the database server with the root account
  • the name of the database you want to create
  • a secret string that will be used to help securing Goozzee passwords
  • the name of the first user to create, and his password.
That's all that must be done on the server side.

Windows

If your Mysql server is sitting on a Windows machine, you'll have to use the iniMysqlWIndows.sql file to initialize your Goozzee repository. First, you'll have to edit this file and replace a few string according to your likings :
  • $DBNAME should be replaced by the name of the database you want to create.
  • $USERNAME should be replaced by the name of the first Goozzee user that will be created during the initialization. Beware that this user will be the administrator of your repository, and you won't be able to rename it afterwards.
  • $PASSWORD should be replaced by the password of this user
  • $PREFIX should be replaced by a secret string that will be used to enforce the passwords security.
Once this is done, copy this file on your database server, and run the following command :
    mysql -u root < initMysqlWindows.sql
Your repository should now be initialized.

II. Upgrading the database from an earlier version

If you use Goozzee as a single-user database (i.e. with the MsqlEmbedded plugin), you don't need to worry about upgrades. They will be done automatically the first time you connect to your repository with your new Goozzee version.

For multi-user databases, that's a bit different : most of the time, major releases of Goozzee imply some modifications in the layout of the database.

The upgrade is done using some upgrade program delivered with Goozzee. This program is called DBUpgrade, and is located next to the Goozzee program, in the file you downloaded. If you downloaded the sources distribution, you'll have to compile this little program too : just go to the DBUpgrade directory, and type make. The result of the compilation will be in the LinuxGCCRelease sub-directory.
DBUpgrade is a little program that runs in a graphical environment. When you launch it, it will ask you for :
  • the name of the database you want to upgrade
  • the database server that is hosting this database
  • a user name an password to connect to that database. Beware that this user must have all possible rights on the database, such as user creation, table creation and update...
Once you click on the 'Launch upgrade' button, a list will appear that will show you all the actions that it tried to perform on the database, and their result, successful or not. So that if something wrong happens, you can see what was already done, where it stopped, and what still needs to be done. Most of the time, if the upgrade gives errors, it is safer to connect to the database with a tool such as the 'Mysql Query Browser', and run manually the commands that still need to be run, rather than re-running the DBUpgrade program, with a risk to screw your database layout… It is of course highly recommended to take a backup of your database before reforming the upgrade.

But beware that these script and program only upgrade the layout and content of your Goozzee database; you must upgrade your client software separately.

If you have created multiple Goozzee repositories, you must of course run the upgrade for each of them. Anyway, if an upgrade needs to be done, Goozzee will tell you so when you try to login : at login time, it compares the versions of the Goozzee program and the database, and you won't be able to login as long as both are not equal.

III. Special Mysql configuration

Mysql can store documents as large as 4GB. But this is not enabled by default : in your Mysql ini file, you must set the max_allowed_packet option. For example :
   max_allowed_packet=16M
will set the maximum blob size to 16 Mbytes.

What's more, you can tune the full text searches, by telling Mysql the minimum word size to take into account when building its full text indexes. In your Mysql ini file, set the following option :
   ft_min_word_len=3
Here, for example, we tell Mysql to index words as short as 3 characters. Setup