Mengaktifkan SSL (HTTPS) untuk Dspace Repositori Digital yang Dapat Diakses Publik

Apa itu SSL ?

SSL (Secure Sockets Layer) adalah protokol keamanan internet yang digunakan untuk mengenkripsi data yang dikirimkan antara browser dan server web dspace. SSL bekerja dengan cara mengubah data yang dikirimkan menjadi kode yang sulit dibaca atau dienkripsi, sehingga data tersebut tidak dapat diakses oleh pihak ketiga yang tidak berwenang.

SSL digunakan untuk melindungi data sensitif seperti nomor kartu kredit, kata sandi, dan informasi pribadi lainnya. SSL juga dapat membantu meningkatkan kepercayaan pengguna terhadap website Anda, karena SSL menunjukkan bahwa website Anda telah mengambil langkah-langkah untuk melindungi data pengguna dspace.alert-success

SSL harus diaktifkan dengan memasang sertifikat SSL pada repository institusi / repository universitas dspace Anda. Sertifikat SSL adalah file digital yang berisi informasi tentang website Anda, seperti nama domain dan alamat IP. Sertifikat SSL juga berisi kunci publik dan pribadi yang digunakan untuk mengenkripsi dan mendekripsi data.

Setelah sertifikat SSL dipasang, browser pengguna akan memeriksa keaslian sertifikat SSL dan memastikan bahwa website Anda adalah website yang sah. Jika sertifikat SSL valid, browser akan mengenkripsi semua data yang dikirimkan antara browser dan server web.

SSL adalah protokol keamanan yang penting untuk melindungi data pengguna pada repository institusi / repository universitas dspace Anda dan meningkatkan kepercayaan terhadap pada repository institusi / repository universitas dspace Anda. Jika Anda memiliki repository institusi / repository universitas dspace yang pasti nya menangani data sensitif, sangat disarankan untuk memasang sertifikat SSL di server dspace.

Tutorial ini adalah lanjutan dari Install Dspace 8 Di Ubuntu 22, Akses Dspace IP Publik , jika belum install , install sesuai tutoruial Install Dspace 8 Di Ubuntu 22, Akses Dspace IP Publik  ya 

Butuh hosting atau email cpanel pakai Jagoan Hosting. Dijamin bagus layanan nya recomended. Hosting Indonesia Paling Kredibel Bikin Kebutuhan Onlinemu jadi Fleksibel. Tersedia berbagai paket hosting dan email bisnis yang ramah pustakawan. Klik aja link berikut JAGOANHOSTING.COM , diskon 10% untuk VPS , gunakan kode promo ZAE10 , diskon berlaku hingga 29 September 2024

Install Apace2 dan Konfigurasi sebagai Reverse Proxy

sudo apt install apache2 -ycode-box

sudo systemctl enable apache2code-box

sudo systemctl start apache2code-box

Cek apakah Apache berfungsi dengan baik pada port 80, cara nya. Akses IP publik anda , coba buka menggunakan browser web Anda , pada URL bar ketik IP publik anda , ENTER , akan  tampil halaman index apache2.

Jika diakses pakai domain juga akan nampil halaman default apache2 , misal pakai domain jagoanslims.web.id

Aktifkan mode yang diperlukan di Apache2

sudo a2enmod proxy_http ssl headers rewritecode-box

Restart untuk memberlakukan perubahan

systemctl restart apache2code-box

Pada tutorial kita akan menggunakan Let's Encrypt, penerbit SSL gratis, otomatis, dan terbuka yang dipersembahkan oleh Internet Security Research Group (ISRG) / Kelompok Riset Keamanan Internet nirlaba.

Https gunakan certbot untuk mengonfigurasi SSL di server repository institusi / repository universitas dspace Anda

sudo apt update -ycode-box

sudo apt install snapd -ycode-box

sudo snap install corecode-box

sudo snap install --classic certbotcode-box

sudo ln -s /snap/bin/certbot /usr/bin/certbotcode-box

sudo certbot certonly --apachecode-box

Setelah langkah terakhir akan diminta input email untuk komunikasi di masa mendatang, Anda dapat memberikan email repository perpustakaan Anda di sini dan tekan enter.

Kemudian akan menanyakan syarat dan ketentuan dan jenis Berlangganan EFF Y dan Tekan Enter untuk menyetujui nya.

Kemudian akan meminta nama domain yang dapat Anda berikan nama domain Anda di sini dan tekan enter pada tutorial saya input jagoanslims.web.id karena domain ini yang saya gunakan untuk akses dspace. Jika Anda menambahkan lebih banyak domain, silakan masukkan koma dan spasi di antara domain tambahan.

Ini akan membuat sertifikat SSL untuk domain yang anda input dan Anda dapat melihat jalur sertifikat di layar . Perhatikan path direktori nya. Ini dibutuhkan dalam konfigurasi nanti.

Tampilan sukses terminal seperti berikut ini 

Saving debug log to /var/log/letsencrypt/letsencrypt.log Enter email address (used for urgent renewal and security notices) (Enter 'c' to cancel): jagoanslims@gmail.com - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please read the Terms of Service at https://letsencrypt.org/documents/LE-SA-v1.4-April-3-2024.pdf. You must agree in order to register with the ACME server. Do you agree? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (Y)es/(N)o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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: Y Account registered. Please enter the domain name(s) you would like on your certificate (comma and/or space separated) (Enter 'c' to cancel): jagoanslims.web.id Requesting a certificate for jagoanslims.web.id Successfully received certificate. Certificate is saved at: /etc/letsencrypt/live/jagoanslims.web.id/fullchain.pem Key is saved at: /etc/letsencrypt/live/jagoanslims.web.id/privkey.pem This certificate expires on 2024-11-27. These files will be updated when the certificate renews. Certbot has set up a scheduled task to automatically renew this certificate in the background. We were unable to subscribe you the EFF mailing list because your e-mail address appears to be invalid. You can try again later by visiting https://act.eff.org. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If you like Certbot, please consider supporting our work by: * Donating to ISRG / Let's Encrypt: https://letsencrypt.org/donate * Donating to EFF: https://eff.org/donate-le - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -code-box

Test Perpanjangan SSL Otomastis

Paket Certbot Otomatis di sistem Anda dilengkapi dengan pekerjaan cron atau pengatur waktu systemd yang akan memperbarui sertifikat Anda secara otomatis sebelum kedaluwarsa. Anda tidak perlu menjalankan Certbot lagi, kecuali Anda mengubah konfigurasi Anda. Anda dapat menguji perpanjangan otomatis untuk sertifikat Anda dengan menjalankan perintah ini:

sudo certbot renew --dry-runcode-box

Tampilan sukses simulasi renew otomatis seperti berikut ini 

Saving debug log to /var/log/letsencrypt/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processing /etc/letsencrypt/renewal/jagoanslims.web.id.conf - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Account registered. Simulating renewal of an existing certificate for jagoanslims.web.id - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Congratulations, all simulated renewals succeeded: /etc/letsencrypt/live/jagoanslims.web.id/fullchain.pem (success) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -code-box

Restart apache2 Service untuk memberlakukan perubahan 

sudo systemctl restart apache2code-box

Setelah konfigurasi di atas, cek bahwa domain berfungsi dengan baik dengan https. Pada URL bar ketik https://domain-anda.ac.id , misal pada tutorial saya https://jagoanslims.web.id , loh saat akses domain yang nampil apache kok bukan Dspace ? bagaimana agar yang tampil tampilan Dspace ? pakai virtual host.

Membuat Host Virtual dalam konfigurasi apache2

Virtual host adalah konfigurasi pada webserver yang memungkinkan Anda menggunakan lebih dari satu domain pada sebuah server. Dengan virtual host, Anda dapat membuat lebih dari satu website dengan konten yang berbeda dalam satu server. Misalnya, pada layanan shared hosting, satu server dapat digunakan untuk banyak domain. Nah pada praktik ini satu server apache kita konfigurasi agar menampilkan web dspace.

Membuat Host Virtual dalam konfigurasi apache2 mudah. Jalankan perintah di bawah ini

nano /etc/apache2/sites-available/dspace.confcode-box

Perintah di atas akan membuka file kosong . Kopi paste baris code di bawah ke file dan edit konten yang ditandai dengan warna hijau dengan data aktual Anda keluar dan simpan.

<VirtualHost *:80>
     ServerName jagoanslims.web.id
ServerAlias www.jagoanslims.web.id
ServerAdmin jagoanslims@gmail.com
     #automatic redirection from http to https
      Redirect / https://jagoanslims.web.id:4000
RewriteEngine on
#RewriteCond %{SERVER_NAME} =jagoanslims.web.id
#RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
     ServerName jagoanslims.web.id
ServerAlias www.jagoanslims.web.id
ServerAdmin jagoanslims@gmail.com
     LogLevel warn
     ErrorLog ${APACHE_LOG_DIR}/jagoanslims.web.id.error.log
     CustomLog ${APACHE_LOG_DIR}/jagoanslims.web.id.access.log combined
     ProxyRequests on
     SSLEngine on
     SSLProxyEngine on
SSLCompression off
     SSLProtocol all -SSLv3 -TLSv1 -TLSv1.1
     SSLHonorCipherOrder          off
     SSLSessionTickets off
     ProxyPreserveHost             on
     RequestHeader     set X-Forwarded-Proto https
   <Proxy *>
       AddDefaultCharset Off
       Require all granted
   </Proxy>
# PROXY for backend. Keep only localhost here! not insert your domain name!
     ProxyPass       /server http://localhost:8080/server
     ProxyPassReverse /server http://localhost:8080/server
      # PROXY for frontend. Keep only localhost here! not insert your domain >
     ProxyPass / http://localhost:4000/
     ProxyPassReverse / http://localhost:4000/
#The Bellow SSL Configuration is for Certbot. Pl replace the Path using your actual path which we noted while creating ssl 
#This Page is Created by Anoop P A, Technical Assistant, KILA, Kerala, jagoanslims@gmail.com
     SSLCertificateFile /etc/letsencrypt/live/jagoanslims.web.id/fullchain.pem
     SSLCertificateKeyFile /etc/letsencrypt/live/jagoanslims.web.id/privkey.pem
        SSLCertificateChainFile /etc/letsencrypt/live/jagoanslims.web.id/chain.pem
     Include /etc/letsencrypt/options-ssl-apache.conf
</VirtualHost>

Nonaktifkan Host Virtual yang Tidak Diinginkan

Selanjutnya kita perlu Nonaktifkan file Host Virtual Apache yang tidak diinginkan, gunakan perintah di bawah ini

ls /etc/apache2/sites-available/code-box

Akan tampil list konfigurasi virtual host , perhatikan dengan seksama , nanti nya yang tidak dipakai kita non aktifkan 

misal pada Apache2 Ubuntu saya tampil ada 3 , nah yang diaktifkan nanti hanya dspace.conf saja 

000-default.conf default-ssl.conf dspace.confcode-box

Maka yang saya non aktifakn adalah 000-default.conf dan default-ssl.conf

Nonaktifkan Host Virtual yang Tidak Diinginkan

sudo a2dissite 000-default.confcode-box

sudo a2dissite default-ssl.confcode-box

Enable Dspace Virtual host

sudo a2ensite dspace.confcode-box

Restart apache untuk memberlakukan perubahan

systemctl restart apache2code-box

atau 

systemctl reload apache2code-box

Untuk cek apakah apache jalan , ketikan perintah 

systemctl status apache2code-box

Ubah konfigurasi Dspace

sudo nano /opt/dspace8/config/local.cfgcode-box

Ubah sesuai dengan domain anda , ikuti contoh berikut , ingat ketik https

dspace.server.url = https://jagoanslims.web.id/server dspace.ui.url = http://jagoanslims.web.idcode-box

Edit file konfigurasi production pada dspace-angular front-end

nano /home/dspace/dspace-angular-dspace-8.0/config/config.prod.ymlcode-box

Ini akan membuka file di editor teks , point yang harus diubah :
  • Ubah nama host UI Anda dari alamat IP ke localhost 
  • Ubah status REST API SSL dari false ke true , dan alamat port dari 8080 ke 443
Lihat screnshot sebelum dan sesudah, berikut ini 

Sebelum diedit



Sesudah diedit 


Keluar dan simpan 

Restart : Stop dan Start dspace-ui.json , Restart Apache , Restart Tomcat

Untuk memberlakukan perubahan pada local.cfg lakaun stop dan strat dspace-ui.json. Stop dulu
pm2 stop /home/dspace/dspace-angular-dspace-8.0/dspace-ui.jsoncode-box

kemudian start 

pm2 start /home/dspace/dspace-angular-dspace-8.0/dspace-ui.jsoncode-box

Restart apache2

systemctl restart apache2code-box

Restart tomcat 

sudo systemctl daemon-reloadcode-box

sudo systemctl restart tomcatcode-box

Kunjungi Dspace pakai https

Pada URL ketik alamat dspace anda , misal https://jagoanslims.web.id saat pertama rada berat butuh waktu skitar 10 hingga 30 detik karena baru saja merestart dspace-ui.json , restart Apache , restart Tomcat nya. Tenang Inshallah pasti bisa 


Selanjut nya cek akses Identitas OAI-PMH  pakai https , https://jagoanslims.web.id/server/oai/request?verb=Identify

OAI-PMH (Open Archives Initiative Protocol for Metadata Harvesting) adalah sebuah protokol standar untuk mengumpulkan, mengakses, dan mengindeks metadata dari berbagai sumber data digital. Protokol ini memungkinkan sistem untuk menemukan, mengakses, dan mengunduh metadata dari repositori digital yang mendukung OAI-PMH.

OAI-PMH banyak digunakan dalam lingkungan akademik dan penelitian untuk berbagi dan menemukan publikasi ilmiah, dataset, dan sumber daya digital lainnya. Dspace suport OAI PMH



Selanjut nya akses server pakai https https://jagoanslims.web.id/server/#/server/api

REST API untuk DSpace disediakan sebagai bagian dari aplikasi web "server" (). Ini tersedia di subpath  '/api/' dari aplikasi web itu , tidak hanya lewat antarmuka web  (i.e. ${dspace.server.url}/api/) yang dapat dijelajahi/dicari user (menggunakan Browser HAL) juga tersedia di  root path (yaitu).[dspace-source]/dspace-server-webapp/${dspace.server.url}/api/${dspace.server.url}



Kesimpulan

Secara keseluruhan, SSL adalah fitur keamanan yang penting untuk DSpace, karena melindungi data pengguna, meningkatkan kepercayaan, dan memastikan kepatuhan terhadap regulasi internet.Google dan mesin pencari lainnya memberikan peringkat yang lebih tinggi kepada situs yang menggunakan HTTPS (SSL). Hal ini dapat meningkatkan visibilitas situs DSpace dalam hasil pencarian.


Referensi



إرسال تعليق

Post a Comment (0)

أحدث أقدم