EPrints
EPrints adalah perangkat lunak open-source yang digunakan untuk membangun repositori digital, seperti repositori institusi, arsip penelitian, atau koleksi dokumen akademik. Dikembangkan oleh University of Southampton pada tahun 2000, EPrints dirancang untuk mengelola, menyimpan, dan mempublikasikan karya ilmiah seperti artikel jurnal, tesis, laporan penelitian, dan data akademik.
1. Persyaratan Sistem
System requirements untuk EPrints 3.4:
- Apache dengan mod_perl
- MySQL
Sebelum memulai deploy, siapkan:
- VPS atau server dengan OS Ubuntu 24.04 LTS
- Akses SSH ke server
- Domain yang sudah diarahkan ke server
2. Persiapan Server
Update sistem
sudo apt update
sudo apt upgrade -y
Install paket yang dibutuhkan
sudo apt install perl libncurses6 libselinux1 apache2 libapache2-mod-perl2 libxml-libxml-perl \
libunicode-string-perl libterm-readkey-perl libmime-lite-perl libmime-types-perl libdigest-sha-perl \
libdbd-mysql-perl libxml-parser-perl libxml2-dev libxml-twig-perl libarchive-any-perl libjson-perl \
liblwp-protocol-https-perl libtext-unidecode-perl lynx wget ghostscript poppler-utils antiword elinks \
texlive-base texlive-base-bin psutils imagemagick adduser tar gzip unzip libsearch-xapian-perl \
libtex-encode-perl libio-string-perl libdbd-mysql-perl git xpdf python3-html2text make -y
Install MySQL
sudo apt install mysql-server -y
3. Buat Database
Login ke MySQL
sudo mysql
Buat database dan user
CREATE USER 'eprints'@'localhost' IDENTIFIED by 'rahasia';
GRANT ALL PRIVILEGES ON *.* TO 'eprints'@'localhost' WITH GRANT OPTION;
FLUSH PRIVILEGES;
EXIT;
4. Buat User
Buat user eprints
sudo useradd -d /opt/eprints3 -s /bin/bash eprints
Buat direktori eprints3
sudo mkdir /opt/eprints3
sudo chown eprints:eprints /opt/eprints3
sudo chmod 2775 /opt/eprints3
Buka konfigurasi envvars
sudo nano /etc/apache2/envvars
Ubah APACHE_RUN_USER
dan APACHE_RUN_GROUP
export APACHE_RUN_USER=eprints
export APACHE_RUN_GROUP=eprints
Restart apache2
sudo systemctl restart apache2
5. Download EPrints
Beralih ke user eprints
sudo su - eprints
Download source code melalui git clone
git clone https://github.com/eprints/eprints3.4.git /opt/eprints3
6. Buat Repository
Gunakan tags/v3.4.6
cd /opt/eprints3
git checkout tags/v3.4.6
Buat repository baru
bin/epadmin create pub
Masukkan Archive ID
, misal repository
Archive ID? repository
Tekan ENTER
(memilih default [yes]
) pada Configure vital settings?
Configure vital settings? [yes] ? ENTER
Masukkan domain/subdomain, misal repository.universitas.ac.id
Hostname? repository.universitas.ac.id
Konfigurasi selanjutnya, tekan ENTER
Webserver Port [80] ? ENTER
Alias (enter # when done) [#] ? ENTER
Path [/] ? ENTER
Masukkan lagi domainnya untuk HTTPS
HTTPS Hostname [] ? repository.universitas.ac.id
Port HTTPS, tekan ENTER
Secure Webserver Port [443] ? ENTER
Masukkan alamat email administrator repository
Administrator Email? [email protected]
Masukkan nama archive, nama organisasi
Archive Name [Test Repository] ? Contoh Repository
Organisation Name [Organisation of Test] ? Contoh Organisasi
Simpan core settings
, tekan ENTER
Write these core settings? [yes] ? ENTER
Configure database
, tekan ENTER
Configure database? [yes] ? ENTER
Konfigurasi database, tekan ENTER
Database Name [repository] ? ENTER
MySQL Host [localhost] ? ENTER
You probably don't need to set socket and port (unless you do!?).
MySQL Port (# for no setting) [#] ? ENTER
MySQL Socket (# for no setting) [#] ? ENTER
Database User [repository] ? ENTER
Database Password [jzYV9w9HdzSjhEH5] ? ENTER
Database Engine [InnoDB] ? ENTER
Write these database settings? [yes] ? ENTER
Create database "repository" [yes] ? ENTER
Masukkan username dan password eprints MySQL
Database Superuser Username [root] ? eprints
Database Superuser Password?
Create database tables? [yes] ? ENTER
Buat akun administrator
Create an initial user? [yes] ?
Enter a username [admin] ?
Select a user type (user|editor|admin) [admin] ?
Enter Password?
Email? [email protected]
Selanjutnya tekan ENTER
Do you want to build the static web pages? [yes] ? ENTER
Do you want to import the LOC subjects and sample divisions? [yes] ? ENTER
Do you want to update the apache config files? (you still need to add the 'Include' line) [yes] ? ENTER
Keluar dari user eprints, beralih ke user sudo
exit
7. Konfigurasi Apache
Tambahkan konfigurasi eprints
ke dalam apache.conf
echo "Include /opt/eprints3/cfg/apache.conf" | sudo tee -a /etc/apache2/apache2.conf
Restart apache2
sudo systemctl restart apache2
Akses http://repository.universitas.ac.id
sudah terinstal.
8. Install SSL
Install certbot
sudo apt install certbot python3-certbot-apache -y
Request sertifikat SSL
sudo certbot --non-interactive \
-m [email protected] \
--agree-tos \
--no-eff-email \
--apache certonly \
-d repository.universitas.ac.id
Beralih ke user eprints
sudo su - eprints
Buat direktori ssl
di dalam direktori archive
mkdir /opt/eprints3/archives/repository/ssl
Buat file securevhost.conf
di dalam direktori ssl
nano /opt/eprints3/archives/repository/ssl/securevhost.conf
Masukkan konfigurasinya
<VirtualHost *:443>
ServerName repository.universitas.ac.id:443
ErrorLog /var/log/apache2/repository.universitas.ac.id_error.log
TransferLog /var/log/apache2/repository.universitas.ac.id_access.log
LogLevel warn
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1
SSLHonorCipherOrder on
SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256
SSLCertificateFile /etc/letsencrypt/live/repository.universitas.ac.id/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/repository.universitas.ac.id/privkey.pem
SSLCertificateChainFile /etc/letsencrypt/live/repository.universitas.ac.id/chain.pem
SetEnvIf User-Agent ".*MSIE.*" \
nokeepalive ssl-unclean-shutdown \
downgrade-1.0 force-response-1.0
CustomLog /var/log/apache2/repository.universitas.ac.id_access.log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
Include /opt/eprints3/cfg/apache_ssl/repository.conf
PerlTransHandler +EPrints::Apache::Rewrite
</VirtualHost>
Generate ulang konfigurasi apache untuk eprints
/opt/eprints3/bin/generate_apacheconf --system --replace
Keluar dari user eprints
exit
Tambahkan konfigurasi securevhost.conf
ke dalam file apache.conf
echo "Include /opt/eprints3/archives/repository/ssl/securevhost.conf" | sudo tee -a /etc/apache2/apache2.conf
Aktifkan modul ssl
dan restart apache2
sudo a2enmod ssl
sudo systemctl restart apache2
Akses https://repository.universitas.ac.id
, SSL sudah terpasang.