<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>https://wiki.eprints.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ajm</id>
	<title>EPrints Documentation - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.eprints.org/w/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Ajm"/>
	<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/Special:Contributions/Ajm"/>
	<updated>2026-04-16T15:03:20Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.31.8</generator>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16173</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16173"/>
		<updated>2023-12-11T14:11:15Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Added an anchor link to the Getting Started and Apache part of Installing EPrints 3.4.x from Source to make mentioning in an EP Tech article easier. May need a dedicated subheading in due course too.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''Ideally you will install from source from [https://github.com/eprints/eprints3.4 EPrints Core Git repository]. Installing from source is now the preferred way to install production repositories, having previously proved to be a useful installation method for those wishing to develop EPrints code or a plugin or Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3&lt;br /&gt;
 chown eprints:eprints /opt/eprints3&lt;br /&gt;
 chmod 2775 /opt/eprints3&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 cd /opt/eprints3/&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
&amp;lt;span id=&amp;quot;getting_started_and_apache&amp;quot;&amp;gt;EPrints&amp;lt;/span&amp;gt; is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the installation process.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Installing using RPM package ==&lt;br /&gt;
As of EPrints 3.4.5 RPM (.rpm) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a RPM package. As new operating systems (e.g. RHEL, Fedora, CentOS, Rocky Linux, etc.) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the RPM package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional RPM repositories or using CPAN).  However, the main concern of installation the RPM package, particularly through EPrints' RPM repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a RPM package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the RPM package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Extension_Packages&amp;diff=16154</id>
		<title>Extension Packages</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Extension_Packages&amp;diff=16154"/>
		<updated>2023-11-08T15:27:11Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Typo correction - reposityory -&amp;gt; repository&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Contribute]]&lt;br /&gt;
[[Category:Plugins]]&lt;br /&gt;
An extension package is a .tgz file containing multiple files which adds a suite of functionality when unpacked in the /opt/eprint3/archives/ARCHIVE_ID/ directory.&lt;br /&gt;
&lt;br /&gt;
An extension can be as simple as a plugin plus a css file or add a whole exciting suite of new features.&lt;br /&gt;
&lt;br /&gt;
Things you might want to put into an eprints extension package:&lt;br /&gt;
&lt;br /&gt;
* Plugins: archives/ARCHIVE_ID/cfg/plugins/EPrints/Plugin/...&lt;br /&gt;
* Themes: lib/themes/...&lt;br /&gt;
* scripts: archives/ARCHIVE_ID/bin/...&lt;br /&gt;
* CGI scripts: archives/ARCHIVE_ID/cgi/...&lt;br /&gt;
* autocompletion scripts: archives/ARCHIVE_ID/cgi/users/lookup/...&lt;br /&gt;
* phrase files for use by plugins or scripts: archives/ARCHIVE_ID/cfg/lang/.../phrases/...&lt;br /&gt;
* images, icons, javascript and css files to support your plugins or scripts: archives/ARCHIVE_ID/cfg/static/...&lt;br /&gt;
&lt;br /&gt;
Other things you might want to include are...&lt;br /&gt;
* configuration files &lt;br /&gt;
* repository specific phrase files&lt;br /&gt;
* autocompletion data files&lt;br /&gt;
&lt;br /&gt;
The handy thing is that plugins are autoloaded, .xml files in the phrases directory are autoloaded and .pl files in the archive cfg.d are autoloaded. So if you want to give your plugin some config options, you could just give a .pl file to copy into the cfg.d/ dir looking something like.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{extension}-&amp;gt;{my_cool_extension}-&amp;gt;{option_1} = 1;&lt;br /&gt;
 $c-&amp;gt;{extension}-&amp;gt;{my_cool_extension}-&amp;gt;{keep_alive} = &amp;quot;always&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
And access it in your code like:&lt;br /&gt;
&lt;br /&gt;
 $option_1 = $plugin-&amp;gt;{repository}-&amp;gt;conf( &amp;quot;extension&amp;quot;, &amp;quot;my_cool_extension&amp;quot;, &amp;quot;option_1&amp;quot; )&lt;br /&gt;
&lt;br /&gt;
etc.&lt;br /&gt;
&lt;br /&gt;
You could use a shorter path in the $c datastructure, but try and make sure it's distinct to your extension so clashes don't happen.&lt;br /&gt;
&lt;br /&gt;
 $c-&amp;gt;{PreviewPlus_alignment} = &amp;quot;vertical&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
and then&lt;br /&gt;
&lt;br /&gt;
 $option_1 = $plugin-&amp;gt;{repository}-&amp;gt;conf( &amp;quot;PreviewPlus_alignment&amp;quot; );&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16153</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16153"/>
		<updated>2023-10-14T11:20:21Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Changed heading types.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
== Configuration ==&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints but are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16152</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16152"/>
		<updated>2023-10-14T11:19:26Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Installing from Debian package */ Changed heading type.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
=== Installing from Debian package ===&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints but are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16151</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16151"/>
		<updated>2023-10-14T11:18:34Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Moved RPM installation method section to after Source Installation method section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints but are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16150</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16150"/>
		<updated>2023-10-14T11:14:13Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Downloading and Deploying EPrints Source */ Changed the order, so the two preferred methods came first.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints by are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16149</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16149"/>
		<updated>2023-10-14T11:11:06Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Dependencies and Pre-configuration */ Swapped links around - now 3.4 link is before the 3.3 link.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via git using the Core Git repositories [https://github.com/eprints/eprints3.4 EPrints 3.4] or [https://github.com/eprints/eprints EPrints 3.3], and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints by are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16148</id>
		<title>Installing EPrints on Debian/Ubuntu</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_Debian/Ubuntu&amp;diff=16148"/>
		<updated>2023-10-14T11:08:20Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Dependencies and Pre-configuration */  Changed production warning to production endorsement.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Debian and Ubuntu]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
== Requirements ==&lt;br /&gt;
* Ubuntu 18.04 LTS, 20.04 LTS or 22.04 LTS and (non-LTS versions not recommended) &lt;br /&gt;
* Debian 9 (Stretch), 10 (Buster) or Debian 11 (Bullseye) - These are not as comprehensively tested as Ubuntu LTS versions.&lt;br /&gt;
&lt;br /&gt;
== Installing from Debian package ==&lt;br /&gt;
As of EPrints 3.4.5 Debian (.deb) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a Deb package. As new operating systems (e.g. Debian and Ubuntu) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the Debian package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional APT repositories or using CPAN).  However, the main concern of installation the Debian package, particularly through EPrints' APT repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a Debian package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the Debian package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 DEBs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints from Source ==&lt;br /&gt;
&lt;br /&gt;
=== Dependencies and Pre-configuration ===&lt;br /&gt;
'''The ideal way to install from source is via [https://github.com/eprints/eprints EPrints 3.3] or [https://github.com/eprints/eprints3.4 EPrints 3.4] Core Git repositories, and installing from a source tarball is generally discouraged.'''&lt;br /&gt;
&lt;br /&gt;
'''Installing from source via git is now the recommended  way to install EPrints for production repositories, after having proved to be a useful installation method to those seeking to develop the EPrints code, develop a plugin or develop a Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, as the root user install all the dependencies for EPrints:&lt;br /&gt;
&lt;br /&gt;
 apt-get install perl libncurses5 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \&lt;br /&gt;
   libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \&lt;br /&gt;
   libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \&lt;br /&gt;
   liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \&lt;br /&gt;
   texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \&lt;br /&gt;
   libtex-encode-perl libio-string-perl libdbd-mysql-perl python3-html2text make&lt;br /&gt;
&lt;br /&gt;
If you are installing on Ubuntu, install MySQL server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mysql-server mysql-client&lt;br /&gt;
&lt;br /&gt;
If you are installing on Debian, install MariaDB server and client:&lt;br /&gt;
&lt;br /&gt;
  apt-get install mariadb-server mariadb-client&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Now, update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in &amp;lt;code&amp;gt;/etc/apache2/envvars&amp;lt;/code&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 export APACHE_RUN_USER=eprints&lt;br /&gt;
 export APACHE_RUN_GROUP=eprints&lt;br /&gt;
&lt;br /&gt;
=== Downloading and Deploying EPrints Source ===&lt;br /&gt;
==== EPrints 3.3.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.3.16&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x for GitHub ====&lt;br /&gt;
&lt;br /&gt;
 apt install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
==== EPrints 3.4.x from files.eprints.org ====&lt;br /&gt;
&lt;br /&gt;
 cd /tmp/&lt;br /&gt;
 wget https://files.eprints.org/2789/7/eprints-3.4.5.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5.tar.gz&lt;br /&gt;
&lt;br /&gt;
Then put in the source code in place:&lt;br /&gt;
&lt;br /&gt;
 mv eprints-3.4.5 /usr/share/eprints&lt;br /&gt;
 chmod 2775 /usr/share/eprints&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints&lt;br /&gt;
&lt;br /&gt;
If you want a publications flavoured repository, then also:&lt;br /&gt;
&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 mv eprints-3.4.5/flavours/pub_lib /usr/share/eprints/flavours&lt;br /&gt;
 chmod -R g+w /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
 chown -R eprints:eprints /usr/share/eprints/flavours/pub_lib&lt;br /&gt;
&lt;br /&gt;
=== Configuration ===&lt;br /&gt;
Next, as the eprints user copy &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm.tmpl&amp;lt;/code&amp;gt; to &amp;lt;code&amp;gt;EPRINTS_PATH/perl_lib/EPrints/SystemSettings.pm&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;EPRINTS_PATH&amp;lt;/code&amp;gt; will be either &amp;lt;code&amp;gt;/usr/share/eprints3/&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;/usr/share/eprints&amp;lt;/code&amp;gt; depending on which instructions you followed above.&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at &amp;lt;code&amp;gt;EPRINTS_PATH/&amp;lt;/code&amp;gt;. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
=== Post-configuration ===&lt;br /&gt;
Next, add the file &amp;lt;code&amp;gt;/etc/apache2/sites-available/eprints.conf&amp;lt;/code&amp;gt; with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include EPRINTS_PATH/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
To enable this as root run the command:&lt;br /&gt;
&lt;br /&gt;
 a2ensite eprints&lt;br /&gt;
&lt;br /&gt;
Also it may be necessary to disable the default site otherwise the default Apache page will still be shown:&lt;br /&gt;
&lt;br /&gt;
 a2dissite 000-default&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
 service apache2 restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
=== Useful commands for source development and testing ===&lt;br /&gt;
The following commands may be useful for those developing or testing EPrints by are not necessary for installing EPrints.&lt;br /&gt;
==== Install EPrints build dependencies ====&lt;br /&gt;
 apt-get build-dep eprints&lt;br /&gt;
==== Get EPrints source ====&lt;br /&gt;
 apt-get source eprints&lt;br /&gt;
==== Rebuilding ====&lt;br /&gt;
To change the way the eprints builds you can edit the debian/rules file (the only line you will want is the configure one). Once done you can then type &amp;lt;code&amp;gt;dpkg-buildpackage -rfakeroot&amp;lt;/code&amp;gt; from the root dir of the extracted tarball. &lt;br /&gt;
&lt;br /&gt;
This will build you a .deb in the directory above your current location, which can then be installed usinging dpkg:&lt;br /&gt;
 dpkg -i ../eprints-X.X.X_all.deb&lt;br /&gt;
&lt;br /&gt;
Alternatively you can configure and install it yourself (a non debian specific version) by configuring manually and then running install.pl:&lt;br /&gt;
 $ ./configure --with-smtp-server=smtp.yourdomain&lt;br /&gt;
 $ sudo ./install.pl&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 18.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 18.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 20.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 20.04}}&lt;br /&gt;
&lt;br /&gt;
=== Ubuntu 22.04 LTS ===&lt;br /&gt;
{{:Issues with Installing EPrints on Ubuntu 22.04}}&lt;br /&gt;
&lt;br /&gt;
=== Debian Known Issues ===&lt;br /&gt;
See [[Debian Known Issues]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16147</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16147"/>
		<updated>2023-10-14T10:58:59Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Non-critical Dependencies */  not included as part of the RPM installation -&amp;gt; not included as part of the installation process&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''Ideally you will install from source from [https://github.com/eprints/eprints3.4 EPrints Core Git repository]. Installing from source is now the preferred way to install production repositories, having previously proved to be a useful installation method for those wishing to develop EPrints code or a plugin or Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the installation process.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Installing using RPM package ==&lt;br /&gt;
As of EPrints 3.4.5 RPM (.rpm) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a RPM package. As new operating systems (e.g. RHEL, Fedora, CentOS, Rocky Linux, etc.) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the RPM package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional RPM repositories or using CPAN).  However, the main concern of installation the RPM package, particularly through EPrints' RPM repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a RPM package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the RPM package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16146</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16146"/>
		<updated>2023-10-14T10:57:46Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Moved RPM installation method section to after Source Installation method section.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''Ideally you will install from source from [https://github.com/eprints/eprints3.4 EPrints Core Git repository]. Installing from source is now the preferred way to install production repositories, having previously proved to be a useful installation method for those wishing to develop EPrints code or a plugin or Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the RPM.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Installing using RPM package ==&lt;br /&gt;
As of EPrints 3.4.5 RPM (.rpm) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a RPM package. As new operating systems (e.g. RHEL, Fedora, CentOS, Rocky Linux, etc.) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the RPM package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional RPM repositories or using CPAN).  However, the main concern of installation the RPM package, particularly through EPrints' RPM repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a RPM package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the RPM package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16145</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16145"/>
		<updated>2023-10-14T10:53:59Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Installing EPrints 3.4.x from Source */ Brought the recommendation for production use from the end of the second sentence, to the start of it.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing using RPM package ==&lt;br /&gt;
As of EPrints 3.4.5 RPM (.rpm) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a RPM package. As new operating systems (e.g. RHEL, Fedora, CentOS, Rocky Linux, etc.) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the RPM package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional RPM repositories or using CPAN).  However, the main concern of installation the RPM package, particularly through EPrints' RPM repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a RPM package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the RPM package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''Ideally you will install from source from [https://github.com/eprints/eprints3.4 EPrints Core Git repository]. Installing from source is now the preferred way to install production repositories, having previously proved to be a useful installation method for those wishing to develop EPrints code or a plugin or Bazaar package too.'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the RPM.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16144</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16144"/>
		<updated>2023-10-14T10:47:33Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Installing EPrints 3.4.x from Source */ Reworded warning against production use into endorsement for production use.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing using RPM package ==&lt;br /&gt;
As of EPrints 3.4.5 RPM (.rpm) packages will no longer be produced.  Due to the complexity of the installation process there are a number of inherent problems with installing using a RPM package. As new operating systems (e.g. RHEL, Fedora, CentOS, Rocky Linux, etc.) are released the available packages have changed.  This often leads to packages upon which that EPrints depends ceasing to be available.  This makes it very difficult or impossible to install the RPM package, as well as requiring retrospective effort to install packages using other sources, (e.g. additional RPM repositories or using CPAN).  However, the main concern of installation the RPM package, particularly through EPrints' RPM repository, is that it can lead to EPrints being upgraded automatically to a new version.  Upgrading EPrints using a RPM package is likely to lead to EPrints producing errors, as configuration changes are often required as part of the upgrade process.  Automating these changes within the RPM package would be all but impossible due to EPrints' high level of customisability.&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''Ideally you will install from source from [https://github.com/eprints/eprints3.4 EPrints Core Git repository]. Installing from source was previously most useful for those wishing to develop EPrints code or a plugin or Bazaar package, and is now the preferred way to install for production repositories too.'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the RPM.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16138</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16138"/>
		<updated>2023-10-09T19:45:49Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Troubleshooting */  - minor typo edits - (in successful -&amp;gt; is successful) - (can access -&amp;gt; cannot access)&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing from EPrints RPM ==&lt;br /&gt;
&lt;br /&gt;
=== Installing from rpm.eprints.org ===&lt;br /&gt;
'''Please note that rpm.eprints.org is no longer fully supported and packages are no longer signed.  It is planned to start signing packages again in the future but there have been some issues with the signing keys.'''&lt;br /&gt;
&lt;br /&gt;
* As root, using yum (or dnf in RHEL/CentOS 8+ and more recent Fedora versions) install ''epel-release'' package so ''eprints'' RPM dependencies can be met from the EPEL repository where necessary:&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
* As root, edit /etc/yum.repos.d/eprints.repo and add the following (If you want to install EPrints 3.3 rather than EPrints 3.4 change the baseurl to ''http://rpm.eprints.org/eprints3''):&lt;br /&gt;
 [eprints_3_4]&lt;br /&gt;
 name=EPrints Repository Software - $basearch&lt;br /&gt;
 baseurl=http://rpm.eprints.org/eprints3.4&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
* As root, now run one of the following commands to download the cache for this new package repositories.  You may be prompted to accept the GPG key for the EPEL repository:&lt;br /&gt;
 yum makecache&lt;br /&gt;
 dnf makecache&lt;br /&gt;
&lt;br /&gt;
* Finally, install EPrints using yum (or dnf):&lt;br /&gt;
 yum install eprints&lt;br /&gt;
 dnf install eprints&lt;br /&gt;
&lt;br /&gt;
=== Installing RPM locally ===&lt;br /&gt;
* Download latest RPM for EPrints 3.3 or 3.4 from https://files.eprints.org/&lt;br /&gt;
&lt;br /&gt;
* Then install EPrints using yum (or dnf in RHEL/CentOS 8+ and more recent Fedora versions) substituting for the filename of the file you downloaded from  https://files.eprints.org/.&lt;br /&gt;
 dnf install eprints-3.4.4-1.el7.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 RPMs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
Before trying to create a publications flavour archive, you will need to install (as the root user) the ''TeX::Encode'' module or you will see error messages regarding a missing dependency for the BibTeX import and export plugins. (You may need to first install ''cpan'' with YUM).&lt;br /&gt;
 yum install cpan&lt;br /&gt;
 cpan TeX::Encode&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''N.B. Installing from source is generally discouraged particularly for production repositories.  However, if want to develop the EPrints code or a plugin or Bazaar package it may be useful to install from source, ideally from [https://github.com/eprints/eprints3.4 EPrints Core Git repository].'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the RPM.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup is successful but then you cannot access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16133</id>
		<title>Installing EPrints on RHEL/Fedora/CentOS</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Installing_EPrints_on_RHEL/Fedora/CentOS&amp;diff=16133"/>
		<updated>2023-10-04T13:52:50Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Troubleshooting */ Added a note about DNS Wildcards in quasi-colloquial language, potentially due to a small amount of Pepsi Max Cherry having had a disproportionally large effect on me today, partially mitigated by limiting this addition to 1 sentence&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Installation]]&lt;br /&gt;
&lt;br /&gt;
==Requirements==&lt;br /&gt;
* RedHat Enterprise (RHEL) / CentOS 7, 8 or 9 (or Fedora 25+).&lt;br /&gt;
* Pre-install MySQL server and client and make sure the former is enabled and running.&lt;br /&gt;
** RHEL / Fedora:&lt;br /&gt;
 yum install mysql-server mysql&lt;br /&gt;
 systemctl enable --now mysqld&lt;br /&gt;
&lt;br /&gt;
** CentOS / Rocky Linux:&lt;br /&gt;
 yum install mariadb-server mariadb&lt;br /&gt;
 systemctl enable --now mariadb&lt;br /&gt;
&lt;br /&gt;
== Installing from EPrints RPM ==&lt;br /&gt;
&lt;br /&gt;
=== Installing from rpm.eprints.org ===&lt;br /&gt;
'''Please note that rpm.eprints.org is no longer fully supported and packages are no longer signed.  It is planned to start signing packages again in the future but there have been some issues with the signing keys.'''&lt;br /&gt;
&lt;br /&gt;
* As root, using yum (or dnf in RHEL/CentOS 8+ and more recent Fedora versions) install ''epel-release'' package so ''eprints'' RPM dependencies can be met from the EPEL repository where necessary:&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 dnf install epel-release&lt;br /&gt;
&lt;br /&gt;
* As root, edit /etc/yum.repos.d/eprints.repo and add the following (If you want to install EPrints 3.3 rather than EPrints 3.4 change the baseurl to ''http://rpm.eprints.org/eprints3''):&lt;br /&gt;
 [eprints_3_4]&lt;br /&gt;
 name=EPrints Repository Software - $basearch&lt;br /&gt;
 baseurl=http://rpm.eprints.org/eprints3.4&lt;br /&gt;
 enabled=1&lt;br /&gt;
 gpgcheck=0&lt;br /&gt;
&lt;br /&gt;
* As root, now run one of the following commands to download the cache for this new package repositories.  You may be prompted to accept the GPG key for the EPEL repository:&lt;br /&gt;
 yum makecache&lt;br /&gt;
 dnf makecache&lt;br /&gt;
&lt;br /&gt;
* Finally, install EPrints using yum (or dnf):&lt;br /&gt;
 yum install eprints&lt;br /&gt;
 dnf install eprints&lt;br /&gt;
&lt;br /&gt;
=== Installing RPM locally ===&lt;br /&gt;
* Download latest RPM for EPrints 3.3 or 3.4 from https://files.eprints.org/&lt;br /&gt;
&lt;br /&gt;
* Then install EPrints using yum (or dnf in RHEL/CentOS 8+ and more recent Fedora versions) substituting for the filename of the file you downloaded from  https://files.eprints.org/.&lt;br /&gt;
 dnf install eprints-3.4.4-1.el7.noarch.rpm&lt;br /&gt;
&lt;br /&gt;
=== Installing publications flavour ===&lt;br /&gt;
EPrints 3.4 RPMs only come with the in-built 'zero' flavour and not the typical publications flavour.  Before trying to set up you archive you will need to (as the eprints user) download the latest publications flavour tarball from https://files.eprints.org/ and unpack it into /usr/share/eprints/:&lt;br /&gt;
 wget https://files.eprints.org/2789/2/eprints-3.4.5-flavours.tar.gz&lt;br /&gt;
 tar -xzvf eprints-3.4.5-flavours.tar.gz -C /usr/share/eprints/&lt;br /&gt;
 mv /usr/share/eprints/eprints-3.4.5/flavours /usr/share/eprints/&lt;br /&gt;
 rmdir /usr/share/eprints/eprints-3.4.5/&lt;br /&gt;
Before trying to create a publications flavour archive, you will need to install (as the root user) the ''TeX::Encode'' module or you will see error messages regarding a missing dependency for the BibTeX import and export plugins. (You may need to first install ''cpan'' with YUM).&lt;br /&gt;
 yum install cpan&lt;br /&gt;
 cpan TeX::Encode&lt;br /&gt;
&lt;br /&gt;
== Installing EPrints 3.4.x from Source ==&lt;br /&gt;
'''N.B. Installing from source is generally discouraged particularly for production repositories.  However, if want to develop the EPrints code or a plugin or Bazaar package it may be useful to install from source, ideally from [https://github.com/eprints/eprints3.4 EPrints Core Git repository].'''&lt;br /&gt;
&lt;br /&gt;
First, install the EPEL YUM package repository and run yum repolist to ensure the GPG key is installed:&lt;br /&gt;
&lt;br /&gt;
 yum install epel-release&lt;br /&gt;
 yum repolist&lt;br /&gt;
&lt;br /&gt;
Now, install all the dependencies that would be installed through the eprints RPM.&lt;br /&gt;
&lt;br /&gt;
 yum install libxml2 libxslt httpd mod_perl perl-Apache-DBI perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL \&lt;br /&gt;
     perl-Time-HiRes perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-Digest-SHA1 perl-JSON perl-XML-LibXML \&lt;br /&gt;
     perl-XML-LibXSLT perl-XML-SAX perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate \&lt;br /&gt;
     perl-Pod-LaTeX perl-LWP-Protocol-https perl-IO-String tetex-latex wget gzip tar ImageMagick elinks \&lt;br /&gt;
     poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
Next, create the eprints user&lt;br /&gt;
&lt;br /&gt;
 adduser eprints&lt;br /&gt;
&lt;br /&gt;
Next, clone the Git repository from GitHub to /opt/ and set the eprints user as the owner.  It is probably best to checkout the latest release rather than using HEAD, which may have known issues:&lt;br /&gt;
&lt;br /&gt;
 yum install git&lt;br /&gt;
 mkdir /opt/eprints3/&lt;br /&gt;
 chown eprints:eprints /opt/eprints3/&lt;br /&gt;
 chmod 2775 /opt/eprints3/&lt;br /&gt;
 su eprints&lt;br /&gt;
 git clone https://github.com/eprints/eprints3.4.git /opt/eprints3&lt;br /&gt;
 git checkout tags/v3.4.5&lt;br /&gt;
&lt;br /&gt;
Next, as the eprints user copy /opt/eprints3/perl_lib/EPrints/SystemSettings.pm.tmpl to /opt/eprints3/perl_lib/EPrints/SystemSettings.pm&lt;br /&gt;
&lt;br /&gt;
EPrints is now fully installed at /opt/eprints3. However, you will not yet have a running archive. Follow the [[Getting Started with EPrints 3]] instructions to set this up.&lt;br /&gt;
&lt;br /&gt;
Now update Apache configuration to set it up to use the eprints user and group, by ensuring the following lines are set thus in /etc/httpd/conf/httpd.conf:&lt;br /&gt;
&lt;br /&gt;
 User  eprints&lt;br /&gt;
 Group eprints&lt;br /&gt;
&lt;br /&gt;
Now add the file /etc/httpd/conf.d/eprints.conf with the following line:&lt;br /&gt;
&lt;br /&gt;
 Include /opt/eprints3/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
There is a good chance your operating system will have SELinux enabled.  If so, follow the instructions under Troubleshooting for how to let EPrints do what it needs to do through SELinux.&lt;br /&gt;
&lt;br /&gt;
Finally, restart Apache:&lt;br /&gt;
&lt;br /&gt;
  service httpd restart&lt;br /&gt;
&lt;br /&gt;
You should now be able to access your vanilla repository at the hostname you specified when running '''epadmin create''' from the [[Getting Started with EPrints 3]] instructions.  You should then login as the admin user you created during this process and turn on the indexer.  This can be done by clicking on the '''Admin''' link under the Logged in menu, then clicking on the '''System Tools''' tab and finally the '''Start Indexer''' button.&lt;br /&gt;
&lt;br /&gt;
== Non-critical Dependencies ==&lt;br /&gt;
Some of EPrints non-core functionality may not work out of the box as these dependencies are not included as part of the RPM.  Here is a list of known additional packages (and the YUM repositories in which they can be found) or CPAN modules than can be installed.  The latter should be installed using the ''cpan'' command as the root user.&lt;br /&gt;
 &lt;br /&gt;
* '''perl-Geo-IP (epel)''' - Allows IRstats2 to determine the location of views/downloads for publications.]&lt;br /&gt;
* '''perl-Spreadsheet-WriteExcel (epel)''' - To allow Multiline Excel export.&lt;br /&gt;
* '''CPAN module Text::Refer''' - Required for EndNote import.&lt;br /&gt;
* '''CPAN module TeX::Encode''' - Required for BibTex export needed for publications flavour.&lt;br /&gt;
* '''perl-Image-ExifTool (epel)''' - Sometimes needed to support generation of thumbnails for uploaded documents/images.&lt;br /&gt;
* '''perl-LWP-Protocol-https (base)''' - Needed by DataCite plugin to register repository DOIs.&lt;br /&gt;
&lt;br /&gt;
== Next steps ==&lt;br /&gt;
&lt;br /&gt;
Configure eprints per [[Getting_Started_with_EPrints_3]].&lt;br /&gt;
&lt;br /&gt;
== Operating System Version Specific Requirements ==&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS 7 ===&lt;br /&gt;
No significant issues.&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 8 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 8}}&lt;br /&gt;
&lt;br /&gt;
=== RHEL / CentOS / Rocky 9 ===&lt;br /&gt;
{{:Issues with installing EPrints on RHEL / CentOS / Rocky 9}}&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
* If setup in successful but then you can access EPrints through your web browser this is often due to firewalld being enabled by default on recent versions of RHEL, Fedora and CentOS.  If firewalld is running either disable it (&amp;lt;tt&amp;gt;systemctl disable --now firewalld&amp;lt;/tt&amp;gt;) or [https://docs.rackspace.com/support/how-to/allow-web-traffic-in-a-firewalld-software-firewall/ configure it to allow HTTP/HTTPS traffic].&lt;br /&gt;
* If you are having problems uploading files or similar functional issues, this may be due to SELinux being enabled. [[EPrints and SELinux|See advice for enabling SELinux with EPrints]].&lt;br /&gt;
* If you are having trouble getting additional subdomains beyond username.eprints-hosting.org working, then it could be you need wildcards enabled on the DNS records to facilitate the likes of somethingcoolhere.username.eprints-hosting.org urls.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Issues_with_installing_EPrints_on_RHEL_/_CentOS_/_Rocky_9&amp;diff=16132</id>
		<title>Issues with installing EPrints on RHEL / CentOS / Rocky 9</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Issues_with_installing_EPrints_on_RHEL_/_CentOS_/_Rocky_9&amp;diff=16132"/>
		<updated>2023-10-04T12:37:44Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* Compatibility issues with XML::LibXSLT */ changed &amp;quot;generate a segmentation fault when you...&amp;quot; to &amp;quot;generate a segmentation fault and core dump when you...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== elinks package is no longer available ====&lt;br /&gt;
The RPM package &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is no longer available in RHEL / CentOS / Rocky 9 even with EPEL package repository.  &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is only needed if are intending to upload web pages or XML files and these need to be indexed by EPrints, so if installing from source use the following DNF command line:&lt;br /&gt;
&lt;br /&gt;
 dnf install libxml2 libxslt httpd mod_perl perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-Time-HiRes \&lt;br /&gt;
    perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-JSON perl-XML-LibXML perl-XML-LibXSLT perl-XML-SAX \&lt;br /&gt;
    perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate tetex-latex wget gzip tar \&lt;br /&gt;
    ImageMagick poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
In future versions of EPrints (3.4.5+) EPrints will be switching to use &amp;lt;tt&amp;gt;html2text&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt;.  [https://github.com/eprints/eprints3.4/commit/ce5bc101e2212f2b3dd5c0c7cc2b058803bdb79a|This changeset] shows how the places where &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is used can be changed to switch over to using &amp;lt;tt&amp;gt;html2text&amp;lt;/tt&amp;gt;.  To make use of this you will need to add &amp;lt;tt&amp;gt;python3-html2text&amp;lt;/tt&amp;gt; to the DNF command above.&lt;br /&gt;
&lt;br /&gt;
==== perl-IO-String package is no longer available ====&lt;br /&gt;
The RPM package &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt; is no longer available in RHEL / CentOS / Rocky 9 even with EPEL package repository. You can enable the ''Code Ready Builder'' repository, which still has &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt; available:&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable &amp;quot;codeready-builder-for-rhel-9-$(arch)-rpms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you are running CentOS 9 (or Rocky 9) you can similarly enable the &amp;lt;tt&amp;gt;crb&amp;lt;/tt&amp;gt; repository:&lt;br /&gt;
&lt;br /&gt;
 dnf config-manager --set-enabled crb&lt;br /&gt;
&lt;br /&gt;
Then install &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 dnf install perl-IO-String&lt;br /&gt;
&lt;br /&gt;
==== Sub-dependency packages perl-MIME-Types and perl-Digest-SHA1 are no longer available ====&lt;br /&gt;
&amp;lt;tt&amp;gt;perl-MIME-Lite&amp;lt;/tt&amp;gt; package requires &amp;lt;tt&amp;gt;perl-MIME-Types&amp;lt;/tt&amp;gt; package and &amp;lt;tt&amp;gt;perl-Apache-DBI&amp;lt;/tt&amp;gt; requires &amp;lt;tt&amp;gt;perl-Digest-SHA1&amp;lt;/tt&amp;gt; package neither of which available on RHEL / CentOS / Rocky 9, even with EPEL repository enabled.  You can enable the ''Code Ready Builder'' repository, which still has these packages available:&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable &amp;quot;codeready-builder-for-rhel-9-$(arch)-rpms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you are running CentOS 9 (or Rocky 9) you can similarly enable the &amp;lt;tt&amp;gt;crb&amp;lt;/tt&amp;gt; repository:&lt;br /&gt;
&lt;br /&gt;
 dnf config-manager --set-enabled crb&lt;br /&gt;
&lt;br /&gt;
Then install &amp;lt;tt&amp;gt;perl-MIME-Types&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;perl-Digest-SHA1&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 dnf install perl-MIME-Types perl-Digest-SHA1&lt;br /&gt;
&lt;br /&gt;
==== perl-Apache-DBI and Pod::LaTeX packages is no longer available ====&lt;br /&gt;
The RPM packages &amp;lt;tt&amp;gt;perl-Apache-DBI&amp;lt;/tt&amp;gt; are no longer available in RHEL / CentOS / Rocky 9 even with EPEL or ''Code Ready Builder'' package repository.  You can install this using CPAN instead:&lt;br /&gt;
 cpan Apache::DBI&lt;br /&gt;
 cpan Pod::LaTeX&lt;br /&gt;
&lt;br /&gt;
==== Compatibility issues with XML::LibXSLT ====&lt;br /&gt;
Installing &amp;lt;tt&amp;gt;XML::LibXSLT&amp;lt;/tt&amp;gt; either through the &amp;lt;tt&amp;gt;perl-XML-LibXSLT&amp;lt;/tt&amp;gt; RPM or CPAN causes &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt; to generate a segmentation fault and core dump when you try to start it.  The most straightfarward solution to this is to run &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;mpm-prefork&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;mpm-event&amp;lt;/tt&amp;gt; mode.  This can be acheived by editing &amp;lt;tt&amp;gt;/etc/httpd/conf.modules.d/00-mpm.conf&amp;lt;/tt&amp;gt; and commenting out the following line:&lt;br /&gt;
 LoadModule mpm_event_module modules/mod_mpm_event.so&lt;br /&gt;
and uncommenting the &amp;lt;tt&amp;gt;mpm-prefork&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so&lt;br /&gt;
The alternative solution is to make sure that &amp;lt;tt&amp;gt;XML::LibXSLT&amp;lt;/tt&amp;gt; is not installed through the &amp;lt;tt&amp;gt;perl-XML-LibXSLT&amp;lt;/tt&amp;gt; RPM or CPAN.  EPrints will still run without this but you will not be able to use XSLT-based import plugins.  Unless you have installed any additional import plugins, the only ones affected are Atom XML and OpenXML Bibliography.&lt;br /&gt;
&lt;br /&gt;
==== MySQL root user cannot be used ====&lt;br /&gt;
On RHEL/Centos/Rocky Linux 9 rather than prompting you to set a password for MySQL server when installing this as a dependency, it just installs it without.  However, this means on the root user can login to MySQL to add a database.  As &amp;quot;epadmin create&amp;quot; runs at the eprints user, this will not be able to create a database for EPrints.  To get round this as the root user connect to MySQL (just type &amp;quot;mysql&amp;quot; at the command line) and type the following two commands.  You will want to set your own password (i.e. not 'changeme') , you may also want to restrict which databases the eprints user has control over.  If you know the &amp;quot;Archive ID&amp;quot; you are going to use.&lt;br /&gt;
 CREATE USER 'eprints'@'localhost' IDENTIFIED by 'changeme';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'eprints'@'localhost' WITH GRANT OPTION;&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16083</id>
		<title>Adding a Field to a Live Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16083"/>
		<updated>2023-07-17T17:24:06Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Line return adjustments.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Manual]]&lt;br /&gt;
[[Category:Metadata Fields]]&lt;br /&gt;
[[Category: Out of Date]]&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.3+ ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions as you would for [[HOW TO: Add a New Field]].&lt;br /&gt;
&lt;br /&gt;
As described there, you define your new fields in...&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/eprint_fields.pl&amp;lt;/code&amp;gt; for EPrint-level metadata,&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/document_fields.pl&amp;lt;/code&amp;gt; for document-level metadata (this file doesn't exist by default, but is honoured), &lt;br /&gt;
* and &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/user_fields.pl&amp;lt;/code&amp;gt; for user metadata, etc etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since a repository's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; will override a flavour's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; based on them both having the same file name, should you only wish to add to a flavour's fields rather than replace them, you may prefer to give your archive's local version a file name such as &amp;lt;code&amp;gt;eprint_fields_local.pl&amp;lt;/code&amp;gt;, and then inside have only your new field(s):&lt;br /&gt;
&lt;br /&gt;
 push @{$c-&amp;gt;{fields}-&amp;gt;{eprint}},&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_first_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_second_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simply make sure your &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;, is adding your field to the correct dataset you wish to add fields to - in this case an &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; dataset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, once you have added your new field definitions to the appropriate configuration file you can run ''update'' via [[API:bin/epadmin|epadmin]] from the shell.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
You can begin with a dry run to see what would happen:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_dry_run ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
Then once confident proceed for real:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.1+ ===&lt;br /&gt;
&lt;br /&gt;
EPrint 3.3's ''update'' is a synonym of the ''update_database_structure'' method available from Eprints 3.1+:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_database_structure ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.0 ===&lt;br /&gt;
&lt;br /&gt;
To add a field to a live eprints archive in Eprints 3.0 you have to modify the SQL tables.&lt;br /&gt;
Before you start this, you may wish to BackupTheDatabase.&lt;br /&gt;
&lt;br /&gt;
* Add the new columns to the appropriate tables. There are no longer four separate tables for eprints as there were in EP2 (&amp;lt;code&amp;gt;archive&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;buffer&amp;lt;/code&amp;gt; etc), so it's simpler. &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt;, the tables are &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; (replacing &amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt; with your language as required). &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;document_fields.pl&amp;lt;/code&amp;gt;, you want &amp;lt;code&amp;gt;document&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;document__ordervalues_en&amp;lt;/code&amp;gt;. &lt;br /&gt;
** And so on...&lt;br /&gt;
* The column types are the same as for EP2, ie in &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; you want a type appropriate to the type of your field exactly as described in the Recipe for EP2, while in &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; you want &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; irrespective of your field type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 2.x ===&lt;br /&gt;
&lt;br /&gt;
See historical versions of this wiki page.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16082</id>
		<title>Adding a Field to a Live Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16082"/>
		<updated>2023-07-17T17:21:18Z</updated>

		<summary type="html">&lt;p&gt;Ajm: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Manual]]&lt;br /&gt;
[[Category:Metadata Fields]]&lt;br /&gt;
[[Category: Out of Date]]&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.3+ ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions as you would for [[HOW TO: Add a New Field]].&lt;br /&gt;
&lt;br /&gt;
As described there, you define your new fields in...&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/eprint_fields.pl&amp;lt;/code&amp;gt; for EPrint-level metadata,&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/document_fields.pl&amp;lt;/code&amp;gt; for document-level metadata (this file doesn't exist by default, but is honoured), &lt;br /&gt;
* and &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/user_fields.pl&amp;lt;/code&amp;gt; for user metadata, etc etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since a repository's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; will override a flavour's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; based on them both having the same file name, should you only wish to add to a flavour's fields rather than replace them, you may prefer to give your archive's local version a file name such as &amp;lt;code&amp;gt;eprint_fields_local.pl&amp;lt;/code&amp;gt;, and then inside have only your new field(s):&lt;br /&gt;
&lt;br /&gt;
 push @{$c-&amp;gt;{fields}-&amp;gt;{eprint}},&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_first_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_second_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simply make sure your &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;, is adding your field to the correct dataset you wish to add fields to - in this case an &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; dataset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, once you have added your new field definitions to the appropriate configuration file you can run ''update'' via [[API:bin/epadmin|epadmin]] from the shell.&lt;br /&gt;
&lt;br /&gt;
You can begin with a dry run to see what would happen:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_dry_run ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
Then once confident proceed for real:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.1+ ===&lt;br /&gt;
&lt;br /&gt;
EPrint 3.3's ''update'' is a synonym of the ''update_database_structure'' method available from Eprints 3.1+:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_database_structure ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.0 ===&lt;br /&gt;
&lt;br /&gt;
To add a field to a live eprints archive in Eprints 3.0 you have to modify the SQL tables.&lt;br /&gt;
Before you start this, you may wish to BackupTheDatabase.&lt;br /&gt;
&lt;br /&gt;
* Add the new columns to the appropriate tables. There are no longer four separate tables for eprints as there were in EP2 (&amp;lt;code&amp;gt;archive&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;buffer&amp;lt;/code&amp;gt; etc), so it's simpler. &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt;, the tables are &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; (replacing &amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt; with your language as required). &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;document_fields.pl&amp;lt;/code&amp;gt;, you want &amp;lt;code&amp;gt;document&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;document__ordervalues_en&amp;lt;/code&amp;gt;. &lt;br /&gt;
** And so on...&lt;br /&gt;
* The column types are the same as for EP2, ie in &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; you want a type appropriate to the type of your field exactly as described in the Recipe for EP2, while in &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; you want &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; irrespective of your field type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 2.x ===&lt;br /&gt;
&lt;br /&gt;
See historical versions of this wiki page.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16081</id>
		<title>Adding a Field to a Live Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16081"/>
		<updated>2023-07-17T17:18:58Z</updated>

		<summary type="html">&lt;p&gt;Ajm: /* EPrints 3.3+ */  - changed 'maybe' option to 'partial' to match previous examples from the page HOW TO: Add a New Field&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Manual]]&lt;br /&gt;
[[Category:Metadata Fields]]&lt;br /&gt;
[[Category: Out of Date]]&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.3+ ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions as you would for [[HOW TO: Add a New Field]].&lt;br /&gt;
&lt;br /&gt;
As described there, you define your new fields in...&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/eprint_fields.pl&amp;lt;/code&amp;gt; for EPrint-level metadata,&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/document_fields.pl&amp;lt;/code&amp;gt; for document-level metadata (this file doesn't exist by default, but is honoured), &lt;br /&gt;
* and &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/user_fields.pl&amp;lt;/code&amp;gt; for user metadata, etc etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since a repository's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; will override a flavour's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; based on them both having the same file name, should you only wish to add to a flavour's fields rather than replace them, you may prefer to give your archive's local version a file name such as &amp;lt;code&amp;gt;eprint_fields_local.pl&amp;lt;/code&amp;gt;, and then inside have only your new field(s):&lt;br /&gt;
&lt;br /&gt;
 push @{$c-&amp;gt;{fields}-&amp;gt;{eprint}},&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_first_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_second_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'partial',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simply make sure your &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;, is adding your field to the correct dataset you wish to add fields to - in this case an &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; dataset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, once you have added your new field definitions to the appropriate configuration file you can run ''update'' via [[API:bin/epadmin|epadmin]] from the shell:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.1+ ===&lt;br /&gt;
&lt;br /&gt;
EPrint 3.3's ''update'' is a synonym of the ''update_database_structure'' method available from Eprints 3.1+:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_database_structure ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.0 ===&lt;br /&gt;
&lt;br /&gt;
To add a field to a live eprints archive in Eprints 3.0 you have to modify the SQL tables.&lt;br /&gt;
Before you start this, you may wish to BackupTheDatabase.&lt;br /&gt;
&lt;br /&gt;
* Add the new columns to the appropriate tables. There are no longer four separate tables for eprints as there were in EP2 (&amp;lt;code&amp;gt;archive&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;buffer&amp;lt;/code&amp;gt; etc), so it's simpler. &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt;, the tables are &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; (replacing &amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt; with your language as required). &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;document_fields.pl&amp;lt;/code&amp;gt;, you want &amp;lt;code&amp;gt;document&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;document__ordervalues_en&amp;lt;/code&amp;gt;. &lt;br /&gt;
** And so on...&lt;br /&gt;
* The column types are the same as for EP2, ie in &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; you want a type appropriate to the type of your field exactly as described in the Recipe for EP2, while in &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; you want &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; irrespective of your field type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 2.x ===&lt;br /&gt;
&lt;br /&gt;
See historical versions of this wiki page.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=HOW_TO:_Add_a_New_Field&amp;diff=16080</id>
		<title>HOW TO: Add a New Field</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=HOW_TO:_Add_a_New_Field&amp;diff=16080"/>
		<updated>2023-07-17T17:17:04Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Removed mention of needing to do SQL hacking. Referred to the need to run epadmin update if the repository is live.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This covers adding a new field to a new system. When adding to a live system, you may wish to follow up with an epadmin update command, as documented in [[Adding a Field to a Live Repository]].&lt;br /&gt;
&lt;br /&gt;
In this example we add a new &amp;quot;set&amp;quot; field called &amp;quot;local&amp;quot; which will have 3 options &amp;quot;yes&amp;quot;,&amp;quot;no&amp;quot; and &amp;quot;partial&amp;quot; - this will indicate if the item in question was produced in our organisation or not.&lt;br /&gt;
&lt;br /&gt;
= Add the Field to archives/ARCHIVEID/cfg/cfg.d/eprint_fields.pl =&lt;br /&gt;
&lt;br /&gt;
Add the field to the appropriate part of eprint_fields.pl  &lt;br /&gt;
&lt;br /&gt;
 {&lt;br /&gt;
   'name' =&amp;gt; 'local',&lt;br /&gt;
   'type' =&amp;gt; 'set',&lt;br /&gt;
   'options' =&amp;gt; [&lt;br /&gt;
         'yes',&lt;br /&gt;
         'no',&lt;br /&gt;
         'partial',&lt;br /&gt;
         ],&lt;br /&gt;
   'input_rows' =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
&lt;br /&gt;
input_rows being set to one will make it appear as a pull-down menu.&lt;br /&gt;
&lt;br /&gt;
= Add the Field to Workflow =&lt;br /&gt;
&lt;br /&gt;
If you want the user to be able to edit this field for any or all types of eprint/user then you need to add it to each appropriate type in archives/ARCHIVEID/cfg/workflows/eprint/default.xml (this can be changed on a live system without any serious consequencies). Add the following to an approriate place in the core section:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;component&amp;gt;&amp;lt;field ref=&amp;quot;local&amp;quot; required=&amp;quot;yes&amp;quot; /&amp;gt;&amp;lt;/component&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Add the Field Information to the Archive Phrase File(s) =&lt;br /&gt;
&lt;br /&gt;
Normally we just need to add fieldname and fieldhelp, but this is an option field so we need to add names for each option. If we run the archive in more than one language then we add this to each phrase file (but in the appropriate language). Phrases for eprint fields are found in archives/ARCHIVEID/cfg/lang/en/phrases/eprint_fields.xml.&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;eprint_fieldname_local&amp;quot;&amp;gt;Produced Locally&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;eprint_fieldhelp_local&amp;quot;&amp;gt;Please indicate if this item was &lt;br /&gt;
          produces in the foo organisation, or not.&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;eprint_fieldopt_local_yes&amp;quot;&amp;gt;produced locally&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;eprint_fieldopt_local_no&amp;quot;&amp;gt;not produced locally&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;eprint_fieldopt_local_partial&amp;quot;&amp;gt;only partially produced &lt;br /&gt;
          locally&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Other things you may wish to change after adding a new field ==&lt;br /&gt;
&lt;br /&gt;
= Add it to the citations file =&lt;br /&gt;
&lt;br /&gt;
This is optional, only do this if you want it to appear in the citated forms. &lt;br /&gt;
&lt;br /&gt;
In our example case we only want this to appear when citing technical reports, so we add the following to  archives/ARCHIVEID/cfg/lang/en/phrases/eprint_fields.xml:&lt;br /&gt;
&lt;br /&gt;
 &amp;lt;if test=&amp;quot;type = 'techreport'&amp;quot;&amp;gt;     &lt;br /&gt;
   &amp;lt;print expr=&amp;quot;local&amp;quot;/&amp;gt;&lt;br /&gt;
 &amp;lt;/if&amp;gt;&lt;br /&gt;
&lt;br /&gt;
The &amp;lt;print&amp;gt; element is not inside &amp;lt;if test=&amp;quot;local&amp;quot;&amp;gt;&amp;lt;/if&amp;gt; as it is a required field and will (should) always be set.&lt;br /&gt;
&lt;br /&gt;
= Add it to the the Abstract (or View-User) page =&lt;br /&gt;
&lt;br /&gt;
This is also optional. If you want it to appear on the web page for this item then edit either archives/ARCHIVEID/cfg/cfg.d/eprint_render.pl or archives/ARCHIVEID/cfg/cfg.d/user_render.pl. &lt;br /&gt;
&lt;br /&gt;
In our example we only want to mention items if an item was not produced locally. We'll add it below the documents and above the abstract...&lt;br /&gt;
&lt;br /&gt;
Single language example:&lt;br /&gt;
&lt;br /&gt;
     if( $eprint-&amp;gt;get_value( &amp;quot;local&amp;quot; ) ne &amp;quot;yes&amp;quot; )&lt;br /&gt;
     {&lt;br /&gt;
          # don't need to &amp;quot;my $p&amp;quot; as it's done earlier.&lt;br /&gt;
          $p = $session-&amp;gt;make_element( &amp;quot;p&amp;quot; );&lt;br /&gt;
          $p-&amp;gt;appendChild( $session-&amp;gt;make_text( &amp;quot;This item was &amp;quot; ) );&lt;br /&gt;
          $p-&amp;gt;appendChild( $eprint-&amp;gt;render_value( &amp;quot;local&amp;quot; ) );&lt;br /&gt;
          $p-&amp;gt;appendChild( $session-&amp;gt;make_text( &amp;quot;.&amp;quot; ) );&lt;br /&gt;
&lt;br /&gt;
          # Append our new paragraph to the page.&lt;br /&gt;
          $page-&amp;gt;appendChild( $p );&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
Multiple-language example:&lt;br /&gt;
&lt;br /&gt;
If you want to make it handle more than language then we'll need to use the archive phrase file - we would add something like this to each languages file:&lt;br /&gt;
&lt;br /&gt;
     &amp;lt;epp:phrase id=&amp;quot;page:itemnotlocal&amp;quot;&amp;gt;&amp;lt;p&amp;gt;This item was &amp;lt;pin ref=&amp;quot;status&amp;quot; /&amp;gt;.&amp;lt;/p&amp;gt;&amp;lt;/epp:phrase&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And to the archives/ARCHIVEID/cfg/cfg.d/eprint_render.pl file:&lt;br /&gt;
&lt;br /&gt;
     if( $eprint-&amp;gt;get_value( &amp;quot;local&amp;quot; ) ne &amp;quot;yes&amp;quot; )&lt;br /&gt;
     {&lt;br /&gt;
          my $localmsg = $session-&amp;gt;html_phrase(&lt;br /&gt;
                 &amp;quot;page:itemnotlocal&amp;quot;,&lt;br /&gt;
                 status=&amp;gt;$eprint-&amp;gt;render_value( &amp;quot;local&amp;quot; ) );&lt;br /&gt;
          $page-&amp;gt;appendChild( $localmsg );&lt;br /&gt;
     }&lt;br /&gt;
&lt;br /&gt;
You may prefer to use this method even if you are only using a single language.&lt;br /&gt;
&lt;br /&gt;
[[Category:Metadata Fields]] [[Category:Customisation]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16079</id>
		<title>Adding a Field to a Live Repository</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Adding_a_Field_to_a_Live_Repository&amp;diff=16079"/>
		<updated>2023-07-17T17:08:19Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Brought the most recent documentation to the top, so the warnings about needing to modify the SQL tables was clearly referring to 3.0 and not 3.3+.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Manual]]&lt;br /&gt;
[[Category:Metadata Fields]]&lt;br /&gt;
[[Category: Out of Date]]&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.3+ ===&lt;br /&gt;
&lt;br /&gt;
Follow the instructions as you would for [[HOW TO: Add a New Field]].&lt;br /&gt;
&lt;br /&gt;
As described there, you define your new fields in...&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/eprint_fields.pl&amp;lt;/code&amp;gt; for EPrint-level metadata,&lt;br /&gt;
* &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/document_fields.pl&amp;lt;/code&amp;gt; for document-level metadata (this file doesn't exist by default, but is honoured), &lt;br /&gt;
* and &amp;lt;code&amp;gt;/opt/eprints3/archives/ARCHIVEID/cfg/cfg.d/user_fields.pl&amp;lt;/code&amp;gt; for user metadata, etc etc.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Since a repository's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; will override a flavour's &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt; based on them both having the same file name, should you only wish to add to a flavour's fields rather than replace them, you may prefer to give your archive's local version a file name such as &amp;lt;code&amp;gt;eprint_fields_local.pl&amp;lt;/code&amp;gt;, and then inside have only your new field(s):&lt;br /&gt;
&lt;br /&gt;
 push @{$c-&amp;gt;{fields}-&amp;gt;{eprint}},&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_first_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'maybe',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 {&lt;br /&gt;
 	name =&amp;gt; 'my_second_new_field',&lt;br /&gt;
 	type =&amp;gt; 'set',&lt;br /&gt;
 	options =&amp;gt; [&lt;br /&gt;
 	    'yes',&lt;br /&gt;
 	    'no',&lt;br /&gt;
 	    'maybe',&lt;br /&gt;
 	],&lt;br /&gt;
 	input_rows =&amp;gt; 1,&lt;br /&gt;
 },&lt;br /&gt;
 &lt;br /&gt;
 ;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Simply make sure your &amp;lt;code&amp;gt;push&amp;lt;/code&amp;gt;, is adding your field to the correct dataset you wish to add fields to - in this case an &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; dataset.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Then, once you have added your new field definitions to the appropriate configuration file you can run ''update'' via [[API:bin/epadmin|epadmin]] from the shell:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.1+ ===&lt;br /&gt;
&lt;br /&gt;
EPrint 3.3's ''update'' is a synonym of the ''update_database_structure'' method available from Eprints 3.1+:&lt;br /&gt;
&lt;br /&gt;
 ./bin/epadmin update_database_structure ARCHIVEID&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 3.0 ===&lt;br /&gt;
&lt;br /&gt;
To add a field to a live eprints archive in Eprints 3.0 you have to modify the SQL tables.&lt;br /&gt;
Before you start this, you may wish to BackupTheDatabase.&lt;br /&gt;
&lt;br /&gt;
* Add the new columns to the appropriate tables. There are no longer four separate tables for eprints as there were in EP2 (&amp;lt;code&amp;gt;archive&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;buffer&amp;lt;/code&amp;gt; etc), so it's simpler. &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;eprint_fields.pl&amp;lt;/code&amp;gt;, the tables are &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; (replacing &amp;lt;code&amp;gt;en&amp;lt;/code&amp;gt; with your language as required). &lt;br /&gt;
** For a field defined in &amp;lt;code&amp;gt;document_fields.pl&amp;lt;/code&amp;gt;, you want &amp;lt;code&amp;gt;document&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;document__ordervalues_en&amp;lt;/code&amp;gt;. &lt;br /&gt;
** And so on...&lt;br /&gt;
* The column types are the same as for EP2, ie in &amp;lt;code&amp;gt;eprint&amp;lt;/code&amp;gt; you want a type appropriate to the type of your field exactly as described in the Recipe for EP2, while in &amp;lt;code&amp;gt;eprint__ordervalues_en&amp;lt;/code&amp;gt; you want &amp;lt;code&amp;gt;text&amp;lt;/code&amp;gt; irrespective of your field type.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== EPrints 2.x ===&lt;br /&gt;
&lt;br /&gt;
See historical versions of this wiki page.&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16078</id>
		<title>EPrints Ingredients</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16078"/>
		<updated>2023-07-17T10:15:27Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Readability improvements: need be tied to -&amp;gt; needn't be tied to; but also -&amp;gt; and also; this files -&amp;gt; these files; EPrints copyright -&amp;gt; EPrints' copyright&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EPrints Ingredients were added in EPrints 3.4 as a means of providing complex functionality that was not suited to being provided by [https://bazaar.eprints.org Bazaar] plugins with their one-click install.  This is because certain functionality (e.g. [[Coversheets]]) requires both EPrints and non-EPrints dependencies and complex configuration to be useful.&lt;br /&gt;
&lt;br /&gt;
EPrints Zero includes the ''bazaar'' ingredient by default and it is enabled in the publication flavour's '''inc''' file.  From EPrints 3.4.3, a ''jquery'' ingredient is included to package a known version of [https://jquery.com/ jQuery].  This is not enabled in the publication flavour's '''inc''' file, as it only need be enabled if you intend to use jQuery within your repository for specific branding requirements.  &lt;br /&gt;
&lt;br /&gt;
From 3.4.4 a ''prototypejs'' ingredient is included, which is also enabled in the publication flavour's '''inc'''.  This must be added to your repository's flavour's '''inc''' file if you are upgrading from an earlier version of EPrints 3.4, as it includes the Prototype and Scriptaculous JavaScript libraries underlying EPrints' JavaScript API.  The reason for the moving to an ingredient is so that in future EPrints' JavaScript API needn't be tied to a specific JavaScript library and also to simplify copyright and licensing as these files are not subject to EPrints' copyright and license statements.&lt;br /&gt;
&lt;br /&gt;
[[Category:Customisation]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16077</id>
		<title>EPrints Ingredients</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16077"/>
		<updated>2023-07-17T10:10:59Z</updated>

		<summary type="html">&lt;p&gt;Ajm: typo correction: added your -&amp;gt; added to your&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EPrints Ingredients were added in EPrints 3.4 as a means of providing complex functionality that was not suited to being provided by [https://bazaar.eprints.org Bazaar] plugins with their one-click install.  This is because certain functionality (e.g. [[Coversheets]]) requires both EPrints and non-EPrints dependencies and complex configuration to be useful.&lt;br /&gt;
&lt;br /&gt;
EPrints Zero includes the ''bazaar'' ingredient by default and it is enabled in the publication flavour's '''inc''' file.  From EPrints 3.4.3, a ''jquery'' ingredient is included to package a known version of [https://jquery.com/ jQuery].  This is not enabled in the publication flavour's '''inc''' file, as it only need be enabled if you intend to use jQuery within your repository for specific branding requirements.  &lt;br /&gt;
&lt;br /&gt;
From 3.4.4 a ''prototypejs'' ingredient is included, which is also enabled in the publication flavour's '''inc'''.  This must be added to your repository's flavour's '''inc''' file if you are upgrading from an earlier version of EPrints 3.4, as it includes the Prototype and Scriptaculous JavaScript libraries underlying EPrints' JavaScript API.  The reason for the moving to an ingredient is so that in future EPrints' JavaScript API need be tied to a specific JavaScript library but also to simplify copyright and licensing as this files are not subject to EPrints copyright and license statements.&lt;br /&gt;
&lt;br /&gt;
[[Category:Customisation]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16076</id>
		<title>EPrints Ingredients</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EPrints_Ingredients&amp;diff=16076"/>
		<updated>2023-07-17T10:09:15Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Typo correction: there one-click install -&amp;gt; their one-click install&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;EPrints Ingredients were added in EPrints 3.4 as a means of providing complex functionality that was not suited to being provided by [https://bazaar.eprints.org Bazaar] plugins with their one-click install.  This is because certain functionality (e.g. [[Coversheets]]) requires both EPrints and non-EPrints dependencies and complex configuration to be useful.&lt;br /&gt;
&lt;br /&gt;
EPrints Zero includes the ''bazaar'' ingredient by default and it is enabled in the publication flavour's '''inc''' file.  From EPrints 3.4.3, a ''jquery'' ingredient is included to package a known version of [https://jquery.com/ jQuery].  This is not enabled in the publication flavour's '''inc''' file, as it only need be enabled if you intend to use jQuery within your repository for specific branding requirements.  &lt;br /&gt;
&lt;br /&gt;
From 3.4.4 a ''prototypejs'' ingredient is included, which is also enabled in the publication flavour's '''inc'''.  This must be added your repository's flavour's '''inc''' file if you are upgrading from an earlier version of EPrints 3.4, as it includes the Prototype and Scriptaculous JavaScript libraries underlying EPrints' JavaScript API.  The reason for the moving to an ingredient is so that in future EPrints' JavaScript API need be tied to a specific JavaScript library but also to simplify copyright and licensing as this files are not subject to EPrints copyright and license statements.&lt;br /&gt;
&lt;br /&gt;
[[Category:Customisation]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Issues_with_installing_EPrints_on_RHEL_/_CentOS_/_Rocky_9&amp;diff=16069</id>
		<title>Issues with installing EPrints on RHEL / CentOS / Rocky 9</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Issues_with_installing_EPrints_on_RHEL_/_CentOS_/_Rocky_9&amp;diff=16069"/>
		<updated>2023-07-04T17:19:28Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Typo correction on /* MySQL root user cannot be used */  - as follows: The get round this -&amp;gt; To get round this&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==== elinks package is no longer available ====&lt;br /&gt;
The RPM package &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is no longer available in RHEL / CentOS / Rocky 9 even with EPEL package repository.  &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is only needed if are intending to upload web pages or XML files and these need to be indexed by EPrints, so if installing from source use the following DNF command line:&lt;br /&gt;
&lt;br /&gt;
 dnf install libxml2 libxslt httpd mod_perl perl-DBI perl-DBD-MySQL perl-IO-Socket-SSL perl-Time-HiRes \&lt;br /&gt;
    perl-CGI perl-Digest-MD5 perl-Digest-SHA perl-JSON perl-XML-LibXML perl-XML-LibXSLT perl-XML-SAX \&lt;br /&gt;
    perl-MIME-Lite perl-Text-Unidecode perl-JSON perl-Unicode-Collate tetex-latex wget gzip tar \&lt;br /&gt;
    ImageMagick poppler-utils chkconfig unzip cpan python3-html2text&lt;br /&gt;
&lt;br /&gt;
In future versions of EPrints (3.4.5+) EPrints will be switching to use &amp;lt;tt&amp;gt;html2text&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt;.  [https://github.com/eprints/eprints3.4/commit/ce5bc101e2212f2b3dd5c0c7cc2b058803bdb79a|This changeset] shows how the places where &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt; is used can be changed to switch over to using &amp;lt;tt&amp;gt;html2text&amp;lt;/tt&amp;gt;.  To make use of this you will need to add &amp;lt;tt&amp;gt;python3-html2text&amp;lt;/tt&amp;gt; to the DNF command above.&lt;br /&gt;
&lt;br /&gt;
==== perl-IO-String package is no longer available ====&lt;br /&gt;
The RPM package &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt; is no longer available in RHEL / CentOS / Rocky 9 even with EPEL package repository. You can enable the ''Code Ready Builder'' repository, which still has &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt; available:&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable &amp;quot;codeready-builder-for-rhel-9-$(arch)-rpms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you are running CentOS 9 (or Rocky 9) you can similarly enable the &amp;lt;tt&amp;gt;crb&amp;lt;/tt&amp;gt; repository:&lt;br /&gt;
&lt;br /&gt;
 dnf config-manager --set-enabled crb&lt;br /&gt;
&lt;br /&gt;
Then install &amp;lt;tt&amp;gt;perl-IO-String&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 dnf install perl-IO-String&lt;br /&gt;
&lt;br /&gt;
==== Sub-dependency packages perl-MIME-Types and perl-Digest-SHA1 are no longer available ====&lt;br /&gt;
&amp;lt;tt&amp;gt;perl-MIME-Lite&amp;lt;/tt&amp;gt; package requires &amp;lt;tt&amp;gt;perl-MIME-Types&amp;lt;/tt&amp;gt; package and &amp;lt;tt&amp;gt;perl-Apache-DBI&amp;lt;/tt&amp;gt; requires &amp;lt;tt&amp;gt;perl-Digest-SHA1&amp;lt;/tt&amp;gt; package neither of which available on RHEL / CentOS / Rocky 9, even with EPEL repository enabled.  You can enable the ''Code Ready Builder'' repository, which still has these packages available:&lt;br /&gt;
&lt;br /&gt;
 subscription-manager repos --enable &amp;quot;codeready-builder-for-rhel-9-$(arch)-rpms&amp;quot;&lt;br /&gt;
&lt;br /&gt;
If you are running CentOS 9 (or Rocky 9) you can similarly enable the &amp;lt;tt&amp;gt;crb&amp;lt;/tt&amp;gt; repository:&lt;br /&gt;
&lt;br /&gt;
 dnf config-manager --set-enabled crb&lt;br /&gt;
&lt;br /&gt;
Then install &amp;lt;tt&amp;gt;perl-MIME-Types&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;perl-Digest-SHA1&amp;lt;/tt&amp;gt;:&lt;br /&gt;
&lt;br /&gt;
 dnf install perl-MIME-Types perl-Digest-SHA1&lt;br /&gt;
&lt;br /&gt;
==== perl-Apache-DBI and Pod::LaTeX packages is no longer available ====&lt;br /&gt;
The RPM packages &amp;lt;tt&amp;gt;perl-Apache-DBI&amp;lt;/tt&amp;gt; are no longer available in RHEL / CentOS / Rocky 9 even with EPEL or ''Code Ready Builder'' package repository.  You can install this using CPAN instead:&lt;br /&gt;
 cpan Apache::DBI&lt;br /&gt;
 cpan Pod::LaTeX&lt;br /&gt;
&lt;br /&gt;
==== Compatibility issues with XML::LibXSLT ====&lt;br /&gt;
Installing &amp;lt;tt&amp;gt;XML::LibXSLT&amp;lt;/tt&amp;gt; either through the &amp;lt;tt&amp;gt;perl-XML-LibXSLT&amp;lt;/tt&amp;gt; or through CPAN causes &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt; to generate a segmentation fault when you try to start it.  The most straightfoarward solution to this is to run &amp;lt;tt&amp;gt;httpd&amp;lt;/tt&amp;gt; in &amp;lt;tt&amp;gt;mpm-prefork&amp;lt;/tt&amp;gt; rather than &amp;lt;tt&amp;gt;mpm-event&amp;lt;/tt&amp;gt; mode.  This can be acheived by editing &amp;lt;tt&amp;gt;/etc/httpd/conf.modules.d/00-mpm.conf&amp;lt;/tt&amp;gt; and commenting out the following line:&lt;br /&gt;
 LoadModule mpm_event_module modules/mod_mpm_event.so&lt;br /&gt;
and uncommenting the &amp;lt;tt&amp;gt;mpm-prefork&amp;lt;/tt&amp;gt; line:&lt;br /&gt;
 LoadModule mpm_prefork_module modules/mod_mpm_prefork.so&lt;br /&gt;
&lt;br /&gt;
==== MySQL root user cannot be used ====&lt;br /&gt;
On RHEL/Centos/Rocky Linux 9 rather than prompting you to set a password for MySQL server when installing this as a dependency, it just installs it without.  However, this means on the root user can login to MySQL to add a database.  As &amp;quot;epadmin create&amp;quot; runs at the eprints user, this will not be able to create a database for EPrints.  To get round this as the root user connect to MySQL (just type &amp;quot;mysql&amp;quot; at the command line) and type the following two commands.  You will want to set your own password (i.e. not 'changeme') , you may also want to restrict which databases the eprints user has control over.  If you know the &amp;quot;Archive ID&amp;quot; you are going to use.&lt;br /&gt;
 CREATE USER 'eprints'@'localhost' IDENTIFIED by 'changeme';&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO 'eprints'@'localhost' WITH GRANT OPTION;&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=Getting_Started_with_EPrints_3&amp;diff=16068</id>
		<title>Getting Started with EPrints 3</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=Getting_Started_with_EPrints_3&amp;diff=16068"/>
		<updated>2023-07-04T13:46:58Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Typo correction in &amp;quot;Running epadmin...Create an initial user...Enter a username&amp;quot; section as follows: The username you will be used -&amp;gt; The username you will use&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Manual]]&lt;br /&gt;
[[Category:Management]]&lt;br /&gt;
[[Category:Installation]]&lt;br /&gt;
==Creating an Archive==&lt;br /&gt;
&lt;br /&gt;
EPrints 3 can run multiple archives under one install. Multiple archives will require giving additional DNS aliases to the machine running EPrints, EPrints can then create all the parts of the apache configuration file needed to run the virtual hosts.&lt;br /&gt;
&lt;br /&gt;
Alternatively you can use different ports to distinguish your different repositories hosted by the same server.&lt;br /&gt;
&lt;br /&gt;
===Running epadmin===&lt;br /&gt;
Make sure MySQL is actually running.&lt;br /&gt;
&lt;br /&gt;
Change to your eprints user (probably ''eprints'').&lt;br /&gt;
&lt;br /&gt;
Change directory to the eprints directory (&amp;lt;tt&amp;gt;/opt/eprints3&amp;lt;/tt&amp;gt; by default for a source install and &amp;lt;tt&amp;gt;/usr/share/eprints&amp;lt;/tt&amp;gt; for packaged installs) and run&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin create&lt;br /&gt;
&lt;br /&gt;
If you are running EPrints 3.4 or later you will need a further parameter to define which flavour of repository you want.  The common two choices are either '''pub''' or '''zero''':&lt;br /&gt;
&lt;br /&gt;
 bin/epadmin create pub&lt;br /&gt;
&lt;br /&gt;
You will get the following prompts (note that when you see something in [square brackets], it's the default value and can be selected by simply hitting &amp;lt;enter&amp;gt;):&lt;br /&gt;
&lt;br /&gt;
* Archive ID - the system name for your archive.  It's probably a good idea to think of something short and memorable. Once entered, an &amp;lt;tt&amp;gt;archive/&amp;lt;archive_id&amp;gt;&amp;lt;/tt&amp;gt; directory will be created, and the standard configuration files will be copied in.&lt;br /&gt;
* Configure vital settings - Hit enter to say 'yes'. This will lead to more prompting about core settings:&lt;br /&gt;
** Hostname - What someone will type into a web browser to get to your archive.  Make sure that your systems team have a DNS alias pointing to your server for this.&lt;br /&gt;
** Webserver Port - Which port do you want to serve the archive on?  The default is 80, so unless you can think of a good reason not to, just hit enter to accept the default.&lt;br /&gt;
** Alias - You can enter any number of aliases that will take users to this archive.  Enter a '#' when you don't want to enter any more.  You could have your archive served on &amp;lt;tt&amp;gt;eprints.myorganisation.org&amp;lt;/tt&amp;gt; and &amp;lt;tt&amp;gt;eprints.myorg.org&amp;lt;/tt&amp;gt;.  As with the Hostname, your systems team need to be informed about these aliases too.&lt;br /&gt;
*** Redirect ''your chosen alias'' to ''Hostname'' - Yes, usually that is your intention.&lt;br /&gt;
** Please enter the path part of the repository's base URL - Make it simple for you and your visitors ... and confirm the suggestion; multiple archives could be managed by different domains or ports!&lt;br /&gt;
** If you will use https for your user pages (including login) enter the https hostname - No doubt, for secure usage you need another name.&lt;br /&gt;
** Administrator Email - Enter the email address of the repository administrator.  This will allow your repository users to send email to the right person.&lt;br /&gt;
** Archive Name - The full name of your archive.  By default, this will be used on many of the pages, and in the title bar of the browser.&lt;br /&gt;
** Write these core settings - If you don't say 'yes', then you entered all that data for nothing (relaunch the process by &amp;lt;tt&amp;gt;epadmin config_core ''archive_id''&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Configure database - EPrints makes extensive use of a MySQL database.  Enter 'yes' to launch &amp;lt;tt&amp;gt;epadmin config_db ''archive_id''&amp;lt;/tt&amp;gt;.&lt;br /&gt;
** Database Name - The internal name of your database.  It makes sense to use the Archive ID for this, but you don't have to.  You don't need to create this database, &amp;lt;tt&amp;gt;epadmin&amp;lt;/tt&amp;gt; will do it for you.&lt;br /&gt;
** MySQL Host - The address of the server that the database is running on.  If the database is on the same machine as the EPrints installation, confirm 'localhost'.&lt;br /&gt;
** MySQL Port - You probably don't need to enter a value.  If you have problems connecting to the database, talk to your systems team.&lt;br /&gt;
** MySQL Socket - As with MySQL Port, it's unlikely that you need to enter anything.&lt;br /&gt;
** Database User - The username with which to log into the MySQL Database.  You don't need to create this user, &amp;lt;tt&amp;gt;epadmin&amp;lt;/tt&amp;gt; will do it for you.  If you enter a MySQL username that already exists, it will be overwritten by epstats!&lt;br /&gt;
** Database Password - Just confirm the suggested password for the Database User, &amp;lt;tt&amp;gt;eprints&amp;lt;/tt&amp;gt; will keep track of it!&lt;br /&gt;
** Write these database settings - You should write them, or you'll lose them.&lt;br /&gt;
* Create database &amp;lt;Database Name&amp;gt; - Say ''yes'' to launch &amp;lt;tt&amp;gt;epadmin create_db ''archive_id''&amp;lt;/tt&amp;gt;, and &amp;lt;tt&amp;gt;epadmin&amp;lt;/tt&amp;gt; can create the database and populate it with all the right tables.  If you've already created a database and a user for this archive, say 'no'.&lt;br /&gt;
** Database Superuser Username - 'root' isn't a bad suggestion, but should match your specifications during the MySQL installation.&lt;br /&gt;
** Database Superuser Password - To create the database and the user, epadmin needs the MySQL Root Password (specified during MySQL installation). This is not saved anywhere.  It is only used to log into MySQL, create the database and create the user with useful access rights. The password is forgotten afterwards, because it's not needed anymore by this process!&lt;br /&gt;
* Create database tables - say 'yes' to have epadmin create all the database tables, i.e. initiate the same as with &amp;lt;tt&amp;gt;epadmin create_tables ''archive_id''&amp;lt;/tt&amp;gt;.&lt;br /&gt;
* Create an initial user - It's a good idea to create a user account for yourself at this point, but you can start the same process by &amp;lt;tt&amp;gt;epadmin create_user ''archive_id''&amp;lt;/tt&amp;gt; anytime ...&lt;br /&gt;
** Enter a username - The username you will use to log into EPrints on the home page of the new archive.&lt;br /&gt;
** Select a user type (user|editor|admin) - There are three user roles in EPrints.  You probably want to be an administrator, so enter 'admin'.&lt;br /&gt;
** Enter Password - A password for this user.  Remember to choose a password that will be hard for someone else to guess!&lt;br /&gt;
** Email - Enter your email address so that users can get in contact with you.&lt;br /&gt;
* Do you want to build the static web pages - There are a number of pages in EPrints which change very rarely.  These are the static pages.  The Home page and the About page are examples of static pages.  Stylesheets are also static.  These pages need to be built, so say 'yes' (otherwise you have to start that process manually later by &amp;lt;tt&amp;gt;generate_static ''archive_id''&amp;lt;/tt&amp;gt;).&lt;br /&gt;
* Do you want to import the LOC subjects - If you will be using the Library Of Congress subject hierarchy, say 'yes'.  Otherwise you will need to create your own subject hierarchy and import it using [http://wiki.eprints.org/w/API:bin/import_subjects &amp;lt;tt&amp;gt;import_subjects&amp;lt;/tt&amp;gt;].&lt;br /&gt;
* Do you want to update the apache config files? (you still need to add the 'Include' line in the very central http.conf, e.g.) - Your archive has a number of files which it uses to configure the web server.  These should be updated, so say ''yes'' or start &amp;lt;tt&amp;gt;generate_apacheconf ''archive_id''&amp;lt;/tt&amp;gt; later.&lt;br /&gt;
* Before exiting, &amp;lt;tt&amp;gt;epadmin&amp;lt;/tt&amp;gt; will display information about configuring the webserver.&lt;br /&gt;
&lt;br /&gt;
====example configuration====&lt;br /&gt;
&lt;br /&gt;
The script will run through a number of configuration options, an example of which is listed below. Please change the settings to suit your site configuration.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
-bash-4.1$ ./bin/epadmin create&lt;br /&gt;
&lt;br /&gt;
Create an EPrint Repository&lt;br /&gt;
&lt;br /&gt;
Please select an ID for the repository, which will be used to create a directory&lt;br /&gt;
and identify the repository. Lower case letters and numbers, may not start with&lt;br /&gt;
a number. examples: &amp;quot;lemurprints&amp;quot; or &amp;quot;test3&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Archive ID? testrepo  &lt;br /&gt;
We need to create /usr/share/eprints/archives/testrepo, doing it now…&lt;br /&gt;
&lt;br /&gt;
Creating initial files:&lt;br /&gt;
Installing: /usr/share/eprints/archives/testrepo/cfg&lt;br /&gt;
Installing: /usr/share/eprints/archives/testrepo/cfg/lang&lt;br /&gt;
[...]&lt;br /&gt;
Installing: /usr/share/eprints/archives/testrepo/cfg/workflows/eprint&lt;br /&gt;
&lt;br /&gt;
Ok. I've created the initial config files and directory structure. &lt;br /&gt;
I've also created a &amp;quot;disk0&amp;quot; directory under documents/ if you want&lt;br /&gt;
your full texts to be stored on a different partition then remove &lt;br /&gt;
the disk0, and create a symbolic link to the directory you wish to&lt;br /&gt;
store the full texts in. Additional links may be placed here to be&lt;br /&gt;
used when the first is full.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Configure vital settings? [yes] ? &lt;br /&gt;
Core configuration for testrepo&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Please enter the fully qualified hostname of the repository. &lt;br /&gt;
&lt;br /&gt;
For a production system we recommend against using the real hostname of the &lt;br /&gt;
machine. &lt;br /&gt;
&lt;br /&gt;
Example: testrepo.footle.ac.uk&lt;br /&gt;
&lt;br /&gt;
Hostname? testprint&lt;br /&gt;
&lt;br /&gt;
Please enter the port of the webserver. This is probably 80, but you may wish &lt;br /&gt;
to run apache on a different port if you are experimenting.&lt;br /&gt;
&lt;br /&gt;
Webserver Port [80] ? &lt;br /&gt;
&lt;br /&gt;
Please enter all the aliases which could reach the repository, and indicate if &lt;br /&gt;
you would like EPrints to write a Redirect Rule to redirect requests to this&lt;br /&gt;
alias to the correct URL.&lt;br /&gt;
Some suggestions:&lt;br /&gt;
centos610.local&lt;br /&gt;
centos610&lt;br /&gt;
centos610&lt;br /&gt;
&lt;br /&gt;
Enter a single hash (#) when you're done.&lt;br /&gt;
&lt;br /&gt;
Alias (enter # when done) [#] ? testprint.local&lt;br /&gt;
Redirect testprint.local to testprint [yes] ? &lt;br /&gt;
&lt;br /&gt;
Alias (enter # when done) [#] ? &lt;br /&gt;
&lt;br /&gt;
Please enter the path part of the repository's base URL. This should probably&lt;br /&gt;
be '/'.&lt;br /&gt;
&lt;br /&gt;
Path [/] ? &lt;br /&gt;
&lt;br /&gt;
If you will use https for your user pages (including login) enter the https hostname&lt;br /&gt;
here, or leave blank when using http only.&lt;br /&gt;
&lt;br /&gt;
HTTPS Hostname [] ? &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Administrator Email? someone@example.com&lt;br /&gt;
&lt;br /&gt;
Enter the name of the repository in the default language. If you wish to enter &lt;br /&gt;
other titles for other languages or enter non ascii characters then you may&lt;br /&gt;
enter something as a placeholder and edit the XML config file which this&lt;br /&gt;
script generates.&lt;br /&gt;
&lt;br /&gt;
Archive Name [Test Repository] ? &lt;br /&gt;
&lt;br /&gt;
Write these core settings? [yes] ? &lt;br /&gt;
Wrote /usr/share/eprints/archives/testrepo/cfg/cfg.d/adminemail.pl&lt;br /&gt;
Wrote /usr/share/eprints/archives/testrepo/cfg/cfg.d/10_core.pl&lt;br /&gt;
Wrote /usr/share/eprints/archives/testrepo/cfg/lang/en/phrases/archive_name.xml&lt;br /&gt;
&lt;br /&gt;
Configure database? [yes] ? &lt;br /&gt;
&lt;br /&gt;
Configuring Database for: testrepo&lt;br /&gt;
Database Name [testrepo] ? &lt;br /&gt;
MySQL Host [localhost] ? &lt;br /&gt;
&lt;br /&gt;
You probably don't need to set socket and port (unless you do!?).&lt;br /&gt;
MySQL Port (# for no setting) [#] ? &lt;br /&gt;
MySQL Socket (# for no setting) [#] ? &lt;br /&gt;
Database User [testrepo] ? &lt;br /&gt;
Database Password [nxxxxuAw] ? &lt;br /&gt;
Database Engine [MyISAM] ? &lt;br /&gt;
&lt;br /&gt;
Write these database settings? [yes] ?  &lt;br /&gt;
Wrote /usr/share/eprints/archives/testrepo/cfg/cfg.d/database.pl&lt;br /&gt;
&lt;br /&gt;
EPrints can create the database, and grant the correct permissions.&lt;br /&gt;
&lt;br /&gt;
Create database &amp;quot;testrepo&amp;quot; [yes] ? &lt;br /&gt;
Database Superuser Username [root] ? &lt;br /&gt;
Database Superuser Password? &lt;br /&gt;
Create database tables? [yes] ? &lt;br /&gt;
Creating database tables...&lt;br /&gt;
Set DB compatibility flag to '3.3.4'.&lt;br /&gt;
Done creating database tables.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Create an initial user? [yes] ? &lt;br /&gt;
Creating a new user in testrepo&lt;br /&gt;
&lt;br /&gt;
Enter a username [admin] ?&lt;br /&gt;
Select a user type (user|editor|admin) [admin] ?    &lt;br /&gt;
Enter Password? &lt;br /&gt;
Email? first.last@example.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Successfully created new user:&lt;br /&gt;
       ID: 1&lt;br /&gt;
Do you want to build the static web pages? [yes] ? &lt;br /&gt;
&lt;br /&gt;
Starting EPrints Repository.&lt;br /&gt;
Connecting to DB ... done.&lt;br /&gt;
mkdir /usr/share/eprints/archives/testrepo/html/en/codemirror/mode/velocity&lt;br /&gt;
/usr/share/eprints/lib/static/codemirror/mode/velocity/velocity.js -&amp;gt; /usr/share/eprints/archives/testrepo/html/en/codemirror/mode/velocity/velocity.js&lt;br /&gt;
mkdir /usr/share/eprints/archives/testrepo/html/en/style/images&lt;br /&gt;
/usr/share/eprints/lib/static/style/images/action_edit.png -&amp;gt; /usr/share/eprints/archives/testrepo/html/en/style/images/action_edit.png&lt;br /&gt;
[...]&lt;br /&gt;
/usr/share/eprints/lib/static/style/images/action_unpack.png -&amp;gt; /usr/share/eprints/archives/testrepo/html/en/style/images/action_unpack.png&lt;br /&gt;
/usr/share/eprints/lib/static/codemirror/lib/util/loadmode.js -&amp;gt; /usr/share/eprints/archives/testrepo/html/en/codemirror/lib/util/loadmode.js&lt;br /&gt;
Ending EPrints Repository.&lt;br /&gt;
&lt;br /&gt;
Do you want to import the LOC subjects? [yes] ? &lt;br /&gt;
&lt;br /&gt;
Starting EPrints Repository.&lt;br /&gt;
Connecting to DB ... done.&lt;br /&gt;
Importing from /usr/share/eprints/archives/testrepo/cfg/subjects...&lt;br /&gt;
Done importing 280 subjects from /usr/share/eprints/archives/testrepo/cfg/subjects&lt;br /&gt;
Reindexing subject dataset to set ancestor data&lt;br /&gt;
Reindexing item: subject/A&lt;br /&gt;
Reindexing item: subject/AC&lt;br /&gt;
Reindexing item: subject/AI&lt;br /&gt;
Reindexing item: subject/AM&lt;br /&gt;
[...]&lt;br /&gt;
Reindexing item: subject/sch_soc&lt;br /&gt;
Reindexing item: subject/subjects&lt;br /&gt;
Done reindexing&lt;br /&gt;
Ending EPrints Repository.&lt;br /&gt;
&lt;br /&gt;
Exiting normally.&lt;br /&gt;
Do you want to update the apache config files? (you still need to add the&lt;br /&gt;
'Include' line) [yes] ? &lt;br /&gt;
Wrote /usr/share/eprints/cfg/apache/testrepo.conf&lt;br /&gt;
&lt;br /&gt;
You must restart apache for any changes to take effect!&lt;br /&gt;
&lt;br /&gt;
--------------------------------------------------------------------------&lt;br /&gt;
That seemed to more or less work...&lt;br /&gt;
--------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Now make any required changes to the cfg files. &lt;br /&gt;
&lt;br /&gt;
Note that changing the metadata configuration may require the database&lt;br /&gt;
tables to be regenerated. epadmin erase_data will regenerate the &lt;br /&gt;
eprints and documents tables only. erase_data will regenerate everything.&lt;br /&gt;
(nb. these also do erase the contents of the tables, and any uploaded &lt;br /&gt;
files).&lt;br /&gt;
&lt;br /&gt;
Make sure that your main apache config file contains the line:&lt;br /&gt;
&lt;br /&gt;
 Include /usr/share/eprints/cfg/apache.conf&lt;br /&gt;
&lt;br /&gt;
Then stop and start your webserver:&lt;br /&gt;
Often:&lt;br /&gt;
 /etc/rc.d/init.d/httpd stop&lt;br /&gt;
 /etc/rc.d/init.d/httpd start&lt;br /&gt;
(or maybe /usr/local/apache/bin/apachectl stop &amp;amp; start)&lt;br /&gt;
&lt;br /&gt;
And then try connecting to your repository.&lt;br /&gt;
--------------------------------------------------------------------------&lt;br /&gt;
&lt;br /&gt;
Don't forget to register your repository at http://roar.eprints.org/&lt;br /&gt;
&lt;br /&gt;
-bash-4.1$ &lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Finish apache's configuration before its final restart to be ready for opening a browser and watch the homepage of your new archive, ready to be [[Branding with confidence|branded]].&lt;br /&gt;
&lt;br /&gt;
If you want to add some more users, use the command &amp;lt;tt&amp;gt;epadmin create_user &amp;lt;repository id&amp;gt;&amp;lt;/tt&amp;gt; or the admin's web dialog.&lt;br /&gt;
&lt;br /&gt;
==Regular Maintenance==&lt;br /&gt;
&lt;br /&gt;
EPrints front end web pages and abstracts '''are ''not'' automatically updated''' when you make changes to the repository.&lt;br /&gt;
To apply your changes and update the web pages:&lt;br /&gt;
&lt;br /&gt;
===Generate Views===&lt;br /&gt;
  eprints@host$ bin/generate_views ''yourarchivename''&lt;br /&gt;
&lt;br /&gt;
===Generate Statics===&lt;br /&gt;
  eprints@host$ bin/generate_static ''yourarchivename''&lt;br /&gt;
&lt;br /&gt;
===Generate Abstracts===&lt;br /&gt;
  eprints@host$ bin/generate_abstracts ''yourarchivename''&lt;br /&gt;
&lt;br /&gt;
Finally a restart of your apache server is recommended, because a lot of settings will only be read initially!&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
	<entry>
		<id>https://wiki.eprints.org/w/index.php?title=EPrints_3.4.5&amp;diff=16067</id>
		<title>EPrints 3.4.5</title>
		<link rel="alternate" type="text/html" href="https://wiki.eprints.org/w/index.php?title=EPrints_3.4.5&amp;diff=16067"/>
		<updated>2023-07-04T10:35:32Z</updated>

		<summary type="html">&lt;p&gt;Ajm: Typo correction in Known Issues section as follows: table take already contains -&amp;gt; table that already contains&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{releasenotes}}&lt;br /&gt;
&lt;br /&gt;
== Release Notes ==&lt;br /&gt;
EPrints 3.4.5 is now available on [https://github.com/eprints/eprints3.4/releases/tag/v3.4.5  GitHub] and shortly will be available on files.eprints.org. &lt;br /&gt;
* '''Zero codename:''' Smoothie Squall&lt;br /&gt;
* '''Publications flavour codename:''' Kombucha Hypercane (1.5)&lt;br /&gt;
&lt;br /&gt;
=== New Dependencies ===&lt;br /&gt;
&amp;lt;tt&amp;gt;html2text&amp;lt;/tt&amp;gt; RPM / DEB required instead of &amp;lt;tt&amp;gt;elinks&amp;lt;/tt&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Check earlier dependencies for [[EPrints 3.4.4]] and before.&lt;br /&gt;
&lt;br /&gt;
=== Changes Since 3.4.4 ===&lt;br /&gt;
&lt;br /&gt;
==== New Functionality ====&lt;br /&gt;
* Adds [[:API:tools/console|console-based REPL tool]]&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/290 Adds &amp;lt;code&amp;gt;staged&amp;lt;/code&amp;gt; status for indexer tasks so they can be run outside the EPrints indexer.  E.g. using a cron job].&lt;br /&gt;
&lt;br /&gt;
==== Security and Privacy Improvements ====&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/245 Adds PIN based security for documents].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/246 Makes Xapian index obey &amp;lt;tt&amp;gt;text_index&amp;lt;/tt&amp;gt; attribute for fields].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/276 Allows restricted documents to not have their full texts indexed].&lt;br /&gt;
* Uses HTTPS for CrossRef lookup of DOIs.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/278 Removes (HTTP only) &amp;lt;code&amp;gt;eprints_session&amp;lt;/code&amp;gt; if HTTPS is enabled].&lt;br /&gt;
* Improves target URL validation so only local URLs are allowed and not just paths.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/281 Explicitly disables password field autocomplete].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/237 Improves &amp;quot;request copy&amp;quot; security].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/311 Ensures &amp;lt;code&amp;gt;SameSite=Strict&amp;lt;/code&amp;gt; for all cookies].&lt;br /&gt;
* Better force HTTPS when generating repository URLs.&lt;br /&gt;
&lt;br /&gt;
==== General Improvements ====&lt;br /&gt;
* Updates and makes consistent list of software contributors.&lt;br /&gt;
* Adds get_search_conditions_not_ex for float fields.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/240 Updates DOCTYPE to be more standards compliant].&lt;br /&gt;
* Updates &amp;lt;tt&amp;gt;pub_lib&amp;lt;/tt&amp;gt; homepage links for browse views.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/242 Allows MetaField::Subject to have user-defined render_value].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/238 Improves OAI-PMH representation of records that once were live].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/195 Allows &amp;lt;tt&amp;gt;userid&amp;lt;/tt&amp;gt; to be logged in Access data objects when user is logged in].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/239 Adds ability to manipulate element attributes].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/244 Updates latest_tool to use filters].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/250 Adds id and classes for individual styling of &amp;quot;Manage records&amp;quot; page].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/252 Adds class attributes for &amp;quot;View details&amp;quot; table].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/254 Adds classnames to navigation items and links].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/256 Splits off &amp;lt;tt&amp;gt;senderemail&amp;lt;/tt&amp;gt; from &amp;lt;tt&amp;gt;adminemail&amp;lt;/tt&amp;gt; if this need to be different for DMARC reasons].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/261 Adds the optional attributes of resumptionToken in OAI-PMH].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/257 Table class for screens; Status, DatabaseSchema and MetaFieldListing].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/271 Adds &amp;lt;code&amp;gt;--prune&amp;lt;/code&amp;gt; option to &amp;lt;code&amp;gt;generate_views&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Various improvements to &amp;lt;code&amp;gt;check_xapian&amp;lt;/code&amp;gt; script including &amp;lt;code&amp;gt;--facets&amp;lt;/code&amp;gt; automatically using &amp;lt;code&amp;gt;xapian.facet&amp;lt;/code&amp;gt; directory rathe than needing to specify in &amp;lt;code&amp;gt;--path&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Adds verbose debug to &amp;lt;code&amp;gt;send_alerts&amp;lt;/code&amp;gt; to advise when email is not sent as saved search notifications are only required when results are found.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/287 Set canonical URLs for abstract pages for better Google indexing].&lt;br /&gt;
* Ensures sitemaps always uses HTTPS URLs if &amp;lt;code&amp;gt;securehost&amp;lt;/code&amp;gt; is defined.&lt;br /&gt;
* Breaks up show/hide help phrases to make them more compatible with Bootstrap.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/291 Makes task timeout for EPrints' indexer configurable].  Along with making other indexer settings configurable.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/296 Replaces &amp;lt;code&amp;gt;elinks&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;html2text&amp;lt;/code&amp;gt; as application to extract text from HTML/XML files for indexing].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/299 Allows staff search to find results where &amp;lt;code&amp;gt;metadata_visibility&amp;lt;/code&amp;gt; is not set to &amp;lt;code&amp;gt;show&amp;lt;/code&amp;gt;].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/298 Allows XSL files to be viewed using &amp;lt;code&amp;gt;Config::View::XML&amp;lt;/code&amp;gt; plugin].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/249 Allows &amp;lt;code&amp;gt;MetaField::Subject&amp;lt;/code&amp;gt;'s &amp;lt;code&amp;gt;top&amp;lt;/code&amp;gt; attribute to be set to a configurable function].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/286 Provides overarching setting for maximum file upload size].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/297 Significant phrase changes to facilitate better internationalisation].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/294 Allows screen plugins to use a bespoke page template].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/210 Removes implicit commit when reordering &amp;lt;code&amp;gt;multiple&amp;lt;/code&amp;gt; fields].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/304 Adds separate CSS classes to top and bottom action buttons in workflow].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/306 Adds &amp;lt;code&amp;gt;$c-&amp;gt;{retain_embargo_dates}&amp;lt;/code&amp;gt; settings so dates can be retained when embargoes are lifted without causing any validation warnings or need to perpetually check old embargo dates].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/310 Prevent indexer.log filling up with errors from &amp;lt;code&amp;gt;pdftotext&amp;lt;/code&amp;gt;].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/312 Additional CSS classes and IDs added for parts of input forms].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/317 Improvements to phrases used for icons in input forms and views].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/318 Render paragraphs from &amp;lt;code&amp;gt;reason&amp;lt;/code&amp;gt;s in emails].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/321 Allow indexcodes to be regenerated as part of &amp;lt;code&amp;gt;epadmin reindex&amp;lt;/code&amp;gt; when &amp;lt;code&amp;gt;--force&amp;lt;/code&amp;gt; flag is used].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/322 Allow different phrases to be used for field names dependent on eprint's type].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/326 Allows date input fields to be rendered shorter].&lt;br /&gt;
* Improves rendering/hiding of missing subjects depending on &amp;lt;code&amp;gt;render_quiet&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Adds data-row... attributes to compound/multiple field renders.&lt;br /&gt;
* Various improvements to POD documentation.&lt;br /&gt;
&lt;br /&gt;
==== Bug Fixes ====&lt;br /&gt;
* Fixes typo for &amp;lt;tt&amp;gt;_epname&amp;lt;/tt&amp;gt; in RPM spec file.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/243 Adds properly referenced ARIA labels for sets and fields with bespoke &amp;lt;tt&amp;gt;search_input_style&amp;lt;/tt&amp;gt;].&lt;br /&gt;
* Gets EPrints install script to create &amp;lt;tt&amp;gt;EPRINTS_PATH/tmp&amp;lt;/tt&amp;gt; directory with appropriate permissions.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/241 Stops including ARIA &amp;lt;tt&amp;gt;describedby&amp;lt;/tt&amp;gt; if help text is empty].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/247 Fixes &amp;quot;Data too long for column 'word'&amp;quot; indexing errors].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/233 Now returns &amp;quot;410 Gone&amp;quot; HTTP code when item has been retired].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/255 Adds missing &amp;lt;code&amp;gt;&amp;lt;help&amp;gt;&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;&amp;lt;title&amp;gt;&amp;lt;/code&amp;gt; elements used in phrases for 2nd+ document fields in eprint workflows].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/258 Fixes text indexing &amp;lt;tt&amp;gt;saved_search.spec&amp;lt;/tt&amp;gt; causing problems with Xapian].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/262 Fixes HTTPS URLs not be parseable by &amp;lt;code&amp;gt;XML::LibXML-&amp;gt;parse_file&amp;lt;/code&amp;gt;].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/263 Fixes missing URL encoding of # in filename download links].&lt;br /&gt;
* Checks &amp;lt;code&amp;gt;render_dynamic&amp;lt;/code&amp;gt; attribute is set for &amp;lt;code&amp;gt;MetaField&amp;lt;/code&amp;gt; before testing value &lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/265 Fixes LDAP-based login failures when accounts need to be created on-the-fly].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/266 Ensures &amp;lt;code&amp;gt;$c-&amp;gt;{userhome}&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;$c-&amp;gt;{urlpath}&amp;lt;/code&amp;gt; are auto set correctly].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/269 Fixes missing parameter field when making phrase &amp;lt;code&amp;gt;limit_names_shown_label&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Adds &amp;lt;code&amp;gt;poppler-utils&amp;lt;/code&amp;gt; DEB dependency for &amp;lt;code&amp;gt;pdftotext&amp;lt;/code&amp;gt; to index PDFs.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/275 Allows &amp;lt;code&amp;gt;PHDTHESIS&amp;lt;/code&amp;gt; from BibTeX to be imported without error by correcting mappings for &amp;lt;code&amp;gt;thesis_type&amp;lt;/code&amp;gt; and &amp;lt;code&amp;gt;thesis_name&amp;lt;/code&amp;gt; fields].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/279 Uses original rather than proxied IP address in access record if proxied address is in (configurable) private IP address range].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/272 Fixes BibTeX import parsing by ignoring entries with empty of malformed citekeys].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/274 Fixes issues with both server-side and client-side caching of JavaScript and CSS auto files].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/284 Fixes search offset being forgotten when results reordered].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/285 Fixes search ordering reverting to &amp;quot;by relevance&amp;quot; when different default ordering is set].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/289 Makes redirects from short URLs to long URLs a 301 rather than 302 or 303].  Good for SEO.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/293 Ensures BibTeX export of &amp;lt;code&amp;gt;note&amp;lt;/code&amp;gt; is not prevented is already used by &amp;lt;code&amp;gt;ispublished&amp;lt;/code&amp;gt; field].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/295 Fixes incorrect location described in &amp;lt;code&amp;gt;lib/syscfg.d/README&amp;lt;/code&amp;gt;].&lt;br /&gt;
* Tidies up &amp;lt;code&amp;gt;replyto_name&amp;lt;/code&amp;gt; used in emails when referenced user has not set their name.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/301 Fixes disabling &amp;lt;code&amp;gt;Config::Edit&amp;lt;/code&amp;gt; plugins breaking &amp;quot;View Configuration&amp;quot;].&lt;br /&gt;
* Gracefully handles template pin not being defined or mapped.&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/253 Fixes incorrect counts for items for ancestor (e.g. parent) subjects in subject field based browse views].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/292 Fixes bug with grouping function being ignored in certain browse views].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/283 Ensures appropriate escaping in search serialization and setting of &amp;lt;code&amp;gt;$self-&amp;gt;{op}&amp;lt;/code&amp;gt; for &amp;lt;code&amp;gt;regexp&amp;lt;/code&amp;gt; search condition].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/306 Fixes ordering of summary box &amp;lt;code&amp;gt;div&amp;lt;/code&amp;gt;s on abstract pages].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/309 CRUD interface GET requests now return &amp;lt;code&amp;gt;NOT_FOUND&amp;lt;/code&amp;gt; rather than &amp;lt;code&amp;gt;FORBIDDEN&amp;lt;/code&amp;gt; for non-existent eprints].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/314 Removes redundant code from XHTML field rendering function].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/commit/bd0a1e928b70478e4c25f2c818cc77d31b12c98f Ensures consistent ordering of RejectWithEmail / RemoveWithEmail buttons on review queue].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/319 Fixes check for whether JavaScript within uploaded files can run when viewed through EPrints].  Fixes change for [https://github.com/eprints/eprints3.4/issues/62 original issue].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/320 Adds more character mappings for indexer to fix issues with indexing tasks failing to complete due to duplicate index errors].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/commit/ffd9b53079bc6969ba17671552aefd5b5d511c66|Removes unnecessary field defaults. Better restricts digits for int fields].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/pull/325 Fixes ARIA typo in upload form].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/329 Fixes use of fieldsets in input/search from to make it easier and more consistent when modifying CSS].&lt;br /&gt;
* [https://github.com/eprints/eprints3.4/issues/330 Deal with UTF8-MB4 characters that would break database queries].&lt;br /&gt;
* Makes user menu bar and footer more responsive to page width.&lt;br /&gt;
* Fixes word-wrapping overflow on homepage description list.&lt;br /&gt;
* Various improvements to the &amp;lt;code&amp;gt;tidy_pids&amp;lt;/code&amp;gt; script.&lt;br /&gt;
* Various typos&lt;br /&gt;
&lt;br /&gt;
=== Known Issues ===&lt;br /&gt;
&lt;br /&gt;
==== Long time to add &amp;lt;tt&amp;gt;requester_userid&amp;lt;/tt&amp;gt; field to access data object ====&lt;br /&gt;
Adding new columns to a database table that already contains a lot of records can take a long time.  The access table for EPrints can often have tens of millions of records.  At such a size adding a new column can take in the order of hours.  EPrints 3.4.5 add the new field &amp;lt;tt&amp;gt;requester_userid&amp;lt;/tt&amp;gt;.  This is intended to capture the logged in user that is viewing or downloading an eprint/document.  This is useful for Open Education repositories that have different access permissions.  However, if you have a large access table you may want to [https://github.com/eprints/eprints3.4/commit/79683e8dadda91f5d4862b23fa7bd80bcdee081d apply this patch] from the [https://github.com/eprints/eprints3.4/issues/333 GitHub issue].&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:Eprints3.4]]&lt;br /&gt;
[[Category:Releases]]&lt;/div&gt;</summary>
		<author><name>Ajm</name></author>
		
	</entry>
</feed>