DSpace - это
сервис, который осуществляет сбор, хранение, и распространение цифрового
материала. Говоря проще - это электронная библиотека. Платформа
электронных библиотек DSpace разрабатывалась совместно компанией
Hewlett-Packard и библиотеками MIT (Massachusetts Institute of
Technology). 4-го ноября 2002 года система была запущена как действующая
служба, поддерживаемая библиотеками MIT. Также на основании лицензии
BSD открыт исходный код с намерением поощрить формирование сообщества
открытых кодов вокруг DSpace. Преимуществами DSpace являются - открытая лицензия, кроссплатформенность (DSpace написан на java), полнотекстовый поиск. DSpace реализован как J2EE приложение, поэтому может функционировать в любом стандартном J2EE-контейнере. В качестве базы данных может использоваться Oracle или Postgresql. Дистрибутив DSpace поставляется в исходных кодах. Для его сборки требуются: Java Development Kit, Apache Maven, Apache Ant.
Apache Maven Maven
- это высокоуровневый проект с открытым исходным кодом Apache Software
Foundation, созданный, в первую очередь, для управления сложным
процессом создания проекта Jakarta Turbine. Несмотря на такое скромное
начало, разработчики проектов с открытым исходным кодом и в закрытых
областях предпочли Maven в качестве системы создания проектов. Подробно о Maven можно прочитать на сайте IBM.
Помните,
что для того чтобы изменения в файле environment вступили в действие
необходимо перезапустить сессию (т.е. сделать logout, login)
Если выход в интернет у вас настроен через прокси-сервер, тогда необходимо прописать его в файле /opt/apache/maven/conf/settings.xml. Найдите следующий текст:
<!-- proxy | Specification for one proxy, to be used in connecting to the network. | <proxy> <id>optional</id> <active>true</active> <protocol>http</protocol> <username>proxyuser</username> <password>proxypass</password> <host>proxy.host.net</host> <port>80</port> <nonProxyHosts>local.net,some.host.com</nonProxyHosts> </proxy> -->
Apache Ant Apache
Ant (англ. ant — муравей) — это средство компоновки, основанное на
Java. Согласно утверждениям ее первого автора Джеймса Данкана Дэвидсона
(James Duncan Davidson), его название - это акроним "another neat tool"
(еще одно средство автоматизации). Средства компоновки при разработке
программного обеспечения используются для преобразования исходного кода
и других исходных файлов в исполняемый формат (и, возможно, в образы
для установки продукта). Поскольку процесс компоновки приложений
становится все более сложным, важно гарантировать постоянство процесса
при каждой компоновке с максимально возможной автоматизацией. Подробно об Ant можно прочитать на сайте IBM.
#Каталог установки dspace dspace.dir = /opt/dspace
#URL главной страницы DSpace, вместо localhost:8080 пропишите полное имя вашего сервера и порт, на котором работает web-контейнер. dspace.url = http://localhost:8080/xmlui
#Полное имя вашего сервера (порт указывать не нужно) dspace.hostname = localhost
#Имя вашего сайта (для корректного отображения русского названия воспользуйтесь утилитой native2ascii из jdk) dspace.name = \u042d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u0430\u044f \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0430
#Используемая СУБД db.name = postgres
#Строка подключения к БД - jdbc:postgresql://[сервер]:[порт]/[имя БД] db.url = jdbc:postgresql://localhost:5432/dspace
#Пользователь и пароль для подключения к БД db.username = dspace db.password = ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ
Программа последовательно запросит почтовый адрес (e-mail), имя, фамилию и пароль администратора.
Вот
он - момент истины! Открываем браузер по адресу
http://ИМЯ_СЕРВЕРА:ПОРТ/xmlui и пробуем зайти с учетной записью
администратора:
Для того, чтобы можно было сказать, что наша установка DSpace завершена, необходимо сделать ещё несколько вещей. Задания для демона 'cron' Пара
функций DSpace требуют регулярного запуска. Это подписка по e-mail,
которая оповещает пользователя о новых поступлениях в библиотеке, и
новый медиа-фильтр, который генерирует миниатюры из изображений и
извлекает полный текст документов для индексирования. Для их запуска мы
будем использовать демон 'cron'. cron
— демон-планировщик задач в UNIX-образных операционных системах,
использующийся для периодического выполнения заданий в заданное время.
Каждый пользователь системы имеет свой файл заданий crontab
(файлы всех пользователей хранятся в каталоге
/var/spool/cron/crontabs), в котором описано, в какое время и какие
программы запускать от имени этого пользователя. Для редактирования
файла crontab используется специальная одноименная программа crontab, позволяющая не прерывать процесс cron на время редактирования. Файл заданий имеет следующий формат:
* * * * * выполняемая команда - - - - - | | | | | | | | | ----- День недели (0 - 7) (Воскресенье =0 или =7) | | | ------- Месяц (1 - 12) | | --------- День (1 - 31) | ----------- Час (0 - 23) ------------- Минута (0 - 59)
Теперь на основе этого файла создадим для пользователя tomcat задание:
sudo crontab -u tomcat dspace-services
На
самом деле, частота и время запуска заданий указаны ориентировочные. Вы
должны установить частоту выполнения в зависимости от ваших условий.
Например, если документы добавляются достаточно часто, то вы можете
запускать медиа-фильтр, скажем, каждый час. Учтите, что работа медиа-фильтра достаточно ресурсоемкая, поэтому возможна излишняя нагрузка на сервер в рабочее время.
Производительность
PostgreSQL выиграет от регулярного запуска процесса чистки базы,
который оптимизирует индексы и очищает удаленные данные. Создадим файл postgresql-services:
# Очистка базы каждую ночь в 04:20 20 4 * * * vacuumdb --analyze dspace > /dev/null 2>&1