Лучше получать по 1% от усилий 100 человек, чем 100% только от своих собственных усилий.

J. Paul Getty
Меню сайта


Форма входа


Поиск


Архив записей


Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0


...
free counters


...
бесплатный счетчик посещений


...
Счетчик посетителей онлайн


...


PR-CY.ru



Приветствую Вас, Гость · RSS 11.05.2024, 00:19
Главная » 2011 » Февраль » 11 » Dspace
08:42
Dspace
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.

Установка Apache Maven:
  • Скачаем последнюю версию Apache Maven:
    wget http://www.sai.msu.su/apache/maven/binaries/apache-maven-2.0.9-bin.tar.gz
  • Распакуем архив и перемести его в каталог /opt:
    tar xvzf apache-maven-2.0.9-bin.tar.gz
    sudo mv apache-maven-2.0.9 /opt
  • Создадим ссылку с именем /opt/apache-maven:
    sudo ln -s /opt/apache-maven-2.0.9 /opt/apache-maven
  • В файле /etc/environment добавим к переменной PATH путь исполняемым файлам, должно получиться что-то вроде:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/apache-maven/bin"
    Помните, что для того чтобы изменения в файле 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>
    -->
    И замените на:
    <proxy>
    <id>optional</id>
    <active>true</active>
    <protocol>http</protocol>
    <username>ИМЯ_ПОЛЬЗОВАТЕЛЯ</username>
    <password>ПАРОЛЬ</password>
    <host>ИМЯ_ПРОКСИ_СЕРВЕРА</host>
    <port>80</port>
    </proxy>
  • Сделаем владельцем каталога пользователя root:
    sudo chown -RLv root:admin /opt/apache-maven
  • Для проверки заставим показать maven номер версии:
    mvn --version
    В ответ должны получить что-то похожее на:
    Maven version: 2.0.9
    Java version: 1.6.0_06
    OS name: "linux" version: "2.6.24-19-server" arch: "amd64" Family: "unix"
Apache Ant
Apache Ant (англ. ant — муравей) — это средство компоновки, основанное на Java. Согласно утверждениям ее первого автора Джеймса Данкана Дэвидсона (James Duncan Davidson), его название - это акроним "another neat tool" (еще одно средство автоматизации).
Средства компоновки при разработке программного обеспечения используются для преобразования исходного кода и других исходных файлов в исполняемый формат (и, возможно, в образы для установки продукта). Поскольку процесс компоновки приложений становится все более сложным, важно гарантировать постоянство процесса при каждой компоновке с максимально возможной автоматизацией.
Подробно об Ant можно прочитать на сайте IBM.

Установка Apache Ant:
  • Скачаем последнюю версию Apache Maven:
    wget http://www.sai.msu.su/apache/ant/binaries/apache-ant-1.7.1-bin.tar.gz
  • Распакуем архив и перемести его в каталог /opt:
    tar xvzf apache-ant-1.7.1-bin.tar.gz
    sudo mv apache-ant-1.7.1 /opt
  • Создадим ссылку с именем /opt/apache-ant:
    sudo ln -s /opt/apache-ant-1.7.1 /opt/apache-ant
  • В файле /etc/environment добавим к переменной PATH путь исполняемым файлам, должно получиться что-то вроде:
    PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/opt/apache-maven/bin:/opt/apache-ant/bin"
  • Сделаем владельцем каталога пользователя root:
    sudo chown -RLv root:admin /opt/apache-ant
  • Для проверки заставим показать ant номер версии:
    ant -version
    В ответ должны получить что-то похожее на:
    Apache Ant version 1.7.1 compiled on June 27 2008
Установка DSpace
  • Дистрибутив DSpace выкладывается на сайте SourceForge.net
    Скачаем дистрибутив:
    wget http://ovh.dl.sourceforge.net/sourceforge/dspace/dspace-1.5.1-src-release.tar.gz
  • Распакуем архив:
    tar xvzf dspace-1.5.1-src-release.tar.gz
  • Создадим пользователя базы данных Postgresql:
    sudo su postgres
    createuser -d -A -P dspace
    Введите пароль пользователя dspace. На запрос "Позволить роли создавать другие роли", ответим отрицательно.

  • Создадим базу данных dspace, владельцем сделаем пользователя dspace:
    createdb -O dspace -E UNICODE dspace
    exit
  • Отредактируем файл [dspace-source]/dspace/config/dspace.cfg:
    #Каталог установки 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 = ПАРОЛЬ_ПОЛЬЗОВАТЕЛЯ

    #Имя SMTP сервера
    mail.server = ИМЯ_ВАШЕГО_SMTP_СЕРВЕРА

    #Обратный адрес сообщений
    mail.from.address = ВАШ_ПОЧТОВЫЙ_АДРЕС

    #Почтовый адрес для обратной связи
    feedback.recipient = ВАШ_ПОЧТОВЫЙ_АДРЕС

    #Почтовый адрес администратора
    mail.admin = ВАШ_ПОЧТОВЫЙ_АДРЕС

    #Почтовый адрес для сообщения об ошибках
    alert.recipient = ${mail.admin}

    #Кодировка писем
    mail.charset = UTF8

    #Локализация
    default.locale = ru

    #Язык сообщений
    default.language = ru_RU

    #Каталог для хранения бинарных потоков (загруженных файлов)
    #Рекомендуется разместить на специальном разделе
    assetstore.dir = ${dspace.dir}/assetstore
  • Создадим каталог, в который будем устанавливать DSpace:
    mkdir /opt/dspace
  • Произведем сборку DSpace, для этого воспользуемя Apache maven:
    cd [dspace-source]/dspace/
    mvn package
    При этом будет произведена загрузка всех необходимых пакетов и зависимостей в каталог ~/.m2
    В случае успеха вы увидите сообщение BUILD SUCCESSFUL
  • Инициализируем базу данных и произведем установку DSpace:
    cd [dspace-source]/dspace/target/dspace-1.5.1-build.dir
    ant fresh_install
    В конце вы должны также получить сообщение BUILD SUCCESSFUL
  • Сделаем владельцем каталога /opt/dspace пользователя tomcat, т.е. пользователя под которым работает web-контейнер:
    sudo chown -Rv tomcat:nogroup /opt/dspace
  • Создадим ссылки на web-приложения DSpace:
    sudo -u tomcat ln -s /opt/dspace/webapps/xmlui /opt/apache-tomcat/webapps/xmlui
    sudo -u tomcat ln -s /opt/dspace/webapps/sword /opt/apache-tomcat/webapps/sword
    sudo -u tomcat ln -s /opt/dspace/webapps/oai /opt/apache-tomcat/webapps/oai
  • Создадим учетную запись администратора:
    [dspace]/bin/create-administrator
    Программа последовательно запросит почтовый адрес (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)
  • Итак, создадим файл с именем dspace-services:
    # Запуск рассылки подписок ежедневно в 01:00
    0 1 * * * /opt/dspace/bin/sub-daily
    # Запуск медиа-фильтра ежедневно в 02:00
    0 2 * * * /opt/dspace/bin/filter-media
    # Запуск проверки контрольных сумм каждый день в 03:00
    0 3 * * * /opt/dspace/bin/checker -lp
    # Выслать ежедневный отчет администратору в 04:00
    0 4 * * * /opt/dspace/bin/dsrun org.dspace.checker.DailyReportEmailer -c
    # Формирование статистических отчетов
    0 1 * * * /opt/dspace/bin/stat-general
    0 1 * * * /opt/dspace/bin/stat-monthly
    0 2 * * * /opt/dspace/bin/stat-report-general
    0 2 * * * /opt/dspace/bin/stat-report-monthly
    Теперь на основе этого файла создадим для пользователя tomcat задание:
    sudo crontab -u tomcat dspace-services
    На самом деле, частота и время запуска заданий указаны ориентировочные. Вы должны установить частоту выполнения в зависимости от ваших условий. Например, если документы добавляются достаточно часто, то вы можете запускать медиа-фильтр, скажем, каждый час.
    Учтите, что работа медиа-фильтра достаточно ресурсоемкая, поэтому возможна излишняя нагрузка на сервер в рабочее время.

  • Производительность PostgreSQL выиграет от регулярного запуска процесса чистки базы, который оптимизирует индексы и очищает удаленные данные.
    Создадим файл postgresql-services:
    # Очистка базы каждую ночь в 04:20
    20 4 * * * vacuumdb --analyze dspace > /dev/null 2>&1
    Создаем задание для пользователя postgres:
    sudo crontab -u postgres postgresql-services
Источник
Просмотров: 3213 | Добавил: kritik | Теги: cron, Dspace | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email *:
Код *:
Создать бесплатный сайт с uCoz