So you’ve heard about Eureka Streams, the open source social networking platform from Lockheed Martin @ http://www.eurekastreams.org and you’d like to check it out. Here’s how.
- Start with a virtual machine (http://www.virtualbox.org/wiki/Downloads to download VirtualBox);
- Download the Ubuntu 10.04 LTS ISO (http://www.ubuntu.com/desktop/get-ubuntu/download) and set it up according the defaults. I did give it 100GB of disk space, expanding dynamically;
- At the command line type ‘sudo apt-get install nano‘ to install a command line text editor;
- At the command line type ‘sudo nano /etc/apt/sources.list‘ and paste in the text from http://kenning.co.nz/wp-content/uploads/2010/08/apt-get-sources.txt which will make sure you can pick packages from the universe repositories;
- At the command line type ‘sudo apt-get update‘;
- At the command line type ‘sudo apt-get upgrade‘;
- At the command line type ‘sudo apt-get install memcached‘;
- At the command line type ‘sudo apt-get install default-jdk‘;
- At the command line type ‘sudo apt-get install git-core‘;
- At the command line type ‘sudo apt-get install postgresql‘;
- At the command line type ‘sudo apt-get install maven2‘;
- Edit /etc/environment and add ‘JAVA_HOME=/usr/lib/jvm/default-java‘;
- Log out and log back in;
- At the command line type ‘echo $JAVA_HOME‘ and make sure the above
location is returned; - At the command line type ‘git clone https://git@github.com/lmco/eurekastreams.git‘;
- At the command line, change to the eurekastreams folder created;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-common-3.3.jar -DgroupId=org.apache.shindig -DartifactId=shindig-common -Dversion=3.3 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-features-3.3.jar -DgroupId=org.apache.shindig -DartifactId=shindig-features -Dversion=3.3 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-gadgets-3.3.jar -DgroupId=org.apache.shindig -DartifactId=shindig-gadgets -Dversion=3.3 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-server-3.3.war -DgroupId=org.apache.shindig -DartifactId=shindig-server -Dversion=3.3 -Dpackaging=war -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-social-api-3.3.jar -DgroupId=org.apache.shindig -DartifactId=shindig-social-api -Dversion=3.3 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/shindig-common-3.3-tests.jar -DgroupId=org.apache.shindig -DartifactId=shindig-common -Dversion=3.3 -Dpackaging=test-jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/gwt-dnd-2.6.5.2.jar -DgroupId=com.google.code.gwt-dnd -DartifactId=gwt-dnd -Dversion=2.6.5.2 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/carousel-0.6.1.jar -DgroupId=com.gwtyuicarousel -DartifactId=carousel -Dversion=0.6.1 -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install:install-file -Dfile=lib/urlrewrite-3.2.0-beta.jar -DgroupId=org.tuckey -DartifactId=urlrewrite -Dversion=3.2.0-beta -Dpackaging=jar -DgeneratePom=true‘;
- At the command line type ‘mvn install‘;
- At the command line type ‘mvn clean install -Dopenaccess-security -Dbuild.web.baseurl=http://localhost:8080 -Dbuild.web.grbaseurl=http://localhost:8081‘;
- Change to the ‘web/target/classes/db/scripts‘ folder;
- At the command line type ‘sudo -u postgres psql postgres‘;
- At the PSQL command line type ‘\password postgres‘ and pick a password for the postgres account;
- At the command line type ‘sudo -u postgres createdb eurekastreams‘ to create a eurekastreams DB;
- At the command line type ‘sudo pico dev_reset_db.sh‘ and search for ‘scripts$‘ and then remove the trailing dollar sign;
- At the command line type ‘sudo pico dev_apply_updates.sh‘ and search for ‘scripts$‘ and then remove the trailing dollar sign;
- At the command line type ‘sudo nano /root/eurekastreams/web/target/classes/db/schema/eurekastreams_1_databasecreate.sql‘ (or where ever you installed eurekastreams) and search for the word ‘template1′ and replace with ‘template0′. This will stop the database creation step failing because of encoding differences;
- At the command line type ‘sudo -u postgres createuser –superuser $USER‘ to create a postgresql account as the user you’re using because you’ll need to be a postgresql super user to be able to run the dev_reset_db.sh script – note there’s two dashes before superuser;
- At the command line type ‘sudo -u postgres psql‘;
- At the PSQL command line type ‘\password $USER‘ where $USER is the user you’ve logged in as and give your postgresql user a password;
- At the command line type ‘./dev_reset_db.sh eurekastreams eurekastreams localhost‘, make sure you have a eurekastreams DB but no eurekastreams SQL account;
- The command will execute. It will drop the existing eurekastreams DB, and then create a eurekastreams SQL account. It may then ask you for a password for the eurekastreams account;
- If it does, at the command line type ‘sudo apt-get install pgadmin3‘;
- At the command line type ‘pgadmin3‘;
- In PGAdmin, log in as the ‘postgresql’ account with the password you entered at step 30;
- Right click on the eurekastreams user, and reset the password to something you know;
- Then go back to the dev_reset_db script and enter the password you’ve created for the script. The script won’t accept a blank password;
- The script should then populate the eurekastreams DB;
- At the command line type ‘sudo pico /etc/postgresql/8.4/main/pg_hba.conf‘;
- Change the ‘local all all ident‘ line to ‘local all all trust‘ line and save the file;
- At the command line type ‘sudo /etc/init.d/postgresql-8.4 restart‘ to restart the SQL server;
- Change back to the eurekastreams/web folder;
- At the command line type ‘mvn jetty:run -DskipTests -Dlog.home=$HOME/logs -Denv.WEBPORT=8080 -Denv.GRWEBPORT=8081‘ and wait for the Jetty server to start;
- Head to http://localhost:8080 and type the username ‘sysadmin’ and a blank password.
It should now log you in!