DSpace 7.6.1
Download
[https://dspace.lyrasis.org/download/]
Instalação
Instal ZIP
apt install zip
Java 17
sudo apt update sudo apt install -y openjdk-17-jdk
Ajustando variáveis de ambiente
- Opção 1
sudo nano /etc/environment
Incluir no arquivo
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"
Atualiza ambiente
source /etc/environment echo $JAVA_HOME echo $JAVA_OPTS
- Opção 2
sudo nano /etc/profile
incluir:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64 export PATH=$JAVA_HOME/bin:$PATH
Aplicar os ajustes
source /etc/profile
Maven
apt install maven
para checar a versão (maior que 3.3 tem que ser a versão no caso 3.6.3)
mvn -version
ANT
apt-get install ant
para checar a versão (maior que 1.10.X no caso 1.10.12)
ant -version
Langange
apt-get install language-pack-pt
Para checar o padrão (contém pt_BR.utf8 ou pt_BR.UTF-8? seguir o sim)
locale -a
Se sim, continua Editar o arquivo padrão locale (trocar para o que aparece no "locale -a" para pt_BR com utf8)
pico /etc/default/locale
Alterar de:
LANG=en_US.UTF-8
para
LANG=pt_BR.UTF-8
Reboot no servidor com reinicialização
shutdown now -r
POSTGRES
apt update apt-get install postgresql postgresql-client postgresql-contrib
Configurando pg_hba.conf
pico /etc/postgresql/14/main/pg_hba.conf
Incluir na última linha
host dspace dspace 127.0.0.1/32 trust
Configurado postgres.conf
pico /etc/postgresql/14/main/postgresql.conf
Alterar
#listen_addresses = 'localhost' => listen_addresses = 'localhost' max_connections = 100 => max_connections = 200 lc_messages = 'en_US.UTF-8' => lc_messages = 'pt_BR.UTF-8' lc_monetary = 'en_US.UTF-8' => lc_monetary = 'pt_BR.UTF-8' lc_time = 'en_US.UTF-8' => lc_time = 'pt_BR.UTF-8' lc_numeric = 'en_US.UTF-8' => lc_numeric = 'pt_BR.UTF-8' default_text_search_config='pg_catalog.english' => default_text_search_config='pg_catalog.portuguese' shared_buffers = 256MB => shared_buffers = 1024MB
Reinicializando o PostGres
service postgresql restart
Configurando usuário DSPACE no PostGresQl
su - postgres createuser --username=postgres --no-superuser --pwprompt dspace
Senha: dspace
exit
Usuario DSPACE
sudo su useradd dspace -s /bin/bash -d /home/dspace -m su - postgres createdb --username=postgres --owner=dspace --encoding=UNICODE dspace psql --username=postgres dspace -c "CREATE EXTENSION pgcrypto;"
SOLR
sudo su useradd solr -s /bin/bash -d /home/solr -m cd /opt wget https://downloads.apache.org/lucene/solr/8.11.3/solr-8.11.3.zip
Caso apresente erro, veja a última versão
[https://downloads.apache.org/lucene/solr/]
Descompactando o arquivo
unzip solr-8.11.3.zip rm *.zip chown -R dspace:dspace solr-8.11.3
Configurando, use o usuário dspace
su - dspace cd /opt/solr-8.11.3/bin/
Solr como servico
Criando um diretório /opt/solr para a versão atual do SOLR
sudo ln -s /opt/solr-8.11.3 /opt/solr chown dspace:dspace /opt/solr-8.11.3 -R
Alternativo
chown dspace:dspace /usr/local/solr-8.11.3 -R
Edite o arquivo /etc/limits e inclua no final:
pico /etc/security/limits.conf # End of file * soft nofile 65000 * hard nofile 65000 * soft nproc 65000 * hard nproc 65000
Inicializando o SOLR
su - dspace cd /opt/solr/bin/ ./solr start
init.d/solr
Mais informações: [[1]] Como root:
sudo su cp /opt/solr-8.11.3/bin/init.d/solr /etc/init.d/solr cp /opt/solr-8.11.3/bin/solr.in.sh /etc/default/.
Edit o arquivo solr
nano /etc/init.d/solr #Localizar e editar as 3 variáveis abaixo, para ficarem: SOLR_INSTALL_DIR=/opt/solr SOLR_ENV=/etc/default/solr.in.sh RUNAS=dspace
Ativando o serviço, ainda como root
chmod 755 /etc/init.d/solr chown root:root /etc/init.d/solr update-rc.d solr defaults update-rc.d solr enable
// Irá aparecer o seguinte erro, pois já foi instalado com o comando defaults // Failed to enable unit: Unit /run/systemd/generator.late/solr.service is transient or generated. Rebootar pra ver se solr sobe sozinho
reboot
ou
shutdown now -r
Quando voltar, conferir se SOLR está rodando com usuário dspace
ps xua | grep solr
dspace xxxx xxxx xxxxxxxxxx
update-rc.d solr defaults
Inicializando SOLR
./solr start
Instalando o TOMCAT
apt-get install tomcat9
Edit o arquivo tomcat9.service
pico /usr/lib/systemd/system/tomcat9.service
Comente a linha:
#Environment="JAVA_OPTS=-Djava.awt.headless=true"
Inclua as linhas:
Environment="JAVA_HOME=/usr/lib/jvm/java-17-openjdk-amd64" Environment="JAVA_OPTS=-Xmx512M -Xms64M -Dfile.encoding=UTF-8"
Ajuste
# Security #User=tomcat User=dspace #Group=tomcat Group=dspace
Adicionado
ReadWritePaths=/dspace/
Ambiente
pico /etc/environment
JAVA_HOME="/usr/lib/jvm/java-11-openjdk-amd64" JAVA_OPTS="-Xmx512M -Xms64M -Dfile.encoding=UTF-8"
Salve e execute:
source /etc/environment
Edite o arquivo server.xml
pico /etc/tomcat9/server.xml
Comente o conncetor 8080 e crie uma nova configuração
<Connector port="8080"
minSpareThreads="25"
enableLookups="false"
redirectPort="8443"
connectionTimeout="20000"
disableUploadTimeout="true"
URIEncoding="UTF-8"/>
Altere o proprietários do tomcat9 para o dspace
chown -R dspace:dspace /etc/tomcat9/ chown -R dspace:dspace /var/log/tomcat9/ chown -R dspace:dspace /var/lib/tomcat9/ chown -R dspace:dspace /var/cache/tomcat9/
- Esse passo tem de ser feito antes para não dar erro do ReadWritePaths=/dspace/ não ter sido criado ainda
Crie a parta do repositório
mkdir -p /dspace chown -R dspace:dspace /dspace
root@host: su - dspace
Configurações da WEB
Copy the DSpace web apps folder to the Tomcat server
sudo cp -R /dspace/webapps/* /var/lib/tomcat9/webapps
Copy Solr folders and change permission
sudo cp -R /dspace/solr/* /opt/solr-8.11.2/server/solr/configsets sudo chown -R subrat:subrat /opt/solr-8.11.2/server/solr/configsets
Restart Solr
cd /opt/solr-8.11.2/bin ./solr restart
TomCat9 como serviço
systemctl daemon-reload systemctl stop tomcat9 systemctl start tomcat9
Para converir se está ok:
ps xua | grep tomcat //conferir se o usuário que está executando o serviço é o dspace
root@host: wget http://localhost:8080 //liberar firewall na porta 8080 para acessar em http://xxx.xxx.xxx.xxx:8080/ (onde xxx são o número do IP)
DSPACE
ERROS
- Unable to autodetect 'javac' path, using 'javac' from the environment.
- SOLR_ULIMIT_CHECKS