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

6 comments:

  1. Hey , to all Barrio-Tech people .
    You can consider the tutorial for your data bank,digital repository and file system storage.Try this eprints software opern source ,robust ,portable ,flexible and the good thing above all things-it is free.


    Thanks.

    ReplyDelete
    Replies
    1. Can u help me by giving the various steps to moving an exisitng eprints repository to a new machine ?

      Eprints version 3.1.3., Os: Ubuntu 12.04

      Delete
    2. Hi Sumesh,

      Good Day.

      Here is the part II of my ePrints documentations.\
      http://cobecoballes-linux.blogspot.com/2010/05/commecial-grade-repositoryeprints.html

      In no. 6 , I'd discussed how-to migrate your old eprint server to a new server.

      If you have some other questions please don't hesitate to ask.

      You may subscribe to this blog by following the followers site.


      Thanks..

      -E^3

      Delete
    3. Hi ,

      Thank you very much for the reply.

      My running server is Ubuntu 10.04, and after doing some homeworks , I like to install Centos 6.3 for the new server. Eprints version remains same , 3.1.3. Change of OS & distribution causes any issues ???

      If I am creating same filesystem path for the new server and dumping the same database, is it necessary to run the scripts under 'bin' directory ?

      Because I am asking this is, I have to move eprints to a new server machine, with same hostname and url, with minimizing the offline time. My present server have 9000+ records, data directory 28GB + database file more then 4GB. When I tried with a dummy name for the new server, the scripts like generate_views, generate_static took few days , still not yet finished.

      And another thing I notices is that , .configure --prefix=< directory>, it show everything ok, except

      checking for Perl module: Apache... no
      checking for Perl module: Apache2... no

      I felt some delay in getting response for dynamic content(Some time, that can't tolerate), and http goes 99 or 100 % utilization upto getting the results. Static files works ok.

      Expecting your suggestion

      Thanks

      Sumesh

      Delete
    4. Hello Sumesh,


      Good Day.

      Ok,

      1) You need to back up your Files :)
      2) Just to run your eprints with no troubles,they you should be with the same version,later you can upgrade to a much higher version
      3) I used Fedora yet CentOS is also ok => the change of distribution causes no issues
      4) You should run it according to its ownership -a root or a user defend on your preferences.

      5) You should check the perl module if its available , take a look the pointing of path so that apache(try apache or say apache2 :)) will able to determine and uses whatever that modules is.

      6) Again check other process intervening it ..(libraries, modules ) ps -aux.. can check that..


      Thanks

      E^3
      Philippines

      Delete
  2. I have installed eprint3 on ubuntu 12.03 successfully...It is working on the same system...When I connect it to lan(Local Area Network) and try from other system using ip address...only home page is opening...I have already configured DNS,,,but no use...Please help me to find the right configuration....so that i can configure properly...

    If you have any suggestion pls write to me in my mail ...

    Name : Anjan Sarkar
    e-Mail Id : anjan.mca@gmail.com
    Country- India

    ReplyDelete