|
|
|
### Índice
|
|
|
|
* [Instalar DSpace en Ubuntu Desktop 18.04](#instalar-dspace-en-ubuntu-desktop-1804)
|
|
|
|
* [Instalar Dspace en Windows 10](#instalar-dspace-en-windows-10)
|
|
|
|
|
|
|
|
***
|
|
|
|
|
|
|
|
### Instalar DSpace en Ubuntu Desktop 18.04
|
|
|
|
#### En una terminal de ubuntu ejecutar:
|
|
|
|
```sh
|
|
|
|
apt-get update
|
|
|
|
apt-get upgrade
|
|
|
|
```
|
|
|
|
#### Instalar las dependencias de Java, Postgresql, Maven y Ant
|
|
|
|
```sh
|
|
|
|
apt-get install openjdk-8-jdk postgresql ant maven
|
|
|
|
```
|
|
|
|
#### Crear usuario y base de datos en postgresql
|
|
|
|
```sh
|
|
|
|
sudo su postgres
|
|
|
|
```
|
|
|
|
createuser -U postgres -d -S -P dspace
|
|
|
|
- -d o --createdb: permite crear una base de datos con el nombre de usuario.
|
|
|
|
- -S: el nuevo usuario no es un super-usuario. Es un usuario regular.
|
|
|
|
- -P: permite ingresar la clave después de crearse el usuario.
|
|
|
|
- [username]: cambiar por el nombre del current user.
|
|
|
|
|
|
|
|
Luego de crear el usuario dspace, cerramos sesión de postgres:
|
|
|
|
exit
|
|
|
|
> Nota: Para este tutorial se usó el usuario y password: dspace
|
|
|
|
|
|
|
|
Fuente: [https://www.postgresql.org/docs/10/app-createuser.html](https://www.postgresql.org/docs/10/app-createuser.html)
|
|
|
|
|
|
|
|
#### Permitir que el usuario de la base de datos (dspace) se conecte a la base de datos
|
|
|
|
```sh
|
|
|
|
sudo nano /etc/postgresql/[xx]/main/pg_hba.conf
|
|
|
|
```
|
|
|
|
Ejemplo:
|
|
|
|
```sh
|
|
|
|
sudo leafpad /etc/postgresql/10/main/pg_hba.conf
|
|
|
|
```
|
|
|
|
Una vez adentro del archivo, agregar la siguiente configuración al final:
|
|
|
|
```conf
|
|
|
|
local all dspace md5
|
|
|
|
```
|
|
|
|
Esta línea le permite al usuario dspace conectarse a todas las bases de datos, en el ámbito local, exigiendo al usuario que proporcione una contraseña cifrada con MD5 para la autenticación.
|
|
|
|
|
|
|
|
Fuente: [https://www.postgresql.org/docs/10/auth-pg-hba-conf.html](https://www.postgresql.org/docs/10/auth-pg-hba-conf.html)
|
|
|
|
|
|
|
|
Guardar y cerrar el archivo
|
|
|
|
|
|
|
|
Reiniciar el servidor de base de datos PostgreSQL
|
|
|
|
```sh
|
|
|
|
sudo service postgresql restart
|
|
|
|
```
|
|
|
|
también podemos ejecutar:
|
|
|
|
```sh
|
|
|
|
sudo /etc/init.d/postgresql restart
|
|
|
|
```
|
|
|
|
#### Crear base de datos para el usuario dspace en PostgreSQL
|
|
|
|
```sh
|
|
|
|
sudo createdb -U dspace -h 127.0.0.1 -E UNICODE dspace
|
|
|
|
```
|
|
|
|
#### Clonar el repositorio de DSpace del CRAI - UNRN
|
|
|
|
|
|
|
|
[https://github.com/crai-unrn/DSpace.git](https://github.com/crai-unrn/DSpace.git)
|
|
|
|
|
|
|
|
```sh
|
|
|
|
mkdir dspace
|
|
|
|
cd dspace
|
|
|
|
git clone https://github.com/crai-unrn/DSpace.git
|
|
|
|
```
|
|
|
|
#### Compilando el proyecto
|
|
|
|
```sh
|
|
|
|
cd DSpace
|
|
|
|
mvn clean package
|
|
|
|
```
|
|
|
|
#### Dentro de la carpeta DSpace, descargar los paquetes con Ant.
|
|
|
|
```sh
|
|
|
|
cd dspace/target/dspace-installer
|
|
|
|
sudo ant update
|
|
|
|
```
|
|
|
|
|
|
|
|
Crear usuario para Tomcat
|
|
|
|
Por motivos de seguridad, Tomcat no debe ejecutarse bajo el usuario root. Crearemos un nuevo usuario y grupo del sistema con el directorio de inicio / opt / tomcat que ejecutará el servicio Tomcat:
|
|
|
|
```sh
|
|
|
|
sudo useradd -r -m -U -d /opt/tomcat -s /bin/false tomcat
|
|
|
|
```
|
|
|
|
|
|
|
|
#### Instalar Apache Tomcat
|
|
|
|
```sh
|
|
|
|
cd /opt
|
|
|
|
|
|
|
|
wget [https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz](https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8-deployer.tar.gz)
|
|
|
|
sudo tar xvzf apache-tomcat-9.0.8.tar.gz
|
|
|
|
```
|
|
|
|
Renombrar el paquete a Tomcat
|
|
|
|
```sh
|
|
|
|
sudo mv apache-tomcat-9.0.8.tar.gz tomcat
|
|
|
|
```
|
|
|
|
Eliminar el archivo descargado de /opt
|
|
|
|
```sh
|
|
|
|
sudo rm apache-tomcat-9.0.8.tar.gz
|
|
|
|
```
|
|
|
|
Como mencionamos en la sección anterior, Tomcat se ejecutará bajo el usuario tomcat. Este usuario debe tener acceso al directorio de instalación de Tomcat.
|
|
|
|
El siguiente comando cambiará la propiedad del directorio a tomcat de usuario y grupo:
|
|
|
|
```sh
|
|
|
|
sudo chown -RH tomcat: /opt/tomcat
|
|
|
|
```
|
|
|
|
Tomcat como servicio
|
|
|
|
|
|
|
|
Para ejecutar Tomcat como un servicio, crearemos un nuevo archivo de unidad. Para ello, abrimos un editor de texto y creamos un archivo llamado tomcat.service en /etc/systemd/system
|
|
|
|
```sh
|
|
|
|
sudo nano /etc/systemd/system/tomcat.service
|
|
|
|
```
|
|
|
|
Pegamos la siguiente configuración:
|
|
|
|
```
|
|
|
|
[Unit]
|
|
|
|
Description=Tomcat 9 servlet container
|
|
|
|
After=network.target
|
|
|
|
[Service]
|
|
|
|
Type=forking
|
|
|
|
User=tomcat
|
|
|
|
Group=tomcat
|
|
|
|
Environment="JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64"
|
|
|
|
Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom -Djava.awt.headless=true"
|
|
|
|
Environment="CATALINA_BASE=/opt/tomcat"
|
|
|
|
Environment="CATALINA_HOME=/opt/tomcat"
|
|
|
|
Environment="CATALINA_PID=/opt/tomcat/temp/tomcat.pid
|
|
|
|
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"
|
|
|
|
ExecStart=/opt/tomcat/bin/startup.sh
|
|
|
|
ExecStop=/opt/tomcat/bin/shutdown.sh
|
|
|
|
[Install]
|
|
|
|
WantedBy=multi-user.target
|
|
|
|
```
|
|
|
|
Guardar y cerrar el archivo y notifique a systemd que creamos un nuevo archivo de unidad:
|
|
|
|
```sh
|
|
|
|
sudo systemctl daemon-reload
|
|
|
|
```
|
|
|
|
Iniciar el servidor Tomcat
|
|
|
|
```sh
|
|
|
|
sudo systemctl start tomcat
|
|
|
|
sudo systemctl status tomcat
|
|
|
|
```
|
|
|
|
También se puede iniciar con:
|
|
|
|
```sh
|
|
|
|
sudo service tomcat start
|
|
|
|
```
|
|
|
|
Fuente: [https://linuxize.com/post/how-to-install-tomcat-9-on-ubuntu-18-04/](https://linuxize.com/post/how-to-install-tomcat-9-on-ubuntu-18-04/)
|
|
|
|
|
|
|
|
#### Copiar los archivos de webapps de DSpace a Tomcat
|
|
|
|
Existen tres forma de hacerlo:
|
|
|
|
|
|
|
|
##### 1) Copiar los archivos de webapps
|
|
|
|
```sh
|
|
|
|
sudo cp -r /[directorio_instalación]/webapps/* /opt/tomcat/webapps
|
|
|
|
```
|
|
|
|
> Nota: El directorio de instalación se define en el archivo buildproperties de DSpace. En mi caso es:
|
|
|
|
```sh
|
|
|
|
sudo cp -r /home/msanhueza/Repositorios/rid/installer/webapps/* /opt/tomcat/webapps
|
|
|
|
```
|
|
|
|
##### 2) Crear enlaces simbólicos de los archivos de webapps
|
|
|
|
```sh
|
|
|
|
ln -s [directorio_instalación]/webapps/jspui /opt/tomcat/webapps/xmlui
|
|
|
|
ln -s [directorio_instalación]/webapps/solr /opt/tomcat/webapps/solr
|
|
|
|
ln -s [directorio_instalación]/webapps/oai /opt/tomcat/webapps/oai
|
|
|
|
```
|
|
|
|
##### 3) Como archivos de contexto en [tomcat]/conf/Catalina/localhost
|
|
|
|
```xml
|
|
|
|
<!-- Define a new context path for all DSpace web apps -->
|
|
|
|
<Context path="/xmlui" docBase="/dspace/webapps/xmlui" allowLinking="true"/>
|
|
|
|
<Context path="/sword" docBase="/dspace/webapps/sword" allowLinking="true"/>
|
|
|
|
<Context path="/oai" docBase="/dspace/webapps/oai" allowLinking="true"/>
|
|
|
|
<Context path="/jspui" docBase="/dspace/webapps/jspui" allowLinking="true"/>
|
|
|
|
<Context path="/solr" docBase="/dspace/webapps/solr" allowLinking="true"/>
|
|
|
|
```
|
|
|
|
> Nota: cambiar “/dspace” por el directorio de instalación correcto. El atributo allowLinking es opcional
|
|
|
|
|
|
|
|
#### Exportar un dump de la base de datos de producción
|
|
|
|
Para ello, nos logueamos al servidor de producción a través de SSH u otro método.
|
|
|
|
Una vez dentro del servidor, ejecutar:
|
|
|
|
```sh
|
|
|
|
pg_dump -h [host] -U [username] [dbname]> [path to dump]/dumpfile.sql
|
|
|
|
```
|
|
|
|
Un ejemplo para nuestro caso sería:
|
|
|
|
```sh
|
|
|
|
(con el usuario root)
|
|
|
|
cd /var/dspace
|
|
|
|
pg_dump -U dspace dspace > dspace-2019-04-05.sql
|
|
|
|
```
|
|
|
|
Luego, extraemos el archivo a través de un cliente FTP como Filezilla o similar.
|
|
|
|
|
|
|
|
#### Importar el dump a la base de datos local
|
|
|
|
Una vez descargado el dump de la base de datos de producción procederemos a importarlo a la base de datos local:
|
|
|
|
```sh
|
|
|
|
psql [dbname] < [path to dump]/dumpfile.sql
|
|
|
|
```
|
|
|
|
Ejemplo:
|
|
|
|
```sh
|
|
|
|
psql dspace < dspace-2019-04-05.sql
|
|
|
|
```
|
|
|
|
> Nota: si presenta algún tipo de error por constraint de base de datos o similar, podemos eliminar la base de datos y volver a crearla. Una vez realizado estos pasos, volvemos a realizar la importación del dump.
|
|
|
|
|
|
|
|
```sh
|
|
|
|
dropdb -h localhost -U dspace dspace
|
|
|
|
sudo createdb -h 127.0.0.1 -U dspace -E UNICODE dspace (password: dspace)
|
|
|
|
sudo psql -h 127.0.0.1 -U dspace dspace < dspace-dump-2019-04-05.sql
|
|
|
|
```
|
|
|
|
|
|
|
|
> IMPORTANTE:
|
|
|
|
Para que funcione correctamente el servidor SOLR o si al limpiar la cache con el comando “./dspace oai import -c” este falla, pasar los permisos al usuario tomcat de la carpeta de instalación.
|
|
|
|
|
|
|
|
En mi caso, sería:
|
|
|
|
```sh
|
|
|
|
sudo chown -R tomcat:tomcat /home/msanhueza/Repositorios/rid/installer
|
|
|
|
```
|
|
|
|
Fuente: https://serverfault.com/questions/418072/error-starting-solr-in-tomcat
|
|
|
|
|
|
|
|
### Instalar DSpace en Windows 10
|
|
|
|
#### Entorno de trabajo
|
|
|
|
1. Instalar git
|
|
|
|
2. Instalar gitKraken
|
|
|
|
3. Instalar Cmder
|
|
|
|
4. Clonar el repositorio: https://github.com/crai-unrn/DSpace
|
|
|
|
5. Instalar VsCode
|
|
|
|
|
|
|
|
#### Entorno de desarrollo
|
|
|
|
1. Instalar java JDK8u201 x64
|
|
|
|
2. Instalar Tomcat 8.5.35 (usuario y contraseña dspace)
|
|
|
|
3. Instalar postgresql 8.4.21 x86 (contraseña: admin)
|
|
|
|
1. Descargar e instalar el driver psqlODBC (64 y 32 bits) de https://www.postgresql.org/ftp/odbc/versions/msi/
|
|
|
|
4. Descargar la versión binaria de apache Ant 1.10.5-bin y copiarla en el directorio C:
|
|
|
|
5. Descargar la version binaria de apache Maven 3.6.0-bin y copiarla en el directorio C:
|
|
|
|
6. Añadir las direcciones "C:\apache-ant-1.10.5\bin;C:\apache-maven-3.6.0\bin;C:\Program Files\Java\jdk1.8.0_201\bin;" al path de windows (variables de sistema).
|
|
|
|
7. Crear las variables
|
|
|
|
```sh
|
|
|
|
ANT_HOME: "C:\apache-ant-1.10.5"
|
|
|
|
JAVA_HOME: "C:\Program Files\Java\jdk1.8.0_201"
|
|
|
|
```
|
|
|
|
en las variables del usuario. Con sus respectivas direcciones.
|
|
|
|
8. Bajar cmder
|
|
|
|
|
|
|
|
#### Base de datos
|
|
|
|
1. Iniciar pgAdmin
|
|
|
|
2. Crear un usuario dspace (contraseña: dspace) y asiganarle todos los permisos
|
|
|
|
3. Crear una base de datos dspace
|
|
|
|
|
|
|
|
#### Una vez instalado todo:
|
|
|
|
1. Iniciar cmder
|
|
|
|
2. Ir a la carpeta DSpace/dspace
|
|
|
|
3. Ejecutar el comando "mvn package"
|
|
|
|
4. Ir a la carpeta DSpace/dspace/target/dspace-installer
|
|
|
|
5. Ejecutar el comando "ant fresh_install"
|
|
|
|
6. Ir a la carpeta C:/dspace/webapps, copiar los archivos y pegarlos en la carpeta C:\Program Files\Apache Software Foundation\Tomcat\webapps
|
|
|
|
7. Ir a la carpeta C:/dspace/bin y ejecutar el comando "dspace create-administrator". Esto permitirá crear un usuarios administrador del sistema.
|
|
|
|
|
|
|
|
Fuente: https://wiki.duraspace.org/display/DSPACE/Installing+DSpace+on+Windows |
|
|
|
\ No newline at end of file |