Встановлення DSpace на ОС Debian
Встановлення DSpace на ОС Debian
Зміст
- 1 Встановлення DSpace 5.5 на ОС Debian GNU/Linux 8 Jessie
- 1.1 Джерела
- 1.2 Необхідне програмне забезпечення
- 1.3 Підключення додаткових репозитаріїв
- 1.4 Встановлення Java OpenJDK 8
- 1.5 Встановлення Tomcat, Maven, Ant
- 1.6 Встановлення БД postgresql
- 1.6.1 Налаштування PostgreSQL
- 1.6.2 Збільшення загальної пам’яті ядра для клієнтських підключень сервера PostgreSQL
- 1.6.3 Налаштування прав доступу до PostgreSQL на основі хост-сервера
- 1.6.4 Створення користувача "dspace" та БД "dspace" PostgreSQL
- 1.6.5 Налаштування пароля, власника та привілеїв БД "dspace" та користувача "dspace"
- 1.6.6 Встановлення максимального числа з’єднань клієнта сервера PostgreSQL
- 1.6.7 Корисні посилання
- 2 Встановлення DSpace 1.8.1 на ОС Debian 6 (ЗАСТАРІЛО)
- 2.1 Встановлення ОС Debian GNU/Linux 6 Squeeze
- 2.2 Sun Java 6 JDK
- 2.3 Веб-сервер Tomcat та Maven
- 2.4 Postgresql
- 2.5 Веб-сервер Apache
- 2.6 phppgadmin
- 2.7 Користувач „dspace“
- 2.8 БД „dspace“
- 2.9 Звантаження DSpace 1.8.1
- 2.10 Налаштування „dspace.cfg“
- 2.11 Тека /dspace
- 2.12 Побудова maven-пакунка
- 2.13 Встановлення
- 2.14 Підключення DSpace-івських webapps до Tomcat
- 2.15 Дозвіл для Tomcat-у на порт 80
- 2.16 Обліковий запис адміна DSpace
- 2.17 Права на теки „upload“ і „assetstore“
- 2.18 Встановлення завершено
- 3 Налаштування
- 4 Див. також
- 5 Посилання
Встановлення DSpace 5.5 на ОС Debian GNU/Linux 8 Jessie
Джерела
- Встановлення DSpace на ОС Debian (ця інструкція)
- DSpace 5.x Documentation - DuraSpace Wiki: (звантажити можна)
- SUNScholar/Install DSpace, також див. Install Ubuntu Server та Prepare Ubuntu Server
Необхідне програмне забезпечення
З офіційної документації [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 3.0.5+ (Java build tool)
- Apache Ant 1.8 or later (Java build tool)
- PostgreSQL 9.0 or later. Oracle 10g or later.
- Servlet Engine (Apache Tomcat 7 (7.0.30 or above) or later, Jetty, Caucho Resin or equivalent). Для Tomcat 8 ймовірно потрібні деякі налаштування.
- Perl (only required for [dspace]/bin/dspace-info.pl)
Присутнє у Debian GNU/Linux 8 Jessie та бекпортах:
- openjdk-7-jdk (7u95-2.6.4-1~deb8u1 and others)
- openjdk-8-jdk (8u72-b15-1~bpo8+1)
- tomcat7 (7.0.56-3+deb8u1), (7.0.68-1~bpo8+1)
- tomcat8 (8.0.14-1+deb8u1), (8.0.32-1~bpo8+1)
- maven (3.0.5-3)
- ant (1.9.4-3)
- postgresql (9.4+165+deb8u1)
Розглядаємо варіант встановлення openjdk-8-jdk+tomcat8.
Підключення додаткових репозитаріїв
У файл /etc/apt/sources.list додаємо (перевіряємо навність) наступні джерела пакунків
deb http://ftp.ua.debian.org/debian/ jessie main contrib non-free.. deb-src http://ftp.ua.debian.org/debian/ jessie main contrib non-free..
deb http://security.debian.org/ jessie/updates contrib main.. deb-src http://security.debian.org/ jessie/updates contrib main..
deb http://ftp.ua.debian.org/debian/ jessie-updates contrib main non-free. deb-src http://ftp.ua.debian.org/debian/ jessie-updates contrib main non-free.
(чи інщі дзеркала стабільної версії)
deb http://ftp.ua.debian.org/debian/ jessie-backports main contrib non-free deb-src http://ftp.ua.debian.org/debian/ jessie-backports main contrib non-free
Оновлюємо перелік пакунків та систему
apt-get update apt-get upgrade
Встановлення Java OpenJDK 8
apt-get purge openjdk-7-*
apt-get install openjdk-8-jdk
та вибрати саме цей варіант (OpenJDK 8) як основний:
update-alternatives --config java
Встановлення Tomcat, Maven, Ant
apt-get install tomcat8 apt-get install maven apt-get install ant
Встановлення БД postgresql
sudo apt-get install postgresql postgresql-contrib libpg-java
Налаштування PostgreSQL
У файлі /etc/postgresql/9.4/main/postgresql.conf розкоментувати рядок
listen_addresses = 'localhost'
Збільшення загальної пам’яті ядра для клієнтських підключень сервера PostgreSQL
Редагуємо файл "/etc/sysctl.conf":
sudo mcedit /etc/sysctl.conf
Вставити наприкінці файлу наступне:
# For PostgreSQL server client connections kernel.shmmax = 500000000 kernel.shmall = 500000000
Див. також: http://www.postgresql.org/docs/9.3/static/kernel-resources.html
Також виконати:
sudo sysctl -p
Налаштування прав доступу до PostgreSQL на основі хост-сервера
Див. посилання в офіційній документації щодо файлу "pg_hba.conf":
Змінюємо користувацькі привілеї до БД на лише "trust".
sudo sed -i 's/ident/trust/' /etc/postgresql/9.4/main/pg_hba.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
Дивіться приклад нижче.
# DO NOT DISABLE! # 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 echo "## DSpace DB user access">> /etc/postgresql/9.4/main/pg_hba.conf sudo echo "host dspace dspace 127.0.0.1/32 md5" >> /etc/postgresql/9.4/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
При створенні користувача придумуємо пароль.
Налаштування пароля, власника та привілеїв БД "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
Встановлення максимального числа з’єднань клієнта сервера PostgreSQL
Зауваження: https://jira.duraspace.org/browse/DS-2563
Редагуємо файл налаштування postgresql :
sudo mcedit /etc/postgresql/9.4/main/postgresql.conf
Змінюємо число "max_connections" на 300. Зауважте: якщо отримуватимете помилки з’єднання, то підкрутіть це значення!
Перезапускаємо сервер PostgreSQL
sudo service postgresql restart
Корисні посилання
Встановлення 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.
Див. також
Посилання
- wiki.duraspace.org/ „DSpace 1.8 Documentation » Installation“
- scribd.com/ „DSpace Installation on Debian Squeeze 6.0.3“
- linuxhalwa.blogspot.com/ „Installing Dspace 1.8 on Ubuntu 10.04“
- oracle.com/ „Java SE Development Kit 6u30“
- lightonphiri.org/ „DSpace Installation on Ubuntu 10.10“
- losisin.com/ „Install Dspace on Ubuntu Server“
- thelowedown.wordpress.com/ „Tomcat 6: Binding to a Privileged Port on Debian/Ubuntu“
- repositorioinstitucional.wikispaces.com/ „Manual de Instalación de DSpace“
- es.scribd.com/ „Instalacion DSpace en Ubuntu“
- dspace.2283337.n4.nabble.com/ „Dspace: File Upload Problem“