INSTALLATION INSTRUCTIONS for the Globule Broker System (GBS) ============================================================= NOTE: The Globule Broker System is normally not installed by end-users of Globule. They would rather make use of a third party who provides the broker system as a service. The Vrije Universiteit provides such a free service which is available at . Since the Globule Broker System is a pure web application, it requires no pre-installation configuration or compilation. Installation therefore consists only of five steps: 1. checking the prerequisites; 2. configuring the apache server to use the GBS web application; 3. installing/copying the web application to the proper directory; 4. loading the database with skeleton-information 5. bootstrapping the final configuration file. Upgrading normally only requires a repeat of step 3 ONLY. This assumes that the database schemas from one version to another haven't changed. To this end, always check the NEWS file first before upgrading. PREREQUISITES - Globule-enabled Apache web server, see . It should be a recent Globule module, at least version 1.3.0, which in it's turn requires at least Apache httpd version 2.0.52. - PHP 5.x - MySQL 4.1.x for re-building the documentation (normally not required): - LaTeX and usual tools such as dvips, GNU-make, etcetera - Hevea from: http://pauillac.inria.fr/~maranget/hevea/ The best way to get a working Apache installation with Globule and PHP is to use the source installer script provided by Globule. This installer script will install all the prerequisites in one setup. The installer script can be used as such: ./installer.sh --keep-build --omit-start The installer script is available from the Globule web site: CONFIGURATION OF "httpd.conf" It is required that you enable the support for PHP in your Apache configuration, and add support for named virtual hosting and have a spare hostname to use (in our case this will be www.globeworld.net). Setting up this is beyond the scope of this installation guide, refer to PHP and Apache documentation. The httpd.conf as build and supplied by the source based installer script of Globule will provide a working httpd.conf to add the section below. Having your initial httpd.conf, which will be replaced later on, you need to add a section like such: ServerName www.globeworld.net DocumentRoot .../www.globeworld.net/htdocs ErrorLog .../www.globeworld.net/logs/gbs-error.log CustomLog .../www.globeworld.net/logs/gbs-access.log common Replacing the www.globeworld.net with your own hostname and ... with the ServerRoot path where your documents in htdocs also normally reside. Create the directories used by the DocumentRoot and log directives, otherwise Apache will silently refuse to start. Restart your Apache server. INSTALLING FILES Copy the files from the htdocs directory of this distribution into the DocumentRoot directory and do not forget to make them of the user/group by which the httpd server worker tasks are running (The User and Group run-time directives of Apache). For example, I need to use the following sequence: cp -a htdocs/* /usr/local/globule/www.globeworld.net/htdocs chown -R nobody:svn /usr/local/globule/www.globeworld.net chmod -R go+rX /usr/local/globule/www.globeworld.net chown root:root /usr/local/globule/www.globeworld.net/logs chmod 700 /usr/local/globule/www.globeworld.net/logs Which is based on an Apache installed by root in /usr/local/globule and with the directives "User nobody" and "Group svn" (used by subversion, your group is probably either www or nobody). Replace www.globeworld.net with your chosen hostname. Edit in the DocumentRoot the file "constants.php", and change the definition of G_BASE_NAME, C_DOMAIN and G_FETCH_PREFIX to also reflect your chosen host/domainname. Also set the G_REDIR_NAME to the real hostname of the machine hosting the equivalent of your www.globeworld.net. DATABASE INITIALIZATION Make sure your MySQL database is running, and connect to it. If you use the source based installer installation of Globule, there might be multiple MySQL servers running on your system. To connect to the right one, use the right MySQL client binary. Thus if your installer script used the prefix /usr/local/globule, make sure to use the program /usr/local/globule/bin/mysql to connect to the MySQL server. Now give the MySQL server the following command: GRANT ALL ON gbs.* TO 'gbs'@'localhost' IDENTIFIED BY 'gbs'; CREATE DATABASE gbs; Also load the skeleton database schemas from the GBS package which are stored in the package in file "db/gbs-dump.sql". This can be accomplished using a command similar to: /usr/local/globule/bin/mysql --user=gbs --password=gbs \ gbs < db/gbs-dump.sql Enter the MySQL client program again and give the server the commands below, replacing globeworld.net with your domain and the ip number of the server you are using: UPDATE `Servers` SET ip = '130.37.193.70', \ hostname = 'www.globeworld.net' WHERE ServerID = '2'; UPDATE `Sites` SET name = 'www.globeworld.net/' WHERE SiteID = '1'; Note that this wipes out any existing data for the GBS, so do not use this if you are reinstalling and want to preserve any data. BOOTSTRAPPING "httpd.conf" Surf with a WWW browser to http://www.globeworld.net/, or rather, the by you elected address. Log in with username "Globule" and password "geheim". Change the password and optionally the personal details using the "Personal Details" side bar menu. Use the "Servers" -> "View Server(s)" in the left side menu. Use the icon "Generate Apache Configuration file" in the "Default Action" line and "Download Config File" in the next page. Save the resulting file as "httpd.conf". This Apache configuration file will now replace the previously setup httpd.conf. However always keep a copy of your old configuration file in hand, in case something screws up. You can edit the httpd.conf in certain ways to reflect your local setup. If you have used the installer script to install Apache and Globule you mostly do not have to change things. You should however check the following items in the httpd.conf, and correct them if necessary: - The "User" and "Group" directives should use the correct username and group of the files. The default "apache" may not be applicable on all systems. - The mime.types may reside in a different path. Especially with the installer script, change conf/mime.types to etc/mime.types. Since your server will act as Globule Broker System web site and as a stand-alone redirector for others, it will need to regulary modify it's own configuration file, in order to play the role of redirector for new sites. Using the globulectl utility the site can load a new version of the httpd.conf configuration file from it's own web site. In other words: the site maintains and generates it's own configuration file httpd.conf. You are however allowed to make certain changes and additions in the httpd.conf, so the globulectl utility will try to incorporate your changes in newly downloaded versions of the httpd.conf file. This patching between re-generations of the configuration file may fail in certain cases so a backup httpd.conf is kept however you should keep a record of your changes too.