Building Mapguide on Ubuntu 7.10 Server

NOT ready for Prime Time!!!

Below are instructions that will aid a user with installing FDO 3.3 and MapGuide Open Source 2.0 from SVN trunk on Ubuntu 7.10 (Gutsy Gibbon) Server. It is based on previous instructions, credit to their authors!

BASIC SETUP
Install a basic Ubuntu Server 7.10 (Gutsy Gibbon)

The default directory used in these instructions is called /home/administrator. This assumes that you created your primary user account with the name "administrator". If you did not, mentally adjust where necessary.

By the time you read this, FDO 3.3 and MapGuide 2.0 may have their own branches in SVN. If so, just swap out references to /trunk/ with the appropriate /branch/* where necessary.

You may want to consider using a client like PuTTY to access your server's terminal via openssh-server. This really helps with copying and pasting. If so, either ensure that you install this service during your basic install, or add "openssh-server" to the list of packages below.

Type the following in Terminal to install the prerequisite build tools:

sudo apt-get install subversion build-essential gcc g++ bison flex automake1.9 libtool zlib1g zlib1g-dev libxml2-dev make

And maybe also get these (testing without right now...)

sudo apt-get install libjpeg62-dev libxalan110 libxalan110-dev

To avoid "bad fd number" errors completely, type the following in the terminal:

sudo dpkg-reconfigure dash

and choose No at the prompt. Be aware that this changes your default /bin/sh from dash back to bash.

Prepare your SVN profile to use the appropriate options for FDO and MapGuide. Type the following at the Terminal.

svn info http://svn.osgeo.org/fdo (this just sets up your initial .subversion settings folder)

nano .subversion/config

Edit config as follows. You can enable options by removing the comments (# ) in front of them, or just add new lines to the appropriate locations.

In the Miscellany section, enable:

Use-commit-times=yes Enable-auto-props=yes

In the Auto-Props section, add:

*.*=svn:eol-style=native *.sh=svn:executable

Save and close the config file.

FDO INSTALL
In terminal type the following:

''(be prepared to wait a long time for this command to complete, the test data takes a while to download) svn co http://svn.osgeo.org/fdo/trunk fdosvn --username=guest --password=guest

(type in your password after the following command if prompted) sudo mkdir /usr/local/fdo-3.3.0

(if you are not logged in as administrator, you change the userid below!) sudo chown administrator /usr/local/fdo-3.3.0

cd fdosvn

source ./setenvironment.sh

In terminal, type the following to run the builds. Note, there will be no output from either command until completion as it is all being spooled to nohup.out. You can log into another terminal session and tail this file if you start getting antsy :-)

nohup ./build_thirdparty.sh > build_thirdparty.log

nohup ./build_linux.sh > build_linux.log

APACHE / PHP INSTALL
In Terminal type the following:

cd

(you should now be in /home/administrator)

mkdir mgsvn

svn co http://svn.osgeo.org/mapguide/trunk/MgDev/ mgsvn

sudo apt-get install libxslt1.1 libxslt1-dev expat

And maybe also get these (testing without)

sudo apt-get install libcurl3 libcurl3-dev

sudo mkdir /usr/local/mapguideopensource

(replace administrator with your user if necessary) sudo chown administrator /usr/local/mapguideopensource

You may beed to edit the following file /etc/apt/sources.list to uncomment the multiverse repository (I didn't) sudo nano /etc/apt/sources.list

sudo apt-get install sun-java5-jdk

(change the version of Java below to the one you download, e.g. 1.5.0.13) export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun-1.5.0.13

cd mgsvn/Oem/LinuxApt

(careful when copying and pasting this line, the - got changed into . for me) find. -name "*.gz" -exec tar xzf {} \;

./build_apt.sh

BUILD OEM
Perform the following:

sudo apt-get install automake1.7 libasound2-Dev python2.5-dev

cd ~/mgsvn/

nohup ./build_oem.sh > build_oem.log

BUILD MAPGUIDE
Add some more packages we might need:

sudo apt-get install libexpat1 libexpat1-dev doxygen

And go for the gusto:

aclocal libtoolize --force automake --add-missing --copy autoconf

./configure --without-python

nohup make > make_mapguide.log

= Here be Dragons - Uncharted territory not yet tested =

make install

Not sure yet if these are needed...

''sudo chown administrator /usr/lib/python2.4

''sudo chown administrator /usr/lib/python2.5

To activate webstudio, you have to copy the files to the webserverextension folder as follows:

cp -R /home/administrator/mgdev/1.2.x/MgDev/Web/src/webstudio “SPACE” /usr/local/mapguideopensource/webserverextensions/www/webstudio

The above command should be all one line, with a 'space' between webstudio and /usr

Reboot the server

To start Mapguide on the server:

''cd /usr/local/mapguideopensource/webtierextensions/apache2/bin

''./httpd

''cd /usr/local/mapguideopensource/server/bin

./mgserver.sh''

Enjoy!