Installing ePrints from source on Fedora Core 11

Download eprints-3.1.x.tar.gz from

1. Empowered as super users


2. Install required packages

yum install -y rpmbuild wget elinks tetex-latex mod_perl perl-Unicode-String perl-MIME-Lite perl-XML-LibXML perl-XML-Parser perl-DBI perl-DBD-mysql xpdf gdome2 gdome2-devel ImageMagick

3. RPM Build

rpmbuild -ta eprints-x.x.x.tar.gz

4. Install the rpm

rpm -i /path/to/eprints … rpm (ie. /root/rpmbuild/RPMS/noarch/eprints3-eprints-1.fc11.noarch.rpm)

5. Install MySQL

yum install -y mysql mysql-server

6. Start MySQL

/etc/init.d/mysqld start

7. Set MySQL root password

mysql -u root
SET PASSWORD FOR ‘root’@localhost = PASSWORD(‘new_password’);

8. Change user to ‘eprints’

su eprints

9. Go to eprints directory

cd (Should be in /opt/eprints3)

10. Create a repository archive

./bin/epadmin create
(follows the installation process)

11. Update apache configuration file

vi /etc/httpd/conf/httpd.conf
Add: Include /opt/eprints3/cfg/apache.conf
Save and Exit

12. Restart Apache

Restart Apache
/etc/init.d/httpd restart

13. Using eprints

ePrints can be accessed via a web browser

Note: For testing purposes only!!! Running eprints on a ‘fake’ hostname is done by editing the hosts file:
For example if eprints is set to run under but we haven’t got that domain. Getting around it is to:
1. Edit hosts file

vi /etc/hosts

2. Restart the interface

service network restart

3. ePrints can be accessible from


Installing ePrints 3.1 on Redhat 4

How to install ePrints 3.1 on Redhat 4

This is a record of my ePrints installation. It is heavily based on the wiki from

1. Change user to root:

$ su

2. Go to home directory:

# cd

3. Create a directory called eprints:

# mkdir eprints

4. Go to eprints directory:

# cd eprints

5. Download eprints from

# wget

6. Unarchive it

# tar xzvf eprints-3.1.3.tar.gz

7. Installing the dependencies:

# up2date –nox -u httpd wget gzip xpdf lynx unzip
# up2date –nox -u mod_perl perl-DBI perl-DBD-MySQL perl-XML-Parser
# up2date –nox -u mysql-server

8. Install perl modules:

# cpan
> install Data::ShowTable
> install MIME::Base64
> install Unicode::String
> install Term::ReadKey
> install Readonly
> install MIME::Lite
> install XML::LibXML
> install CGI

9. Make sure mysqld and httpd starts after the reboot:

# /sbin/chkconfig mysqld on
# /sbin/chkconfig httpd on

10. Install GDOME:

# wget
# wget
# rpm -Uvh gdome2-0.8.1-1.i386.rpm gdome2-devel-0.8.1-1.i386.rpm

11. Fix the bug in gdome-config:

# vi /usr/bin/gdome-config


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`”


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`”

12. Install XML::GDOME:

# wget
# tar xzvf XML-GDOME-0.86.tar.gz
# cd XML-GDOME-0.86
# perl Makefile.PL
# make
# make install

13. Add eprints user:

# useradd eprints
# passwd eprints

14. Install ePrints:

# cd ..
# cd eprints-3.1.3
# ./configure
# ./

15. Set MySQL root password:

# /etc/init.d/mysql start
# mysql -u root
> SET PASSWORD FOR ‘root’@localhost = PASSWORD(‘new_password’);
> exit

16. Setup eprints archive:

# su eprints
# cd /opt/eprints3
# ./bin/epadmin create

17. Edit apache configurations:

# vi /etc/httpd/conf/httpd.conf

Add the following line at the end:

Include /opt/eprints3/cfg/apache.conf

Chage user to eprints:

User eprints
Group eprints

18. Restart apache:

# /etc/init.d/httpd restart


Recover Reset MySql Root Password

It has been a few weeks since I last touched the server and I couldn’t remember the root password for MySql. I’m lucky enough to find the following website, which tells me how to get around it.

The whole idea is very clever, all we need to do is to stop MySql process and start it without the permission mode. Then we can choose to reset the password and restart the MySql again.

$ sudo /etc/init.d/mysql stop

$ sudo mysqld_safe –skip-grant-tables &

$ mysql -u root

Now that we are in …

> use mysql

> UPDATE user SET password = PASSWORD(‘NEW-PASSWORD’) WHERE user = ‘root’;

> flush privileges;

> quit

Then re can restart the MySql and try to login with the new password.

$ sudo /etc/init.d/mysql restart

# mysql -u root -p