NukesFromScratch

    Here's a scratch pad for the installation and customization of Nukes from the ground up.

     

    I'm interested in

     

    • timing how long it takes for each step

    • referencing existing documentation

    • leaving a trail for others doing the same thing.

    • creating a customized (look and feel, various modules) portal for my own uses.

     

     

    The end configuration will be Fedora Core 1, MySQL 4.0.18, JBoss 3.2.3, an Apache config. (on the final server)

     

     

    -


    *Step 1: Ensure JBoss is configured correctly*

     

    This configuration begins at 2:13 pm, AEST.

     

     

    DevlocalhostDev$ sudo /usr/sbin/adduser -d /opt/jboss-3.2.3/ jboss

     

    DevlocalhostDev$ sudo chpasswd jboss

     

    Changing password for user jboss.

     

    New password:

     

    Retype new password:

     

    passwd: all authentication tokens updated successfully.

     

    DevlocalhostJboss3.2.3$

     

    DevlocalhostJboss3.2.3$ su - jboss

     

    Password:

     

    JbosslocalhostJboss$

     

     

     

     

      • setting up the JBoss ENV Var:

     

    I added mine to /etc/profile:

     

     

    1. ENV var.s

     

    JBOSS_HOME=/opt/jboss-3.2.3

     

    export JBOSS_HOME

     

     

     

      • changing the permissions in JBOSS_HOME for new jboss user:

     

    DevlocalhostOpt$ sudo chown -R jboss:jboss jboss-3.2.3

     

     

      • Checking that JBoss starts:

     

    Jbosslocalhost$ su - jboss

     

    Password:

     

    Jbosslocalhost$ ls

     

    bin client docs lib server

     

    Jbosslocalhost$ cd bin

     

    JbosslocalhostBin$ ls

     

    classpath.sh jboss_init_redhat.sh run.jar shutdown.bat twiddle.bat

     

    deployer.bat run.bat run.log shutdown.jar twiddle.jar

     

    deployer.sh run.conf run.sh shutdown.sh twiddle.sh

     

    JbosslocalhostBin$ ./run.sh

     

    ...

     

    14:54:14,865 INFO Server JBoss (MX MicroKernel) 3.2.3buildCVSTagJBoss_3_2_3Date200311301445 Started in 53s:716ms

     

     

     

    Looks good so far!

     

     

    *Step 2:Download JBoss Nukes snapshot from CVS*

     

    This configuration begins at 2:56 pm, AEST.

     

     

     

    I downloaded the snapshot from HEAD to my development account (dev) and unzipped the tar archive with:

     

    DevlocalhostJava$ gunzip nukes-snapshot.tar.gz

     

    DevlocalhostJava$ tar -xvf nukes-snapshot.tar

     

     

     

     

     

    *Step 3:Build JBoss Nukes snapshot *

     

    This configuration begins at 3:08 pm, AEST.

     

     

     

      • There are several build steps to follow; build nukes, build an installer .war, deploy to JBoss:

    (1)

     

    DevlocalhostJava$ cd nukes-snapshot/build

     

    DevlocalhostBuild$ chmod +x build.sh

     

    DevlocalhostBuild$ ./build.sh

     

    ...

     

    BUILD SUCCESSFUL

     

    Total time: 1 minute 30 seconds

     

     

     

    (2)

     

    Building the installer:

     

    DevlocalhostDistrib$ ./build.sh installer

     

    NOTE - make sure you use the 'installer' argument.

     

     

     

    3)

     

    DevlocalhostDistrib$ ./build.sh deploy-installer <-- this step failed, it deploys directly to JBOSS_HOME and must have permission to write there.

     

     

     

    DevlocalhostDistrib$ sudo ./build.sh deploy-installer

     

    Password:

     

    Searching for build.xml ...

     

     

     

    Afterwards, the nukes-installer.war file will be in $JBOSS_HOME/server/default/deploy and will be owned by root.

     

    To fix this, change the perm.s to the jboss acount:

     

    DevlocalhostDistrib$ sudo chown jboss:jboss  /opt/jboss-3.2.3/server/default/deploy/nukes-installer.war

     

     

     

    *Step 4: Run nukes-installer.war *

     

    This configuration begins at 3:38 pm, AEST.

     

     

    Following the instructions, I boot up JBoss and visit http://localhost:8080/nukes-installer/install

      • A license appears - accept it.

      • Datasource configuration details appear. (taking a break at 3:43 pm)

     

    (4:36 pm)

    *Step 4: Set up MySQL user and JDBC URL *

     

     

    • Setup mysql, following documentation, placing the mysql/bin dir on your users path.

     

      • Enter mysql as root:

     

    MysqllocalhostMysqlStandard4.0.18PcLinuxI686$ mysql --user=root --password mysql

     

    Enter password:

     

    ...

     

    mysql>

     

      • Create a nukes database:

     

    mysql> create database nukesdb;

     

    Query OK, 1 row affected (0.09 sec)

     

     

     

     

      • Create a `nukes' user that can connect from any host and do what is required on the nukesdb database:

     

    mysql> grant SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on nukesdb. to nukes@localhost identified by 'nukes';

     

    Query OK, 0 rows affected (0.01 sec)

     

     

    mysql> grant SELECT,INSERT,UPDATE,DELETE,CREATE,DROP on nukesdb. to nukes@'%' identified by 'nukes_connection_password';

     

    Query OK, 0 rows affected (0.00 sec)

     

     

     

      • Log out from root and reconnect as nukes user to nukesdb:

     

    MysqllocalhostMysqlStandard4.0.18PcLinuxI686$ mysql --user=nukes --password nukesdb

     

    Enter password:

     

    ...

     

    mysql>

     

     

     

     

     

    DevlocalhostOpt$ sudo tar -xzvf mysql-connector-java-3.0.11-stable.tar.gz

     

     

     

      • copy the mysql-connector-java-3.0.11-stable-bin.jar to $JBOSS_HOME/server/default/lib:

     

     

      • Here's a list of the input parameters I used in the datasource configuration form:

     

        • Database Type: MySQL

     

        • Database Driver: com.mysql.jdbc.Driver

     

        • Database URL: jdbc:mysql://localhost

     

        • Dabatase Name: nukesdb

     

        • Database User: nukes

     

        • Database Password: 

     

     

     

      • Select which modules to install: 

     

     

     

     

     

    The rest of the web based installation is seamless.

     

    finished - 6:07 pm

     

    --