Version 76


    2006-02-11 Update:

    JBossNukes was the first generation of portal and content management system (CMS) functionality in the JBoss family. JBossNukes has been 100% superceeded by JBossPortal. JBossPortal 2.0 has been in solid production use for many months now; people are already migrating to JBossPortal 2.2; and JBossPortal 2.4 is currently being designed & developed.


    The wiki page you are now reading only applies to JBossNukes. It remains for archival/historical purposes, or to help those who wish to manage existing legacy JBossNukes installations.


    I originally created this wiki page back when it was very tedious to get Nukes up & running. My motivation was partly to help people get up & running; my other motivation was to demonstrate to the other memebers of the Nukes team that installation was 200%-400% more complex than it needed to be. I am happy to report that the design of JBossPortal took ease-of-installation very much into account, and the process is much much simpler.



    (Howard Pearlmutter)







    The following setup instructions assume that you already have a working JBoss installation and are familiar with the basics of how JBoss works. If this is your first time working with JBoss, start here: JBossInstallation.


    IMPORTANT: Nukes versions <= 1.1 are only compatible with JBoss 3.2.3.



    The original version of this document for Nukes version 1.0 can be found here: InstallUninstallUpgrade1.0.




    This section is only applicable to those who have performed a Nukes installation prior to version 1.1. As of the 1.1 release, it is only guarenteed that the database tables for the core and forums will remain the same.


    For those migrating from a 1.0 release that has been used in production and/or contains data you do not wish to loose, it is recommended that you export the data contained in these tables, follow these uninstall instructions, recreate the tables, and then reload your data. If you are reloading data, be sure to purge all preloaded data to ensure no 'duplicate key' errors.


    JBoss Uninstall


    • cd $JBOSS_HOME/server/<nukes.deploy.dir>/deploy

      • Remove nukes.ear and/or nukes-installer.war

    • cd $JBOSS_HOME/server/<nukes.deploy.dir>/

      • Remove the entire 'nukes' directory, it will be recreated with the installation.


    DB Uninstall


    • Using your favorite database client, drop the nukes database.

      • If you are using HSQLDB as your database, you have to drop each table individually.

        • Another alternative would be to just remove the $JBOSS_HOME/server/<nukes.deploy.dir>/data directory, but this is only recommended if you are not using HSQLDB for some other application running inside JBOSS.



    Install from source


    • Obtain and install Nukes sources

      • CVS: The following command will get the 1.1 latest CVS version. (For more information on CVS Click here).

         nukie@laptop:~$ cvs co -r Nukes_Branch_1_1 nukes-1.1


    • Set up the environment variables:

         nukie@laptop:~$ export NUKES_HOME=~/nukes_1-1
         nukie@laptop:~$ export JBOSS_HOME=~/jboss-3.2.3



    • At this stage you should have a database created with a user having all rights on it. You should also have a JDBC driver for your database in $JBOSS_HOME/server/default/deploy. If not go back to Perform database setup.


    • Copy the file $NUKES_HOME/build/etc/ and rename it to $NUKES_HOME/build/

         nukie@laptop:~$ cp $NUKES_HOME/build/etc/ $NUKES_HOME/build/


    • Edit, set nukes.database to mysql (should be already there by default), set the context root to whatever you want (or leave nukes), you can also change the deploy directory and few other things. Defaults values should be good if you are using a MySQL database.


    • Now edit $NUKES_HOME/build/etc/ you may want to change the database user and database password with the user and password you created before. Look at the other settings, you may need to change them in your case but should work fine if you have the database and JBoss on a same machine.


    • Once the database setup has been completed, Go to $NUKES_HOME/build then build the core and all released modules by typing:

         nukie@laptop:~/nukes-1.1/build$ sh


    • Now copy $NUKES_HOME/nukes/output/resources/nukes-ds.xml to $JBOSS_HOME/server/default/deploy

         nukie@laptop:~/nukes-1.1$ cp $NUKES_HOME/nukes/output/resources/nukes-ds.xml $JBOSS_HOME/server/default/deploy


    • Go to $NUKES_HOME/distrib and deploy the installer

         nukie@laptop:~/nukes-1.1$ cd $NUKES_HOMES/distrib
         nukie@laptop:~/nukes-1.1$ sh deploy-installer


    • If JBoss has not already been started, do so now in another terminal.

         nukie@laptop:~$ export JBOSS_HOME=~/jboss-3.2.3
         nukie@laptop:~$ cd $JBOSS_HOME/bin
         nukie@laptop:~$ ./ 


    • Once startup has completed, point your web browser to the following url: http://localhost:8080/nukes-installer/install

      • If you are installing on a remote host, subsitute its domain name (ie: for localhost).

      • On the first page you should see your database, click on it and finish the process.

      • Now you have all the needed tables created.


    • Go back to $NUKES_HOME/build and deploy everything

         nukie@laptop:~/nukes-1.1$ cd $NUKES_HOME/build
         nukie@laptop:~/nukes-1.1$ sh deploy-all





    Install from pre-compiled binary zip (MySQL only)


    Follow these instructions for the pre-compiled binary:



    • Setup database (assumption: there exists a 'root' user with an empty password)


    • Create a database called 'nukes' in your mysql, for instance:

      • mysql -u root -e 'create database nukes'


    • There are two ddl files that setup the required tables and user for Nukes. These will create the database structure as well as a database user (nukes/nukes) with proper access privileges. For instance:

      • mysql -u root -D nukes -e 'source prepare.ddl'

      • mysql -u root -D nukes -e 'source setup.ddl'


    • Flush mysql privileges so the created user has its privileges granted :

      • mysql -u root -e 'flush privileges'


    • You can test the user by logging in. When prompted for the password, enter 'nukes'. Execute the following commands:

      • mysql -u nukes -p

      • use nukes;

      • show tables;


    You should see all the nukes core tables. Individual module tables will be created upon the modules deployment.