📘 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:
- Java JDK
- Apache Maven
- Apache Ant
- Apache Tomcat
- PostgreSQL
- Solr (motor de căutare)
- DSpace backend
- DSpace-Angular frontend
- Node.js
- NVM (Node Version Manager)
- Yarn
- 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"/> --><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 = dspaceScoate # la linia despre Solrsolr.server = http://localhost:8983/solrSalvează
🏗 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”:

Î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:

🔧 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

