-*- outline -*- * Preparations Make sure you have enough resources for goldwater. on linux you edit /etc/sysctl.conf and then do a 'sysctl -p' to load the settings... [npg]frag:~$ cat /etc/sysctl.conf # # /etc/sysctl.conf - Configuration file for setting system variables # See sysctl.conf (5) for information. # kernel.msgmni = 128 now the new kernel config is reboot-safe ;) goldwater is running inside the webserver process. it requires ipc's. therefore it is important that dotGNU is run as the same user as the webserver. on some platforms this might be the user 'nobody' with group 'nobody'. on debian this is the user 'www-data' with group 'www-data'. mostly the web user has no password set. make sure he has a home directory though. if that directory doesnt exist create it and edit the /etc/passwd accordginly. you may find it beneficial that this directory is the same as the dotGNU installation. for convenience you can add developer accounts to the www-data group. here is an excerpt from my /etc/group file where my username 'npg' belongs to the www-data group. www-data:x:33:npg now create the dotGNU root. Make yourself superuser (su -) and do a mkdir /usr/local/dotGNU for arguments sake the dotGNU root dir is /usr/local/dotGNU throughout. now ensure that this directory has the right permissions and ownership. chown www-data /usr/local/dotGNU chgrp www-data /usr/local/dotGNU chmod 2775 /usr/local/dotGNU now all files in this directory have the www-data group ownership even when created by a user just belonging to the www-data group. you are now done with the superuser bit and return to the normal shell account. one small thing though. make sure your umask is set to 002 and not 022 like some distributions do (like debian). assuming your shell is bash, edit the ~/.profile, ~/.bashrc or the ~/.bash_profile and add/edit the following umask 002 your environment is almost completely set up now. test it by creating a trivial file in the directory as normal user (but belonging to group www-data). if you changed your group ownership you need to log out and log in again otherwise it won't show. touch /usr/local/dotGNU/testme.gnu ls -l /usr/local/dotGNU rm /usr/local/dotGNU/testme.gnu if you managed to create and delete the file then you should be all set to begin the compilation/install. * Installation order: Yep. Package dependencies dictate you follow the following order. for convenience's sake i added the configure parameters i used on my debian box. Note that if you downloaded from cvs and the script auto_gen.sh exists, run it before you attempt a configure or compile. Also, on debian i had a problem with the LD_LIBRARY_PATH environment that needs to be there for the linker. So i added the following to /etc/ld.so.conf /usr/local/dotGNU/lib /usr/local/dotGNU/lib/dgee /usr/local/dotGNU/lib/pnet and then did a /usr/sbin/ldconfig as root after every install to keep the linker happy. - treecc ./configure --prefix=/usr/local/dotGNU - pnet ./configure --prefix=/usr/local/dotGNU - pnetlib ./configure --prefix=/usr/local/dotGNU --with-pnet=/usr/local/dotGNU/ - phlib ./configure --prefix=/usr/local/dotGNU - goldwater ./configure --prefix=/usr/local/dotGNU --with-phlib=/usr/local/dotGNU - dgee ./configure --prefix=/usr/local/dotGNU --with-phlib=/usr/local/dotGNU --with-goldwater=/usr/local/dotGNU --with-pnet=/usr/local/dotGNU --with-apache=/usr/bin --with-username=www-data --with-usergroup=www-data obviosly you need to do a 'make install' after each stage. you dont have to be the www-data user for this if you added yourself to the web group as described above (handy when you are hacking on the code). * Web Setup in /usr/local/dotGNU/etc there is the file mod_dgee.conf. Include it in the apache config like this Include /usr/local/dotGNU/etc/mod_dgee.conf and do the usual apache stuff afterwards. * Running it drummmmrooolllll... Well the moment of truth has arrived. change to the www-data user and make sure that you import the environment needed to run all this (goldwater for eg needs an environment variable to find its config file). source /usr/local/dotGNU/share/dgee/dgeeenv.sh if you dont use a bourne shell like shell study the script and move it over to whatever syntax you punish yourself with ;) you should be all set now and be able to run dgee. dgeestart and ensure that no servers fail to boot. if it fails to boot some servers something has gone amiss in your installation. when you want to stop the server, do a dgeestop as www-data user. * Testing it The examples in