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.
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.
Remove nukes.ear and/or nukes-installer.war
Remove the entire 'nukes' directory, it will be recreated with the installation.
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 -d:pserver:email@example.com:/cvsroot/jboss co -r Nukes_Branch_1_1 nukes-1.1
Daily Snapshot for Nukes HEAD version : http://jboss.sourceforge.net/snapshots/nukes-snapshot.tar.gz - this version contains latest features
Daily Snapshot for Nukes 1.1 version : http://jboss.sourceforge.net/snapshots/nukes-1.1-snapshot.tar.gz - this version is being stabilised and is the forthcoming Nukes 1.1 release
updated every night at 2:00am (PDT)
NOTE: There have been reports of compilation and/or deployment errors when using the daily snapshots. Please try to checkout from CVS when possible.
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/local.properties-example and rename it to $NUKES_HOME/build/local.properties
nukie@laptop:~$ cp $NUKES_HOME/build/etc/local.properties-example $NUKES_HOME/build/local.properties
Edit local.properties, 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/mysql.properties 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 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 build.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:~$ ./run.sh
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: www.domain.com) 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 build.sh deploy-all
Point your web browser to http://localhost:8080/nukes/
If you changed the context root, then go to http://localhost:8080/whateverYouUsed
Admin user/password: admin/admin (be sure to change this!!)
Default user/password: user/user (be sure to change this!!)
Install from pre-compiled binary zip (MySQL only)
Follow these instructions for the pre-compiled binary:
Download the precompiled zip file from the Nukes Project Page
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
You should see all the nukes core tables. Individual module tables will be created upon the modules deployment.