Actualice su sistema
sudo apt updatesudo apt upgrade -y
Instalar los requisitos previos
1. Instalar Java OpenJDK 11
sudo apt install openjdk-11-jdk
2. Instalar Apache Maven y Ant
DSpace 7 requiere maven 3.3.xo superior y 1.8.xo superior.sudo apt-get install ant ant-optional maven -yAgregar el repositorio APT de PostgreSQL 11
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add ---------------------------------RELEASE=$(lsb_release -cs) echo "deb http://apt.postgresql.org/pub/repos/apt/ ${RELEASE}"-pgdg main | sudo tee /etc/apt/sources.list.d/pgdg.list
sudo apt updatesudo apt-get install postgresql-11 postgresql-contrib-11 libpostgresql-jdbc-java -y
sudo nano /etc/postgresql/11/main/pg_hba.conf
Agregar la siguiente linea al finalhost dspace dspace 127.0.0.1 255.255.255.255 md5
Esto configurará el tipo de acceso basado en el host en una base de datos llamada dspace por el usuario de la base de datos llamado dspace en la dirección localhost (127.0.0.1) especificada. Crearemos el dspaceusuario de la base de datos y la base de datos en una etapa posterior.
A continuación, ejecute los siguientes 3 comandos en sucesión para cambiar los permisos de usuario de la base de datos a sólo "de confianza".
sudo sed -i 's/ident/trust/' /etc/postgresql/11/main/pg_hba.conf
sudo sed -i 's/md5/trust/' /etc/postgresql/11/main/pg_hba.conf
sudo sed -i 's/peer/trust/' /etc/postgresql/11/main/pg_hba.conf
Reinicie la base de datos PostgreSQL para que estos cambios surtan efecto. sudo systemctl restart postgresqlAhora tenemos que crear el dspaceusuario de la dspace base de datos y la propia base de datos como se mencionó anteriormente. Primero, diríjase al usuario del sistema postgres.
sudo su postgresAl instalar la base de datos postgresql, postgres se crea un usuario del sistema predeterminado por el nombre . En el comando anterior, hemos cambiado la sesión de la línea de comandos para usar la cuenta de este usuario. Luego crea el dspaceusuario de la base de datos con el siguiente comando
createuser dspaceAhora crea la dspace base de datos con los siguientes comandos
createdb dspace -E UNICODE
Esto creará una base de datos llamada "dspace" con codificación Unicode A continuación, debemos otorgar permisos al usuario dspace de la base de datos llamado a la base de datos que acabamos de crear, también llamada dspace. Acceda al shell de la base de datos y use la dspacebase de datos con el siguiente comando único
psql -d dspaceLuego comience creando la extensión pgcrypto para la dspacebase de datos
CREATE EXTENSION pgcrypto;
Crea la contraseña
ALTER ROLE dspace WITH PASSWORD 'your-db-password-here';Reemplace el texto entre comillas por una contraseña secreta de su elección en un sistema de producción.
Luego, otorgue al dspace usuario de la dspace base de datos la propiedad de la base de datos como se muestra aquí.
ALTER DATABASE dspace OWNER TO dspace;
Luego otorgue todos los privilegios al dspace usuario de la dspace base de datos en la base de datos con el siguiente comando
GRANT ALL PRIVILEGES ON DATABASE dspace TO dspace;
Para ver la lista de bases de datos existentes en el sistema junto con otros detalles como la propiedad de la base de datos, emita el siguiente comando
\lAhora tenemos una configuración de base de datos en funcionamiento y después de instalar dspace, solo necesitaremos configurar nuestra instalación de dspace para conectarnos a esta base de datos con el nombre de usuario y la contraseña configurados en localhost. Salga del shell de PostgreSQK con el siguiente comando
\qSalga de la sesión de usuario de postgres con el siguiente comandoexitReinicie PostgreSQL con el siguiente comandosudo systemctl restart postgresql4. Instalar Apache Solr
Apache solr es el motor de búsqueda utilizado por dspace. En DSpace 7, apache solr se ha desacoplado del resto del código de DSpace y debe instalarlo y ejecutarlo por separado en el puerto 8983 u otro puerto preferido que esté libre en su sistema.
Cree un directorio para descargar e instalar solr. En esta guía, usaremos /opt/solr-8 para representar la versión de solr que usaremos. DSpace 7 requiere Solr 7.2.1 o posterior.
sudo mkdir /opt/solr-8cd /opt/solr-8Cambiar el propietario del directorio al usuario de dspace
crear usuario dspace con permisos de administrador
adduser dspacegroups dspaceusermod -aG sudo dspacevisudo/etc/sudoers
root ALL=(ALL:ALL) ALL/etc/sudoers
root ALL=(ALL:ALL) ALL
dspace ALL=(ALL:ALL) ALLCambiar el propietario del directorio al usuario de dspacesudo chown -R dspace:dspace /opt/solr-8
Luego descargue solr-8 desde allí con el siguiente comando
wget -c https://downloads.apache.org/lucene/solr/8.10.1/solr-8.10.1.tgztar xvf solr-8.10.1.tgzcp -rf /opt/solr-8/solr-8.10.1/* /opt/solr-8//opt/solr-8/bin/solr start -force
-----------
Si accede http://server-url:8983/solr en su navegador, el panel de administración de solr debería cargarse. Si no es así, revise los pasos seguidos nuevamente.
5. Instalar el servlet tomcat 9.0.54
sudo useradd -m -U -d /opt/tomcat -s /bin/false tomcat
sudo mkdir /opt/tomcatwget -c https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.54/bin/apache-tomcat-9.0.54.tar.gzsudo tar xzvf apache-tomcat-9.0.54.tar.gz -C /opt/tomcat --strip-components=1sudo chgrp -R tomcat /opt/tomcat
sudo chmod -R g+r conf
sudo chmod g+x conf
sudo chown -R tomcat webapps/ work/ temp/ logs/ramans@diginet-app02:~$ cd /etc/systemd/system
ramans@diginet-app0[2:/etc/systemd/system$ sudo nano /etc/systemd/system/tomcat.service[Unit]
Description=Apache Tomcat Web Application Container
After=network.target
[Service]
Type=forking
Environment=JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom'
ExecStart=/opt/tomcat/bin/startup.sh
ExecStop=/opt/tomcat/bin/shutdown.sh
User=tomcat
Group=tomcat
UMask=0007
RestartSec=10
Restart=always
[Install]
WantedBy=multi-user.targetramans@diginet-app02:/etc/systemd/system$ sudo systemctl daemon-reload
ramans@diginet-app02:/etc/systemd/system$ sudo systemctl start tomcat
ramans@diginet-app02:/etc/systemd/system$ sudo systemctl status tomcat
● tomcat.service - Apache Tomcat Web Application Container
Loaded: loaded (/etc/systemd/system/tomcat.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-01-09 09:28:53 PST; 1min 10s ago
Process: 68356 ExecStart=/opt/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS)
Main PID: 68363 (java)
Tasks: 30 (limit: 9451)
Memory: 138.8M
CGroup: /system.slice/tomcat.service
└─68363 /usr/lib/jvm/java-1.11.0-openjdk-amd64/bin/java -Djava.util.logging.config.file=/opt/tomca>
Jan 09 09:28:53 diginet-app02 systemd[1]: Starting Apache Tomcat Web Application Container…
Jan 09 09:28:53 diginet-app02 startup.sh[68356]: Tomcat started.
Jan 09 09:28:53 diginet-app02 systemd[1]: Started Apache Tomcat Web Application Container.
ramans@diginet-app02:/opt/tomcat$ sudo nano /opt/tomcat/conf/tomcat-users.xml
sudo ufw allow 8080/tcp
sudo systemctl restart tomcat
http://<your_domain_or_IP_address>:8080
2. Segunda parte: instalar el backend
Descarga el código fuente
wget -c https://github.com/DSpace/DSpace/archive/refs/tags/dspace-7.0.tar.gz
tar zxvf dspace-7.0.tar.gzmv DSpace-dspace-7.0 dspace-7cd dspace-7Configuración inicial
Crea el directorio de instalaciónsudo mkdir /opt/dspace-7Establecer permisos para el dspace usuario en el directorio de instalación
sudo chown dspace:dspace -R /opt/dspace-7
Cree un local.cfg archivo de configuración copiando el archivo de ejemplo existente.
cp dspace/config/local.cfg.EXAMPLE dspace/config/local.cfg
Edite el archivo y establezca algunas configuraciones requeridas comunes, como la conexión a la base de datos y el directorio de instalación.
nano dspace/config/local.cfg
Por ahora, busque y configure los siguientes ajustes en consecuencia
dspace.dir=/opt/dspace-7
solr.server = http://localhost:8983/solr
db.url = jdbc:postgresql://localhost:5432/dspace
db.driver = org.postgresql.Driver
db.username = dspace
db.password = *****
Construir DSpace
Asegúrese de estar en el directorio del código fuente y luego ejecute el comando
mvn package
Instalar DSpace
Apache ant ahora se usa para copiar / instalar el código dspace compilado en el directorio de implementación, probar si nuestro código puede conectarse a la base de datos y luego crear las tablas necesarias en la base de datos para nosotros. Para hacer esto, ejecute estos comandos
cd dspace/target/dspace-installer
ant fresh_install
Si tiene éxito 😀, debería ver un resultado similar al siguiente
cd /opt/tomcat/webapps
sudo cp -r /opt/dspace-7/webapps/* cd /opt/tomcat/webapps
sudo chown -R tomcat:tomcat *
sudo systemctl restart tomcat
Luego reinicie Tomcat como se muestra en uno de los pasos anteriores. Si accede http://server-ip:8080/server, debería poder ver la interfaz de backend como se muestra a continuación
👉Copiar núcleos solrcp -r /opt/dspace-7/solr/* /opt/solr-8/server/solr/configsets
NOTA: verificar que quede todo bien instalado antes de continuar con el siguiente paso
3. Instale el extremo frontal - Dspace angular
Instalación de NVM en Ubuntu
Instalación de Node usando NVM
Instale la última versión de node.js. Aquí, el nodo es el alias de la última versión.
Para instalar una versión específica de nodo:
Cómo instalar Yarn en Ubuntu
curl -sS https://dl.yarnpkg.com/debian/pubkey.gpg | sudo apt-key add -echo "deb https://dl.yarnpkg.com/debian/ stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
Una vez que el repositorio esté habilitado, actualice la lista de paquetes e instale Yarn.
sudo apt updatesudo apt install yarnyarn --versionLa salida se verá así:
1.22.4Instale NodeJS 14
Paso 1: agregar el PPA de NodeSourceComencemos por instalar NodeSource PPA. Esto nos permitirá instalar versiones posteriores de NodeJS usando el administrador de paquetes Apt. Asegurémonos de que estamos en el directorio de inicio y descarguemos el script de configuración:cd ~ curl -sL https://deb.nodesource.com/setup_14.x -o setup_14.sh
sudo sh ./setup_14.sh
Paso 2: instalar NodeJS
Ahora tendremos el PPA de NodeSource agregado, lo que nos permitirá instalar NodeJS 14. Primero, actualice la biblioteca de paquetes APT:
sudo apt updatesudo apt install nodejsnode -vDownload DSpace 7 front-end
Descargue la última versión de interfaz de usuario de dspace 7 de esta página en github https://github.com/DSpace/dspace-angular/releases
Es preferible que lo descargue del directorio de inicio del usuario de dspace, es decir o en la raiz /
wget -c https://github.com/DSpace/dspace-angular/archive/refs/tags/dspace-7.0.tar.gzLuego extraiga el archivo descargado
tar zxvf dspace-7.0tar.gz
Tendrá un directorio llamado dspace-angular-dspace-7.0 o similar. Cambie el nombre de este archivo para acortar el nombre
mv dspace-angular-dspace-7.0 dspace-7-angularCambiar al directorio
cd dspace-7-angular
Y luego construya las dependencias de front-end usando yarn
Modifique el front-end para conectarse a su back-end de DSpace editando el siguiente archivoCree un archivo de configuración de producción en opt/dspace-angular/src/environments/environment.prod.ts . Es posible que desee utilizar el environment.template.ts como punto de partida. Este environment.prod.tsarchivo se puede utilizar para anular cualquiera de las configuraciones predeterminadas especificadas en environment.common.ts(en ese mismo directorio). Como mínimo, este archivo DEBE incluir las secciones "ui" y "rest" similares a las siguientes (tenga en cuenta que solo necesita incluir la configuración que necesita modificar):
crear archivo opt/dspace-angular/src/environments/environment.prod.ts y agregar los siguientes datos:
export const environment = { // The "ui" section defines where you want Node.js to run/respond. It often is a *localhost* (non-public) URL, especially if you are using a Proxy. // In this example, we are setting up our UI to just use localhost, port 4000. // This is a common setup for when you want to use Apache or Nginx to handle HTTPS and proxy requests to Node on port 4000 ui: { ssl: false, host: 'localhost', port: 4000, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/' }, // This example is valid if your Backend is publicly available at https://api.mydspace.edu/server/ // The REST settings MUST correspond to the primary URL of the backend. Usually, this means they must be kept in sync // with the value of "dspace.server.url" in the backend's local.cfg rest: { ssl: false, host: 'localhost', port: 8080, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/server' }};
sudo chown dspace:dspace -R /opt/dspace-7-angular
cd /opt/dspace-7-angular
Cree y ejecute la aplicación de front-end
yarn start
Cuando termine, acceda al front-end en http://server-ip:4000
Solución de errores mas comunes :
1. El front end no carga despues de compilar
Solución : opt/dspace-angular/src/environments/environment.prod.ts cambiar el host por la ip o por 0.0.0.0
ui: { ssl: false, host: '192.168.0.x', port: 4000, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/'
Es recomendable realizar este mismo cambio en el back-end
opt/dspace-angular/src/environments/environment.prod.ts
rest: { ssl: false, host: '192.168.0.x', port: 8080, // NOTE: Space is capitalized because 'namespace' is a reserved string in TypeScript nameSpace: '/server'
Cambios
/opt/dspace-7/config/local.cfg
dspace.server.url = http://192.168.0.x:8080/serverdspace.ui.url = http://192.168.0.x:4000solr.server = http://192.168.0.x:8983/solr
2. Ha sido bloqueado por la política de CORS" o "Error de CORS
solución : agregar en /opt/dspace-7/config/local.cfg
useProxies = true# Trusted, comma separated list of IPs. It's recommended that this include minimally the IP address of the Angular UIproxies.trusted.ipranges = 127.0.0.1,0.0.0.0,192.168.0.x,localhost,192.168.0.x:8080/server,192.168.0.x:4000,0.0.0.0:4000
# This defaults to just "dspace.ui.url" (public URL), but it might also need localhost:4000 (private URL) for requests that come directly from the Node server to the backend.rest.cors.allowed-origins = ${dspace.ui.url}, http://192.168.0.x:4000
# Trusted, comma separated list of origins/clients. This defaults to minimally including the URL of the Angular UI






Este comentario ha sido eliminado por el autor.
ResponderEliminarThank you so much. Sir.
ResponderEliminarHola me podrias ayudar, no me funciona, corre tomcat bien, solr pero dspace no funciona, ya instale una maquia desde cero, lo he realizado varias veces, por fa mi correo es yecava1785@gmail.com
ResponderEliminarBuenas....primero que todo agradeciendo la atención de antemano. Primera vez que me solicitan instalar Dspace
ResponderEliminarHe seguido este tutorial para instalar Dspace 7, todo me ha funcionado, pero luego de "Implementar la aplicación web del servidor", paso a copiar los nucleos solr, ejecuto
sudo /opt/solr-8/bin/solr restart -force
y me da como resultado "Started Solr server on port 8983 (pid=5917). Happy searching!"
El problema viene cuando accedo a http://IP_server:8080/server/oai/request?verb=Identify, me carga es una pantalla con la siguiente información
Estado HTTP 500 – Internal Server Error
Tipo Informe de estado
mensaje An internal read or write operation failed
Descripción El servidor encontró un error interno que hizo que no pudiera rellenar este requerimiento.
Apache Tomcat/9.0.62
Por favor me pueden orientar como solventar este problema para proseguir la instalación y lograr el objetivo de montar el Dspace