Skip to content

TIACgroup/BE-OPEN

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Instalacija potrebnih alata

Prvi korak predstavlja minimalna instalacija za CentOS 7. Podrazumeva se da je mreža konfigurisana na odgovarajući način.

Instalacija wget, curl i git

Instalirati wget, curl i git pomoću

yum -y install wget curl git

Instalacija Java

Instalirati Javu pomoću:

yum install java-1.8.0-openjdk-devel

Proveriti instalaciju pomoću:

java -version

Instalacija Maven

cd /usr/local
wget https://www-us.apache.org/dist/maven/maven-3/3.6.0/binaries/apache-maven-3.6.0-bin.tar.gz
tar xzf apache-maven-3.6.0-bin.tar.gz
ln -s apache-maven-3.6.0 maven

Dodati fajl /etc/profile.d/maven.sh:

#!/bin/bash
export M2_HOME=/usr/local/maven
export PATH=${M2_HOME}/bin:${PATH}

I na kraju

chmod +x /etc/profile.d/maven.sh
source /etc/profile.d/maven.sh

Proveriti instalaciju:

mvn -version

info

Instalacija ant

cd /usr/local
wget https://www-us.apache.org/dist//ant/binaries/apache-ant-1.10.5-bin.tar.gz
tar xzf apache-ant-1.10.5-bin.tar.gz
ln -s apache-ant-1.10.5 ant

Dodati fajl /etc/profile.d/ant.sh:

#!/bin/bash
export ANT_HOME=/usr/local/ant
export PATH=$ANT_HOME/bin:$PATH

I na kraju:

chmod +x /etc/profile.d/ant.sh
source /etc/profile.d/ant.sh

Proveriti instalaciju:

ant -version

Instalacija Apache Tomcat

cd /opt
wget https://www-us.apache.org/dist/tomcat/tomcat-8/v8.5.38/bin/apache-tomcat-8.5.38.tar.gz
tar zxvf apache-tomcat-8.5.38.tar.gz
ln -s apache-tomcat-8.5.38 tomcat
rm -f apache-tomcat-8.5.38.tar.gz

Dodati fajl /etc/systemd/system/tomcat.service:

# Systemd unit file for tomcat
[Unit]
Description=Apache Tomcat Web Application Container
After=syslog.target network.target

[Service]
Type=forking

Environment=JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
Environment=CATALINA_PID=/opt/tomcat/temp/tomcat.pid
Environment=CATALINA_HOME=/opt/tomcat
Environment=CATALINA_BASE=/opt/tomcat
Environment='CATALINA_OPTS=-Xms512M -Xmx2048M -server -XX:+UseParallelGC'
Environment='JAVA_OPTS=-Djava.awt.headless=true -Djava.security.egd=file:/dev/./urandom -Dfile.encoding=UTF-8 -Dorg.apache.el.parser.SKIP_IDENTIFIER_CHECK=true'

ExecStart=/opt/tomcat/bin/catalina.sh start
ExecStop=/opt/tomcat/bin/catalina.sh stop

User=root
Group=root

[Install]
WantedBy=multi-user.target

Izmeniti element Connector u fajlu /opt/tomcat/conf/server.xml:

<Connector port="80" protocol="HTTP/1.1"
           maxThreads="150"
           minSpareThreads="25"
           maxSpareThreads="75"
           enableLookups="false"
           acceptCount="100"
           disableUploadTimeout="true"
           URIEncoding="UTF-8"
           connectionTimeout="20000"
           redirectPort="8443" />

Pokrenuti Apache Tomcat:

systemctl start tomcat

Proveriti status:

systemctl status tomcat

Ako je sve u redu, registrovati servis za Apache Tomcat:

systemctl enable tomcat

Otvaranje porta 80, 443 i 22:

systemctl unmask firewalld
systemctl enable firewalld
systemctl start firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent

Ponovno pokretanje firewall servisa:

firewall-cmd --reload

Instalacija PostgreSQL 9.6

Instalacija EPEL repozitorijuma

yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

info

Instalacija PostgreSQL

Instalirati PostgreSQL yum repozitorijum:

yum install https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch.rpm

Zatim instalirati PostgreSQL 9.6:

yum install postgresql96-server postgresql96-contrib

Inicijalizovati bazu:

/usr/pgsql-9.6/bin/postgresql96-setup initdb

Pokrenuti server:

systemctl enable postgresql-9.6
systemctl start postgresql-9.6

Promeniti lozinku za postgres korisnika u bazi:

su - postgres
psql -d template1 -c "ALTER USER postgres WITH PASSWORD 'newpassword';"

info

Podesiti fajl /var/lib/pgsql/9.6/data/pg_hba.conf tako da u njemu dva reda za autentifikaciju glase:

local  all   all                             md5
host   all   all     127.0.0.1/32            md5

čime se uključuje autentifikacija pomoću lozinke. Restartovati server:

systemctl restart postgresql-9.6

info

Instalacija DSpace-CRIS

Kreiranje baze podataka

Potrebno je kreirati korisnika dspace sa lozinkom dspace:

su - postgres
createuser -U postgres -d -A -P dspace

A zatim kreirati i bazu podataka sa nazivom dspace:

createdb -U dspace -E UNICODE dspace

Preuzimanje izvornog koda

mkdir /opt/crisinstallation
cd /opt/crisinstallation
git clone https://github.com/TIACgroup/BE-OPEN.git --branch master dspace-parent/

Početna konfiguracija

Potrebno je podesiti parametre u fajlu /opt/crisinstallation/dspace-parent/build.properties:

dspace.install.dir=/dspace
dspace.hostname = localhost  # puno ime servera u produkciji
dspace.baseUrl = http://localhost:8080  # puno ime sajta u produkciji, verovatno sa https://
dspace.ui = jspui
dspace.url = ${dspace.baseUrl}
solr.server = http://localhost:8080/solr  # ostavi bas localhost

Ostali parametri:

dspace.name = Univerzitet u ****
mail.server = smtp.uns.ac.rs  # iza imena servera ne sme biti nikakvih znakova cak ni razmaka!!!
mail.server.username=dspace
mail.server.password=*****
handle.canonical.prefix = ${dspace.url}/handle/
cris.ametrics.elsevier.scopus.enabled = true
cris.ametrics.elsevier.scopus.apikey = ****
cris.ametrics.google.scholar.enabled = true
cris.ametrics.altmetric.enabled = true
jspui.google.analytics.key	= ****
submission.lookup.scopus.apikey = ****
submission.lookup.webofknowledge.ip.authentication = true
scopus.query.param.default=affilorg("University of Novi Sad")
key.googleapi.maps = ****
cookies.policy.enabled = false

U istom fajlu, ako će se raditi import iz Scopusa, potrebno je definisati proxy:

http.proxy.host = proxy.rcub.bg.ac.rs
http.proxy.port = 8080

U suprotnom, vrednost ovih polja treba ostaviti prazna, ali polja moraju biti definisana, tj. ne smeju biti zakomentarisana.

Zavisno od konfiguracije email servera, možda je potrebno u fajlu /opt/crisinstallation/dspace-parent/dspace/config/dspace.cfg dodati:

mail.extraproperties = mail.smtp.auth=true, \
                      mail.smtp.starttls.enable=true, \
                      mail.smtp.EnableSSL.enable=true

Pokretanje mavena

mkdir /dspace
cd /opt/crisinstallation/dspace-parent/
mvn package

Pokretanje anta

cd /opt/crisinstallation/dspace-parent/dspace/target/dspace-installer/
ant fresh_install

Inicijalizacija baze

/dspace/bin/dspace database clean
/dspace/bin/dspace database migrate
/dspace/bin/dspace create-administrator
/dspace/bin/dspace load-cris-configuration -f /opt/crisinstallation/dspace-parent/install-tools/cris-configuration.xls
/dspace/bin/dspace load-cris-configuration -f /opt/crisinstallation/dspace-parent/install-tools/cris-configuration.xls

Kopiranje webapp fajlova

Minimalno su potrebne jspui i solr aplikacije a po potrebi se mogu kopirati i druge.

systemctl stop tomcat
cd /dspace/webapps
cp -R jspui/ oai/ rdf/ rest/ solr/ sword/ swordv2/ /opt/tomcat/webapps

Aplikaciju jspui je potrebno preimenovati u ROOT.

cd /opt/tomcat/webapps
rm -rf ROOT
mv jspui/ ROOT

Pokretanje

Pokrenuti Tomcat.

systemctl start tomcat

Provera u browseru

Proveriti da li je pokrenut DSpace-CRIS: http://localhost:8080/

Nginx i Certbot

yum install nginx
systemctl start nginx
systemctl stop nginx
systemctl enable nginx
mkdir /etc/nginx/sites-available
mkdir /etc/nginx/sites-enabled
setsebool -P httpd_can_network_connect 1

U http sekciji fajla /etc/nginx/nginx.conf, a neposredno pre server sekcije, dodati:

    include /etc/nginx/sites-enabled/*;
    server_names_hash_bucket_size 64;
cd /etc/nginx/sites-available/

Sadržaj novog fajla test.open.ni.ac.rs:

server {
    listen  80;
    listen [::]:80;
    server_name test.open.ni.ac.rs;

    proxy_set_header         X-Real-IP $remote_addr;
    proxy_set_header         X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header         Host $http_host;

    client_max_body_size 120M;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Instaliramo certbot:

yum install certbot-nginx
certbot --nginx -d test.open.ni.ac.rs

I dodajemo ga u crontab:

crontab -e

dodati red:

15 3 * * * /usr/bin/certbot renew --quiet

Uputstvo preuzeto i prilagodjeno sa https://github.com/mbranko/dspacecris-setup

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published