SUNScholar/Rebuild DSpace
Back to After Installation Tasks
Rationale
To apply customisations, DSpace needs to rebuild the Java WAR's for re-deployment by the Tomcat webapp server.
For this to work, all permanent changes using the modules overlay method must be made in the [dspace-source] folder.
This is required because we chose to use the source code for our DSpace installation and then build the run-time WAR's after any major customisation in the source code, inclusive of the modules folder.
Changes can be made in the run-time folder /home/dspace/webapp but these will be overwritten with the next rebuild.
If you want changes in the run-time to be permanent, then copy them to source folder using the modules overlay method, so that they are applied after the next rebuild.
Requirements
Click here to setup the "source" folder first.
When using the Ubuntu 16.04 LTS server change all instances of tomcat to tomcat8.
When using the Ubuntu 14.04 LTS server change all instances of tomcat to tomcat7.
When using the Ubuntu 12.04 LTS server change all instances of tomcat to tomcat6.
Procedure
Step 1 - Login to your server
Check the following wiki page, and then return.
http://wiki.lib.sun.ac.za/index.php/SUNScholar/Prepare_Ubuntu/S01
Step 2 - Create a scripts folder
Type the following:
mkdir /home/dspace/scripts
Step 3 - Create the script
Type the following:
nano /home/dspace/scripts/build-webapps
Copy and paste the following into the open nano editor.
Replace all instances of XXX with the DSpace version number selected for installation.
#!/bin/bash sudo service tomcat6 stop sleep 3 #### Optional #### #Remove old cache and log files. Uncomment below to enable. #echo "Clean out old xmlui cache files" #sudo rm /var/lib/tomcat6/work/Catalina/localhost/_/cache-dir/cocoon-ehcache.data #sudo rm /var/lib/tomcat6/work/Catalina/localhost/_/cache-dir/cocoon-ehcache.index #echo "Remove old catalina log file" #sudo rm /var/log/tomcat6/catalina.out #### Optional #### #Remove old webapps. Uncomment below to enable. #echo "Clean out old webapps" #sudo rm -rf /home/dspace/webapps/* #### Optional #### #Remove old config folder. Uncomment below to enable. #echo "Clean out old configs" #sudo rm -rf /home/dspace/config/* echo "Start MAVEN build" cd /home/dspace/source mvn -U clean package #### Optional #### #Fix file and folder permissions. Uncomment below to enable. #echo "Fixing file permissions. Please wait..." #sudo chmod 0777 -R /home/dspace #echo "Fixing file ownership. Please wait..." #sudo chown dspace.dspace -R /home/dspace echo "Start ANT installer" cd /home/dspace/source/dspace/target/dspace-XXX-build ant update #### Optional #### #Clean backups. Uncomment below to enable. #ant clean_backups #### Optional #### #Overwrite configs. Uncomment below to enable. #ant -Doverwrite=true update_configs #### Optional #### #Geolite database updates. # !!!! Your server should be open on the internet before you do this !!!! #Uncomment below to enable. #sudo ant update_geolite sleep 3 sudo service tomcat6 restart echo "Rebuild complete."
- NANO Editor Help
| CTL+O | = Save the file and then press Enter |
| CTL+X | = Exit "nano" |
| CTL+K | = Delete line |
| CTL+U | = Undelete line |
| CTL+W | = Search for %%string%% |
| CTL+\ | = Search for %%string%% and replace with $$string$$ |
| CTL+C | = Show line numbers |
More info = http://en.wikipedia.org/wiki/Nano_(text_editor)
Step 4 - Make the script executable
Type the following:
chmod 0755 /home/dspace/scripts/build-webapps
=Step 5 - Run the script
Now you can rebuild DSpace WHEN NEEDED by simply typing the following;
/home/dspace/scripts/build-webapps
After the rebuild check that the config files have been copied over from the source folder correctly.
References
"ant" target references
- https://wiki.duraspace.org/display/DSDOC4x/Ant+targets+and+options
- https://wiki.duraspace.org/display/DSDOC3x/Appendix+B
General references
- https://github.com/DSpace/demo.dspace.org/blob/master/scripts/linux/reset-dspace-content
- https://wiki.duraspace.org/display/DSPACE/Rebuild+DSpace
- https://wiki.duraspace.org/display/DSDOC4x/Advanced+Customisation#AdvancedCustomisation-DSpaceSourceRelease
- https://wiki.duraspace.org/display/DSDOC3x/Advanced+Customisation
- https://wiki.duraspace.org/display/DSDOC3x/Advanced+Customisation#AdvancedCustomisation-DSpaceSourceRelease
- https://wiki.duraspace.org/display/DSDOC3x/Rebuild+DSpace
- https://wiki.duraspace.org/display/DSDOC18/Advanced+Customisation
- https://wiki.duraspace.org/display/DSDOC18/Advanced+Customisation#AdvancedCustomisation-DSpaceSourceRelease
Other Scripts
Rebuild Indexes
Click on the heading above.
Restart DSpace
Click on the heading above.