Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Update for latest server

...

  • The server is currently running on DuraSpace's Amazon EC2 account with the following configurations:
  • All DSpace requirements/software is installed in the 'dspace' user's home directory (/home/dspace):are installed using our puppet-dspace module: https://github.com/DSpace/puppet-dspace
    The 'dspace' user's
    • Open JDK 8
    • Ant
    • Maven
    • PostgreSQL
    • Java: /usr/lib/jvm/java-1.7.0-openjdk-amd64 (NOTE: We also have Oracle Java 7 installed at /usr/lib/jvm/java-7-oracle but it is not used by default)
    • Ant: ~/ant (installed manually)
    • Maven: ~/maven (installed manually)
    • PostgreSQL: ~/pgsql (compiled from source)
    • Tomcat: ~/tomcat(installed manually)
      • Tomcat is configured to run on port 80 (using 'jsvc' running as root)8080
    • Apache web server
      • Forwards all requests to Tomcat via AJP
    • DSpace Source: ~/dspace-src
    • DSpace Install: ~/dspace

'dspace' user account

    • ~
    /.profile initializes PATH/environment
    • /dspace

'dspace' user account

  • The 'dspace' user has limited FULL 'sudo' access on system.
  • The 'dspace' user's ~/bin/ includes various useful scripts

Server Backups

  • A server snapshot (backup) is generated nightly
  • Snapshots from the last 4 nights are kept
  • Every Sunday a weekly snapshot is generated and kept for two weeks
  • On the first of the month a monthly snapshot is generated and kept for two months/bin/ includes various useful scripts

Who to Contact

Only a DuraSpace employee can do the following:

  • Install extra Ubuntu software packages on server
  • Reboot serverRecreate the server (using Puppet scripts)
  • Upgrade Ubuntu to next version of Ubuntu
  • Create Snapshots of server volumes and restore server based on one of those Snapshots

...

The ~/dspace-src/ folder is a Git clone of the DSpace GitHub Repository: https://github.com/DSpace/DSpace/clone of the DSpace-demo GitHub Repository: https://github.com/DSpace-Labs/demo.dspace.org

  • This is a public fork of the main DSpace/DSpace GitHub Repository, with a few small tweaks specific to our Demo site

In this local Git repository, we are running off of a local branch named "demo". You can see all the branches by running

...

Changes that you wish to keep should be committed to this local "demo" branch.

At any one time, you can compare this 'demo' branch to any version of DSpace. For example, to compare 'demo' to DSpace 5.5 run:

...

WARNING: this overwrites existing configs in ~/dspace/config/

Code Block
sudo service tomcattomcat7 stop
cd ~/dspace-src/dspace/target/dspace-installer/
ant update
sudo service tomcattomcat7 start

Double check everything still looks to be working.

...

An easy way to double check config changes is to do a 'diff' of the latest dspace.cfg with the most recent '.old' one.

...

Commit your changes to "demo"

...

branch

Assuming your changes are already over in ~/dspace-src/ this is easy...

Code Block
cd ~/dspace-src/
git commit [file]

# OR, to commit all changed files
git commit -a changed files
git commit -a

# Push those changes up to GitHub!
git push origin demo
 

DSpace Tweaks (for Demo site)

...

  • Tomcat is configured to run on port 80
    • It is using 'jsvc' to start as 'root' and then switch to being owned by 'dspace'
    • Tomcat's startup settings are all located in ~dspace/.profile
  • DSpace Webapps are run from ~/dspace/webapps/ (configured in Tomcat's context fragments in ~/tomcat/conf/Catalina/localhost/)
  • The main "splash" page (http://demo.dspace.org) is served by Tomcat and is located at: ~/tomcat/webapps/ROOT/index.html

JavaDocs page

  • The JavaDocs pages (http://demo.dspace.org/javadocs/) are static pages served by Tomcat and are located at: ~/tomcat/webapps/javadocs/
  • These JavaDocs can be regenerated at any time by running the following (from the root source directory, [dspace-source] ):
    • mvn javadoc:aggregate

    • If you're generating javadoc of a snapshot version of DSpace, the above would fail. Use mvn install javadoc:aggregate && rm -rf ~/.m2/repository/org/dspace instead.
    • The "javadoc:aggregate" command generates a single set of javadocs which aggregate the APIs of all DSpace modules.  See http://maven.apache.org/plugins/maven-javadoc-plugin/plugin-info.html
    • The resulting javadoc is in [dspace-source]/target/site/apidocs. Upload it to dspace@demo.dspace.org:/home/dspace/tomcat/webapps/javadocs/[dspace-major-version]/.
    • NOTE: We've encountered some oddities with the results when this is run from demo.dspace.org itself (the resulting CSS isn't applied).  So, it's recommended to run this command from your local machine. It worked fine on 2 machines running Java 6, Maven 2.2.1 and 3.0.3, respectively. It didn't work on demo, which was running Java 7 and Maven 2.2.1.

...

Code Block
sudo service postgresql start
sudo service tomcattomcat7 start
sudo service ~/dspace/bin/start-handle-server start

sudo service tomcattomcat7 stop
sudo service postgresql stop
sudo service handle-server stop

Important Cron Jobs

Obviously, you can get the latest information on the existing Cron jobs by logging into the demo.dspace.org server and running:

...

This is controlled by the ~/bin/reset-dspace-content script (source code in GitHub)

This is a BASH script that essentially does the following:

...

It's source code is managed in Peter Dietz's GitHub acct at : https://github.com/peterdietzDSpace-Labs/jennikompewter

Starting / Stopping kompewter

...