Tutorial Lengkap Instalasi EPrints 3.4 pada Ubuntu 20.04 LTS + SSL

EPrints adalah repositori yang dirancang untuk menyimpan hasil penelitian, dengan tujuan agar hasil penelitian tersebut dapat ditemukan dengan mudah dan dijadikan referensi dimasa yang akan datang. EPrints dapat memanajemen semua objek digital hasil penelitian, mulai dari PDF hingga kumpulan data (datasets).

Universitas atau perguruan tinggi biasanya memiliki EPrints yang mereka kelola secara mandiri. Dengan tujuan untuk mengarsipkan skripsi, hasil riset, paper mahasiswa, dan sebagainya.

Instalasi EPrints itu gampang-gampang susah, agak tricky dan tutorial tentang instalasi EPrints yang tersedia di internet yang selama ini admin temukan masih kurang mudah untuk dimengerti. Oleh karena itulah, dalam kesempatan kali ini admin akan sharing sedikit tentang Tutorial Lengkap Instalasi EPrints 3.4 pada Ubuntu 20.04.

Persiapan Instalasi EPrints di Ubuntu 20.04

“Bahan-bahan” yang harus disiapkan sebelum mengikuti tutorial ini adalah sebagai berikut:

  • VPS atau dedicated yang fresh install Linux Ubuntu 20.04 (pilih yang versi LTS terakhir) dan memiliki dedicated IPv4 address
  • Fully Qualified Domain Name (FQDN) yang A record-nya sudah ter-pointing ke IPv4 address milik VPS (dalam tutorial ini kita akan gunakan hostname repository.fazar.net)
  • Kopi atau teh untuk disruput :)

EPrints bisa diinstal pada VPS dengan spesifikasi minimal 1 GB, 1 vCPU, dan storage dengan kapasitas 20 GB. Saran admin, ada baiknya sobat juga mempertimbangkan kualitas VPS hosting yang akan digunakan. Provider rekomendasi admin adalah Vultr atau IDCloudhost.

Tutorial Lengkap Instalasi EPrints 3.4 pada Ubuntu 20.04

Asumsi saya, seluruh perintah SSH pada tutorial ini dijalankan dengan akses root, sehingga tidak membutuhkan sudo. Namun jika sobat login sebagai user dengan akses terbatas, mungkin sobat perlu menambahkan sudo pada setiap perintah yang akan dimasukkan.

Instalasi EPrints

Lakukan upgrade semua packages yang ada

apt update && apt upgrade -y

Jika terdapat upgrade untuk kernel, maka sebaiknya sobat reboot dulu VPS yang sobat gunakan.

Tambahkan repo EPrints

echo "deb http://deb.eprints.org/3.4/stable/ ./" > /etc/apt/sources.list.d/eprints.list
wget -O /etc/apt/trusted.gpg.d/eprints.gpg http://deb.eprints.org/keyFile.gpg

Lakukan instalasi EPrints versi 3.4.4

apt update && apt-get install eprints=3.4.4 -y

Setelah EPrints berhasil terinstal, maka akan muncul pesan seperti ini

Setting up eprints (3.4.4) ...
######################################################################
##                                                                  ##
##                       Welcome to EPrints 3                       ##
##                                                                  ##
######################################################################
##                                                                  ##
## For installation advice and known isses please check:            ##
##   https://wiki.eprints.org/w/Installing_EPrints_on_Debian/Ubuntu ##
##                                                                  ##
## Getting Started:                                                 ##
##   Before you can start using eprints you need to configure your  ##
## install, follow these simple steps:                              ##
##                                                                  ##
##   # su eprints                                                   ##
##       You have to logged in as the eprints user to operate       ##
##       with eprints                                               ##
##   # cd                                                           ##
##       To the eprints home directory (/usr/share/eprints)         ##
##                                                                  ##
##   # ./bin/epadmin create                                         ##
##       Follow the instruction to create your archive.             ##
##                                                                  ##
##   # exit                                                         ##
##                                                                  ##
##   # a2ensite eprints                                             ##
##                                                                  ##
##   # apache2ctl restart                                           ##
##                                                                  ##
##                         ##### DONE #####                         ##
##                                                                  ##
##  For more documentation please see the eprints wiki:             ##
##    https://wiki.eprints.org/w/Documentation                      ##
##                                                                  ##
######################################################################
Setting up libxml-sax-expat-perl (0.51-1) ...

Langkah selanjutnya adalah lakukan download flavoured repository

wget https://files.eprints.org/2715/2/eprints-3.4.4-flavours.tar.gz
tar -xzvf eprints-3.4.4-flavours.tar.gz -C /usr/share/eprints/
mv /usr/share/eprints/eprints-3.4.4/flavours /usr/share/eprints/
rmdir /usr/share/eprints/eprints-3.4.4/

Sampai disini instalasi EPrints 3.4.4 sudah selesai. Namun belum dapat digunakan karena belum dikonfigurasi.

Pengaturan Database Umum

EPrints menggunakan database mySQL dan disini kita harus menambahkan password mySQL untuk user root karena secara default, user root tidak memiliki password. Silakan masukkan perintah berikut ini secara berurutan (jangan lupa mengganti password sesuai keinginan sobat sendiri!)

mysql -u root
USE mysql;
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'PasswordAnda';
FLUSH PRIVILEGES;
exit

Konfigurasi EPrint di Ubuntu 20.04

Note: Jika sobat melihat <ENTER> maka yang dimaksud adalah silakan tekan tombol enter pada keyboard.

EPrints akan berjalan dengan user eprints. Oleh karena itu, kita perlu merubah user dari root menjadi eprints.

su -l eprints

Buat repository baru dengan memasukkan perintah berikut ini:

./bin/epadmin create pub

Sobat akan diminta memasukkan repoid. Silakan masukkan identitas repository yang sobat inginkan. Dalam contoh ini kita menggunakan nama myrepo.

Create a pub Repository

Please select an ID for the repository, which will be used to create a directory
and identify the repository. Lower case letters, numbers and underscores, may not start with
a number or underscore. examples: "lemurprints", "test3" or "research_archive"

Archive ID? myrepo <ENTER>

Selanjutnya, kita akan membuat vital settings, pencet saja enter.

We need to create /usr/share/eprints/archives/myrepo, doing it now ...

Creating initial files:
Installing: /usr/share/eprints/archives/myrepo/cfg
Installing: /usr/share/eprints/archives/myrepo/cfg/static
Installing: /usr/share/eprints/archives/myrepo/cfg/static/images
Installing: /usr/share/eprints/archives/myrepo/cfg/static/javascript
Installing: /usr/share/eprints/archives/myrepo/cfg/static/javascript/auto
Installing: /usr/share/eprints/archives/myrepo/cfg/static/style
Installing: /usr/share/eprints/archives/myrepo/cfg/static/style/auto
Installing: /usr/share/eprints/archives/myrepo/cfg/cfg.d
Installing: /usr/share/eprints/archives/myrepo/cfg/lang
Installing: /usr/share/eprints/archives/myrepo/cfg/lang/en
Installing: /usr/share/eprints/archives/myrepo/cfg/lang/en/phrases
Wrote /usr/share/eprints/archives/myrepo/cfg/cfg.d/00_flavour.pl

Ok. I've created the initial config files and directory structure.
I've also created a "disk0" directory under documents/ if you want
your full texts to be stored on a different partition then remove
the disk0, and create a symbolic link to the directory you wish to
store the full texts in. Additional links may be placed here to be
used when the first is full.

Configure vital settings? [yes] ? <ENTER>

Tentukan hostname yang akan digunakan. Dalam contoh ini kita menggunakan repository.fazar.net

Please enter the fully qualified hostname of the repository.
For a production system we recommend against using the real hostname of the
machine.
Example: myrepo.footle.ac.uk

Hostname? repository.fazar.net <ENTER>

Sobat akan diminta untuk memasukkan pengaturan webserver. Kita akan menggunakan pengaturan default saja. Pada saat diminta email, masukkan alamat email sobat.

Please enter the port of the webserver. This is probably 80, but you may wish
to run apache on a different port if you are experimenting.

Webserver Port [80] ? <ENTER>

Please enter all the aliases which could reach the repository, and indicate if
you would like EPrints to write a Redirect Rule to redirect requests to this
alias to the correct URL.
Some suggestions:
repository.fazar
repository

Enter a single hash (#) when you're done.

Alias (enter # when done) [#] ? <ENTER>

Please enter the path part of the repository's base URL. This should probably
be '/'.

Path [/] ? <ENTER>

If you will use https for your user pages (including login) enter the https hostname
here, or leave blank when using http only.

HTTPS Hostname [] ? <ENTER>

Administrator Email? (alamat@email.sobat) <ENTER>

Masukkan nama repository dan organisasi

Enter the name of the repository in the default language. If you wish to enter
other titles for other languages or enter non ascii characters then you may
enter something as a placeholder and edit the XML config file which this
script generates.

Archive Name [Test Repository] ? (Nama Repository Sobat) <ENTER>

Enter the name of the organisation in the default language. Again, if you wish to enter
other titles for other languages or enter non ascii characters then you may
enter something as a placeholder and edit the XML config file which this
script generates.

Organisation Name [Organisation of Test] ? (Nama Organisasi) <ENTER>

Write these core settings? [yes] ? <ENTER>

Pengaturan database untuk EPrints

Configure database? [yes] ? <ENTER>

Configuring Database for: myrepo <ENTER>
Database Name [myrepo] ? <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 [myrepo] ? <ENTER>
Database Password [RANDOMPASSWORDS] ? <ENTER>
Database Engine [InnoDB] ? <ENTER>

Write these database settings? [yes] ? <ENTER>
Wrote /usr/share/eprints/archives/myrepo/cfg/cfg.d/database.pl

EPrints can create the database, and grant the correct permissions.

Create database "myrepo" [yes] ? <ENTER>
Database Superuser Username [root] ? <ENTER>
Database Superuser Password? (masukkan password mySQL root) <ENTER>
Create database tables? [yes] ? <ENTER>
Creating database tables ...

Selanjutnya sobat akan diminta untuk menambahkan user pertama repository. Silakan tambahkan user dengan akses admin.

Create an initial user? [yes] ? <ENTER>
Creating a new user in myrepo

Enter a username [admin] ? <ENTER>
Select a user type (user|editor|admin) [admin] ? <ENTER>
Enter Password? (masukkan password untuk akses admin) <ENTER>
Email? (masukkan alamat email admin. mis. admin@siganteng.id) <ENTER>

EPrints akan menanyakan apakah sobat akan dibuatkan halaman-halaman web repository.

Do you want to build the static web pages? [yes] ? <ENTER>
Do you want to import the LOC subjects and sample divisions? [yes] ? <ENTER>

Terakhir, EPrints akan menambahkan konfigurasi untuk Apache Webserver

Do you want to update the apache config files? (you still need to add the 'Include' line) [yes] ? <ENTER>

Saat ini seharusnya EPrints sudah terkonfigurasi dengan benar. Silakan ketikkan perintah exit untuk keluar dari user eprints.

Penyesuaian Konfigurasi Apache

Jika sobat mengakses alamat repository lewat browser, dalam hal ini http://repository.fazar.net maka sobat hanya akan melihat halaman default dari Apache. Oleh sebab itu, sobat harus mengganti ServerName default Apache menjadi IPv4 address.

nano /etc/apache2/sites-enabled/000-default.conf

Ubah bagian #ServerName www.example.com menjadi ServerName <IPv4 address>, misalnya ServerName 107.xxx.xxx.xxx

        # The ServerName directive sets the request scheme, hostname and port that
        # the server uses to identify itself. This is used when creating
        # redirection URLs. In the context of virtual hosts, the ServerName
        # specifies what hostname must appear in the request's Host: header to
        # match this virtual host. For the default virtual host (this file) this
        # value is not decisive as it is used as a last resort host regardless.
        # However, you must set it for any further virtual host explicitly.
        ServerName 107.xxx.xxx.xxx

Selanjutnya tambahkan vhost untuk EPrints dan reload Apache.

a2ensite eprints && systemctl reload apache2

Instalasi EPrints telah selesai, dan seharusnya EPrints sobat sudah dapat diakses dengan menggunakan hostname yang telah ditentukan. Yay, berhasil! Silakan sobat sruput dulu kopi atau teh yang sudah disediakan.

tutorial lengkap instalasi eprints 3 4 pada ubuntu 20 04 a
Repository non-HTTPS

Aktivasi HTTPS pada EPrint 3.4

Sebelumnya kita sudah berhasil melakukan instalasi EPrint 3.4.4 dengan mulus. Namun, web EPrints hanya bisa diakses melalui HTTP – sebuah protokol yang sudah mulai usang dan ditinggalkan karena tidak aman.

Google sendiri lebih mengutamakan hasil pencarian pada website-website yang sudah mendukung protokol HTTPS. Oleh karena itulah, penting untuk memiliki instalasi EPrint yang juga mendukung HTTPS.

Aktivasi Module Apache2

Sobat wajib untuk mengaktifkan 2 module Apache yang dibutuhkan untuk konfigurasi HTTPS, yaitu module ssl dan headers. Module ssl digunakan Apache untuk handling sertifikat SSL, sedangkan module headers digunakan untuk mengaktifkan HSTS (HTTP Strict Transport Security).

a2enmod ssl && a2enmod headers && systemctl restart apache2

Instalasi certbot

Certbot merupakan skrip yang mempermudah proses aktivasi dan penerbitan SSL gratisan. Meskipun gratis, tapi kualitas dari sertifikat keluaran LetsEncrypt sudah cukup canggih dan tidak diragukan. Selain itu, certbot juga mampu memperbarui sertifikat SSL secara otomatis.

Untuk menginstal certbot pada Ubuntu 20.04, silakan ikuti prosedur berikut ini!

Hapus instalasi certbot (jika ada) dan instal snapd

apt-get remove certbot -y 
apt install snapd -y

Install snap core dan pastikan terupgrade ke versi terakhir

snap install core && snap refresh core

Install certbot dengan menggunakan snap

snap install --classic certbot

Buat softlink certbot, sehingga certbot bisa dijalankan dengan lebih mudah

ln -s /snap/bin/certbot /usr/bin/certbot

Instalasi sertifikat SSL pada EPrints

Buat file baru yang mengizinkan akses acme challenge pada EPrints

nano /usr/share/eprints/lib/cfg.d/z_rewrite_url_LetsEncrypt.pl

Pastekan script berikut ini, kemudian save!

# import Apache constant e.g. 'OK'
use EPrints::Apache::AnApache;

$c->add_trigger( EP_TRIGGER_URL_REWRITE, sub {
        my( %o ) = @_;

        # if the incoming request matches the LetsEncrypt challenge URL...
        if( $o{uri} =~ m!^${o{urlpath}}/\.well-known/acme-challenge/! )
        {
                # and the LetsEncrypt renewal process has put the file in EPRINTS_ROOT/archives/ARCHIVEID/html/.well-known/acme-challenge/
                if( -f $o{repository}->get_conf( "htdocs_path" ).$o{uri} )
                {
                        # reply with an HTTP '200' 
                        ${$o{return_code}} = OK;
                        # and return the file reqested
                        $o{request}->filename( $o{repository}->get_conf( "htdocs_path" ).$o{uri} );
                }
                # and say that we've handled the request - so no more triggers should be run.
                return EP_TRIGGER_DONE;
        }
} );

Rubah ownership dan permission file tersebut agar dapat dieksekusi oleh EPrints

chown eprints:www-data /usr/share/eprints/lib/cfg.d/z_rewrite_url_LetsEncrypt.pl
chmod 664 /usr/share/eprints/lib/cfg.d/z_rewrite_url_LetsEncrypt.pl

Selanjutnya, mari kita coba untuk menerbitkan sertifikat SSL dengan certbot

certbot --apache certonly

Maka akan muncul prompt registrasi certbot dan opsi memilih vhost yang telah diaktifkan

Saving debug log to /var/log/letsencrypt/letsencrypt.log
Enter email address (used for urgent renewal and security notices)
(Enter 'c' to cancel): (masukkan email) <ENTER>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://letsencrypt.org/documents/LE-SA-v1.3-September-21-2022.pdf. You must
agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: Y <ENTER>

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Would you be willing, once your first certificate is successfully issued, to
share your email address with the Electronic Frontier Foundation, a founding
partner of the Let's Encrypt project and the non-profit organization that
develops Certbot? We'd like to send you email about our work encrypting the web,
EFF news, campaigns, and ways to support digital freedom.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o: N <ENTER>
Account registered.

Which names would you like to activate HTTPS for?
We recommend selecting either all domains, or all domains in a VirtualHost/server block.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
1: repository.fazar.net
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Select the appropriate numbers separated by commas and/or spaces, or leave input
blank to select all options shown (Enter 'c' to cancel): 1 <ENTER>

Jika certbot berhasil menerbitkan sertifikat SSL maka akan muncul pesan seperti ini

Successfully received certificate.
Certificate is saved at: /etc/letsencrypt/live/repository.fazar.net/fullchain.pem
Key is saved at: /etc/letsencrypt/live/repository.fazar.net/privkey.pem
This certificate expires on 2023-02-03.
These files will be updated when the certificate renews.
Certbot has set up a scheduled task to automatically renew this certificate in the background.

Catat path CERTIFICATE dan KEY pada notepad atau sejenisnya! Selanjutnya kita akan switch user ke eprints lagi dan melakukan konfigurasi.

su -l eprints 
mkdir archives/myrepo/ssl/

Buat file baru dengan nama ssl.conf

nano archives/myrepo/ssl/ssl.conf

Isikan dengan konfigurasi berikut ini (sesuaikan dengan hostname dan repoid yang telah sobat tentukan sebelumnya)

<VirtualHost *:443>

     ServerName repository.fazar.net:443
 
     # Enable HSTS
     Header always set Strict-Transport-Security "max-age=63072000;"
 
     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.fazar.net/fullchain.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/repository.fazar.net/privkey.pem
 
     SetEnvIf User-Agent ".*MSIE.*" \
         nokeepalive ssl-unclean-shutdown \
         downgrade-1.0 force-response-1.0
 
     LogLevel warn
     ErrorLog /var/log/apache2/ssl_error_log    
     TransferLog /var/log/apache2/ssl_access_log
     CustomLog /var/log/apache2/ssl_request_log \
         "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b"
 
     Include /usr/share/eprints/cfg/apache_ssl/myrepo.conf
 
     PerlTransHandler +EPrints::Apache::Rewrite

</VirtualHost>

Oke, selanjutnya tambahkan file baru (sesuaikan lagi repoid nya, ya gaes!)

nano archives/myrepo/cfg/cfg.d/https.pl

Isi dengan baris-baris berikut ini

$c->{securehost} = $c->{host};
$c->{secureport} = 443;
$c->{http_root} = undef;

Kemudian generate konfigurasi Apache baru

bin/generate_apacheconf --system --replace

Kemudian switch user kembali menjadi root dengan mengetikkan exit. Silakan sruput minum lagi, bossque!

Edit konfigurasi Apache untuk EPrints.

 nano /etc/apache2/sites-available/eprints

Kemudian ubah isinya seperti ini (perhatikan kembali repoid nya, ya!)

Include /usr/share/eprints/cfg/apache.conf
Include /usr/share/eprints/archives/myrepo/ssl/ssl.conf

Karena banyak konfigurasi yang diutak-atik maka sebaiknya kita cek dulu konfigurasi Apache yang telah dibuat.

apachectl configtest

Pastikan muncul tulisan “Syntax OK”. Jika ada error, silakan koreksi error-nya dulu. Dan, setelah semuanya beres, kita lakukan langkah terakhir, yaitu restart Apache2.

apachectl restart

Silakan akses halaman HTTPS dari repository yang telah sobat buat!

tutorial lengkap instalasi eprints 3 4 pada ubuntu 20 04 b
Yay! Repository EPrints dengan HTTPS

Bagaimana dengan skor SSL-nya? Well, seharusnya sih A+ dengan konfigurasi yang telah dibuat diatas.

tutorial lengkap instalasi eprints 3 4 pada ubuntu 20 04 c 1
Keren, sob! Skor SSL-nya A+

Cara Memperbaiki Masalah Error Mixed Contents Pada EPrints

Ada beberapa pertanyaan dari pengunjung web ini dan rekan-rekan yang menemukan kendala munculnya error mixed contents pada EPrints yang telah berhasil di upgrade dari yang hanya support HTTP menjadi HTTPS. Hal ini juga terjadi saat saya menerapkan konfigurasi SSL pada EPrints pada salah satu repository kampus, namun berhasil ditangani dengan beberapa konfigurasi tambahan

Untuk dicatat, bahwa prosedur untuk memperbaiki error mixed contents pada EPrints yang saya informasikan dibawah ini kompatibel dengan EPrints 3.3.16 (Gelato Blizzard). Mungkin prosedurnya berbeda pada versi EPrints yang Anda gunakan. Use with your own risk, dan jangan lupa melakukan backup repository terlebih dahulu.

Untuk memperbaiki masalah error mixed contents EPrints versi 3.3.16, langkah pertama adalah dengan merubah default scheme yang digunakan oleh EPrints dari HTTP menjadi HTTPS. Caranya adalah dengan menyesuaikan file lib/cfg.d/20_baseurls.pl menjadi seperti dibawah ini:

 my $uri = URI->new( "http://" );
if( EPrints::Utils::is_set( $c->{securehost} ) )
{
$uri->scheme( "https" );
$uri->host( $c->{securehost} );
$uri->port( $c->{secureport} );
$uri = $uri->canonical;
$uri->path( $c->{https_root} );
}
else
{
$uri->scheme( "http" );
$uri->host( $c->{host} );
$uri->port( $c->{port} );
$uri = $uri->canonical;
$uri->path( $c->{http_root} );
}

Dan sesuaikan juga pada bagian bawahnya

$c->{http_url} = "$uri";
$c->{http_cgiurl} = "$uri/cgi";

Selanjutnya, lakukan pemeriksaan konfigurasi dan scripts EPrints dengan mengetikkan perintah

./bin/epadmin test <repoid>

Jika tidak ada masalah, maka silakan lanjutkan dengan merestart Apache, melakukan “epadmin refresh_views”, “epadmin refresh_abstracts” dan “generate_static”

./bin/epadmin refresh_views <repoid>
./bin/epadmin refresh_abstracts <repoid>
./bin/generate_static <repoid> --verbose

Setelah “generate_static” selesai dilakukan, silakan sobat memeriksa kembali halaman repository untuk memastikan semua link sudah menggunakan HTTPS. Jika ada masih ada yang menggunakan HTTP, silakan sobat cek file archives/<repoid>/cfg/lang/en/static/index.xpage karena kemungkinan link tersebut hardcoded disini. Setelah selesai melakukan peribahan index.xpage lanujutkan kembali dengan melakukan “generate_static”

Closing

Oke demikian Tutorial Lengkap Instalasi EPrints 3.4 pada Ubuntu 20.04 plus HTTPS dengan skor A+ komplit! Semoga bisa bermanfaat untuk sobat semuanya. Ingin menambahkan atau ingin bertanya? Silakan tinggalkan komentar dibawah ini.

Updated on 24 Februari 2024

  • Fix prosedur instal certbot 
  • Penambahan fix error mixed contents

39 Comments

  1. Sulhi

    Request tutorial untuk backup dan restore ePrint dong

  2. Heri Subangkit

    bang ini ada ada masa expired datenya yah sslnya ini dah habis, dan kadang di komputer lain ngga bisa di buka, dan ngga tampil eprintnya. ini cara untuk disable ssl dan hapus sslnya gmn yah???

    • sertifikat SSL yang terpasang harusnya secara otomatis diperbarui oleh certbot selama server online. coba di force update SSL nya bang..
      certbot renew nama-domain.com --force-renewal
      kemudian restart apache nya.

      • Heri Subangkit

        usage:
        certbot [SUBCOMMAND] [options] [-d DOMAIN] [-d DOMAIN] …

        Certbot can obtain and install HTTPS/TLS/SSL certificates. By default,
        it will attempt to use a webserver both for obtaining and installing the
        certificate.
        certbot: error: unrecognized arguments: repository.universitasalirsyad.ac.id

        udah tpi errornya seperti itu gmn yah?

        • ah, maaf bang.. saya kurang kasih option -d pada command tersebut. coba gunakan perintah berikut ini:

          certbot renew -d repository.universitasalirsyad.ac.id -force-renewal

          atau force renew semua domain dgn perintah:

          certbot renew --force-renewal

  3. Bang mau nanya, saya kan sudah beralih ke https untuk eprint ini tetapi ada permasalahan saat logout trs klik login lagi masih masuk ke akun ternyata belum kelogout itu permasalahannya dimana bang?

  4. ka saya sudah menigkuti tp ko error pas menjalankan apachectl configtest.
    error nya
    AH00526: Syntax error on line 6 of /usr/share/eprints/archives/repositoruunaic/ssl/ssl.conf:
    Invalid command ‘Header’, perhaps misspelled or defined by a module not included in the server configuration
    Action ‘configtest’ failed.
    The Apache error log may have more information.
    itu kenapa ya ka?

    • Sepertinya module headers blm terinstal. Silakan dicoba perbaiki dgn akses root

      apt install libapache2-mod-headers
      a2enmod headers
      service apache2 restart

      Terakhir jalankan lg configtest

  5. yushi

    mohon bantuan nya kak, kenapa apache jadi error saat akan di restart setelah enable vhost eprints, apakah salah permission file include configuration nya ato gimana ya?
    saat ini owner file include configuration nya milik eprints, tapi vshost nya milik root.. mohon penjelasan nya, thx

    • apakah ada keluar error saat mengetikkan cmd apachectl configtest?

  6. help saya dapat meseg seperti ini ketika mau tambah deposit (seperti salah base url)
    404 File not Found
    Could not find the file: /users/home

    The specified file could not be found on this server. If you reached this page by following a link within the repository, please contact the Mhs Repository administration. Otherwise, please check that you have typed the URL in correctly, or contact the person or site that supplied you with this URL.

    • lho kok minta path ke /users/home? Seharusnya semua ada di /opt/eprints3/ atau /usr/share/. silakan diperiksa kembali config-nya kak.

    • Jundulloh

      saya pernah mengalami kasus ini.. sebaiknya dicek konfigurasi file /opt/eprints/archives/repo/cfg/cfg.d/10_core.pl dan pastikan path nya sudah benar untuk line berikut :

      $c->{http_cgiroot} = '/cgi';
      $c->{https_cgiroot} = '/cgi';
      $c->{rel_cgipath} = '/cgi';

      referensi : https://wiki.eprints.org/w/EPrints_3.4.3#Configuration_for_URLs_and_Paths

  7. phinedemolish

    Terima kasih mas atas tutorialnya, semoga ilmunya dicatat sebagai pahala dan amal jariyah.
    Ijin ada pertanyaan, bagaimana cara merubah path pada konten menjadi https secara otomatis? karena saya cek dibeberapa halaman, kontennya masih menggunakan path lama / http misalnya

    [Repositori KAMPUS supports OAI 2.0 with a base URL of http://repositori.kampus.ac.id/cgi/oai2]

    • Terima kasih..
      Agak sulit untuk merubah URL dan path konten yang sudah ada dalam database. Namun di sinilah HSTS akan berperan. HSTS akan memaksa browser untuk tetap mengakses halaman/konten HTTPS. Sebaiknya biarkan saja default, kecuali mas menemukan masalah error mixed content pada browser.

      • reno

        di repository saya menemukan error mixed content itu bagaimana cara ngatasinya bg?

        • silakan merujuk ke halaman ini mas: https://wiki.eprints.org/w/HTTPS-only_and_HSTS
          cek pada bagian Implementing HTTPS-only with HSTS, ingat repo-nya di backup dulu ya sebelum di utak atik.

          • Saya restart apache tetapi malah masuk ke default page apache tidak ke eprint gimana bang?

          • cek pada bagian “Penyesuaian Konfigurasi Apache” mas…

  8. Andi W.

    Suwun mas, alhamdulillah udah berhasil pasang SSL pada repository kampus kami. Terima kasih udah sharing tutorialnya. Pokoknya, mantap!

  9. Efendi

    kak, saya sudah ikuti sampek settting ssl, tapi kok tetep belum aktif sslnya? caranya sama persis

    • halo mas Efendi,
      apakah versi non-https repository sudah bisa di akses?
      untuk pengaturan SSL, pastikan dengan sesama script/konfigurasi yg dituliskan. jgn langsung copas, terutama pada konfigurasi/script yg mengandung repoid.

      • Efendi

        halo kak ternyata berhasil. Tapi sekarang saya setting ssl untuk eprints saya yg lain kok gagal menerbitkan sertifikat ssl nya ya?

        Certbot failed to authenticate some domains (authenticator: apache). The Certificate Authority reported these problems:
        Domain: eprints.stikesbanyuwangi.ac.id
        Type: connection
        Detail: During secondary validation: 103.250.11.48: Fetching http://eprints.stikesbanyuwangi.ac.id/.well-known/acme-challenge/IvC9EH7YhRslpBLRa_amL1c6qhl7f1-vZdUUSfQVXVE: Error getting validation data

        Hint: The Certificate Authority failed to verify the temporary Apache configuration changes made by Certbot.
        Ensure that the listed domains point to this Apache server and that it is accessible from the internet.

        • Kemungkinan besar hal ini terjadi karena server LetsEncrypt tdk dapat mengakses file acme challenge.

          Coba mas Efendi periksa lagi, terutama pada langkah pembuatan file

          /usr/share/eprints/lib/cfg.d/z_rewrite_url_LetsEncrypt.pl

          dan seterusnya. Hati-hati pada bagian ini karena bisa saja nama repoid berbeda dengan tutorial diatas.

          • saya juga begitu dan repoidnnya udah cek berkali kali bener tapi failed terus.

  10. Rudy Setiawan

    thanks banget ya boss!!
    tutorialnya working 100%. lengkap banget sampai settingan SSL. kalo bisa sekalian minta tolong gimana settingnya agar otomatis redirect akses non-ssl ke versi ssl (http => https).

Leave a Reply

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