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

Матеріал з Вікі-знання або навчання 2.0 в ТНТУ
(відмінності між версіями)
Перейти до: навігація, пошук
(Переключення Tomcat і DSpace з 8080 на порт 80)
(Встановлення DSpace та ініціалізація БД)
 
(44 проміжні версії одного користувача не показані)
Рядок 1: Рядок 1:
 
Встановлення DSpace на ОС Debian
 
Встановлення DSpace на ОС Debian
  
= Встановлення DSpace 5.5 на ОС Debian GNU/Linux 8 Jessie =
+
= Встановлення DSpace 6.1 на ОС Debian GNU/Linux 9 Stretch =
  
== Встановлення ОС Debian GNU/Linux 8 Jessie ==
+
== Встановлення ОС Debian GNU/Linux 9 Stretch ==
  
 
Детальніше: [[Встановлення ОС Debian Linux]].
 
Детальніше: [[Встановлення ОС Debian Linux]].
Рядок 9: Рядок 9:
 
== Джерела ==
 
== Джерела ==
  
* [https://wiki.duraspace.org/display/DSDOC5x/Installing+DSpace Installing DSpace - DSpace 5.x Documentation - DuraSpace Wiki]
+
* [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] (ця інструкція)
 
* [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/DSDOC5x/DSpace+5.x+Documentation DSpace 5.x Documentation - DuraSpace Wiki:] (звантажити можна)
+
* [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]
 
* [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]
Рядок 35: Рядок 35:
 
== Необхідне програмне забезпечення ==
 
== Необхідне програмне забезпечення ==
  
З офіційної документації [https://wiki.duraspace.org/display/DSDOC5x/Installing+DSpace]:
+
З офіційної документації [https://wiki.duraspace.org/display/DSDOC6x/Installing+DSpace]:
  
 
* Oracle Java JDK or OpenJDK
 
* 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
 
* 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 3.0.5+ (Java build tool)
+
* Apache Maven (Java build tool) 3.0.5+ або 3.3.9+ (для теми Mirage 2)  
 
* Apache Ant 1.8 or later (Java build tool)
 
* Apache Ant 1.8 or later (Java build tool)
* PostgreSQL 9.0 or later. Oracle 10g or later.
+
* PostgreSQL 9.4 or later (з встановленим pgcrypto). Oracle 10g or later.
* Servlet Engine (Apache Tomcat 7 (7.0.30 or above) or later, Jetty, Caucho Resin or equivalent). Для Tomcat 8 ймовірно потрібні деякі налаштування.
+
* 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)
 
* Perl (only required for [dspace]/bin/dspace-info.pl)
  
Присутнє у Debian GNU/Linux 8 Jessie та бекпортах:
+
Присутнє у Debian GNU/Linux 9 Jessie та бекпортах:
* '''openjdk-7-jdk''' (7u95-2.6.4-1~deb8u1 and others)
+
* '''[https://packages.debian.org/stretch/openjdk-8-jdk openjdk-8-jdk]''' (8u141-b15-1~deb9u1)  
* '''openjdk-8-jdk''' (8u72-b15-1~'''bp'''o8+1)  
+
* '''[https://packages.debian.org/stretch/tomcat8 tomcat8]''' (8.5.14-1+deb9u1)
* '''tomcat7''' (7.0.56-3+deb8u1), (7.0.68-1~bpo8+1) 
+
* '''[https://packages.debian.org/stretch/mavenm maven]''' (3.3.9-4)
* '''tomcat8''' (8.0.14-1+deb8u1), (8.0.32-1~'''bpo'''8+1)
+
* '''[https://packages.debian.org/stretch/ant ant]''' (1.9.9-1)  
* '''maven''' (3.0.5-3)
+
* '''[https://packages.debian.org/stretch/postgresql postgresql]''' (9.6+181)
* '''ant''' (1.9.4-3)  
+
* '''postgresql''' (9.4+165+deb8u1)
+
  
 
Розглядаємо варіант встановлення '''openjdk-8-jdk'''+'''tomcat8'''.
 
Розглядаємо варіант встановлення '''openjdk-8-jdk'''+'''tomcat8'''.
Рядок 58: Рядок 56:
 
== Підключення додаткових репозитаріїв ==
 
== Підключення додаткових репозитаріїв ==
  
У файл /etc/apt/sources.list додаємо (перевіряємо навність) наступні джерела пакунків
+
У файл /etc/apt/sources.list додаємо (перевіряємо наявність) наступні джерела пакунків
  
  deb http://ftp.ua.debian.org/debian/ jessie main contrib non-free..
+
  deb http://ftp.ua.debian.org/debian/ stretch main contrib non-free
  deb-src http://ftp.ua.debian.org/debian/ jessie main contrib non-free..
+
  deb-src http://ftp.ua.debian.org/debian/ stretch main contrib non-free
  
  deb http://security.debian.org/ jessie/updates contrib main..
+
  deb http://security.debian.org/ stretch/updates contrib main
  deb-src http://security.debian.org/ jessie/updates contrib main..
+
  deb-src http://security.debian.org/ stretch/updates contrib main
  
  deb http://ftp.ua.debian.org/debian/ jessie-updates contrib main non-free.
+
  deb http://ftp.ua.debian.org/debian/ stretch-updates contrib main non-free
  deb-src http://ftp.ua.debian.org/debian/ jessie-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/ jessie-backports main contrib non-free
+
  deb http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free
  deb-src http://ftp.ua.debian.org/debian/ jessie-backports main contrib non-free
+
  deb-src http://ftp.ua.debian.org/debian/ stretch-backports main contrib non-free
  
 
Оновлюємо перелік пакунків та систему
 
Оновлюємо перелік пакунків та систему
  
  apt-get update
+
  sudo apt-get update
  apt-get upgrade
+
  sudo apt-get upgrade
  
 
== Встановлення Java OpenJDK 8 ==
 
== Встановлення Java OpenJDK 8 ==
  
  apt-get purge openjdk-7-*
+
  sudo apt-get purge openjdk-7-*
  
  apt-get install  openjdk-8-jdk
+
  sudo apt-get install  openjdk-8-jdk
  
 
та вибрати саме цей варіант (OpenJDK 8) як основний:  
 
та вибрати саме цей варіант (OpenJDK 8) як основний:  
  
  update-alternatives --config java
+
  sudo update-alternatives --config java
  
 
== Встановлення Tomcat, Maven, Ant ==
 
== Встановлення Tomcat, Maven, Ant ==
  
  apt-get install tomcat8
+
  sudo apt-get install tomcat8 maven ant git
apt-get install maven
+
apt-get install ant
+
  
 
== Встановлення БД postgresql ==
 
== Встановлення БД postgresql ==
Рядок 102: Рядок 98:
  
 
У файлі
 
У файлі
/etc/postgresql/9.4/main/postgresql.conf
+
/etc/postgresql/9.6/main/postgresql.conf
 
розкоментувати рядок
 
розкоментувати рядок
  
 
  listen_addresses = 'localhost'
 
  listen_addresses = 'localhost'
  
=== Збільшення загальної пам’яті ядра для клієнтських підключень сервера PostgreSQL ===
+
==== Встановлення максимального числа з’єднань клієнта сервера 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":
 
Редагуємо файл "/etc/sysctl.conf":
Рядок 119: Рядок 136:
 
  kernel.shmall = 500000000
 
  kernel.shmall = 500000000
  
Див. також: http://www.postgresql.org/docs/9.3/static/kernel-resources.html
+
Див. також:  
 +
* 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
 
  sudo sysctl -p
 
=== Налаштування прав доступу до PostgreSQL на основі хост-сервера  ===
 
  
Див. посилання в офіційній документації щодо файлу "pg_hba.conf":
+
==== Встановлення максимального числа з’єднань клієнта сервера PostgreSQL ====
  
* [http://www.postgresql.org/docs/current/static/auth-pg-hba-conf.html 19.1. The pg_hba.conf File]
+
Зауваження: [https://jira.duraspace.org/browse/DS-2563    DS-2563: Error releasing database connection]
* [https://wiki.duraspace.org/display/DSDOC5x/Installing+DSpace#InstallingDSpace-RelationalDatabase:%28PostgreSQLorOracle%29 Relational Database: (PostgreSQL or Oracle)]
+
  
Змінюємо користувацькі привілеї до БД на лише "trust".
+
Редагуємо файл налаштування postgresql :
  
  sudo sed -i 's/ident/trust/' /etc/postgresql/9.4/main/pg_hba.conf
+
  sudo mcedit /etc/postgresql/9.6/main/postgresql.conf
sudo sed -i 's/md5/trust/' /etc/postgresql/9.4/main/pg_hba.conf
+
sudo sed -i 's/peer/trust/' /etc/postgresql/9.4/main/pg_hba.conf
+
  
Дивіться приклад нижче.
+
Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!
  
# DO NOT DISABLE!
+
Перезапускаємо сервер PostgreSQL
# If you change this first entry you will need to make sure that the
+
# database superuser can access the database using some other method.
+
# Noninteractive access to all databases is required during automatic
+
# maintenance (custom daily cronjobs, replication, and similar tasks).
+
#
+
# Database administrative login by Unix domain socket
+
local  all            postgres                                trust
+
+
# TYPE  DATABASE        USER            ADDRESS                METHOD
+
+
# "local" is for Unix domain socket connections only
+
local  all            all                                    trust
+
# IPv4 local connections:
+
host    all            all            127.0.0.1/32            trust
+
# IPv6 local connections:
+
host    all            all            ::1/128                trust
+
# Allow replication connections from localhost, by a user with the
+
# replication privilege.
+
#local  replication    postgres                                trust
+
#host    replication    postgres        127.0.0.1/32            trust
+
#host    replication    postgres        ::1/128                trust
+
  
Налаштування прав доступу до БД "dspace" PostgreSQL на основі хост-сервера:
+
sudo service postgresql restart
  
  sudo echo "## DSpace DB user access">> /etc/postgresql/9.4/main/pg_hba.conf
+
==== Налаштування прав доступу до PostgreSQL на основі хост-сервера ====
sudo echo "host    dspace      dspace      127.0.0.1/32        md5" >> /etc/postgresql/9.4/main/pg_hba.conf
+
  
Перезапуск сервера БД.
+
Див. посилання в офіційній документації щодо файлу "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
 
  sudo service postgresql restart
  
=== Створення користувача "dspace" та БД "dspace" PostgreSQL ===
+
==== Створення користувача "dspace" та БД "dspace" PostgreSQL ====
  
 
Створюємо користувача БД (dspace) та БД DSpace (dspace)
 
Створюємо користувача БД (dspace) та БД DSpace (dspace)
Рядок 189: Рядок 205:
 
  service postgresql restart
 
  service postgresql restart
  
=== Налаштування пароля, власника та привілеїв БД "dspace" та користувача "dspace" ===
+
==== Налаштування пароля, власника та привілеїв БД "dspace" та користувача "dspace" ====
  
 
З’єднуємося зі сервером БД PostgreSQL та входимо у оболонку PostgreSQL.
 
З’єднуємося зі сервером БД PostgreSQL та входимо у оболонку PostgreSQL.
Рядок 214: Рядок 230:
  
 
  \q
 
  \q
 
=== Встановлення максимального числа з’єднань клієнта сервера PostgreSQL ===
 
 
Зауваження: [https://jira.duraspace.org/browse/DS-2563    DS-2563: Error releasing database connection]
 
 
Редагуємо файл налаштування postgresql :
 
 
sudo mcedit /etc/postgresql/9.4/main/postgresql.conf
 
 
Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!
 
 
Перезапускаємо сервер PostgreSQL
 
 
sudo service postgresql restart
 
  
 
=== phppgadmin ===
 
=== phppgadmin ===
Рядок 264: Рядок 266:
 
== Створення користувача DSpace ==
 
== Створення користувача DSpace ==
  
sudo useradd -m dspace
+
sudo useradd -m dspace
sudo passwd dspace
+
sudo passwd dspace
  
 
Придумуємо пароль.
 
Придумуємо пароль.
 
  
 
== Створення теки [dspace] для розміщення виконавчого коду DSpace ==
 
== Створення теки [dspace] для розміщення виконавчого коду DSpace ==
Рядок 285: Рядок 286:
 
  https://github.com/DSpace/DSpace/releases
 
  https://github.com/DSpace/DSpace/releases
  
На поточний час останньою стабільною версією є DSpace 5.5 (https://github.com/DSpace/DSpace/releases/tag/dspace-5.5)
+
На час встановлення найбільш стабільною версією була DSpace 6.1 (https://github.com/DSpace/DSpace/releases/tag/dspace-6.1)
  
 
Вхід від користувача dspace
 
Вхід від користувача dspace
Рядок 298: Рядок 299:
 
Звантаження останньої стабільної версії
 
Звантаження останньої стабільної версії
  
  wget https://github.com/DSpace/DSpace/releases/download/dspace-5.5/dspace-5.5-src-release.tar.gz -O dspace-5.5-src-release.tar.gz
+
  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-5.5-src-release.tar.gz  
+
  tar -zxf dspace-6.1-src-release.tar.gz
  
 
=== Компіляція ===
 
=== Компіляція ===
  
  cd /home/dspace/source/dspace-5.5-src-release/
+
  cd /home/dspace/source/dspace-6.1-src-release/
 
  mvn -U package
 
  mvn -U package
  
Cтягує багато пакунків з repo.maven.apache.org та інших (бажано швидкий доступ до Інтернет).
+
Звантажує багато пакунків з repo.maven.apache.org та інших (бажано швидкий доступ до Інтернет).
  
 
Довго.
 
Довго.
Рядок 316: Рядок 317:
 
  [INFO] Reactor Summary:
 
  [INFO] Reactor Summary:
 
  [INFO]  
 
  [INFO]  
  [INFO] DSpace Parent Project ............................. SUCCESS [24.579s]
+
  [INFO] DSpace Parent Project .............................. SUCCESS [ 0.889 s]
  [INFO] DSpace Services Framework :: API and Implementation  SUCCESS [34.343s]
+
  [INFO] DSpace Services Framework :: API and Implementation  SUCCESS [ 3.850 s]
  [INFO] DSpace Kernel :: API and Implementation ........... SUCCESS [7:35.974s]
+
  [INFO] DSpace Kernel :: API and Implementation ............ SUCCESS [ 10.404 s]
  [INFO] DSpace Addon Modules .............................. SUCCESS [0.022s]
+
  [INFO] DSpace Addon Modules ............................... SUCCESS [ 0.003 s]
  [INFO] DSpace Kernel :: Additions and Local Customizations  SUCCESS [24.464s]
+
  [INFO] DSpace Kernel :: Additions and Local Customizations  SUCCESS [ 2.771 s]
  [INFO] DSpace XML-UI (Manakin) ........................... SUCCESS [2:22.551s]
+
  [INFO] DSpace XML-UI (Manakin) ............................ SUCCESS [ 7.296 s]
  [INFO] DSpace XML-UI (Manakin) :: Local Customizations ... SUCCESS [8.485s]
+
  [INFO] DSpace XML-UI (Manakin) :: Local Customizations .... SUCCESS [ 7.851 s]
  [INFO] DSpace JSP-UI ..................................... SUCCESS [5.212s]
+
  [INFO] DSpace JSP-UI ...................................... SUCCESS [ 1.713 s]
  [INFO] DSpace JSP-UI :: Local Customizations ............. SUCCESS [3.017s]
+
  [INFO] DSpace JSP-UI :: Local Customizations .............. SUCCESS [ 5.258 s]
  [INFO] DSpace RDF ........................................ SUCCESS [2.600s]
+
  [INFO] DSpace RDF ......................................... SUCCESS [ 4.785 s]
  [INFO] DSpace RDF :: Local Customizations ................ SUCCESS [3.424s]
+
  [INFO] DSpace RDF :: Local Customizations ................. SUCCESS [ 6.146 s]
  [INFO] DSpace REST :: API and Implementation ............. SUCCESS [1:56.880s]
+
  [INFO] DSpace REST :: API and Implementation .............. SUCCESS [ 7.455 s]
  [INFO] DSpace REST :: Local Customizations ............... SUCCESS [3.468s]
+
  [INFO] DSpace REST :: Local Customizations ................ SUCCESS [ 6.561 s]
  [INFO] DSpace SWORD ...................................... SUCCESS [1.113s]
+
  [INFO] DSpace SWORD ....................................... SUCCESS [ 2.295 s]
  [INFO] DSpace SWORD :: Local Customizations .............. SUCCESS [2.591s]
+
  [INFO] DSpace SWORD :: Local Customizations ............... SUCCESS [ 4.785 s]
  [INFO] DSpace SWORD v2 ................................... SUCCESS [41.825s]
+
  [INFO] DSpace SWORD v2 .................................... SUCCESS [ 1.234 s]
  [INFO] DSpace SWORD v2 :: Local Customizations ........... SUCCESS [4.364s]
+
  [INFO] DSpace SWORD v2 :: Local Customizations ............ SUCCESS [ 4.884 s]
  [INFO] Apache Solr Webapp ................................ SUCCESS [1:01.951s]
+
  [INFO] Apache Solr Webapp ................................. SUCCESS [ 10.204 s]
  [INFO] DSpace SOLR :: Local Customizations ............... SUCCESS [2:31.404s]
+
  [INFO] DSpace SOLR :: Local Customizations ................ SUCCESS [ 5.188 s]
  [INFO] DSpace OAI-PMH .................................... SUCCESS [3:28.408s]
+
  [INFO] DSpace OAI-PMH ..................................... SUCCESS [ 1.193 s]
  [INFO] DSpace OAI-PMH :: Local Customizations ............ SUCCESS [3.519s]
+
  [INFO] DSpace OAI-PMH :: Local Customizations ............. SUCCESS [ 6.207 s]
  [INFO] DSpace Assembly and Configuration ................. SUCCESS [17.359s]
+
  [INFO] DSpace Assembly and Configuration .................. SUCCESS [ 15.938 s]
  [INFO] DSpace XML-UI Mirage2 Theme ....................... SUCCESS [0.659s]
+
  [INFO] DSpace XML-UI Mirage2 Theme ........................ SUCCESS [ 0.458 s]
 
  [INFO] ------------------------------------------------------------------------
 
  [INFO] ------------------------------------------------------------------------
 
  [INFO] BUILD SUCCESS
 
  [INFO] BUILD SUCCESS
 
  [INFO] ------------------------------------------------------------------------
 
  [INFO] ------------------------------------------------------------------------
  [INFO] Total time: 22:01.151s
+
  [INFO] Total time: 01:57 min
  [INFO] Finished at: Mon Aug 22 14:21:42 EEST 2016
+
  [INFO] Finished at: 2017-08-10T15:20:08+03:00
  [INFO] Final Memory: 70M/269M
+
  [INFO] Final Memory: 137M/954M
 
  [INFO] ------------------------------------------------------------------------
 
  [INFO] ------------------------------------------------------------------------
  
Рядок 351: Рядок 352:
 
У файлі налаштувань DSpace
 
У файлі налаштувань DSpace
  
  /home/dspace/source/dspace-5.5-src-release/dspace/target/dspace-installer/config/dspace.cfg  
+
  /home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer/config/dspace.cfg  
  
 
встановлюємо наступне
 
встановлюємо наступне
Рядок 368: Рядок 369:
 
  su dspace
 
  su dspace
 
   
 
   
  cd /home/dspace/source/dspace-5.5-src-release/dspace/target/dspace-installer
+
  cd /home/dspace/source/dspace-6.1-src-release/dspace/target/dspace-installer
 
   
 
   
 
  ant fresh_install
 
  ant fresh_install
Рядок 412: Рядок 413:
 
редагуємо  
 
редагуємо  
  
  sudo mc -e /etc/postgresql/9.4/main/postgresql.conf
+
  sudo mc -e /etc/postgresql/9.6/main/postgresql.conf
 
   
 
   
  data_directory = '/home/data/postgresql/9.4/main'
+
  data_directory = '/home/data/postgresql/9.6/main'
  
 
Перазапуск postgresql
 
Перазапуск postgresql
Рядок 576: Рядок 577:
  
 
http://localhost:8080/oai/request?verb=Identify
 
http://localhost:8080/oai/request?verb=Identify
 
== Дозвіл для Tomcat-у на порт 80 ==
 
 
Система не пускає tomcat на привілейований порт (80), для цього редагуємо
 
 
sudo mc -e /etc/default/tomcat8
 
 
і включаємо 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.       
 
# (yes/no, default: no)
 
AUTHBIND=yes
 
 
== Веб-сервер Apache ==
 
 
sudo apt-get install apache2
 
 
Оскільки 80 буде зайнятий Tomcat-ом, переналаштовуємо Apache на 8888.
 
 
Редагувати /etc/apache2/ports.conf:
 
 
#Listen 80
 
Listen 8888
 
 
та /etc/apache2/sites-enabled/000-default.conf
 
 
<VirtualHost *:8888>
 
 
 
Перезапуск Apache:
 
 
sudo /etc/init.d/apache2 restart
 
 
== Переключення Tomcat і DSpace з 8080 на порт 80 ==
 
 
Now we need to tell "authbind" that Tomcat is allowed to use lower port numbers. Type the following commands:
 
 
sudo touch /etc/authbind/byport/80
 
sudo touch /etc/authbind/byport/443
 
sudo chmod 0755 /etc/authbind/byport/80
 
sudo chmod 0755 /etc/authbind/byport/443
 
sudo chown tomcat8.tomcat8 /etc/authbind/byport/80
 
sudo chown tomcat8.tomcat8 /etc/authbind/byport/443
 
cd /etc/authbind/byport
 
ls -l
 
 
Now we tell the Tomcat server to listen on the "authbind" ports. Edit the following file.
 
 
sudo mc -e /etc/tomcat8/server.xml
 
 
Find the connector for port 8080 and change it to port 80.
 
 
Замінити
 
<Connector port="8080" protocol="HTTP/1.1"                                       
 
              connectionTimeout="20000"                                             
 
              redirectPort="8443" />
 
на
 
<Connector port="80" protocol="HTTP/1.1"                                       
 
              connectionTimeout="20000"
 
              redirectPort="443" />
 
 
/home/data/dspace/config/dspace.cfg
 
 
# DSpace base host URL.  Include port number etc.                                   
 
#dspace.baseUrl = http://localhost:8080                                             
 
dspace.baseUrl = http://localhost
 
 
# DSpace base URL.  Include port number etc., but NOT trailing slash                 
 
# Change to xmlui if you wish to use the xmlui as the default, or remove             
 
# "/jspui" and set webapp of your choice as the "ROOT" webapp in                     
 
# the servlet engine.                                                               
 
#dspace.url = http://localhost:8080/xmlui                                           
 
dspace.url = http://localhost/xmlui
 
 
Див. також
 
* http://wiki.lib.sun.ac.za/index.php?title=SUNScholar/Prepare_Ubuntu/S05/Ubuntu-14.04
 
  
 
= Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО) =  
 
= Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО) =  
Рядок 1016: Рядок 940:
 
* [[Налаштування DSpace]]
 
* [[Налаштування DSpace]]
 
* [[Оновлення DSpace]]
 
* [[Оновлення DSpace]]
 +
* [[Додаткові поля Dublin Core для DSpace]]
 
* [[Встановлення ОС Debian Linux]]
 
* [[Встановлення ОС Debian Linux]]
  

Поточна версія на 15:37, 10 серпня 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.

[ред.] Див. також

[ред.] Посилання

Особисті інструменти
Google AdSense
реклама