Відмінності між версіями «Встановлення DSpace на ОС Debian»

(Користувач „dspace“)
(Див. також)
 
(Не показано 165 проміжних версій цього користувача)
Рядок 1: Рядок 1:
 
Встановлення DSpace на ОС Debian
 
Встановлення DSpace на ОС Debian
  
= Встановлення DSpace 1.8.1 на ОС Debian 6 =  
+
= Встановлення DSpace 6.1 на ОС Debian GNU/Linux 9 Stretch  =
 +
 
 +
== Встановлення ОС Debian GNU/Linux 9 Stretch ==
 +
 
 +
Детальніше: [[Встановлення ОС Debian Linux]].
 +
 
 +
== Джерела ==
 +
 
 +
* [https://wiki.duraspace.org/display/DSDOC6x/Installing+DSpace Installing DSpace - DSpace 6.x Documentation - DuraSpace Wiki]
 +
 
 +
* [http://wiki.tntu.edu.ua/%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_DSpace_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian Встановлення DSpace на ОС Debian] (ця інструкція)
 +
 
 +
* [https://wiki.duraspace.org/display/DSDOC6x/DSpace+6.x+Documentation DSpace 6.x Documentation - DuraSpace Wiki:] (звантажити можна)
 +
 
 +
* [http://wiki.lib.sun.ac.za/index.php/SUNScholar/Install_DSpace SUNScholar/Install DSpace], також див. [http://wiki.lib.sun.ac.za/index.php/SUNScholar/Install_Ubuntu Install Ubuntu Server] та [http://wiki.lib.sun.ac.za/index.php/SUNScholar/Prepare_Ubuntu Prepare Ubuntu Server]
 +
 
 +
* [https://wiki.duraspace.org/display/DSPACE/Installation+Guides?src=search DSpace Installation Guides]
 +
 
 +
* [https://rspproject.wordpress.com/2010/11/10/installing-dspace-on-debian-5/ Installing DSpace on Debian 5]
 +
 
 +
* [https://gist.github.com/dchud/8940811 20-minute guide to installing DSpace-4.0 from binary release on Ubuntu 12.04 LTS]
 +
 
 +
* [http://ideafix.name/?p=2325 Установка DSpace 5.x в среде Ubuntu Server 14.x]
 +
 
 +
* [http://linuxhalwa.blogspot.com/2016/01/installing-dspace-5x-on-ubuntu-1404-lts.html  Installing DSpace 5.x on Ubuntu 14.04 LTS]
 +
 
 +
* [https://wiki.duraspace.org/display/DSPACE/Installing+DSpace+4.2+on+Ubuntu+Server+14.04.1+LTS Installing DSpace 4.2 on Ubuntu Server 14.04.1 LTS - DSpace - DuraSpace Wiki]
 +
 
 +
* [http://dspaceclub.blogspot.com/2015/02/how-to-install-dspace-50-on-ubuntu-1410.html  How to Install DSpace 5.0 on Ubuntu 14.10 ]
 +
 
 +
* [https://amdmaher.wordpress.com/dspace-digital-repository/dspace-3-1-installation-on-debian-squeeze-6-0/ DSpace installation on Debian Squeeze 6.0.3]
 +
 
 +
== Необхідне програмне забезпечення ==
 +
 
 +
З офіційної документації [https://wiki.duraspace.org/display/DSDOC6x/Installing+DSpace]:
 +
 
 +
* Oracle Java JDK or OpenJDK
 +
* Java 8 update 20 or later, or  Java 7 update 55 or later. [https://jira.duraspace.org/browse/DS-2653 DS-2653] - Java 8 Support for DSpace Accepted
 +
* Apache Maven (Java build tool) 3.0.5+ або 3.3.9+ (для теми Mirage 2)
 +
* Apache Ant 1.8 or later (Java build tool)
 +
* PostgreSQL 9.4 or later (з встановленим pgcrypto). Oracle 10g or later.
 +
* Servlet Engine: Apache Tomcat 8 (Tomcat 8.0.33 or above) or Tomcat 7 (Tomcat 7.0.30 or above), Jetty, Caucho Resin or equivalent.
 +
* Perl (only required for [dspace]/bin/dspace-info.pl)
 +
 
 +
Присутнє у Debian GNU/Linux 9 Jessie та бекпортах:
 +
* '''[https://packages.debian.org/stretch/openjdk-8-jdk openjdk-8-jdk]''' (8u141-b15-1~deb9u1)
 +
* '''[https://packages.debian.org/stretch/tomcat8 tomcat8]''' (8.5.14-1+deb9u1)
 +
* '''[https://packages.debian.org/stretch/mavenm maven]''' (3.3.9-4)
 +
* '''[https://packages.debian.org/stretch/ant ant]''' (1.9.9-1)
 +
* '''[https://packages.debian.org/stretch/postgresql postgresql]''' (9.6+181)
 +
 
 +
Розглядаємо варіант встановлення '''openjdk-8-jdk'''+'''tomcat8'''.
 +
 
 +
== Підключення додаткових репозитаріїв ==
 +
 
 +
У файл /etc/apt/sources.list додаємо (перевіряємо наявність) наступні джерела пакунків
 +
 
 +
deb http://ftp.ua.debian.org/debian/ stretch main contrib non-free
 +
deb-src http://ftp.ua.debian.org/debian/ stretch main contrib non-free
 +
 
 +
deb http://security.debian.org/ stretch/updates contrib main
 +
deb-src http://security.debian.org/ stretch/updates contrib main
 +
 
 +
deb http://ftp.ua.debian.org/debian/ stretch-updates contrib main non-free
 +
deb-src http://ftp.ua.debian.org/debian/ stretch-updates contrib main non-free
 +
 
 +
(чи інші дзеркала стабільної версії)
 +
 
 +
deb http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free
 +
deb-src http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free
 +
 
 +
Оновлюємо перелік пакунків та систему
 +
 
 +
sudo apt-get update
 +
sudo apt-get upgrade
 +
 
 +
== Встановлення Java OpenJDK 8 ==
 +
 
 +
sudo apt-get purge openjdk-7-*
 +
 
 +
sudo apt-get install  openjdk-8-jdk
 +
 
 +
та вибрати саме цей варіант (OpenJDK 8) як основний:
 +
 
 +
sudo update-alternatives --config java
 +
 
 +
== Встановлення Tomcat, Maven, Ant ==
 +
 
 +
sudo apt-get install tomcat8 maven ant git
 +
 
 +
== Встановлення БД postgresql ==
 +
 
 +
sudo apt-get install postgresql postgresql-contrib libpg-java
 +
 
 +
=== Налаштування PostgreSQL ===
 +
 
 +
У файлі
 +
/etc/postgresql/9.6/main/postgresql.conf
 +
розкоментувати рядок
 +
 
 +
listen_addresses = 'localhost'
 +
 
 +
==== Встановлення максимального числа з’єднань клієнта сервера PostgreSQL ====
 +
 
 +
Зауваження: [https://jira.duraspace.org/browse/DS-2563    DS-2563: Error releasing database connection], див. також [https://jira.duraspace.org/browse/DS-1458 DuraSpace JIRA DS-1458 Connection pool exhausted]
 +
 
 +
Редагуємо файл налаштування postgresql:
 +
 
 +
sudo mcedit /etc/postgresql/9.6/main/postgresql.conf
 +
 
 +
Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!
 +
 
 +
Перезапускаємо сервер PostgreSQL
 +
 
 +
sudo service postgresql restart
 +
 
 +
==== shared_buffers ====
 +
Тут [http://dspace.2283337.n4.nabble.com/Dspace-production-environment-td4684344.html#a4684368  Jan 06, 2017; 5:48pm Re: Dspace production environment] рекомендують також збільшити (від типових 128Мб) до 10% від ОП.
 +
Якщо ОП 10Гб, то
 +
shared_buffers = 1024MB
 +
також
 +
sudo service postgresql restart
 +
 
 +
==== Збільшення загальної пам’яті ядра для клієнтських підключень сервера PostgreSQL ====
 +
 
 +
Редагуємо файл "/etc/sysctl.conf":
 +
 
 +
sudo mcedit /etc/sysctl.conf
 +
 
 +
Вставити наприкінці файлу наступне:
 +
 
 +
# For PostgreSQL server client connections
 +
kernel.shmmax = 500000000
 +
kernel.shmall = 500000000
 +
 
 +
Див. також:
 +
* http://www.postgresql.org/docs/9.3/static/kernel-resources.html
 +
* http://wiki.lib.sun.ac.za/index.php?title=SUNScholar/Prepare_Ubuntu/S06/Ubuntu-14.04
 +
 
 +
Також виконати:
 +
 
 +
sudo sysctl -p
 +
 
 +
==== Встановлення максимального числа з’єднань клієнта сервера PostgreSQL ====
 +
 
 +
Зауваження: [https://jira.duraspace.org/browse/DS-2563    DS-2563: Error releasing database connection]
 +
 
 +
Редагуємо файл налаштування postgresql :
 +
 
 +
sudo mcedit /etc/postgresql/9.6/main/postgresql.conf
 +
 
 +
Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!
 +
 
 +
Перезапускаємо сервер PostgreSQL
 +
 
 +
sudo service postgresql restart
 +
 
 +
==== Налаштування прав доступу до PostgreSQL на основі хост-сервера  ====
 +
 
 +
Див. посилання в офіційній документації щодо файлу "pg_hba.conf":
 +
 
 +
* [http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html 19.1. The pg_hba.conf File]
 +
* [https://wiki.duraspace.org/display/DSDOC5x/Installing+DSpace#InstallingDSpace-RelationalDatabase:%28PostgreSQLorOracle%29 Relational Database: (PostgreSQL or Oracle)]
 +
<!-- Змінюємо користувацькі привілеї до БД на лише "trust".
 +
 
 +
sudo sed -i 's/ident/trust/' /etc/postgresql/9.6/main/pg_hba.conf
 +
sudo sed -i 's/md5/trust/' /etc/postgresql/9.6/main/pg_hba.conf
 +
sudo sed -i 's/peer/trust/' /etc/postgresql/9.6/main/pg_hba.conf
 +
-->
 +
У файлі  /etc/postgresql/9.6/main/pg_hba.conf замінюємо
 +
local  all            postgres                                peer
 +
на
 +
local    all            postgres                                trust
 +
 
 +
та
 +
local  all            all                                    peer
 +
на
 +
local    all            all                                    md5
 +
<!--
 +
Налаштування прав доступу до БД "dspace" PostgreSQL на основі хост-сервера:
 +
 
 +
sudo echo "## DSpace DB user access">> /etc/postgresql/9.6/main/pg_hba.conf
 +
sudo echo "host    dspace      dspace      127.0.0.1/32        md5" >> /etc/postgresql/9.6/main/pg_hba.conf
 +
-->
 +
Перезапуск сервера БД
 +
sudo service postgresql restart
 +
 
 +
==== Створення користувача "dspace" та БД "dspace" PostgreSQL ====
 +
 
 +
Створюємо користувача БД (dspace) та БД DSpace (dspace)
 +
 
 +
sudo su postgres
 +
createuser -U postgres -d -A -P dspace
 +
createdb -U dspace -E UNICODE dspace
 +
exit
 +
 
 +
При створенні користувача придумуємо пароль.
 +
 
 +
Також може бути питання про створення нових користувачів - Shall the new role be allowed to create more new roles? (y/n) '''n'''
 +
 
 +
Перезапуск postgresql
 +
 
 +
service postgresql restart
 +
 
 +
==== Налаштування пароля, власника та привілеїв БД "dspace" та користувача "dspace" ====
 +
 
 +
З’єднуємося зі сервером БД PostgreSQL та входимо у оболонку PostgreSQL.
 +
 
 +
psql -U postgres -d dspace
 +
 
 +
Встановити пароль для користувача "dspace" (вказуємо свій варіант):
 +
 
 +
ALTER ROLE dspace WITH PASSWORD 'XXXXXX';
 +
 
 +
Нехай користувач "dspace" буде власником БД "dspace"
 +
 
 +
ALTER DATABASE dspace OWNER TO dspace;
 +
 
 +
Надати усі привілеї для БД "dspace" користувачу "dspace"
 +
 
 +
GRANT ALL PRIVILEGES ON DATABASE dspace TO dspace;
 +
 
 +
Додаємо розширення "crypto" до БД "dspace".
 +
 
 +
CREATE EXTENSION pgcrypto;
 +
 
 +
Вихід з оболонки БД.
 +
 
 +
\q
 +
 
 +
=== phppgadmin ===
 +
 
 +
Адмін-застосунок для доступу до БД Postgres
 +
 
 +
sudo apt-get install phppgadmin
 +
 
 +
Редагуємо /etc/apache2/conf-available/phppgadmin.conf, щоб додати доступ з інших IP:
 +
 
 +
закоментовуємо
 +
 
 +
#Require local
 +
 
 +
та додаємо
 +
 
 +
allow from 127.0.0.0/255.0.0.0 ::1/128
 +
allow from 10.246.28.27/255.255.255.0 ::1/128
 +
allow from 192.168.151.246/255.255.255.0 ::1/128
 +
 
 +
(чи для всіх - allow from all)
 +
 
 +
Перезапуск веб-сервера Apache:
 +
 
 +
sudo /etc/init.d/apache2 restart
 +
 
 +
Перевіряємо доступ з вибраних IP
 +
 
 +
http://localhost/phppgadmin/
 +
 
 +
=== Корисні посилання ===
 +
 
 +
*    [http://www.postgresql.org/about/featurematrix PostgreSQL: Feature Matrix]
 +
*    [http://manage.jujucharms.com/charms/trusty/postgresql postgresql | Juju]
 +
 
 +
== Створення користувача DSpace ==
 +
 
 +
sudo useradd -m dspace
 +
sudo passwd dspace
 +
 
 +
Придумуємо пароль.
 +
 
 +
== Створення теки [dspace] для розміщення виконавчого коду DSpace ==
 +
 
 +
sudo mkdir /home/data
 +
sudo mkdir /home/data/dspace
 +
sudo chown dspace:dspace /home/data
 +
sudo chown dspace:dspace /home/data/dspace
 +
 
 +
== Звантаження, компіляція та встановлення випуску DSpace ==
 +
 
 +
=== Звантаження ===
 +
 
 +
Використовуємо джерельні тексти DSpace з github (доступні також і на SourceForge).
 +
 
 +
https://github.com/DSpace/DSpace/releases
 +
 
 +
На час встановлення найбільш стабільною версією була DSpace 6.1 (https://github.com/DSpace/DSpace/releases/tag/dspace-6.1)
 +
 
 +
Вхід від користувача dspace
 +
 
 +
su dspace
 +
 
 +
Тека для джерельних текстів
 +
 
 +
mkdir /home/dspace/source
 +
cd /home/dspace/source
 +
 
 +
Звантаження останньої стабільної версії
 +
 
 +
wget https://github.com/DSpace/DSpace/releases/download/dspace-6.1/dspace-6.1-src-release.tar.gz -O dspace-6.1-src-release.tar.gz
 +
 
 +
Розпакування
 +
 
 +
tar -zxf dspace-6.1-src-release.tar.gz
 +
 
 +
=== Компіляція ===
 +
 
 +
cd /home/dspace/source/dspace-6.1-src-release/
 +
mvn -U package
 +
 
 +
Звантажує багато пакунків з repo.maven.apache.org та інших (бажано швидкий доступ до Інтернет).
 +
 
 +
Довго.
 +
 
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] Reactor Summary:
 +
[INFO]
 +
[INFO] DSpace Parent Project .............................. SUCCESS [  0.889 s]
 +
[INFO] DSpace Services Framework :: API and Implementation  SUCCESS [  3.850 s]
 +
[INFO] DSpace Kernel :: API and Implementation ............ SUCCESS [ 10.404 s]
 +
[INFO] DSpace Addon Modules ............................... SUCCESS [  0.003 s]
 +
[INFO] DSpace Kernel :: Additions and Local Customizations  SUCCESS [  2.771 s]
 +
[INFO] DSpace XML-UI (Manakin) ............................ SUCCESS [  7.296 s]
 +
[INFO] DSpace XML-UI (Manakin) :: Local Customizations .... SUCCESS [  7.851 s]
 +
[INFO] DSpace JSP-UI ...................................... SUCCESS [  1.713 s]
 +
[INFO] DSpace JSP-UI :: Local Customizations .............. SUCCESS [  5.258 s]
 +
[INFO] DSpace RDF ......................................... SUCCESS [  4.785 s]
 +
[INFO] DSpace RDF :: Local Customizations ................. SUCCESS [  6.146 s]
 +
[INFO] DSpace REST :: API and Implementation .............. SUCCESS [  7.455 s]
 +
[INFO] DSpace REST :: Local Customizations ................ SUCCESS [  6.561 s]
 +
[INFO] DSpace SWORD ....................................... SUCCESS [  2.295 s]
 +
[INFO] DSpace SWORD :: Local Customizations ............... SUCCESS [  4.785 s]
 +
[INFO] DSpace SWORD v2 .................................... SUCCESS [  1.234 s]
 +
[INFO] DSpace SWORD v2 :: Local Customizations ............ SUCCESS [  4.884 s]
 +
[INFO] Apache Solr Webapp ................................. SUCCESS [ 10.204 s]
 +
[INFO] DSpace SOLR :: Local Customizations ................ SUCCESS [  5.188 s]
 +
[INFO] DSpace OAI-PMH ..................................... SUCCESS [  1.193 s]
 +
[INFO] DSpace OAI-PMH :: Local Customizations ............. SUCCESS [  6.207 s]
 +
[INFO] DSpace Assembly and Configuration .................. SUCCESS [ 15.938 s]
 +
[INFO] DSpace XML-UI Mirage2 Theme ........................ SUCCESS [  0.458 s]
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] BUILD SUCCESS
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] Total time: 01:57 min
 +
[INFO] Finished at: 2017-08-10T15:20:08+03:00
 +
[INFO] Final Memory: 137M/954M
 +
[INFO] ------------------------------------------------------------------------
 +
 
 +
=== Тека встановлення та доступ до БД ===
 +
 
 +
У файлі налаштувань DSpace
 +
 
 +
/home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer/config/dspace.cfg
 +
 
 +
встановлюємо наступне
 +
 
 +
# DSpace installation directory
 +
dspace.dir = /home/data/dspace
 +
 
 +
# Database username and password
 +
db.username = dspace
 +
db.password = MYPASSWORD
 +
 
 +
(пароль до БД встановлювався вище)
 +
 
 +
=== Встановлення DSpace та ініціалізація БД ===
 +
 
 +
su dspace
 +
 +
cd /home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer
 +
 +
ant fresh_install
 +
 
 +
[echo] ====================================================================
 +
[echo]  The DSpace code has been installed.
 +
[echo]
 +
[echo]  To complete installation, you should do the following:
 +
[echo]
 +
[echo]  * Setup your Web servlet container (e.g. Tomcat) to look for your
 +
[echo]    DSpace web applications in: /home/data/dspace/webapps/
 +
[echo]
 +
[echo]    OR, copy any web applications from /home/data/dspace/webapps/ to
 +
[echo]    the appropriate place for your servlet container.
 +
[echo]    (e.g. '$CATALINA_HOME/webapps' for Tomcat)
 +
[echo]
 +
[echo]  * Start up your servlet container (e.g. Tomcat). DSpace now will
 +
[echo]    initialize the database on the first startup.
 +
[echo]
 +
[echo]  * Make an initial administrator account (an e-person) in DSpace:
 +
[echo]
 +
[echo]    /home/data/dspace/bin/dspace create-administrator
 +
[echo]
 +
[echo]  You should then be able to access your DSpace's 'home page':
 +
[echo]
 +
[echo]    http://localhost:8080/xmlui
 +
[echo]
 +
[echo] ====================================================================
 +
[echo]       
 +
BUILD SUCCESSFUL
 +
Total time: 16 seconds
 +
 
 +
=== Крок по переміщенню бази даних у розділ /home ===
 +
 
 +
sudo service postgresql stop
 +
 +
sudo mv /var/lib/postgresql /home/data/postgresql
 +
 +
sudo chown -R postgres:postgres /home/data/postgresql
 +
 
 +
''(варіант sudo ln -s /home/data/postgresql /var/lib/postgresql не працює через SELinux)''
 +
 
 +
редагуємо
 +
 
 +
sudo mc -e /etc/postgresql/9.6/main/postgresql.conf
 +
 +
data_directory = '/home/data/postgresql/9.6/main'
 +
 
 +
Перазапуск postgresql
 +
 
 +
sudo service postgresql start
 +
 
 +
=== Підключення DSpace-івських webapps до Tomcat ===
 +
 
 +
Найпростіший спосіб, що рекомендують, це зкопіювати:
 +
 
 +
sudo cp -R /home/data/dspace/webapps/* /var/lib/tomcat8/webapps/
 +
 
 +
Однак було вибрано інший спосіб через створення файлів:
 +
 
 +
Спочатку створити 2 файли
 +
/etc/tomcat8/Catalina/localhost/jspui.xml
 +
/etc/tomcat8/Catalina/localhost/ROOT.xml
 +
з ідентичним вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/jspui"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/xmlui.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/xmlui"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/solr.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/solr"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/oai.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/oai"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/rdf.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/rdf"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/rest.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/rest"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/sword.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/sword"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Створити файл
 +
/etc/tomcat8/Catalina/localhost/sword2.xml
 +
з вмістом
 +
 
 +
<?xml version='1.0'?>
 +
<Context
 +
  docBase="/home/data/dspace/webapps/sword2"
 +
  debug="0"
 +
  reloadable="true"
 +
  cachingAllowed="false"
 +
  allowLinking="true"/>
 +
 
 +
Перезапуск Tomcat
 +
 
 +
sudo service tomcat8 restart
 +
 
 +
=== Перший обліковий запис адміністратора системи DSpace ===
 +
 
 +
/home/data/dspace/bin/dspace create-administrator
 +
 
 +
Creating an initial administrator account
 +
E-mail address: email@of.admin
 +
First name: MyName
 +
Last name: MySurname
 +
Password will not display on screen.
 +
Password:
 +
Again to confirm:
 +
Is the above data correct? (y or n): y
 +
Administrator account created
 +
 
 +
(вище вибираємо логін та пароль адміністратора DSpace)
 +
 
 +
=== Ініціалізація БД DSpace (факультативно) ===
 +
 
 +
/home/data/dspace/bin/dspace database migrate
 +
 
 +
Вивід:
 +
 
 +
Database URL: jdbc:postgresql://localhost:5432/dspace
 +
Migrating database to latest version... (Check logs for details)
 +
Done.
 +
 
 +
=== Встановлення на теку DSpace прав користувача сервера Tomcat ===
 +
 
 +
sudo chown tomcat8:tomcat8 /home/data/dspace -R
 +
 
 +
Перезапуск Tomcat
 +
 
 +
sudo /etc/init.d/tomcat8 restart
 +
 
 +
== Відкриття DSpace у браузері ==
 +
 
 +
Повинні бути доступні інтерфейси:
 +
 
 +
Локально:
 +
 
 +
http://localhost:8080
 +
 
 +
http://localhost:8080/xmlui
 +
 
 +
http://localhost:8080/jspui
 +
 
 +
http://localhost:8080/oai/request?verb=Identify
 +
 
 +
= Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО) =  
  
 
== Встановлення ОС Debian GNU/Linux 6 Squeeze ==
 
== Встановлення ОС Debian GNU/Linux 6 Squeeze ==
Рядок 11: Рядок 588:
 
  sudo apt-get install sun-java6-jdk
 
  sudo apt-get install sun-java6-jdk
  
прийняти ліцензію
+
прийняти ліцензію
  
 
та вибрати саме цей варіант як основний:
 
та вибрати саме цей варіант як основний:
Рядок 33: Рядок 610:
 
  sudo apt-get install tomcat6 maven2
 
  sudo apt-get install tomcat6 maven2
  
(Ant включено до maven2)
+
(„ant“ включено до maven2)
  
 
== Postgresql ==
 
== Postgresql ==
Рядок 39: Рядок 616:
 
  sudo apt-get install postgresql
 
  sudo apt-get install postgresql
  
Налаштування локального доступу до БД Postgresql. Редагуємо файл pg_hba.conf  
+
Налаштування локального доступу до БД Postgresql. Редагуємо файл pg_hba.conf:
  
 
  sudo mc -e /etc/postgresql/9.1/main/pg_hba.conf
 
  sudo mc -e /etc/postgresql/9.1/main/pg_hba.conf
  
Знаходимо наступні рядки
+
Знаходимо наступні рядки:
  
Закоментовуємо
+
закоментовуємо —
  
 
  # Database administrative login by UNIX sockets
 
  # Database administrative login by UNIX sockets
 
  # local  all        postgres                          ident
 
  # local  all        postgres                          ident
  
та додаємо
+
та додаємо
  
 
  local all postgres trust
 
  local all postgres trust
  
Закоментовуємо
+
закоментовуємо —
  
 
  # TYPE DATABASE USER CIDR-ADDRESS METHOD
 
  # TYPE DATABASE USER CIDR-ADDRESS METHOD
Рядок 60: Рядок 637:
 
  #local all all ident
 
  #local all all ident
  
та додаємо  
+
та додаємо
  
 
  local all all trust
 
  local all all trust
  
Перезапустити Postgresql, щоб задіяти зміни
+
Перезапустити Postgresql, щоб задіяти зміни:
  
 
  sudo /etc/init.d/postgresql restart
 
  sudo /etc/init.d/postgresql restart
Рядок 71: Рядок 648:
  
 
  sudo apt-get install apache2
 
  sudo apt-get install apache2
 +
 +
Оскільки 80 буде зайнятий Tomcat-ом, переналаштовуємо Apache на 8888.
 +
 +
Редагувати /etc/apache2/ports.conf:
 +
 +
#NameVirtualHost *:80
 +
#Listen 80
 +
NameVirtualHost *:8888
 +
Listen 8888
 +
 +
та /etc/apache2/sites-enabled/000-default
 +
 +
<VirtualHost *:8080>
 +
 +
 +
Перезапуск Apache:
 +
 +
sudo /etc/init.d/apache2 restart
 +
 +
== phppgadmin ==
 +
 +
Адмін-застосунок для доступу до БД Postgres
 +
 +
sudo apt-get install phppgadmin
 +
 +
Редагуємо /etc/phppgadmin/apache.conf, щоб додати доступ з інших IP:
 +
 +
allow from 10.246.28.27/255.255.255.0 ::1/128
 +
allow from 192.168.151.246/255.255.255.0 ::1/128
 +
 +
(allow from 127.0.0.0/255.0.0.0 ::1/128 теж залишити)
 +
 +
Перезапуск веб-сервера Apache:
 +
 +
sudo /etc/init.d/apache2 restart
 +
 +
Перевіряємо доступ з вибраних IP
 +
 +
http://dspace.tntu.edu.ua:8888/phppgadmin/
  
 
== Користувач „dspace“ ==
 
== Користувач „dspace“ ==
Рядок 78: Рядок 694:
 
(-m також створює домашню теку)
 
(-m також створює домашню теку)
  
Додати до sudoers ([[Встановлення ОС Debian Linux#Sudo]]).
+
Додати до „sudoers“ ([[Встановлення ОС Debian Linux#Sudo]]).
  
Надалі всі дії проводити від користувача dspace.
+
Надалі всі дії проводити від користувача „dspace“:
  
 
  su dspace
 
  su dspace
Рядок 86: Рядок 702:
 
== БД „dspace“ ==
 
== БД „dspace“ ==
  
Створення користувача „dspace“ (корисувач БД)
+
Створення користувача „dspace“ (користувач БД)
  
 
  sudo createuser -U postgres -d -A -P dspace
 
  sudo createuser -U postgres -d -A -P dspace
  
ввести пароль 2 рази і yes
+
ввести пароль 2 рази і „yes“
  
 
Створення чистої БД „dspace“ для користувача „dspace“:
 
Створення чистої БД „dspace“ для користувача „dspace“:
  
 
  sudo createdb -U dspace -E UNICODE dspace
 
  sudo createdb -U dspace -E UNICODE dspace
 +
 +
== Звантаження DSpace 1.8.1 ==
 +
 +
Від користувача „dspace“
 +
 +
su dspace
 +
 +
створити теку
 +
 +
mkdir source;cd source
 +
 +
та звантажити джерельні тексти
 +
 +
wget http://sourceforge.net/projects/dspace/files/DSpace%20Stable/1.8.1/dspace-1.8.1-src-release.tar.bz2/download -O dspace-1.8.1-src-release.tar.bz2
 +
 +
й розпакувати
 +
 +
tar -xvjf dspace-1.8.1-src-release.tar.bz2
 +
 +
== Налаштування „dspace.cfg“ ==
 +
 +
Мінімальне початкове налаштування.
 +
 +
cd dspace-1.8.1-src-release/dspace/config/
 +
mc -e dspace.cfg
 +
 +
Наведені лише зміни (дещо має бути закоментовано):
 +
 +
dspace.hostname = elartu.tntu.edu.ua
 +
 +
dspace.baseUrl = http://elartu.tntu.edu.ua
 +
 +
dspace.name = ELARTU
 +
 +
#db.name = ${default.db.name}
 +
db.name = postgres
 +
 +
#db.url = ${default.db.url}
 +
db.url = jdbc:postgresql://localhost:5432/dspace
 +
 +
#db.driver = ${default.db.driver}
 +
db.driver = org.postgresql.Driver
 +
 +
#db.username = ${default.db.username}
 +
#db.password = ${default.db.password}
 +
db.username = dspace
 +
db.password = abrakadabra
 +
 +
mail.server = smtp.tu.edu.te.ua
 +
mail.from.address = serhij dubyk@ts tu.edu.ua
 +
feedback.recipient = serhij dubyk@ts tu.edu.ua
 +
mail.admin = serhij dubyk@ts tu.edu.ua
 +
alert.recipient = serhij dubyk@ts tu.edu.ua
 +
registration.notify = serhij dubyk@ts tu.edu.ua
 +
mail.charset = UTF8
 +
 +
== Тека /dspace ==
 +
 +
sudo mkdir /dspace
 +
sudo chown dspace /dspace
 +
 +
== Побудова maven-пакунка ==
 +
 +
cd /home/dspace/source/dspace-1.8.1-src-release/dspace
 +
mvn package
 +
 +
При цьому звантажуються файли *.jar та *.pom, а у виводі можна побачити щось на кшталт наступного:
 +
 +
 +
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
 +
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
 +
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.jar
 +
[INFO] [assembly:directory-single {execution: default}]
 +
[INFO] Reading assembly descriptor: src/assemble/assembly.xml
 +
[WARNING] Cannot include project artifact: org.dspace:dspace:pom:1.8.1; it doesn't have an associated file or directory.
 +
[WARNING] The following patterns were never triggered in this artifact exclusion filter:
 +
[WARNING] NOTE: Currently, inclusion of module dependencies may produce unpredictable results if a version conflict occurs.
 +
[INFO] Copying files to /home/dspace/source/dspace-1.8.1-src-release/dspace/target/dspace-1.8.1-build
 +
[INFO]
 +
[INFO]
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] Reactor Summary:
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] DSpace Addon Modules .................................. SUCCESS [1:49.420s]
 +
[INFO] DSpace XML-UI (Manakin) :: Web Application ............ SUCCESS [3:01.210s]
 +
[INFO] DSpace LNI :: Web Application ......................... SUCCESS [12.231s]
 +
[INFO] DSpace OAI :: Web Application ......................... SUCCESS [6.012s]
 +
[INFO] DSpace JSP-UI :: Web Application ...................... SUCCESS [13.066s]
 +
[INFO] DSpace SWORD :: Web Application ....................... SUCCESS [3.177s]
 +
[INFO] DSpace SWORDv2 :: Web Application ..................... SUCCESS [34.394s]
 +
[INFO] DSpace SOLR :: Web Application ........................ SUCCESS [18.529s]
 +
[INFO] DSpace Assembly and Configuration ..................... SUCCESS [56.354s]
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] BUILD SUCCESSFUL
 +
[INFO] ------------------------------------------------------------------------
 +
[INFO] Total time: 7 minutes 15 seconds
 +
[INFO] Finished at: Fri Feb 17 14:02:02 EET 2012
 +
[INFO] Final Memory: 61M/205M
 +
[INFO] ------------------------------------------------------------------------
 +
 +
== Встановлення ==
 +
 +
cd /home/dspace/source/dspace-1.8.1-src-release/dspace/target/dspace-1.8.1-build
 +
'''ant fresh_install'''
 +
 +
Частина виводу:
 +
 +
    [echo] ====================================================================
 +
    [echo]  The DSpace code has been installed, and the database initialized.
 +
    [echo]
 +
    [echo]  To complete installation, you should do the following:
 +
    [echo]
 +
    [echo]  * Setup your Web servlet container (e.g. Tomcat) to look for your
 +
    [echo]    DSpace web applications in: /dspace/webapps/
 +
    [echo]
 +
    [echo]    OR, copy any web applications from /dspace/webapps/ to
 +
    [echo]    the appropriate place for your servlet container.
 +
    [echo]    (e.g. '$CATALINA_HOME/webapps' for Tomcat)
 +
    [echo]
 +
    [echo]  * Make an initial administrator account (an e-person) in DSpace:
 +
    [echo]
 +
    [echo]    /dspace/bin/dspace create-administrator
 +
    [echo]
 +
    [echo]  * Start up your servlet container (Tomcat etc.)
 +
    [echo]
 +
    [echo]  You should then be able to access your DSpace's 'home page':
 +
    [echo]
 +
    [echo]    http://elartu.tntu.edu.ua/xmlui
 +
    [echo]
 +
    [echo]  You should also be able to access the administrator UI:
 +
    [echo]
 +
    [echo]    http://elartu.tntu.edu.ua/xmlui/dspace-admin
 +
    [echo] ====================================================================
 +
    [echo]       
 +
 +
BUILD SUCCESSFUL
 +
Total time: 43 seconds
 +
 +
== Підключення DSpace-івських webapps до Tomcat ==
 +
 +
Найпростіший спосіб, що рекомендують, це зкопіювати:
 +
 +
cp -R /dspace/webapps/* /var/lib/tomcat6/webapps/
 +
 +
Однак було вибрано інший спосіб через редагування
 +
 +
sudo mc -e /var/lib/tomcat6/conf/server.xml
 +
 +
Зокрема необхідно у розділ „<Service name="Catalina">“ додати
 +
 +
<Connector port="80".
 +
            maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
 +
            enableLookups="false" redirectPort="8443" acceptCount="100"
 +
            connectionTimeout="20000" disableUploadTimeout="true"
 +
 +
змінити localhost на elartu.tntu.edu.ua
 +
 +
<Engine name="Catalina" defaultHost="elartu.tntu.edu.ua">
 +
 +
<Host name="elartu.tntu.edu.ua"  appBase="webapps"
 +
      unpackWARs="true" autoDeploy="true"
 +
      xmlValidation="false" xmlNamespaceAware="false">
 +
 +
та перед закриваючою ознакою „</Host>“ додати наступне
 +
 +
<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="" docBase="/dspace/webapps/jspui" allowLinking="true"/>
 +
<Context path="/lni" docBase="/dspace/webapps/lni" allowLinking="true"/>
 +
<Context path="/solr" docBase="/dspace/webapps/solr" allowLinking="true"/>
 +
 +
Перезапуск Tomcat
 +
 +
sudo /etc/init.d/tomcat6 restart
 +
 +
== Дозвіл для Tomcat-у на порт 80 ==
 +
 +
Система не пускає tomcat на привілейований порт (80), для цього редагуємо
 +
 +
sudo mc -e /etc/default/tomcat6
 +
 +
і включаємо AUTHBIND
 +
 +
# If you run Tomcat on port numbers that are all higher than 1023, then you
 +
# do not need authbind.  It is used for binding Tomcat to lower port numbers.
 +
# NOTE: authbind works only with IPv4.  Do not enable it when using IPv6.
 +
# (yes/no, default: no)
 +
AUTHBIND=yes
 +
 +
== Обліковий запис адміна DSpace ==
 +
 +
/dspace/bin/dspace create-administrator
 +
 +
Вивід:
 +
 +
Creating an initial administrator account
 +
E-mail address: serhi jdubyk@ts tu.edu.ua
 +
First name: Serhij
 +
Last name: Dubyk
 +
WARNING: Password will appear on-screen.
 +
Password: ************
 +
Again to confirm: *********
 +
Is the above data correct? (y or n): y
 +
Administrator account created
 +
 +
== Права на теки „upload“ і „assetstore“ ==
 +
 +
sudo chown -R tomcat6 /dspace/upload
 +
sudo chown -R tomcat6 /dspace/assetstore
 +
 +
== Встановлення завершено ==
 +
 +
УРА!!!
 +
 +
Можна перевірити із середини сервера:
 +
 +
lynx http://localhost
 +
lynx http://localhost/xmlui
 +
 +
= Налаштування =
 +
 +
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування DSpace]].
  
 
= Див. також =
 
= Див. також =
  
 +
* [[Налаштування DSpace]]
 
* [[Оновлення DSpace]]
 
* [[Оновлення DSpace]]
 +
* [[Додаткові поля Dublin Core для DSpace]]
 +
* [[Встановлення ОС Debian Linux]]
 +
* [[Українізація DSpace]]
  
 
= Посилання =
 
= Посилання =
  
* [http://www.scribd.com/doc/72991669/Dspace-Installation-on-Debian-Squeeze-6-0-3 ]
+
* wiki.duraspace.org/ „[https://wiki.duraspace.org/display/DSDOC18/Installation#Installation-Installation DSpace 1.8 Documentation » Installation]“
* [http://linuxhalwa.blogspot.com/2011/12/installing-dspace-18-on-ubuntu-1004.html ]
+
* scribd.com/ „[http://www.scribd.com/doc/72991669/Dspace-Installation-on-Debian-Squeeze-6-0-3 DSpace Installation on Debian Squeeze 6.0.3]
* [http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u30-oth-JPR ]
+
* linuxhalwa.blogspot.com/ „[http://linuxhalwa.blogspot.com/2011/12/installing-dspace-18-on-ubuntu-1004.html Installing Dspace 1.8 on Ubuntu 10.04]
 +
* oracle.com/ „[http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html#jdk-6u30-oth-JPR Java SE Development Kit 6u30]“
 +
* lightonphiri.org/ „[http://lightonphiri.org/blog/dspace-installation-on-ubuntu-10-10 DSpace Installation on Ubuntu 10.10]“
 +
* losisin.com/ „[http://losisin.com/blog/39-blogs/71-install-dspace-on-ubuntu-server Install Dspace on Ubuntu Server]“
 +
* thelowedown.wordpress.com/ „[http://thelowedown.wordpress.com/2010/08/17/tomcat-6-binding-to-a-privileged-port-on-debianubuntu/ Tomcat 6: Binding to a Privileged Port on Debian/Ubuntu]“
 +
* repositorioinstitucional.wikispaces.com/ „[http://repositorioinstitucional.wikispaces.com/Manual+de+Instalaci%C3%B3n+de+DSpace Manual de Instalación de DSpace]“
 +
* es.scribd.com/ „[http://es.scribd.com/doc/48073504/Instalacion-DSpace-en-Ubuntu Instalacion DSpace en Ubuntu]“
 +
* dspace.2283337.n4.nabble.com/ „[http://dspace.2283337.n4.nabble.com/Dspace-File-Upload-Problem-td3286609.html Dspace: File Upload Problem]
  
 
[[Категорія:Бібліотека]]
 
[[Категорія:Бібліотека]]
 
[[Категорія:DSpace]]
 
[[Категорія:DSpace]]

Поточна версія на 13:52, 26 жовтня 2017

Встановлення DSpace на ОС Debian

Зміст

Встановлення DSpace 6.1 на ОС Debian GNU/Linux 9 Stretch

Встановлення ОС Debian GNU/Linux 9 Stretch

Детальніше: Встановлення ОС Debian Linux.

Джерела

Необхідне програмне забезпечення

З офіційної документації [1]:

  • Oracle Java JDK or OpenJDK
  • Java 8 update 20 or later, or Java 7 update 55 or later. DS-2653 - Java 8 Support for DSpace Accepted
  • Apache Maven (Java build tool) 3.0.5+ або 3.3.9+ (для теми Mirage 2)
  • Apache Ant 1.8 or later (Java build tool)
  • PostgreSQL 9.4 or later (з встановленим pgcrypto). Oracle 10g or later.
  • Servlet Engine: Apache Tomcat 8 (Tomcat 8.0.33 or above) or Tomcat 7 (Tomcat 7.0.30 or above), Jetty, Caucho Resin or equivalent.
  • Perl (only required for [dspace]/bin/dspace-info.pl)

Присутнє у Debian GNU/Linux 9 Jessie та бекпортах:

Розглядаємо варіант встановлення openjdk-8-jdk+tomcat8.

Підключення додаткових репозитаріїв

У файл /etc/apt/sources.list додаємо (перевіряємо наявність) наступні джерела пакунків

deb http://ftp.ua.debian.org/debian/ stretch main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ stretch main contrib non-free
deb http://security.debian.org/ stretch/updates contrib main
deb-src http://security.debian.org/ stretch/updates contrib main
deb http://ftp.ua.debian.org/debian/ stretch-updates contrib main non-free
deb-src http://ftp.ua.debian.org/debian/ stretch-updates contrib main non-free

(чи інші дзеркала стабільної версії)

deb http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free
deb-src http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free

Оновлюємо перелік пакунків та систему

sudo apt-get update
sudo apt-get upgrade

Встановлення Java OpenJDK 8

sudo apt-get purge openjdk-7-*
sudo apt-get install  openjdk-8-jdk

та вибрати саме цей варіант (OpenJDK 8) як основний:

sudo update-alternatives --config java

Встановлення Tomcat, Maven, Ant

sudo apt-get install tomcat8 maven ant git

Встановлення БД postgresql

sudo apt-get install postgresql postgresql-contrib libpg-java

Налаштування PostgreSQL

У файлі /etc/postgresql/9.6/main/postgresql.conf розкоментувати рядок

listen_addresses = 'localhost'

Встановлення максимального числа з’єднань клієнта сервера PostgreSQL

Зауваження: DS-2563: Error releasing database connection, див. також DuraSpace JIRA DS-1458 Connection pool exhausted

Редагуємо файл налаштування postgresql:

sudo mcedit /etc/postgresql/9.6/main/postgresql.conf

Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!

Перезапускаємо сервер PostgreSQL

sudo service postgresql restart

shared_buffers

Тут Jan 06, 2017; 5:48pm Re: Dspace production environment рекомендують також збільшити (від типових 128Мб) до 10% від ОП. Якщо ОП 10Гб, то

shared_buffers = 1024MB 

також

sudo service postgresql restart

Збільшення загальної пам’яті ядра для клієнтських підключень сервера PostgreSQL

Редагуємо файл "/etc/sysctl.conf":

sudo mcedit /etc/sysctl.conf

Вставити наприкінці файлу наступне:

# For PostgreSQL server client connections
kernel.shmmax = 500000000
kernel.shmall = 500000000

Див. також:

Також виконати:

sudo sysctl -p

Встановлення максимального числа з’єднань клієнта сервера PostgreSQL

Зауваження: DS-2563: Error releasing database connection

Редагуємо файл налаштування postgresql :

sudo mcedit /etc/postgresql/9.6/main/postgresql.conf

Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!

Перезапускаємо сервер PostgreSQL

sudo service postgresql restart

Налаштування прав доступу до PostgreSQL на основі хост-сервера

Див. посилання в офіційній документації щодо файлу "pg_hba.conf":

У файлі /etc/postgresql/9.6/main/pg_hba.conf замінюємо

local   all             postgres                                peer

на

local    all             postgres                                trust

та

local   all             all                                     peer

на

local    all             all                                     md5

Перезапуск сервера БД

sudo service postgresql restart

Створення користувача "dspace" та БД "dspace" PostgreSQL

Створюємо користувача БД (dspace) та БД DSpace (dspace)

sudo su postgres
createuser -U postgres -d -A -P dspace
createdb -U dspace -E UNICODE dspace
exit

При створенні користувача придумуємо пароль.

Також може бути питання про створення нових користувачів - Shall the new role be allowed to create more new roles? (y/n) n

Перезапуск postgresql

service postgresql restart

Налаштування пароля, власника та привілеїв БД "dspace" та користувача "dspace"

З’єднуємося зі сервером БД PostgreSQL та входимо у оболонку PostgreSQL.

psql -U postgres -d dspace

Встановити пароль для користувача "dspace" (вказуємо свій варіант):

ALTER ROLE dspace WITH PASSWORD 'XXXXXX';

Нехай користувач "dspace" буде власником БД "dspace"

ALTER DATABASE dspace OWNER TO dspace;

Надати усі привілеї для БД "dspace" користувачу "dspace"

GRANT ALL PRIVILEGES ON DATABASE dspace TO dspace;

Додаємо розширення "crypto" до БД "dspace".

CREATE EXTENSION pgcrypto;

Вихід з оболонки БД.

\q

phppgadmin

Адмін-застосунок для доступу до БД Postgres

sudo apt-get install phppgadmin

Редагуємо /etc/apache2/conf-available/phppgadmin.conf, щоб додати доступ з інших IP:

закоментовуємо

#Require local

та додаємо

allow from 127.0.0.0/255.0.0.0 ::1/128
allow from 10.246.28.27/255.255.255.0 ::1/128
allow from 192.168.151.246/255.255.255.0 ::1/128

(чи для всіх - allow from all)

Перезапуск веб-сервера Apache:

sudo /etc/init.d/apache2 restart

Перевіряємо доступ з вибраних IP

http://localhost/phppgadmin/

Корисні посилання

Створення користувача DSpace

sudo useradd -m dspace
sudo passwd dspace

Придумуємо пароль.

Створення теки [dspace] для розміщення виконавчого коду DSpace

sudo mkdir /home/data
sudo mkdir /home/data/dspace
sudo chown dspace:dspace /home/data
sudo chown dspace:dspace /home/data/dspace

Звантаження, компіляція та встановлення випуску DSpace

Звантаження

Використовуємо джерельні тексти DSpace з github (доступні також і на SourceForge).

https://github.com/DSpace/DSpace/releases

На час встановлення найбільш стабільною версією була DSpace 6.1 (https://github.com/DSpace/DSpace/releases/tag/dspace-6.1)

Вхід від користувача dspace

su dspace

Тека для джерельних текстів

mkdir /home/dspace/source
cd /home/dspace/source

Звантаження останньої стабільної версії

wget https://github.com/DSpace/DSpace/releases/download/dspace-6.1/dspace-6.1-src-release.tar.gz -O dspace-6.1-src-release.tar.gz

Розпакування

tar -zxf dspace-6.1-src-release.tar.gz

Компіляція

cd /home/dspace/source/dspace-6.1-src-release/
mvn -U package

Звантажує багато пакунків з repo.maven.apache.org та інших (бажано швидкий доступ до Інтернет).

Довго.

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] DSpace Parent Project .............................. SUCCESS [  0.889 s]
[INFO] DSpace Services Framework :: API and Implementation  SUCCESS [  3.850 s]
[INFO] DSpace Kernel :: API and Implementation ............ SUCCESS [ 10.404 s]
[INFO] DSpace Addon Modules ............................... SUCCESS [  0.003 s]
[INFO] DSpace Kernel :: Additions and Local Customizations  SUCCESS [  2.771 s]
[INFO] DSpace XML-UI (Manakin) ............................ SUCCESS [  7.296 s]
[INFO] DSpace XML-UI (Manakin) :: Local Customizations .... SUCCESS [  7.851 s]
[INFO] DSpace JSP-UI ...................................... SUCCESS [  1.713 s]
[INFO] DSpace JSP-UI :: Local Customizations .............. SUCCESS [  5.258 s]
[INFO] DSpace RDF ......................................... SUCCESS [  4.785 s]
[INFO] DSpace RDF :: Local Customizations ................. SUCCESS [  6.146 s]
[INFO] DSpace REST :: API and Implementation .............. SUCCESS [  7.455 s]
[INFO] DSpace REST :: Local Customizations ................ SUCCESS [  6.561 s]
[INFO] DSpace SWORD ....................................... SUCCESS [  2.295 s]
[INFO] DSpace SWORD :: Local Customizations ............... SUCCESS [  4.785 s]
[INFO] DSpace SWORD v2 .................................... SUCCESS [  1.234 s]
[INFO] DSpace SWORD v2 :: Local Customizations ............ SUCCESS [  4.884 s]
[INFO] Apache Solr Webapp ................................. SUCCESS [ 10.204 s]
[INFO] DSpace SOLR :: Local Customizations ................ SUCCESS [  5.188 s]
[INFO] DSpace OAI-PMH ..................................... SUCCESS [  1.193 s]
[INFO] DSpace OAI-PMH :: Local Customizations ............. SUCCESS [  6.207 s]
[INFO] DSpace Assembly and Configuration .................. SUCCESS [ 15.938 s]
[INFO] DSpace XML-UI Mirage2 Theme ........................ SUCCESS [  0.458 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:57 min
[INFO] Finished at: 2017-08-10T15:20:08+03:00
[INFO] Final Memory: 137M/954M
[INFO] ------------------------------------------------------------------------

Тека встановлення та доступ до БД

У файлі налаштувань DSpace

/home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer/config/dspace.cfg 

встановлюємо наступне

# DSpace installation directory
dspace.dir = /home/data/dspace
# Database username and password
db.username = dspace
db.password = MYPASSWORD

(пароль до БД встановлювався вище)

Встановлення DSpace та ініціалізація БД

su dspace

cd /home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer

ant fresh_install
[echo] ====================================================================
[echo]  The DSpace code has been installed.
[echo] 
[echo]  To complete installation, you should do the following:
[echo] 
[echo]  * Setup your Web servlet container (e.g. Tomcat) to look for your
[echo]    DSpace web applications in: /home/data/dspace/webapps/
[echo] 
[echo]    OR, copy any web applications from /home/data/dspace/webapps/ to
[echo]    the appropriate place for your servlet container.
[echo]    (e.g. '$CATALINA_HOME/webapps' for Tomcat)
[echo] 
[echo]  * Start up your servlet container (e.g. Tomcat). DSpace now will
[echo]    initialize the database on the first startup.
[echo] 
[echo]  * Make an initial administrator account (an e-person) in DSpace:
[echo] 
[echo]    /home/data/dspace/bin/dspace create-administrator
[echo] 
[echo]  You should then be able to access your DSpace's 'home page':
[echo] 
[echo]    http://localhost:8080/xmlui
[echo] 
[echo] ====================================================================
[echo]         
BUILD SUCCESSFUL
Total time: 16 seconds

Крок по переміщенню бази даних у розділ /home

sudo service postgresql stop

sudo mv /var/lib/postgresql /home/data/postgresql

sudo chown -R postgres:postgres /home/data/postgresql

(варіант sudo ln -s /home/data/postgresql /var/lib/postgresql не працює через SELinux)

редагуємо

sudo mc -e /etc/postgresql/9.6/main/postgresql.conf

data_directory = '/home/data/postgresql/9.6/main'

Перазапуск postgresql

sudo service postgresql start

Підключення DSpace-івських webapps до Tomcat

Найпростіший спосіб, що рекомендують, це зкопіювати:

sudo cp -R /home/data/dspace/webapps/* /var/lib/tomcat8/webapps/

Однак було вибрано інший спосіб через створення файлів:

Спочатку створити 2 файли

/etc/tomcat8/Catalina/localhost/jspui.xml
/etc/tomcat8/Catalina/localhost/ROOT.xml

з ідентичним вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/jspui"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/xmlui.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/xmlui"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/> 

Створити файл

/etc/tomcat8/Catalina/localhost/solr.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/solr"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/oai.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/oai"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/rdf.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/rdf"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/rest.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/rest"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/sword.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/sword"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Створити файл

/etc/tomcat8/Catalina/localhost/sword2.xml

з вмістом

<?xml version='1.0'?>
<Context
 docBase="/home/data/dspace/webapps/sword2"
 debug="0"
 reloadable="true"
 cachingAllowed="false"
 allowLinking="true"/>

Перезапуск Tomcat

sudo service tomcat8 restart

Перший обліковий запис адміністратора системи DSpace

/home/data/dspace/bin/dspace create-administrator
Creating an initial administrator account
E-mail address: email@of.admin
First name: MyName
Last name: MySurname
Password will not display on screen.
Password: 
Again to confirm: 
Is the above data correct? (y or n): y
Administrator account created

(вище вибираємо логін та пароль адміністратора DSpace)

Ініціалізація БД DSpace (факультативно)

/home/data/dspace/bin/dspace database migrate

Вивід:

Database URL: jdbc:postgresql://localhost:5432/dspace
Migrating database to latest version... (Check logs for details)
Done.

Встановлення на теку DSpace прав користувача сервера Tomcat

sudo chown tomcat8:tomcat8 /home/data/dspace -R

Перезапуск Tomcat

sudo /etc/init.d/tomcat8 restart

Відкриття DSpace у браузері

Повинні бути доступні інтерфейси:

Локально:

http://localhost:8080

http://localhost:8080/xmlui

http://localhost:8080/jspui

http://localhost:8080/oai/request?verb=Identify

Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО)

Встановлення ОС Debian GNU/Linux 6 Squeeze

Детальніше: Встановлення ОС Debian Linux.

Sun Java 6 JDK

sudo apt-get install sun-java6-jdk

— прийняти ліцензію

та вибрати саме цей варіант як основний:

sudo update-alternatives --config java

вивід:

There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        manual mode

Press enter to keep the current choice[*], or type selection number: 2

Веб-сервер Tomcat та Maven

sudo apt-get install tomcat6 maven2

(„ant“ включено до maven2)

Postgresql

sudo apt-get install postgresql

Налаштування локального доступу до БД Postgresql. Редагуємо файл pg_hba.conf:

sudo mc -e /etc/postgresql/9.1/main/pg_hba.conf

Знаходимо наступні рядки:

закоментовуємо —

# Database administrative login by UNIX sockets
# local   all         postgres                          ident

та додаємо —

local all postgres trust

закоментовуємо —

# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
#local all all ident

та додаємо —

local all all trust

Перезапустити Postgresql, щоб задіяти зміни:

sudo /etc/init.d/postgresql restart

Веб-сервер Apache

sudo apt-get install apache2

Оскільки 80 буде зайнятий Tomcat-ом, переналаштовуємо Apache на 8888.

Редагувати /etc/apache2/ports.conf:

#NameVirtualHost *:80
#Listen 80
NameVirtualHost *:8888
Listen 8888

та /etc/apache2/sites-enabled/000-default

<VirtualHost *:8080>
…

Перезапуск Apache:

sudo /etc/init.d/apache2 restart

phppgadmin

Адмін-застосунок для доступу до БД Postgres

sudo apt-get install phppgadmin

Редагуємо /etc/phppgadmin/apache.conf, щоб додати доступ з інших IP:

allow from 10.246.28.27/255.255.255.0 ::1/128
allow from 192.168.151.246/255.255.255.0 ::1/128

(allow from 127.0.0.0/255.0.0.0 ::1/128 теж залишити)

Перезапуск веб-сервера Apache:

sudo /etc/init.d/apache2 restart

Перевіряємо доступ з вибраних IP

http://dspace.tntu.edu.ua:8888/phppgadmin/

Користувач „dspace“

sudo useradd -m dspace

(-m також створює домашню теку)

Додати до „sudoers“ (Встановлення ОС Debian Linux#Sudo).

Надалі всі дії проводити від користувача „dspace“:

su dspace

БД „dspace“

Створення користувача „dspace“ (користувач БД)

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

ввести пароль 2 рази і „yes“

Створення чистої БД „dspace“ для користувача „dspace“:

sudo createdb -U dspace -E UNICODE dspace

Звантаження DSpace 1.8.1

Від користувача „dspace“

su dspace

створити теку

mkdir source;cd source

та звантажити джерельні тексти

wget http://sourceforge.net/projects/dspace/files/DSpace%20Stable/1.8.1/dspace-1.8.1-src-release.tar.bz2/download -O dspace-1.8.1-src-release.tar.bz2

й розпакувати

tar -xvjf dspace-1.8.1-src-release.tar.bz2

Налаштування „dspace.cfg“

Мінімальне початкове налаштування.

cd dspace-1.8.1-src-release/dspace/config/
mc -e dspace.cfg

Наведені лише зміни (дещо має бути закоментовано):

dspace.hostname = elartu.tntu.edu.ua
dspace.baseUrl = http://elartu.tntu.edu.ua

dspace.name = ELARTU

#db.name = ${default.db.name}
db.name = postgres

#db.url = ${default.db.url} 
db.url = jdbc:postgresql://localhost:5432/dspace

#db.driver = ${default.db.driver}
db.driver = org.postgresql.Driver

#db.username = ${default.db.username}
#db.password = ${default.db.password}
db.username = dspace
db.password = abrakadabra

mail.server = smtp.tu.edu.te.ua
mail.from.address = serhij dubyk@ts tu.edu.ua
feedback.recipient = serhij dubyk@ts tu.edu.ua
mail.admin = serhij dubyk@ts tu.edu.ua
alert.recipient = serhij dubyk@ts tu.edu.ua
registration.notify = serhij dubyk@ts tu.edu.ua
mail.charset = UTF8

Тека /dspace

sudo mkdir /dspace
sudo chown dspace /dspace

Побудова maven-пакунка

cd /home/dspace/source/dspace-1.8.1-src-release/dspace
mvn package

При цьому звантажуються файли *.jar та *.pom, а у виводі можна побачити щось на кшталт наступного:

… 
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-shared-io/1.1/maven-shared-io-1.1.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-filtering/1.0/maven-filtering-1.0.jar
Downloading: http://repo1.maven.org/maven2/org/apache/maven/shared/maven-repository-builder/1.0-alpha-2/maven-repository-builder-1.0-alpha-2.jar
[INFO] [assembly:directory-single {execution: default}]
[INFO] Reading assembly descriptor: src/assemble/assembly.xml
[WARNING] Cannot include project artifact: org.dspace:dspace:pom:1.8.1; it doesn't have an associated file or directory.
[WARNING] The following patterns were never triggered in this artifact exclusion filter:
[WARNING] NOTE: Currently, inclusion of module dependencies may produce unpredictable results if a version conflict occurs.
[INFO] Copying files to /home/dspace/source/dspace-1.8.1-src-release/dspace/target/dspace-1.8.1-build
[INFO] 
[INFO] 
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] ------------------------------------------------------------------------
[INFO] DSpace Addon Modules .................................. SUCCESS [1:49.420s]
[INFO] DSpace XML-UI (Manakin) :: Web Application ............ SUCCESS [3:01.210s]
[INFO] DSpace LNI :: Web Application ......................... SUCCESS [12.231s]
[INFO] DSpace OAI :: Web Application ......................... SUCCESS [6.012s]
[INFO] DSpace JSP-UI :: Web Application ...................... SUCCESS [13.066s]
[INFO] DSpace SWORD :: Web Application ....................... SUCCESS [3.177s]
[INFO] DSpace SWORDv2 :: Web Application ..................... SUCCESS [34.394s]
[INFO] DSpace SOLR :: Web Application ........................ SUCCESS [18.529s]
[INFO] DSpace Assembly and Configuration ..................... SUCCESS [56.354s]
[INFO] ------------------------------------------------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESSFUL
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 7 minutes 15 seconds
[INFO] Finished at: Fri Feb 17 14:02:02 EET 2012
[INFO] Final Memory: 61M/205M
[INFO] ------------------------------------------------------------------------

Встановлення

cd /home/dspace/source/dspace-1.8.1-src-release/dspace/target/dspace-1.8.1-build
ant fresh_install

Частина виводу:

    [echo] ====================================================================
    [echo]  The DSpace code has been installed, and the database initialized.
    [echo] 
    [echo]  To complete installation, you should do the following:
    [echo] 
    [echo]  * Setup your Web servlet container (e.g. Tomcat) to look for your
    [echo]    DSpace web applications in: /dspace/webapps/
    [echo] 
    [echo]    OR, copy any web applications from /dspace/webapps/ to
    [echo]    the appropriate place for your servlet container.
    [echo]    (e.g. '$CATALINA_HOME/webapps' for Tomcat)
    [echo] 
    [echo]  * Make an initial administrator account (an e-person) in DSpace:
    [echo] 
    [echo]    /dspace/bin/dspace create-administrator
    [echo] 
    [echo]  * Start up your servlet container (Tomcat etc.)
    [echo] 
    [echo]  You should then be able to access your DSpace's 'home page':
    [echo] 
    [echo]    http://elartu.tntu.edu.ua/xmlui
    [echo] 
    [echo]  You should also be able to access the administrator UI:
    [echo] 
    [echo]    http://elartu.tntu.edu.ua/xmlui/dspace-admin
    [echo] ====================================================================
    [echo]         

BUILD SUCCESSFUL
Total time: 43 seconds

Підключення DSpace-івських webapps до Tomcat

Найпростіший спосіб, що рекомендують, це зкопіювати:

cp -R /dspace/webapps/* /var/lib/tomcat6/webapps/

Однак було вибрано інший спосіб через редагування

sudo mc -e /var/lib/tomcat6/conf/server.xml

Зокрема необхідно у розділ „<Service name="Catalina">“ додати

<Connector port="80".
           maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
           enableLookups="false" redirectPort="8443" acceptCount="100"
           connectionTimeout="20000" disableUploadTimeout="true"

змінити localhost на elartu.tntu.edu.ua

<Engine name="Catalina" defaultHost="elartu.tntu.edu.ua">
<Host name="elartu.tntu.edu.ua"  appBase="webapps"
      unpackWARs="true" autoDeploy="true"
      xmlValidation="false" xmlNamespaceAware="false">

та перед закриваючою ознакою „</Host>“ додати наступне

<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="" docBase="/dspace/webapps/jspui" allowLinking="true"/>
<Context path="/lni" docBase="/dspace/webapps/lni" allowLinking="true"/>
<Context path="/solr" docBase="/dspace/webapps/solr" allowLinking="true"/>

Перезапуск Tomcat

sudo /etc/init.d/tomcat6 restart

Дозвіл для Tomcat-у на порт 80

Система не пускає tomcat на привілейований порт (80), для цього редагуємо

sudo mc -e /etc/default/tomcat6

і включаємо AUTHBIND

# If you run Tomcat on port numbers that are all higher than 1023, then you
# do not need authbind.  It is used for binding Tomcat to lower port numbers.
# NOTE: authbind works only with IPv4.  Do not enable it when using IPv6.
# (yes/no, default: no)
AUTHBIND=yes

Обліковий запис адміна DSpace

/dspace/bin/dspace create-administrator

Вивід:

Creating an initial administrator account
E-mail address: serhi jdubyk@ts tu.edu.ua
First name: Serhij
Last name: Dubyk
WARNING: Password will appear on-screen.
Password: ************
Again to confirm: *********
Is the above data correct? (y or n): y
Administrator account created

Права на теки „upload“ і „assetstore“

sudo chown -R tomcat6 /dspace/upload
sudo chown -R tomcat6 /dspace/assetstore

Встановлення завершено

УРА!!!

Можна перевірити із середини сервера:

lynx http://localhost
lynx http://localhost/xmlui

Налаштування

Щодо додаткових налаштувань та адаптацій див. тут: Налаштування DSpace.

Див. також

Посилання