SUNScholar/Rebuild DSpace

From Libopedia
Jump to navigation Jump to search
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

General references

Other Scripts

Rebuild Indexes

Click on the heading above.

Restart DSpace

Click on the heading above.