Page History
...
- The server is currently running on DuraSpace's Amazon EC2 account with the following configurations:
- Amazon AMI (EBS Image), currently m3.medium
- Ubuntu Linux 1216.04 LTS server (64-bit)
- Separate EBS volume mounted at /home/dspacePuppet Setup scripts: https://github.com/DSpace-Labs/puppet-dspace-demo
- 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
~
/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 scriptsWho 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
- Its content is also managed via the GitHub Repository at: http https://github.com/DSpace-Labs/demo.dspace.org-site
- Info on updating & pushing to GitHub can be found in the README at https://github.com/DSpace-Labs/demo.dspace.org-site
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 todspace@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
...