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

(Налаштування прав доступу до PostgreSQL на основі хост-сервера)
(Див. також)
 
(Не показано 100 проміжних версій цього користувача)
Рядок 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 9 Stretch ==
 +
 
 +
Детальніше: [[Встановлення ОС Debian Linux]].
  
 
== Джерела ==
 
== Джерела ==
  
* [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]
Рядок 26: Рядок 30:
  
 
* [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 ]
 
* [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/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'''.
Рядок 52: Рядок 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 ==
Рядок 96: Рядок 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":
Рядок 113: Рядок 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 ====
 +
 
 +
Зауваження: [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]
 
* [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)]
 
* [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
  
Змінюємо користувацькі привілеї до БД на лише "trust".
+
Перевіряємо доступ з вибраних IP
  
sudo sed -i 's/ident/trust/' /etc/postgresql/9.4/main/pg_hba.conf
+
http://localhost/phppgadmin/
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
 
  
Дивіться приклад нижче.
+
=== Корисні посилання ===
  
# DO NOT DISABLE!
+
*    [http://www.postgresql.org/about/featurematrix PostgreSQL: Feature Matrix]
# If you change this first entry you will need to make sure that the
+
*    [http://manage.jujucharms.com/charms/trusty/postgresql postgresql | Juju]
# 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
+
== Створення користувача DSpace ==
  
# "local" is for Unix domain socket connections only
+
sudo useradd -m dspace
local  all            all                                    trust
+
sudo passwd dspace
# 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
 
  
Перезапуск сервера БД.
+
Придумуємо пароль.
  
  sudo service postgresql restart
+
== Створення теки [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 (ЗАСТАРІЛО) =  
 
= Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО) =  
Рядок 523: Рядок 940:
 
* [[Налаштування DSpace]]
 
* [[Налаштування DSpace]]
 
* [[Оновлення DSpace]]
 
* [[Оновлення DSpace]]
 +
* [[Додаткові поля Dublin Core для DSpace]]
 
* [[Встановлення ОС Debian Linux]]
 
* [[Встановлення ОС Debian Linux]]
 +
* [[Українізація 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.

Див. також

Посилання