CMS in general, Daisy in particular:14

image:next_button

Setting up Daisy

Installed Daisy CMS 1.3 RC
- See http://cocoondev.org/daisy/index.html
- See http://cocoondev.org/daisydocs-1_3/13.html (Installation)
- See http://people.apache.org/~jefft/forrest/samples/wikirenderer-site/wiki/combined.html (VERY GOOD administration tips)

  cd /usr/local/src
  tar -zxpf ../download/java/daisy/daisy-1.3-RC-src.tar.gz
  cd /usr/local/src/daisy-1.3-RC-src

# Requires JDK 1.4.2 or JDK 1.5
# Requires JAI (Java Advanced Imaging)
# Requires MySQL 4.0.20 (at least) or 4.1.7
# Requires Java Service Wrapper 3.1.2

  mysql -uroot -p<PASSWORD>
  mysql> CREATE DATABASE daisyrepository;   mysql> GRANT ALL ON daisyrepository.* TO daisy@"%" IDENTIFIED BY "daisy";
  mysql> GRANT ALL ON daisyrepository.* TO daisy@localhost IDENTIFIED BY "daisy";
  mysql> CREATE DATABASE openjms;
  mysql> GRANT ALL ON openjms.* TO openjms@"%" IDENTIFIED BY "openjms";
  mysql> GRANT ALL ON openjms.* TO openjms@localhost IDENTIFIED BY "openjms";
  mysql> quit

  cd /usr/local
  tar -zxpf download/java/daisy/daisy-1.3-RC.tar.gz
  ln -s daisy-1.3-RC daisy

  export JAVA_HOME=/usr/local/jdk
  export PATH=$PATH:/usr/local/jdk/bin
  export DAISY_HOME=/usr/local/daisy
  export DAISY_DATA=/home/daisy_data
  export OPENJMS_HOME=$DAISY_HOME/openjms
  export WRAPPER_HOME=/usr/local/wrapper
# Configure OpenJMS
  cd $DAISY_HOME/install
  ./daisy-openjms-config
  # Database URL [default = jdbc:mysql://localhost/openjms]
  # Database user [default = openjms]
  # Database password [default = openjms]
  # Update the openjms.xml file with the database parameters
  # Update the cocoon.xconf of the Daisy Wiki with the OpenJMS password

# Create OpenJMS database tables
  cd $OPENJMS_HOME/bin
  ./dbtool.sh -create -config $OPENJMS_HOME/config/openjms.xml -Dlog4j.configuration=$DAISY_HOME/misc/openjms-log4j.properties

# Start OpenJMS
  ./startup.sh &
# ./admin.sh  # user = admin, password = freciete
# ./shutdown.sh -u admin -p freciete

# Configure Daisy Repository Server
  mkdir -p $DAISY_DATA

  cd $DAISY_HOME/install
  ./daisy-repository-init
  # Database URL [default = jdbc:mysql://localhost/daisyrepository]
  # Database user [default = daisy]
  # Database password [default = daisy]
  # Enter username [default = testuser] : andyg
  # Enter password [default = testuser] : <PASSWORD>
  # Enter SMTP server [ default = undefined ] : localhost
  # Enter "from address" for e-mails : daisy@robin.geekscape.org
  # Enter the path of the data directory to create: $DAISY_DATA
  # Update the Daisy Wiki's cocoon.xconf

# Start Daisy Repository Server
  cd $DAISY_HOME/repository-server/bin
  ./daisy-repository-server $DAISY_DATA &
# firefox http://localhost:9264  # JMX Management Console: MX4J/Http Adaptor

# Initialize Daisy Wiki
  cd $DAISY_HOME/install
  ./daisy-wiki-init
  # Daisy Repository Server port [default = http://localhost:9263]
  # Enter login (user) and password for Daisy
  # (this should be a user with the Administrator role):
  # Enter login: andyg
  # Enter password: <PASSWORD>

# Create Daisy Wiki site
  cd $DAISY_HOME/install
  ./daisy-wiki-add-site
  # Daisy Repository Server port [default = http://localhost:9263]
  # Enter login (user) and password for Daisy
  # (this should be a user with the Administrator role):
  # Enter login: andyg
  # Enter password: <PASSWORD>
  # Enter a name for the site (without spaces): geekscape
  # Enter the language [default: default]
  # Sites directory location [default = /usr/local/daisy/daisywiki/webapp/daisy/sites ]:

# Start Daisy Wiki
  cd $DAISY_HOME/daisywiki/bin
  ./daisy-wiki &

  firefox http://localhost:8888/daisy/

# Start Daisy
# -----------
  export JAVA_HOME=/usr/local/jdk
  export PATH=$PATH:/usr/local/jdk/bin
  export DAISY_HOME=/usr/local/daisy
  export DAISY_DATA=/home/daisy_data
  export OPENJMS_HOME=$DAISY_HOME/openjms
  export WRAPPER_HOME=/usr/local/wrapper

  cd $DAISY_HOME
  $OPENJMS_HOME/bin/startup.sh &
  cd $DAISY_HOME/repository-server/bin
  ./daisy-repository-server $DAISY_DATA &
  cd $DAISY_HOME/daisywiki/bin
  ./daisy-wiki &

  firefox http://localhost:8888/daisy/

# Shutdown Daisy
# --------------
  ps -ef | grep java              # /sbin/pidof java
  kill <pid of daisywiki>         # /usr/local/jdk/bin/java -Xmx128m -Djava.endorsed.dirs=/usr/local/daisy/daisywiki....
  kill <pid of daisy repository>  # -Djava.security.policy=/usr/local/daisy/repository-server....
  $OPENJMS_HOME/bin/shutdown.sh -u admin -p freciete
  rm openjms.log
  service mysql restart

# Set-up /etc/rc.d/init.d/daisy
# -----------------------------
  cd $DAISY_HOME/bin
  cp $WRAPPER_HOME/src/bin/sh.script.in     daisy_openjms.sh
  cp $WRAPPER_HOME/src/conf/wrapper.conf.in daisy_openjms.conf
  cp $WRAPPER_HOME/src/bin/sh.script.in     daisy_repository.sh
  cp $WRAPPER_HOME/src/conf/wrapper.conf.in daisy_repository.conf
  cp $WRAPPER_HOME/src/bin/sh.script.in     daisy_wiki.sh
  cp $WRAPPER_HOME/src/conf/wrapper.conf.in daisy_wiki.conf

  mkdir -p $DAISY_HOME/logs

  vi daisy_openjms.sh
    APP_NAME="daisy_openjms"
    APP_LONG_NAME="Daisy OpenJMS Server"
    WRAPPER_CMD="$WRAPPER_HOME/bin/wrapper"
    WRAPPER_CONF="./daisy_openjms.conf"
    PIDDIR="../logs/"
    RUN_AS_USER=daisy
  vi daisy_openjms.conf
    wrapper.java.command=%JAVA_HOME%/bin/java
    wrapper.java.classpath.1=%WRAPPER_HOME%/lib/wrapper.jar
    wrapper.java.classpath.2=%DAISY_HOME%/lib/mysql/jars/mysql-connector-java-3.0.15-ga-bin.jar
    wrapper.java.classpath.3=%OPENJMS_HOME%/lib/openjms-0.7.6.1.jar
    wrapper.java.library.path.1=%WRAPPER_HOME%/lib
    wrapper.java.additional.1=-Dopenjms.home=%OPENJMS_HOME%
    wrapper.java.additional.2=-Djava.security.manager
    wrapper.java.additional.3=-Djava.security.policy=%OPENJMS_HOME%/config/openjms.policy
    wrapper.app.parameter.1=org.exolab.jms.server.JmsServer
    wrapper.logfile=../logs/daisy_openjms.log
  vi daisy_repository.sh
    export DAISY_HOME=/usr/local/daisy
    export DAISY_DATADIR=/home/daisy_data
    export MERLIN_HOME=$DAISY_HOME/repository-server/merlin
    APP_NAME="daisy_repository"
    APP_LONG_NAME="Daisy Repository Server"
    WRAPPER_CMD="$WRAPPER_HOME/bin/wrapper"
    WRAPPER_CONF="./daisy_repository.conf"
    PIDDIR="../logs/"
    RUN_AS_USER=daisy
  vi daisy_repository.conf
    wrapper.java.command=%JAVA_HOME%/bin/java
    wrapper.java.classpath.1=%WRAPPER_HOME%/lib/wrapper.jar
    wrapper.java.classpath.2=%DAISY_HOME%/repository-server/merlin/system/merlin/jars/merlin-cli-3.3.0.jar
    wrapper.java.library.path.1=%WRAPPER_HOME%/lib
    wrapper.java.additional.1=-Dmerlin.deployment.timeout=0
    wrapper.java.additional.2=-Dmerlin.logging.config=%DAISY_DATADIR%/conf/logkit.xml
    wrapper.java.additional.3=-Dfile.encoding=UTF-8
    wrapper.app.parameter.1=org.apache.avalon.merlin.cli.Main
    wrapper.app.parameter.2=-offline
    wrapper.app.parameter.3=-home
    wrapper.app.parameter.4=%DAISY_DATADIR%
    wrapper.app.parameter.5=-repository
    wrapper.app.parameter.6=%DAISY_HOME%/lib
    wrapper.app.parameter.7=-config
    wrapper.app.parameter.8=%DAISY_DATADIR%/conf/myconfig.xml
    wrapper.app.parameter.9=%DAISY_HOME%/repository-server/conf/block.xml
    wrapper.logfile=../logs/daisy_repository.log
  vi daisy_wiki.sh
    export DAISY_HOME=/usr/local/daisy
    export JETTY_HOME=$DAISY_HOME/daisywiki/jetty
    APP_NAME="daisy_wiki"
    APP_LONG_NAME="Daisy Wiki (Cocoon)"
    WRAPPER_CMD="$WRAPPER_HOME/bin/wrapper"
    WRAPPER_CONF="./daisy_wiki.conf"
    PIDDIR="../logs/"
    RUN_AS_USER=daisy
  vi daisy_wiki.conf
    wrapper.java.command=%JAVA_HOME%/bin/java
    wrapper.java.classpath.1=%WRAPPER_HOME%/lib/wrapper.jar
    wrapper.java.classpath.2=%JETTY_HOME%/ext/ant.jar
    wrapper.java.classpath.3=%JETTY_HOME%/ext/jasper-compiler.jar
    wrapper.java.classpath.4=%JETTY_HOME%/ext/jasper-runtime.jar
    wrapper.java.classpath.5=%JETTY_HOME%/ext/jcert.jar
    wrapper.java.classpath.6=%JETTY_HOME%/ext/jmxri.jar
    wrapper.java.classpath.7=%JETTY_HOME%/ext/jmxtools.jar
    wrapper.java.classpath.8=%JETTY_HOME%/ext/jnet.jar
    wrapper.java.classpath.9=%JETTY_HOME%/ext/jsse.jar
    wrapper.java.classpath.10=%JETTY_HOME%/ext/xercesImpl.jar
    wrapper.java.classpath.11=%JETTY_HOME%/ext/xml-apis.jar
    wrapper.java.classpath.12=%JETTY_HOME%/lib/javax.servlet.jar
    wrapper.java.classpath.13=%JETTY_HOME%/lib/org.mortbay.jetty.jar
    wrapper.java.classpath.14=%JETTY_HOME%/lib/org.mortbay.jmx.jar
    wrapper.java.classpath.15=%JAVA_HOME%/lib/tools.jar
    wrapper.java.library.path.1=%WRAPPER_HOME%/lib
    wrapper.java.additional.1=-Djetty.home=%JETTY_HOME%
    wrapper.java.additional.2=-Ddaisywiki.home=%DAISY_HOME%/daisywiki
    wrapper.java.additional.3=-Dfile.encoding=UTF-8
    wrapper.app.parameter.1=org.mortbay.jetty.Server
    wrapper.app.parameter.2=%DAISY_HOME%/daisywiki/conf/jetty-daisywiki.xml
    wrapper.logfile=../logs/daisy_wiki.log

# Set-up /home/users/daisy, so that processes can run as ~daisy
  cd /etc
  vi passwd group shadow
  mkdir -p /home/users/daisy
  chown -R daisy:daisy /usr/local/daisy-1.3-RC
  chown -R daisy:daisy /home/daisy_data
  chown -R daisy:daisy /home/users/daisy

# Workaround for ...
# "sealing violation: can't seal package javax.naming: already loaded"
  cd /usr/local/daisy/daisywiki/webapp/WEB-INF/lib
  mv jndi-1.2.1.jar jndi-1.2.1.jar.NOT_REQUIRED
  chmod 000 jndi-1.2.1.jar.NOT_REQUIRED

# Test out the Daisy Java Service Wrapper scripts
# -----------------------------------------------
  export JAVA_HOME=/usr/local/jdk
  export PATH=$PATH:/usr/local/jdk/bin
  export DAISY_HOME=/usr/local/daisy
  export DAISY_DATA=/home/daisy_data
  export OPENJMS_HOME=$DAISY_HOME/openjms
  export WRAPPER_HOME=/usr/local/wrapper

  $DAISY_HOME/bin/daisy_openjms.sh start
  $DAISY_HOME/bin/daisy_openjms.sh status
  $DAISY_HOME/bin/daisy_repository.sh start
  $DAISY_HOME/bin/daisy_repository.sh status
  $DAISY_HOME/bin/daisy_wiki.sh start
  $DAISY_HOME/bin/daisy_wiki.sh status

  $DAISY_HOME/bin/daisy_wiki.sh stop
  $DAISY_HOME/bin/daisy_repository.sh stop
  $DAISY_HOME/bin/daisy_openjms.sh stop

  vi /etc/rc.d/init/daisy.sh
  /sbin/chkconfig --add daisy
  /sbin/chkconfig --level 35 daisy on
  /etc/rc.d/init.d/daisy start
  /etc/rc.d/init.d/daisy status
  /etc/rc.d/init.d/daisy restart
  /etc/rc.d/init.d/daisy stop
# /etc/rc.d/init.d/daisy dump

image:next_button

Comments (0)