📘 Instalarea DSpace 9 pe Ubuntu 24.04 LTS

Instalarea DSpace 9 pe Ubuntu

📘 Instalarea DSpace 9 pe Ubuntu 24.04 LTS (Ghid pas cu pas)

Acest ghid explică cum să instalezi DSpace 9 – atât partea de backend (server API) cât și partea de frontend (interfață web) pe un server cu Ubuntu 24.04 LTS.


🧩 Cerințe prealabile

Pentru DSpace ai nevoie de:

  1. Java JDK
  2. Apache Maven
  3. Apache Ant
  4. Apache Tomcat
  5. PostgreSQL
  6. Solr (motor de căutare)
  7. DSpace backend
  8. DSpace-Angular frontend
  9. Node.js
  10. NVM (Node Version Manager)
  11. Yarn
  12. Editor de text precum gedit

⚙️ 1. Actualizare sistem

Deschide terminalul și actualizează sistemul:

sudo apt update && sudo apt upgrade -y

👤 2. Creare utilizator pentru DSpace

Crează un utilizator nou:

sudo useradd -m dspace
sudo passwd dspace        # setează parola, de exemplu “dspace”
sudo usermod -aG sudo dspace

Crează directorul principal pentru DSpace și dă permisiuni:

sudo mkdir /dspace
sudo chown dspace:dspace /dspace

📦 3. Instalare pachete esențiale

Instalează uneltele necesare:

sudo apt install wget curl git build-essential gedit zip unzip -y

☕ 4. Instalare Java JDK

Instalează Java:

sudo apt install openjdk-17-jdk -y

Apoi setează variabilele de mediu:

sudo gedit /etc/environment

Adaugă la final:

JAVA_HOME="/usr/lib/jvm/java-17-openjdk-amd64"
JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"

Aplică variabilele și verifică:

source /etc/environment
echo $JAVA_HOME
echo $JAVA_OPTS

🛠 5. Instalare Maven și Ant

sudo apt install maven ant -y

🗄 6. Instalare PostgreSQL

Instalează PostgreSQL și dependențele:

sudo apt-get install postgresql postgresql-client postgresql-contrib libpostgresql-jdbc-java -y

Porneste și verifică PostgreSQL:

sudo pg_ctlcluster 16 main start
sudo systemctl status postgresql

Schimbă parola pentru postgres:

sudo passwd postgres

Deschide PostgreSQL și verifică:

su postgres
exit

Editează configurația PostgreSQL:

sudo gedit /etc/postgresql/16/main/postgresql.conf

Deblochează accesul modificând: (scoate #) listen_addresses = ‘localhost’ sub connection settings.

listen_addresses = 'localhost'

Editează și fișierul pg_hba.conf astfel încât să permiți utilizatorului DSpace să se conecteze cu parolă:

sudo gedit /etc/postgresql/16/main/pg_hba.conf

Adaugă: următoarele sub linia, # Database administrative login by Unix domain socket.

#DSpace configuration
host dspace dspace 127.0.0.1 255.255.255.255 md5

Reporneste PostgreSQL:

sudo systemctl restart postgresql

🔍 7. Instalare Solr (motor de căutare)

Mergi în folderul /opt:

cd /opt

Descarcă Solr 9.10:

sudo wget https://archive.apache.org/dist/solr/solr/9.10.0.tgz
sudo tar xzf solr-9.10.0.tgz

Dă permisiuni utilizatorului dspace:

sudo chown -R dspace:dspace solr-9.10.0

Activează accesul extern (dacă ai nevoie):

sudo gedit /opt/solr-9.10.0/bin/solr.in.sh

Modifică linia:

SOLR_JETTY_HOST="0.0.0.0"

Schimbă utilizatorul și pornește Solr:

su dspace
cd /opt/solr-9.10.0/bin/
./solr start

Adaugă Solr să pornească automat la boot:

crontab -e -u dspace

Adaugă:

@reboot /opt/solr-9.10.0/bin/solr start

Pentru start, stop and restart solr execută următoarele comenzi:

su dspace

cd /opt/solr-9.10.0/bin

./solr start

./solr stop

./solr restart

./solr status

Vizualizare Solr:

http://localhost:8983/solr

 


🧱 8. Instalare Tomcat (server servlet)

Instalează Tomcat 10:

sudo apt install tomcat10 -y

Deschide configurarea serviciului:

sudo gedit /lib/systemd/system/tomcat10.service

Adaugă la final: sub #Security

ReadWritePaths=/dspace/

Configurează Tomcat pentru UTF-8:
Editează server.xml:

sudo gedit /etc/tomcat10/server.xml

Comentează vechiul connector și adaugă unul nou,  ex:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
maxParameterCount="1000"
/>
<!-- <Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
maxParameterCount="1000"
/> -->
Adaugă următorul:
<Connector port="8080" protocol="HTTP/1.1"
minSpareThreads="25"
enableLookups="false"
redirectPort="8443"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"/>

 

Reporneste Tomcat:

sudo systemctl restart tomcat10.service

Dacă apare eraoarea:

Warning: The unit file, source configuration file or drop-ins of tomcat10.service changed on disk. Run ‘systemctl daemon-reload’ to reload units.

Executați:

sudo systemctl daemon-reload

După care din nou

sudo systemctl restart tomcat10.service


🗃 9. Configurare baza de date DSpace

Creează utilizatorul și baza de date în PostgreSQL:

sudo su postgres
createuser --username=postgres --no-superuser --pwprompt dspace
createdb --username=postgres --owner=dspace --encoding=UNICODE dspace
psql --username=postgres dspace -c "CREATE EXTENSION pgcrypto;"
exit

⚙️ 10. Configurare DSpace

În folderul de build:

sudo mkdir /build
cd /build
sudo wget https://github.com/DSpace/DSpace/archive/refs/tags/dspace-9.2.tar.gz
sudo tar zxvf dspace-9.2.tar.gz
sudo chmod 777 -R /build

Editează fișierul de configurare:

cd /build/DSpace-dspace-9.2/dspace/config
sudo cp local.cfg.EXAMPLE local.cfg
sudo gedit local.cfg

Setează, de exemplu:

dspace.server.url = http://localhost:8080/server
dspace.ui.url = http://localhost:4000
db.username = dspace
db.password = dspace
Scoate # la linia despre Solr
solr.server = http://localhost:8983/solr
Salvează

🏗 11. Construirea și instalarea backend-ului

Compilează DSpace:

sudo su
cd /build/DSpace-dspace-9.2
mvn package

Instalează backend-ul:

cd dspace/target/dspace-installer
ant fresh_install

Copiază aplicația în Tomcat:

sudo cp -R /dspace/webapps/* /var/lib/tomcat10/webapps/ROOT
sudo cp -R /dspace/webapps/* /var/lib/tomcat10/webapps/
exit

Configurează Solr pentru DSpace și repornește:

su dspace
sudo cp -R /dspace/solr/* /opt/solr-9.10.0/server/solr/configsets
sudo chown -R dspace:dspace /opt/solr-9.10.0/server/solr/configsets
cd /opt/solr-9.10.0/bin
./solr restart
exit

Deschide http://localhost:8983 și verifică dacă Core Selector este disponibil în stânga ecranului.

Poate apărea următoarea eroare: “SolrCore Initialization Failures”:

“SolrCore Initialization Failures”

În acest caz executăm următoarele:

su dspace

cd /opt/solr-9.10.0/bin
./solr stop

exit

Descărcăm ICU analysis plugin direc de pe Maven Central:

sudo wget https://repo1.maven.org/maven2/org/apache/solr/solr-analysis-extras/9.10.0/solr-analysis-extras-9.10.0.jar -P /opt/solr-9.10.0/server/solr/lib/

Redactăm fișierul solr.in.sh

sudo gedit /opt/solr-9.10.0/bin/solr.in.sh

Adugă la final linia următoare și salvăm

SOLR_OPTS="$SOLR_OPTS -Dsolr.modules=analysis-extras"

Restartăm Solr

su dspace

cd /opt/solr-9.10.0/bin
./solr start

exit

Dăm refresh la http://localhost:8983 și trebuie să avem următoarele:

solr_issue-resolved


🔧 12. Inițializare baza de date și admin

Inițializează baza de date:

cd /dspace/bin/
sudo ./dspace database migrate

Creează un cont administrator:

sudo /dspace/bin/dspace create-administrator

Urmează pașii pentru e-mail, nume administrator și parolă.

Schimbă permisiunile la DSpace pentru Tomcat user

sudo su

sudo chown -R tomcat:tomcat /dspace/

sudo systemctl restart tomcat10.service

Accesăm http://localhost:8080/server pentru a vedea dacă totul este OK.


🌐 13. Instalare frontend (DSpace Angular UI)

Instalează Node.js și NVM:

sudo apt install nodejs npm -y
sudo su
curl -o- https://raw.githubusercontent.com/creationix/nvm/master/install.sh | bash

export NVM_DIR="$HOME/.nvm"

[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

[ -s "$NVM_DIR/bash_completion" ] && \. "$NVM_DIR/bash_completion"

După instalare, deschide un nou terminal și instalează versiunea dorită de Node:

nvm list-remote
nvm install [latest_version]

Instalează yarn și pm2:

npm install --global yarn
npm install --global pm2

Descarcă frontend-ul:

cd /home/dspace
sudo wget https://github.com/DSpace/dspace-angular/archive/refs/tags/dspace-9.2.tar.gz

Instalează dependențele:

tar zxvf dspace-9.2.tar.gz
cd dspace-angular-dspace-9.2
npm install

📡 14. Rulare UI

Pentru mod producție:

cd config
cp config.example.yml config.prod.yml
gedit config.prod.yml

Găsește Blocul  următor și modifică textul inserat cu roșu:

# The REST API server settings
# NOTE: these must be ‘synced’ with the ‘dspace.server.url’ setting in your backend’s local.cfg.
rest:
ssl: false
host: localhost
port: 8080

Salvează și închide.

Adaugă Missing Dependency for @popperjs/core

npm add @popperjs/core

Apoi execută:

cd /home/dspace/dspace-angular-dspace-9.2/config
export NODE_TLS_REJECT_UNAUTHORIZED='0'
export NODE_OPTIONS="--max-old-space-size=8192"

npm run build:prod

exit

Pornește User Interface prin PM2

Crează un fișier de configurare PM2 JSON.

sudo gedit /home/dspace/dspace-angular-dspace-9.2/dspace-ui.json

Copiază următoarele în fișierul dspace-ui.jason:

{
    "apps": [
        {
           "name""dspace-ui",
           "cwd""/home/dspace/dspace-angular-dspace-9.2/",
           "script""dist/server/main.js",
           "instances""max",
           "exec_mode""cluster",
           "env": {
              "NODE_ENV""production"
           }
        }
    ]
}

Pornește aplicuația utilizând PM2, aplică:

sudo su
pm2 start /home/dspace/dspace-angular-dspace-9.2/dspace-ui.json

Pentru a opri:

pm2 stop /home/dspace/dspace-angular-dspace-9.2/dspace-ui.json


✔️ 🎉 Instalarea DSpace 9 pe Ubuntu 24.04 este acum completă!
Poți deschide interfața backend:

http://localhost:8080/server

și interfața frontend:

http://localhost:4000
Referințe:
  1. https://wiki.lyrasis.org/display/DSDOC9x/Installing+DSpace
  2. https://subratiitk.wordpress.com/install-dspace-9-on-ubuntu-24-04-lts/
  3. https://dspace.anoopkakkur.com/dspace-9-0-installation-guide-on-debian-gnu-linux-12-bookworm/

Leave a Comment

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

Scroll to Top