Setup Correct SAX Parser for Koha

To check SAX Parser for koha installation, run the following command

root@koha:/home/koha/koha-18.05.02# ./misc/
Koha wants something like:
You have:
Looks bad, check the Koha wiki documentation at

Now you have to find your SAX Parser file to set up the correct configuration 

root@koha:/home/koha/koha-18.05.02# find / -name “ParserDetails.ini”

Then open the files to make change 

root@koha:/home/koha/koha-18.05.02# nano /etc/perl/XML/SAX/ParserDetails.ini

[XML::SAX::PurePerl] = 1
[XML::LibXML::SAX] = 1

[XML::LibXML::SAX::Parser] = 1
[XML::SAX::Expat] = 1

Move the Highlighted block at the end of the file

It looks like the following 

[XML::SAX::PurePerl] = 1
[XML::LibXML::SAX] = 1
[XML::SAX::Expat] = 1
[XML::LibXML::SAX::Parser] = 1

Then run the test again 

root@koha:/home/koha/koha-18.05.02# ./misc/
Koha wants something like:
You have:
Looks good.



Set Mariadb Password

Install MariaDB database 

root@library:~# apt-get install MariaDB-server

Then try the following command to secure your database and to set the root password

root@library:~# apt-get mysql_secure_installation

After that answer the questions correctly 

Enter current password for root (enter for none):
OK, successfully used password, moving on…

Setting the root password ensures that nobody can log into the MariaDB
root user without the proper authorization.

Set root password? [Y/n] Y
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
… Success!
By default, a MariaDB installation has an anonymous user, allowing anyone
to log into MariaDB without having to have a user account created for
them. This is intended only for testing, and to make the installation
go a bit smoother. You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] Y
… Success!

Normally, root should only be allowed to connect from ‘localhost’. This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] n
… skipping.

By default, MariaDB comes with a database named ‘test’ that anyone can
access. This is also intended only for testing and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] Y
– Dropping the test database…
… Success!
– Removing privileges on test database…
… Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] Y
… Success!

Cleaning up…

All done! If you’ve completed all of the above steps, your MariaDB
installation should now be secure.

Thanks for using MariaDB!


Perl locale problem in Ubuntu

At the time of perl installation I faced the following problem

perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_TIME = “bn_BD”,
LC_NAME = “bn_BD”,
LC_PAPER = “bn_BD”,
LANG = “en_US.UTF-8”
are supported and installed on your system.
perl: warning: Falling back to a fallback locale (“en_US.UTF-8”).
locale: Cannot set LC_ALL to default locale: No such file or directory

I just exported LC_ALL from command line

root@library:/home/koha/koha-18.05.02# export LC_ALL=”en_US.UTF-8″

Check your locale

root@library:/home/koha/koha-18.05.02# locale

And try the following commands for permanent solutions

echo "LC_ALL=en_US.UTF-8" >> /etc/environment
echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen
echo "LANG=en_US.UTF-8" > /etc/locale.conf
locale-gen en_US.UTF-8

Now check your locale 

root@library:/home/koha/koha-18.05.02# locale



DSpace Backup

Stop tomcat server:

/etc/init.d/tomcat6  AND restart postgresql server

Lonin in postgress database server and take backup dspace database-

Pg_dump –E UNICODE dspace>/home/dspace/dspace.sql

Copy dspace assetstore directory in your desired place

Cp /home/dspace/assetstore/* /desiredLocation/

Compress assetstore

tar cf- assetstore | gzip –c >assetstore.tgz

Copy database file and assetstore to your computer

Scp /home/dspace/dspace.sql root@remotemachine:/root/yourlocation/dspace.sql

Scp /home/dspace/assetstore.tgz root@remotemachine:/root/yourLocation/

Open Source OCR Tesseract installation on Ubuntu and use of it

First of all you must have command line expertise to use this open source OCR software

At the beginning we are going to install Tesseract on Ubuntu

Open your terminal and write the following command

root@nur-HP:~#apt-get install tesseract-ocr

It will install OCR on your Ubuntu Operating System. Then install your desire language packages. Remember you do not to install English language package because it already installed with tesseract installation.

Here, I going to install Bangla language package

apt-get install tesseract-ocr-[lang]

root@nur-HP:~#apt-get install tesseract-ocr-ben    (This command will install Bangla language package)

If you like to install All language packages, try the following command

root@nur-HP:~#apt-get install tesseract-ocr-all

Our installation has completed. Now we are going to use it

tesseract [image_path] [file_name]

sample command:

root@nur-HP:~#tesseract /home/nurahammad/Dropbox/ForOCR/IMG_20171201_161244.jpg /home/nurahammad/Desktop/test

If you like to see the result on terminal, try below command

tesseract [image_path] stdout

root@nur-HP:~# tesseract /home/nurahammad/Dropbox/ForOCR/IMG_20171201_161244.jpg stdout

I think it will help you for processing your Repository/Digital Library files


Tomcat Manually install in Debian and Ubuntu (Without apt-get method)

First download apache tomcat


Decompress the downloaded apache tomcat:

tar zxvf apache-tomcat-7.0.76.tar.gz

Now move the decompressed file in the following location:

mv apache-tomcat-7.0.76 /opt/tomcat

Install java

apt-get install default-jdk

Set the environment variables in .bashrc:

nano ~/.bashrc

Add the following lines to the end of the file:

export JAVA_HOME=/usr/lib/jvm/default-java
export CATALINA_HOME=/opt/tomcat

Simply save and exit .bashrc, then make the changes effective by running the following command:

. ~/.bashrc

To start Tomcat, run the following script:


You should get a result similar to:

Using CATALINA_BASE: /opt/tomcat
Using CATALINA_HOME: /opt/tomcat
Using CATALINA_TMPDIR: /opt/tomcat/temp
Using JRE_HOME: /usr/lib/jvm/default-java
Using CLASSPATH: /opt/tomcat/bin/bootstrap.jar:/opt/tomcat/bin/tomcat-juli.jar
Tomcat started.

Test through web browser by the address:


DSpace Manual for BALID Trainee

Training on DSpace Institutional Repository Organized by BALID Institute of Information Management (BIIM)

1-2 May 2014



DSpace Installation on Debian

 Add root password and create dspace as a user and enter password for dspace at the time of Debian installation. While installing Debian, select Desktop Environment, SQL database, SSH server & Standard System options.

 First create a dspace user in debian for Dspace, if you did not add at the time of Debian installation.

root@dir:~#adduser dspace

Add source list

root@localhost:~#nano /etc/apt/sources.list

Comment or erase all and add the followings:

deb squeeze/updates main contrib

deb-src squeeze/updates main contrib non-free

deb squeeze contrib non-free main

deb-src squeeze contrib non-free main


Upgrade the Software.

root@localhost:~#sudo apt-get update

root@localhost:~#sudo apt-get dist-upgrade

Then install other softwares as prerequisites for Dspace installation. It is a good approach to install sun-java6-jdk.

root@dir:~# apt-get install sun-java6-jdk

root@dir:~# apt-get install tomcat6

root@dir:~#apt-get install maven2

root@dir:~#apt-get install postgresql-8.4


(In training we are skipping the above four packages installation. We are going to install the above five packages with one command from CD.  In Training kits, we provide a CD which has all pre-requisites of Dspace installation in .deb file extension. You can install all .deb packages with one command. )

First in enter in the directory which contain .deb files

 root@localhost:~#cd /media/cdrom/ dspacepackages/

root@localhost:/media/cdrom/dspacepackages# dpkg -i *.deb


After installing prerequisite softwares, create dspace database in postgresql for Dspace.


root@dir:~# cd /home/dspace/

root@dir:/home/dspace# su postgres

postgres@dir:/home/dspace$ createuser -U postgres -d -A -P dspace

Enter password for new role:

Enter it again:

Shall the new role be allowed to create more new roles? (y/n) n

postgres@dir:/home/dspace$ exit


root@dir:/home/dspace# su dspace

dspace@dir:~$ createdb -U dspace -E UNICODE dspace



Set Up Environment Variables:

root@dir:/home/dspace#sh -c ‘echo export PATH=$PATH:\”/usr/lib/jvm/java-6-sun/bin\” >> /etc/profile’

root@dir:/home/dspace# sh -c ‘echo export JAVA_HOME=\”/usr/lib/jvm/java-6-sun\” >> /etc/profile’

root@dir:/home/dspace# sh -c ‘echo export JRE_HOME=\”/usr/lib/jvm/java-6-sun/jre\” >> /etc/profile’


After that download the latest version of Dspace

root@dir:/home/dspace# wget


Untar the downloaded dspace

root@dir:/home/dspace#tar –zxvf dspace-4.1-src-release.tar.gz


We have dspace in training CD. We are not going to download it

root@dir:/home/dspace#tar –zxvf /media/cdrom/dspace-4.1-src-release.tar.gz


Set right configuration

root@dspace:/home/dspace# cd dspace-4.1-src-release/

root@dir:dapace-src-release#nano dspace/config/dspace.cfg


Thereafter build Dspace by running the following command

root@dir:/home/dspace/dspace-src-release#cd dspace

root@dir:/home/dspace/dspace-src-release/dspace# mvn package


[INFO] Scanning for projects…


[WARNING] Unable to get resource ‘org.dspace:dspace-pom:pom:10’ from repository central

( Error transferring file:

[INFO] ————————————————————————


[INFO] ————————————————————————

[INFO] Error building POM (may not be this project’s POM).

Project ID: org.dspace:dspace-parent:pom:1.8.2

Reason: Cannot find parent: org.dspace:dspace-pom for project: org.dspace:dspace

for project org.dspace:dspace-parent:pom:1.8.2


[INFO] ————————————————————————

[INFO] Trace

org.apache.maven.reactor.MavenExecutionException: Cannot find parent: org.dspace

If you have problem in your Internet connectivity, you will get the above messages. These messages

also can get, if you have proxy in your Internet connectivity. To solve this problem, set proxy in you

maven configuration file.


root@dir:/home/dspace/dspace-src-release/dspace#nano /etc/maven2/settings.xml


Uncomment and set you proxy in the following section-














root@dir:/home/dspace/dspace-src-release/dspace# mvn package

root@dir:/home/dspace/dspace-src-release/dspace# cd target/dspace-4.1-build/

root@dir:/home/dspace/dspace-src-release/dspace/target/dspace-4.1-buildr# ant fresh_install


To complete installation, you should do the following:

Setup your Web servlet container (e.g. Tomcat) to look for your DSpace web applications in:



copy any web applications from /home/dspace/webapps/ to the appropriate place for your servlet

container. (e.g. ‘$CATALINA_HOME/webapps’ for Tomcat)


root@dir:/home/dspace/dspace-src-release/dspace#cp -r /dspace/webapps/* /var/lib/tomcat6/webapps/



Create Dsapce administrator by using the command

root@dir:/home/dspace/dspace-src-release/dspace# /home/dspace/bin/dspace create-administrator


Assign permission to dspace installation directory

root@dir:/home/dspace/dspace-src-release/dspace#chmod -R 777 /dspace/*


Finally you can get your Dsapce by pointing the address in your web browser:



If ant fresh_install fail to download GeoLiteCity do the following-

In order to use DSpace Solr Usage Statistics, you will need to

manually re-run:

ant update_geolite


You may manually install this file by following these steps:

(1) Download the file from

(2) Unzip it to create a file named ‘GeoLiteCity.dat’

(3) Copy that file to ‘/dspace/config/GeoLiteCity.dat’

Configuration and Customization of Dspace

We have to change the following sections at the time of DSpace installation. Before the command “mvn package”

The location of main Dspace configuration file is –   



##### Basic information ######


# DSpace installation directory

dspace.dir = ${dspace.install.dir} Put your Dspace installation Directory


# DSpace host name – should match base URL. Do not include port number.

dspace.hostname = ${dspace.hostname} Assign your hostname here


# DSpace base host URL. Include port number etc.

dspace.baseUrl = ${dspace.baseUrl}


# DSpace base URL. Include port number etc., but NOT trailing slash

# Change to xmlui if you wish to use the xmlui as the default, or remove

# “/jspui” and set webapp of your choice as the “ROOT” webapp in

# the servlet engine.

dspace.url = ${dspace.baseUrl}/xmlui


# Name of the site = ${} Write your Dspace name here


# Default language for metadata values

default.language = ${default.language}


##### Database settings #####


# Database name (“oracle”, or “postgres”) = ${}


# Database username and password

db.username = ${db.username}

db.password = ${db.password} Insert your database password here


# From address for mail

mail.from.address = ${mail.from.address} Put your E-mail Address here


# Currently limited to one recipient!

feedback.recipient = ${} Put your E-mail Address here


# General site administration (Webmaster) e-mail

mail.admin = ${mail.admin} Put your E-mail Address here


# Recipient for server errors and alerts

alert.recipient = ${mail.alert.recipient} Put your E-mail Address here


# Recipient for new user registration emails

registration.notify = ${mail.registration.notify} Put your E-mail Address here



# Boolean search operator to use, current supported values are OR and AND

# If this config item is missing or commented out, OR is used

# AND requires all search terms to be present

# OR requires one or more search terms to be present

search.operator = OR Define your default search operator here


##### Handle settings ######

#handle.canonical.prefix = ${dspace.url}/handle/ Uncomment it to use your own URL

# If omitted, the canonical URL prefix will be

handle.canonical.prefix = ${handle.canonical.prefix} Comment it to use your own URL


# CNRI Handle prefix

handle.prefix = ${handle.prefix} Comment it to use your own URL


##### Settings for item count (strength) information #### = false Change this to truefor enabling Item-counter


# The default is to use a cache

# webui.strengths.cache = true Uncomment this line


# Set to true to use local server URLs (i.e. http://myserver.myorg/handle/123456789/1)

webui.feed.localresolve = false Set it to true to use your own URL


#### Controlled Vocabulary Settings #####

# Enable or disable the controlled vocabulary add-on

# Warning: this feature is not compatible with WAI (it requires javascript to function)


# webui.controlledvocabulary.enable = true Uncomment this line to enable controlled vocabulary