Install EPrints 3.4 on Ubuntu 22.04: A Step-by-Step Tutorial

EPrints is an open-source institutional repository software specifically designed to support the management and distribution of digital collections in academic environments. Developed by the University of Southampton in 2000, EPrints has become one of the most well-known and widely used repository solutions worldwide.

EPrints aims to facilitate academic institutions, libraries, and other organizations in managing, storing, and distributing their intellectual output digitally. The software is designed to support open access, ensuring that scholarly information can be accessed and utilized by the public at large.

In this tutorial, we will learn how to install EPrints 3.4 with the following specifications:

  • Vultr Cloud Server: 1 CPU, 1 GB RAM, 32 GB Storage
  • Operating System: Ubuntu 22.04 LTS
  • Subdomain: repo.aminlabs.my.id
  • SSL: Let’s Encrypt
  • Database: MySQL v8.0
  • EPrints: EPrints v3.4.5
  • Installation method: installation from the source on GitHub

Note: Register here to get $100 free credit from Vultr.

Step 1: Install required dependencies

Connect to your server and ensure your system packages are up-to-date:

Note: This tutorial uses the root user.

Install all the dependencies for EPrints:

Step 2: Install MySQL

Install MySQL server and client:

Login to MySQL:

Create MySQL eprints user:

Step 3: Create the EPrints user

Create the EPrints user:

Open file /etc/apache2/envvars:

Update Apache configuration to use the eprints user and group by ensuring the specified lines:

Restart Apache:

Step 4: Download EPrints source

Create a directory for the EPrints source:

Download the EPrints source from GitHub:

Switch to EPrints v3.4.5:

Step 5: Create Repository

Create a publications flavour archive:

Enter archive ID:

Configure vital settings, press ENTER:

Enter the hostname for the repository:

Note: Make sure to replace your_subdomain with your actual subdomain.

Webserver port, press ENTER:

Alias for hostname, press ENTER:

Repository’s base URL, press ENTER:

Enter hostname for HTTPS:

Secure webserver port, press ENTER:

Enter email for administrator account:

Enter the name of the repository:

Enter organisation name:

Writer the core settings, press ENTER:

Configure database, press ENTER:

Database configuration, press ENTER:

Enter MySQL superuser:

Create administrator account:

Build the static web pages, press ENTER:

Import the LOC subjects and sample, press ENTER:

Update the apache config files, press ENTER:

The repository creation is complete, but additional configuration needs to be added in Apache.

Step 6: Configure Apache

Switch from the eprints user to the root user:

Adding ServerName Public_IP_Address to the default virtual host configuration:

Adding the generated eprints configuration to apache.conf:

Restart Apache:

Check the status of the UFW firewall:

If UFW is active, allow HTTP and HTTPS ports:

Browse the hostname or subdomain of the repository to test whether EPrints is accessible:

EPrints dengan protokol HTTP
EPrints with HTTP protocol

Step 7: Configure HTTPS using Let’s Encrypt SSL

Install certbot:

Requesting an SSL certificate for the repository subdomain:

Example message displayed when the SSL certificate request is successful:

Switch to the eprints user:

Create a ssl directory inside the archive directory:

Create a securevhost.conf file in the ssl directory:

Insert the following virtual host configuration for HTTPS:

Regenerate the Apache configuration for EPrints:

Example message displayed when Apache configuration regeneration is successful:

Switch from the eprints user to the root user:

Adding the eprints configuration for HTTPS securevhost.conf to apache.conf:

Enable SSL module and restart Apache:

Browse the hostname or subdomain of the repository to test the results of the HTTPS configuration to see if it is accessible. Also, perform login testing:

EPrints dengan protokol HTTPS
EPrints with HTTPS protocol

Congratulations! We have successfully installed EPrints 3.4 on Ubuntu 22.04 LTS using the source code from GitHub, configured a subdomain, and secured it with Let’s Encrypt SSL. We can now begin utilizing EPrints as an institutional repository.

If you found this article helpful and would like to support my work, consider making a donation through PayPal. Your support helps me continue creating useful content and tutorials. Thank you!

Donate via PayPal: https://paypal.me/musaamin

Leave a Reply

Your email address will not be published. Required fields are marked *