Distributed Artificial Life (DLIFE) Installation Instructions ------------------------------------------------------------- Prerequisites ------------- For security reasons, all programs run as user/group dlife/dlife. Therefore in order to be able to install this program, you must first create a user and group called `dlife'. On a typical Linux system you will need to do this, as root, before installing: /usr/sbin/groupadd dlife /usr/sbin/useradd -g dlife -M dlife You will need the following Perl packages installed. Get them from CPAN (http://www.cpan.org/) or one of its mirrors, or else get RPMs from http://dlife.annexia.org/files/ . libnet, HTML-Parser, URI, MIME-Base64, Digest-MD5, libwww-perl, Getopt-Long Warning to non-Red Hat users ---------------------------- The current installation is very Red Hat / Debian specific. It installs files under /etc/cron.d/ and /etc/init.d/ directories, which probably only exist on Red Hat or Debian machines. It would be nice to have a way to determine where these directories are and to automagically install cron jobs and rc files in the appropriate places. Can anyone help me with this? Building and installing the client from source ---------------------------------------------- Configure the software: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var Check that the software is going to be installed in the right places. On my Red Hat Linux boxen, I get: checking for crontab directory... /etc/cron.d checking for rc directory... /etc/init.d checking spool directory... /var/spool/dlife checking config directory... /etc/dlife Build it: make Install it (as root): make install To start up the software, run the following command as root: /etc/init.d/dlife.rc If all went well, then you should see one of more ``dlife_soup'' processes running in top. (There should be one process for each CPU on your machine). To make the dlife client start up every time you reboot the computer, do as root: /sbin/chkconfig --add dlife.rc A cron job is set to run every hour which exchanges cells with your local dlife server. By default it runs at 5 minutes past the hour, but to avoid causing load spikes on dlife servers at this time, it's best to edit the cron script and change the time at which it runs. This script is here: /etc/cron.d/dlife_client.cron If you're running behind a firewall, then you may want to run a server (see next section). In that case, you need to edit the following file to list the location of your server(s): /etc/dlife/client.conf Building and installing the server from source ---------------------------------------------- Follow the process above, as if you were installing the client. Edit /etc/inetd.conf and add the following line: 5904 stream tcp nowait root /usr/sbin/tcpd /usr/bin/dlife_server.pl Restart inetd: killall -HUP inetd Building RPMs ------------- To build RPMs from the sources: ./configure --prefix=/usr --sysconfdir=/etc --localstatedir=/var \ --disable-user-check make make dist rpm -ta --clean dlife-X.Y.Z.tar.gz (where X.Y.Z is the current version of dlife).