|
|
# Como instalar e configurar o sistema DSpace
|
|
|
# Como instalar e configurar o sistema DSpace [EM MODIFICAÇÃO]
|
|
|
|
|
|
### 1. Instalação das dependências:
|
|
|
```bash
|
|
|
$ sudo apt-get install tomcat7 postgresql openjdk-7-jdk maven ant
|
|
|
$ sudo apt-get install tomcat8 postgresql openjdk-8-jdk maven ant
|
|
|
```
|
|
|
### 2. Criação do usuário do sistema
|
|
|
|
|
|
* Para criar um novo usuário no sistema de forma com que ele não seja permitido aparecer na tela de login:
|
|
|
|
|
|
### 2. Download do código-fonte
|
|
|
* Opção 1) Utilizando o Git
|
|
|
```bash
|
|
|
$ git config --global http.sslVerify false
|
|
|
$ git clone <ENDERECO_GIT_DO_PROJETO>
|
|
|
$ adduser dspace -u 999
|
|
|
```
|
|
|
* Para logar no usuário:
|
|
|
|
|
|
* Opção 2) Diretamente pela página Git do projeto. Basta entrar na página, fazer o download e descompactar o pacote baixado.
|
|
|
```bash
|
|
|
$ sudo su - dspace
|
|
|
```
|
|
|
* Para sair do usuário DSpace:
|
|
|
|
|
|
### 3. Criação e configuração do banco de dados
|
|
|
```bash
|
|
|
$ exit ou ctrl+d
|
|
|
```
|
|
|
|
|
|
### 3. Download do código-fonte
|
|
|
|
|
|
Estando no usuário do dspace temos duas opções para fazer o download, são elas:
|
|
|
|
|
|
* Opção 1) Fazendo o clone do diretório via git
|
|
|
|
|
|
```bash
|
|
|
$ git clone https://github.com/DSpace/DSpace.git
|
|
|
```
|
|
|
* Para escolher uma versão especifica: ```$ git checkout dspace-5_x ```
|
|
|
|
|
|
* Opção 2) Ir na página do git do projeto e baixar algum dos releases.
|
|
|
|
|
|
### 4. Criação e configuração do banco de dados
|
|
|
|
|
|
Para criar o usuário e o banco de dados no Postgres execute os seguintes comandos:
|
|
|
```bash
|
... | ... | @@ -23,15 +44,43 @@ $ createdb -h localhost -U postgres -O [USUARIO_BD] [NOME_BD] |
|
|
```
|
|
|
|
|
|
Para executar os comandos acima é necessário a senha do usuário “postgres”. Caso não saiba qual é a senha, execute os comandos abaixo para reconfigurar a senha.
|
|
|
|
|
|
```bash
|
|
|
$ sudo passwd postgres
|
|
|
$ sudo su postgres
|
|
|
$ psql -c "ALTER USER postgres WITH PASSWORD '[SENHA]'" -d template1
|
|
|
|
|
|
```
|
|
|
Caso o novo usuário criado para utilizar o DSpace esteja dando erro de autenticação, tente utilizar o comando:
|
|
|
|
|
|
```bash
|
|
|
$ sudo su postgres
|
|
|
$ psql -c "ALTER USER [USUARIO_DB] WITH PASSWORD '$PASSWORD'" -d template1
|
|
|
```
|
|
|
|
|
|
<!-- esses comandos abaixo as vezes funcionam, depende do sistema da pessoa.
|
|
|
```bash
|
|
|
$ sudo service postgresql start
|
|
|
$ sudo su postgres
|
|
|
$ psql -c "ALTER USER postgres WITH PASSWORD '[SENHA]' ;"
|
|
|
```
|
|
|
-->
|
|
|
|
|
|
* Para remover um usuário e um banco, basta utilizar os comandos:
|
|
|
```bash
|
|
|
$ dropdb -h localhost -U postgres [NOME_BD]
|
|
|
$ dropuser -h localhost -U postgres [USUARIO_BD]
|
|
|
```
|
|
|
|
|
|
### 4. Configuração dos parâmetros de compilação e execução do sistema
|
|
|
* ``` Observação```: Para o dspace 6 é necessário instalar o pacote ``` postgresql-contrib ``` e rodar o comando:
|
|
|
```bash
|
|
|
$ psql -h localhost -U postgres -d [NOME_BD] -c "CREATE EXTENSION pgcrypto;"
|
|
|
```
|
|
|
|
|
|
|
|
|
### 5. Configuração dos parâmetros de compilação e execução do sistema
|
|
|
|
|
|
As principais configurações do DSpace estão armazenadas no arquivo <DIR_SRC>/build.properties, como o diretório de instalação, URL e informações do banco de dados. Dentre essas, as mais importantes são:
|
|
|
As principais configurações do DSpace-5_x estão armazenadas no arquivo <DIR_SRC>/build.properties ( nas versões >=6, essas configurações estão no arquivo [DIR_SRC]/dspace/config/local.cfg.EXAMPLE, basta copiar esse arquivo para [DIR_SRC]/local.cfg) , como o diretório de instalação, URL e informações do banco de dados. Dentre essas, as mais importantes são:
|
|
|
|
|
|
* Diretório onde o DSpace será instalado:
|
|
|
```bash
|
... | ... | @@ -45,66 +94,104 @@ db.username=[USUARIO_BD] |
|
|
db.password=[SENHA_USUARIO_BD]
|
|
|
```
|
|
|
|
|
|
### 5. Compilação e Instalação do sistema
|
|
|
1. Antes da primeira execução do sistema, execute o seguinte comando para limpar arquivos temporários antigos e evitar erros:
|
|
|
### 6. Compilação e Instalação do sistema
|
|
|
1. Antes da primeira execução do sistema, execute o seguinte comando dentro do diretório do dspace para limpar arquivos temporários antigos e evitar erros:
|
|
|
```bash
|
|
|
$ mvn clean
|
|
|
```
|
|
|
|
|
|
2. Compilar o sistema, executando o comando a seguir na raiz do codigo-fonte do projeto:
|
|
|
2. Compilar o sistema, executando o comando a seguir dentro do diretório do dspace:
|
|
|
```bash
|
|
|
$ mvn package
|
|
|
```
|
|
|
|
|
|
3. Instalar o sistema, executando os comandos a seguir. Durante essa instalação serão criadas as tabelas no banco de dados configurado e o diretório configurado no arquivo build.properties contendo todos os arquivos necessários para a execução do Dspace.
|
|
|
```bash
|
|
|
$ cd <DIR_SRC>/dspace/targer/dspace-
|
|
|
$ cd <DIR_SRC>/dspace/targer/dspace-installer
|
|
|
$ ant fresh_install
|
|
|
```
|
|
|
|
|
|
4. Configurando o tomcat7 para executar os webapps do sistema
|
|
|
|
|
|
* Opcao 1) Copiar os arquivos compilados para o diretório de webapps do tomcat7:
|
|
|
Visando evitar problemas para o usuário dspace com o tomcat, é necessário dar permissão dos arquivos entre o usuário tomcat8 e dspace. Para isso, é necessário alterar os parâmetros no arquivo ``` /etc/default/tomcat8 ```, os de alteração são:
|
|
|
|
|
|
```bash
|
|
|
$ sudo cp <DIR_SRC>/target/*.war /var/lib/tomcat7/webapps/
|
|
|
TOMCAT8_USER=dspace
|
|
|
TOMCAT8_GROUP=dspace
|
|
|
```
|
|
|
* Alterar a permissão dos diretórios de trabalho do Tomcat8, executando os comandos como ```root```:
|
|
|
```bash
|
|
|
$ sudo su
|
|
|
$ systemctl stop tomcat8.service
|
|
|
$ chown -R dspace:dspace /var/log/tomcat8
|
|
|
$ chown -R dspace:dspace /var/cache/tomcat8
|
|
|
$ chown -R root:dspace /var/lib/tomcat8/conf
|
|
|
$ systemctl start tomcat8.service
|
|
|
$ exit ou ctrl+d
|
|
|
```
|
|
|
|
|
|
* Opcao 2) Configurar o tomcat7 para acessar os webapps diretamente do diretório de instalação do DSpace:
|
|
|
Reiniciar o tomcat7 para que os novos webapps sejam executados:
|
|
|
Para configuração do diretório base dos webapps utilizados pelo Tomcat8:
|
|
|
|
|
|
* Opção 1) Utilizar o diretório padrão criado pelo DSpace durante a instalação, para permitir que isso aconteça é necessário modificar o parâmetro ```appBase``` do campo ```<Host>``` no arquivo ```/etc/tomcat8/server.xml```:
|
|
|
|
|
|
```xml
|
|
|
<Host name="localhost" appBase="[DIR_INSTALACAO]/webapps"
|
|
|
unpackWARs="true" autoDeploy="true">
|
|
|
```
|
|
|
* ```Observação```: O diretório é atualizado automaticamente após uma atualização do DSpace.
|
|
|
|
|
|
* Opção 2) Utilizar o diretório padrão de webapps do Tomcat8. Para isso, é necessário copiar os diretórios existentes no diretório ``` [DIR_INSTALACAO]/webapps ``` para ``` /var/lib/tomcat8/webapps ```:
|
|
|
|
|
|
```bash
|
|
|
$ sudo service tomcat7 restart
|
|
|
rsync --checksum --delete-delay --recursive [DIR_INSTALACAO]/webapps/* /var/lib/tomcat8/webapps/
|
|
|
```
|
|
|
* ``` Observação```: Esse mesmo comando pode ser usado para atualizar os webapps após uma atualização do DSpace, sem que seja necessário deletar e copiar novamente todos os webapps.
|
|
|
|
|
|
### Testando o sistema
|
|
|
* Para configurar o tomcat para usar criptografia SSL/HTTPS:
|
|
|
|
|
|
Abrir a página do sistema no navegador, acessando o link:
|
|
|
http://localhost:8080/<NOME_WEBAPP>
|
|
|
Para criar uma chave RSA:
|
|
|
|
|
|
### Extras
|
|
|
```bash
|
|
|
$ keytool -genkey -alias tomcat -keyalg RSA -keystore [CAMINHO_CHAVE]
|
|
|
```
|
|
|
Após criar a chave, modifique os parâmetros ```keystoreFile``` e ```keystorePass``` no campo ```<Connector port=8443``` do arquivo ``` /var/lib/tomcat8/conf/server.xml ```:
|
|
|
|
|
|
```xml
|
|
|
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150"
|
|
|
scheme="https" secure="true" clientAuth="false" sslProtocol="TLS"
|
|
|
keystoreFile="[ARQUIVO_KEYSTORE]" keystorePass="[SENHA]" />
|
|
|
```
|
|
|
|
|
|
* Configuração das variáveis de ambiente
|
|
|
Adicione ao arquivo /usr/share/tomcat7/bin/setenv.sh as seguintes linhas:
|
|
|
* Para evitar problema de falta de memória durante a execução do DSpace, adicione ao arquivo `/usr/share/tomcat8/bin/setenv.sh` as seguintes linhas:
|
|
|
```bash
|
|
|
#!/bin/bash
|
|
|
export CATALINA_OPTS="$CATALINA_OPTS -Xms512m -Xmx2g"
|
|
|
export CATALINA_OPTS="$CATALINA_OPTS -Xms2048m -Xmx2048m -XX:MaxPermSize=256m"
|
|
|
```
|
|
|
|
|
|
* Configurar o tomcat para usar criptografia SSL/HTTPS
|
|
|
1. Criar uma chave RSA
|
|
|
Após concluído esses passos, rode o comando:
|
|
|
```bash
|
|
|
$ keytool -genkey -alias tomcat -keyalg RSA -keystore <CAMINHO_CHAVE>
|
|
|
$ sudo systemctl stop tomcat8.service
|
|
|
$ sudo systemctl start tomcat8.service
|
|
|
```
|
|
|
|
|
|
2. Configurar o tomcat para usar a chave para criptografar os dados
|
|
|
<!--
|
|
|
* Opcao 1) Copiar os arquivos compilados para o diretório de webapps do tomcat7:
|
|
|
|
|
|
3. Adicionar o código a seguir dentro da tag “Service” no arquivo “/var/lib/tomcat7/conf/server.xml”:
|
|
|
```xml
|
|
|
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="[ARQUIVO_KEYSTORE]" keystorePass="[SENHA]" />
|
|
|
```bash
|
|
|
$ sudo cp <DIR_SRC>/target/*.war /var/lib/tomcat7/webapps/
|
|
|
```
|
|
|
|
|
|
4. Configurar o usuário para acessar o tomcat7-admin via web
|
|
|
* Opcao 2) Configurar o tomcat7 para acessar os webapps diretamente do diretório de instalação do DSpace:
|
|
|
Reiniciar o tomcat7 para que os novos webapps sejam executados:
|
|
|
|
|
|
```bash
|
|
|
$ sudo service tomcat7 restart
|
|
|
```
|
|
|
-->
|
|
|
|
|
|
### Testando o sistema
|
|
|
|
|
|
Abrir a página do sistema no navegador, acessando o link:
|
|
|
* http://localhost:8080/<NOME_WEBAPP>
|
|
|
* https://localhost:8443/<NOME_WEBAPP>
|
|
|
|
|
|
5. Adicionar a linha a seguir dentro da tag “tomcat-users” no arquivo “/var/lib/tomcat7/conf/tomcat-users.xml”:
|
|
|
```xml
|
|
|
<user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status,tomcat"/>
|
|
|
``` |
|
|
\ No newline at end of file |