Showing posts with label DSpace. Show all posts
Showing posts with label DSpace. Show all posts

Wednesday, April 14, 2010

EPrints Complete Metadata Repository

I would like to introduce my new task no other than exploring Web Metadata repository , a sort of Wiki database that our Institution needs to be implemented. So, I don't have the second thought to blog the progress here and as I knew this can be helpful to IT practicioner who required a likewise system . Actually there is another rival with the same approach of service -the DSpace (designed by an MIT Software Engineers), but as of now I keep my self sticking to this forum's review "http://www.oaforum.org/resources/tvtoolscomp.php" though I might consider comparing the two repositories as from time to time for they both have an excellent features to offer.

As of the moment , I am going to focus on E-Prints as it saying goes" E-Prints World's best practice"-well,let's see and I am a little bit excited.

1)Introductions:
EPrints is developed at the School of Electronics and Computer Science, University of Southampton, UK.

2)Objectives:

3)Review of related literatures

4) Requirements(Download & Installations):
Actually we have four(4) Software packages (including its addons)required to setup an Eprints repository
1)Apache (for Server)
2)Perl(Web Gui)
3)Mysql (Data base)
4)Eprints(Repository apps)

[ Tips on downloading: Tools and locations]
1)If we want to install all the included packages ,here is the direct link of e-prints' extra softwares:
http://www.eprints.org/files/tools/

2)But if you are deligent enough to download it one by one please goto to thier respective official sites:

3) Using Yum downloader/installer for the following addons
yum install lynx
yum install wget
yum install glib2-devel
yum install libxml2-devel
yum install glib-devel
yum install zlib-devel
yum install tetex-latex
yum install imagemagic
yum install libxml2-devel.i386
yum install perl-XML-Parser-2.34-6.1.2.2.1.i386
yum install perl-XML-RSS-LibXML
yum install perl-XML-Xerces
yum install perl-XML-Writer

4)Using cpan as perl addons downloader
export ftp_proxy="your_proxy:port" // export ftp_proxy=10.36.192.4:8080
cpan

perl -MCPAN -e shell
install Data::ShowTable
install MIME::Base64
install Unicode::String
install Term::ReadKey
install Readonly ******NEW*******
install MIME::Lite
install XML::LibXML
install CGI
5) Download the following files:
wget http://gdome2.cs.unibo.it/rpm/gdome2-0.8.1-1.i386.rpm
wget http://gdome2.cs.unibo.it/rpm/gdome2-devel-0.8.1-1.i386.rpm
wget http://cpan.uwinnipeg.ca/cpan/authors/id/T/TJ/TJMATHER/XML-GDOME-0.86.tar.gz

APACHE 2.X.X

root.localhost# yum install httpd
root.localhost# /sbin/chkconfig httpd one
-----------------------------------------------------------------------------------------------------------------------------------
1. Install Apache 2.0 or later
Apache is the most commonly used web server in the world, and it's free! EPrints requires Apache to be configured with mod_perl, as this allows Apache modules that are entirely written in perl, hence providing much improved efficiency.
  • Uncompress and extract the files using the command
    • #tar -zxvf httpd-2.0.49.tar.gz
  • Go to the directory it creates like httpd-version
    • #cd httpd-2.0.49
  • Run the following commands
    • #./configure --prefix=/usr/local/apache2 --enable-so
    • # make
    • # make install
  • Open the file /usr/local/apache2/conf/httpd.conf and make the following changes (vi or any editor can be used to open file)
    • Search and Replace www.new.com with IP address or hostname of your machine. Uncomment the line.
    • locate the line #ServerName and Replace with your servername.
  • Start Apache Server by the command and check for the status of the web server
    • /usr/local/apache2/bin/apachectl start
  • Open the browser and browse the default page at the URL: http://ip-no-machine-or-hostname/
  • If you are able to view apache page on your browser, it means that you have successfully installed Apache.
-----------------------------------------------------------------------------------------------------------------------------
MYSQL
root.localhost# yum install mysql mysql-server
root.localhost# /sbin/chkconfig mysqld on
------------------------------------------------------------------------------------------------------------------------------
  • Uncompress and extract the files by the command
    • # tar -zxvf mysql-standard-5.0.xx-pc-linuxi686.tar.gz
  • Rename the folder it create like mysql-standard-5.0.xx-pc-linux-i686 to 'mysql' by the command
    • mv mysql-standard-5.0.xx-pc-linux-i686 mysql
  • Create mysql group and mysql user to run database server as mysql user by the commands
    • # /usr/sbin/groupadd mysql
    • # /usr/sbin/useradd -g mysql mysql
  • Go to mysql directory using the command
    • # cd mysql
  • Run the script to install MySQL database
    • # ./scripts/mysql_install_db
  • Change the ownership and group of data directory to mysql
    • # chown -R root data
    • # chgrp -R mysql data
  • Start MySQL server by command
    • # ./bin/mysqld_safe --user=mysql &
------------------------------------------------------------------------------------------------------------------------------
PERL
root.localhost# yum install mod perl
------------------------------------------------------------------------------------------------------------------------------
  • Uncompress and extract the files using the command
    • # tar -zxvf mod_perl-2.0-current.tar.gz
  • Go to the directory it creates like mod_perl-version
    • # cd mod_perl-2.0
  • Configure it for Apache web server using the command
    • perl Makefile.PL - MP_APXS=/usr/local/apache2/bin/apxs
  • Run the following commands to compile and install
    • make
    • make install
  • Open the file /usr/local/apache2/conf/httpd.conf and add a line as shown
    • LoadModule perl_module modules/mod_perl.so
------------------------------------------------------------------------------------------------------------------------------
GDOME
root.localhost# cd /usr/local/(here is the directory
  1. Attempted to excecute rpm -Uvh gdome2-0.8.1-1.i386.rpm gdome2-devel-0.8.1-1.i386.rpm system reported failed dependancy glib2-devel >= 2.2.0 is needed by gdome2-devel
  2. yum install “glib2-devel.*” (system installed glib2-devel.i386 0:2.12.3.2.fc6)
  3. rpm -Uvh gdome2-0.8.1-1.i386.rpm gdome2-devel-0.8.1-1.i386.rpm (installed ok)
  4. The following section is from the eprints wiki it outlines a bug that needs fixing
  5. Fix the bug in gdome-config
    To see if the bug is a problem run:
    gdome-config --libs
    If you get something like:
    /usr/bin/gdome-config: line 86: --libs: command not found
    /usr/bin/gdome-config: line 87: --cflags: command not found
    then you need to fix the bug. Don't worry, it's easy.
    As root edit /usr/bin/gdome-config
    vi /usr/bin/gdome-config
    Around line 88 find these two lines:
    the_libs="$the_libs -L${exec_prefix}/lib -lgdome ` --libs` `xml2-config --libs`"
    the_flags="$the_flags -I${prefix}/include -I${prefix}/include/libgdome ` --cflags` `xml2-config --cflags`"
    And change them to this:
    the_libs="$the_libs -L${exec_prefix}/lib -lgdome `/usr/bin/glib-config --libs` `xml2-config --libs`"
    the_flags="$the_flags -I${prefix}/include -I${prefix}/include/libgdome `/usr/bin/glib-config --cflags` `xml2-config --cflags`"
------------------------------------------------------------------------------------------------------------------------------
  • tar xzvf XML-GDOME-0.86.tar.gz
  • cd XML-GDOME-0.86
  • perl Makefile.PL
  • yum install gcc.i386 (compiler did not come standard with CentOS 5)
  • make
  • make install
  • cd /usr/local/build
-------------------------------------------------------------------------------------------------------------------------
REPOSITORY " ePrints"
[IMPORTANT]
root.localhost# adduser eprints
root.localhost# su eprints
root.localhost# cp eprints.3.2.0.tar.gz /usr/local/
root.localhost# tar -zxvf eprints.3.2.0.tar.gz
root.localhost# cd eprints.3.2.0
root.localhost# /configure --prefix=/usr/local/eprints3 -with-smtp-server=smtp.mainlib.xxd.edu.ph --disable-diskfree -with-user=eprints -with-perl=/usr/bin/perl -with-apache=2
bash: /configure: No such file or directory

root.localhost# ./install.pl

Note:
If you want to know the path of perl,apache mysql and etc use "which" command.
Example : to know where is the path/directory of perl you may type "which perl"
root.localhost# /usr/bin/perl

CREATING AN REPOSITORY ARCHIVE

Please select an ID for the repository, which will be used to create a directory and identify the repository. Lower case letters and numbers, may not start with a number. examples: "lemurprints" or "test3"
root.localhost@ /usr/local/eprints3/bin/epiadmin create

Archive ID? eprints
We need to create /var/lib/eprints3/archives/uclapr, doing it now...
Getting uid and gid information for apache
UID: 48
GID: 48
Configure vital settings? [yes] ? yes
Hostname? localhost
Webserver Port [80] ? 80
Alias (enter # when done) [#] ? #
Administrator Email? ******@yahoo.com
Archive Name [Test Repository] ? Data Center,XX Diliman
Write these core settings? [yes] ? yes
Configuring Database for: eprints
Database Name [eprints] ? eprints DB
MySQL Host [localhost] ? localhost
MySQL Port (# for no setting) [#] ?
MySQL Socket (# for no setting) [#] ?
Database User [******] ?
Database Password?
Write these database settings? [yes] ? yes
Create database "eprints DB" [yes] ? yes
MySQL Root Password?
Create database tables? [yes] ? yes
Create an initial user? [yes] ? yes
Enter a username [admin] ? admin
Select a user type (user|editor|admin) [admin] ? admin
Enter Password? *****************
Email? *******@yahoo.com
Do you want to build the static web pages? [yes] ? yes
Do you want to import the LOC subjects? [yes]
Do you want to update the apache config files? (you still need to add the 'Include' line) [yes] ? yes 


Detail() First screenshot of Eprints


Detail() Manage depositing files


Detail() Modifying webpage layout



Detail() Modified and sample tested repository


5) Methodology /Howtos:

6) Scope of Works:
Build an Opensource ,online multiple multimedia repository(Eprints got it all!)

7) Evaluations and Testings:
Configuring the Metadata Repository
Configuring the MySQL dataBase
Authenticating Eprints

8) Remarks/Summary:
Well, after reviewing the use of Eprints as a repository Dbase(Mysql) ,apache configurations and downloading addons. Though I have already setup its GUI interface am still on testing the robustness of the system -just hang on for a moment and soon some feedbacks of mine will be posted again here.

Recently we've decide to deploy eprints into a productions and added remarks for the installations of eprints in a 64 bit quad core (Intel Xeon) server.Well,Its all about the software installations as much as possible keeping all the module installed could be a good habit, especially for a fast web browsing speed of eprints
perl-Atom, perl-RSS,perl-Ajax and etc.Apache writer also must enable (/etc/httpd/modules/*.o. Sometimes we keep on suspecting to anything that cause hard bugs into our system but it could be prevented if we could install all the modules requirements completely.


9) Conclusions:
Eprints meets all the requirements of a complete digital repository.

Thanks

E^3