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 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.
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.
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...
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