Установка DSpace 1.8 в операционной системе Debian GNU/Linux 6

0. Intro


 

По моему личному мнению существует лишь два некоммерческих дистрибутива Linux, пригодных для использования на продакшене: CentOS и Debian GNU/Linux. С первым я знаком достаточно хорошо, а второй использую редко и Debian specific навыков не имею. Так что, в статье возможны серьезные неточности и нерациональности. По заказу целевой аудитории статья будет обильно снабжена скриншотами…. консоли.

 

1. Установка минимального набора ПО


Свежая инсталяция Debian GNU/Linux 6.0.4 (стандартная установка БЕЗ графических компонентов)  радует такой вот консолью с отмазками от ответственности во первых строках.

0

 

Меня, как пришельца из мира CentOS пугают некоторые стандартные программы Debian GNU/Linux, а тот же vi пугает меня независимо от дистрибутива, так что, первым делом я сделал это:

1

Дал команду apt-get install mc

 

2

Дождался успешного завершения её выполнения

 

3

Дал команду mc

4

Создал директории /opt/dspace и /opt/dspace_src для будущей инсталляции DSpace и размещения исходных кодов DSpace. То же самое можно было сделать и из командной строки, дав команды mkdir /opt/dspace и mkdir /opt/dspace_src

 

2. Получение DSpace и подготовка исходных кодов


Для начала, DSpace нужно скачать.

1

Для этого перейдя в директорию /opt необходимо использовать утилиту wget.

Набор команд будет выглядеть как на картинке выше:

cd /opt

wget http://citylan.dl.sourceforge.net/project/dspace/DSpace%20Stable/1.8.2/dspace-1.8.2.-src-release.tar.gz

Результатом выполнения этих команд станет файл dspace-1.8.2.-src-release.tar.gz, скачаный в директорию /opt

 

2

Далее, исходные коды из архива необходимо извлечь в директорию /opt/dspace_src. Это делается последовательностью команд:

cd /opt/dspace_src

tar xvzf /opt/dspace-1.8.2-src-release.tar.gz

С результатом выполнения данных команд можно ознакомиться на картинке ниже:

3

 

3. Настройка репозиториев


Либо я чего-то не понял, либо так оно и есть, но Apache Maven отсутствует в обычных репозиториях Debian/Gnu Linux, зато присутствует в Testing. Для подключения Testing необходимо сделать следующее:

Посредством редактора mcedit открыть файл /etc/apt/sources.lst

1

Откроется окно редактора:

2

 

И добавить в него строку deb http://ftp.debian.org/debian testing main contrib non-free

3

 

После чего сохранить файл и дать команды apt-get update && apt-get upgrade

4

 

Это перестроит кэш менеджера пакетов и обновит систему. В процессе менеджер пакетов несколько раз спросит пользователя, уверен ли тот в своём желании установить выбранные пакеты и скачать указанный объем данных из сети.

 

4. Установка ПО


Не зная тонкостей дистрибутива я решил дать команду aptitude install maven2 ant tomcat6 postgresql openjdk-6-jdk но наверное и apt-get install maven2 ant tomcat6 postgresql openjdk-6-jdk сработало бы

1

 

Команда будет выполняться долго и с вопросами:

2

 

Соглашаемся с предложением пакетного менеджера скачать файлы

3

Меняем No на Yes

4

Наблюдаем процесс выполнения и результат

 

Проверить как всё прошло можно последовательно дав команды:

ant -version
mvn -version
java -version

5

 

 

5. Настройка PostgreSQL


Устанавливаем верную локаль базы, для этого даем команды

pg_dropcluster —stop 9.1 main
pg_createcluster —locale ru_RU.UTF-8 —start 9.1 main

 

1

Регистрируем роль и базу давая последовательность команд

su postgres
createuser -d -A -P
createdb -O dspace -E UNICODE dspace

После ввода второй команды придется ответить на вопросы мастера. И для логина и пароля в тестовой инсталляции я использовал dspace.

2

 

 

6. Настройка и установка DSpace


Открываем конфигурационный файл текстовым редактором:

1

Вносим правки:

dspace.dir = /opt/dspace
dspace.baseurl = http://localhost:8080/jspui
dsspace.url = ${dspace.baseUrl}/jspui

2

Вносим правки:

db.name = postgres
db.username = dspace
db.password = dspace

3

Вносим правки:

default.locale = ru

 

 

4

Вносим правки:

default.language = ru

5

 

Переходим в директорию сборки командой cd /opt/dspace_src/dspace-1.8.2-src-release/dspace запускаем сборку командой mvn package

6

 

Наблюдаем за процессом сборки

7

 

Результат успешной сборки выглядит так:

8

 

Переходим в целевую директорию командой cd /opt/dspace_src/dspace-1.8.2-src-release/dspace/target/dspace-1.8.2-build даем команду установки ant fresh_install

9

 

Результат успешной установки выглядит так:

11

 

Даем права сервису Tomcat на директорию с содержимым архива:

12

 

Копируем jspui из целевой директории DSpace в рабочую директорию Tomcat:

13

 

 7. Проверка


Узнаем адрес сервера:

1

И вбиваем в строку браузера:

2

 


 

 

Запись опубликована в рубрике Библиотека с метками , . Добавьте в закладки постоянную ссылку.

9 комментариев: Установка DSpace 1.8 в операционной системе Debian GNU/Linux 6

  1. Уведомление: Elena Serpentina Davydova (elenaserpentinadavydova) | Pearltrees

  2. woodyfon говорит:

    Пакет maven2 присутствует на официальных репозитариях Debian. Вы просто не указали эти репозитарии в файле /etc/apt/sources.list. Возможно, на первом DVD-диске пакета не обнаружилось.

    deb http://ftp.ua.debian.org/debian/ squeeze main
    deb-src http://ftp.ua.debian.org/debian/ squeeze main

    deb http://ftp.ru.debian.org/debian/ squeeze main
    deb-src http://ftp.ru.debian.org/debian/ squeeze main

    По команде
    # apt-cache show maven
    определяем, что версия пакета maven2 — 2.2.1-5

    • IdeaFix говорит:

      На картинках в общем видно что и как. на момент написания заметки, maven2 был ЛИШЬ в testing.

      • woodyfon говорит:

        Даже на момент написания статьи пакет находился на официальных репозитариях.
        Не собирается по команде mvn package
        Листинг из консоли:

        [INFO] Scanning for projects…
        [INFO] ————————————————————————
        [ERROR] FATAL ERROR
        [INFO] ————————————————————————
        [INFO] Error building POM (may not be this project’s POM).

        Project ID: org.dspace:dspace-parent:pom:1.8.3

        Reason: Cannot find parent: org.sonatype.oss:oss-parent for project: org.dspace:dspace-parent:pom:1.8.3 for project org.dspace:dspace-parent:pom:1.8.3

        [INFO] ————————————————————————
        [INFO] Trace
        org.apache.maven.reactor.MavenExecutionException: Cannot find parent: org.sonatype.oss:oss-parent for project: org.dspace:dspace-parent:pom:1.8.3 for project org.dspace:dspace-parent:pom:1.8.3
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:404)
        at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:272)
        at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
        at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
        at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
        at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
        at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
        at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
        Caused by: org.apache.maven.project.ProjectBuildingException: Cannot find parent: org.sonatype.oss:oss-parent for project: org.dspace:dspace-parent:pom:1.8.3 for project org.dspace:dspace-parent:pom:1.8.3
        at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1396)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildInternal(DefaultMavenProjectBuilder.java:823)
        at org.apache.maven.project.DefaultMavenProjectBuilder.buildFromSourceFileInternal(DefaultMavenProjectBuilder.java:508)
        at org.apache.maven.project.DefaultMavenProjectBuilder.build(DefaultMavenProjectBuilder.java:200)
        at org.apache.maven.DefaultMaven.getProject(DefaultMaven.java:604)
        at org.apache.maven.DefaultMaven.collectProjects(DefaultMaven.java:487)
        at org.apache.maven.DefaultMaven.getProjects(DefaultMaven.java:391)
        … 12 more
        Caused by: org.apache.maven.project.InvalidProjectModelException: Not a v4.0.0 POM. for project org.sonatype.oss:oss-parent at /root/.m2/repository/org/sonatype/oss/oss-parent/7/oss-parent-7.pom
        at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1599)
        at org.apache.maven.project.DefaultMavenProjectBuilder.readModel(DefaultMavenProjectBuilder.java:1571)
        at org.apache.maven.project.DefaultMavenProjectBuilder.findModelFromRepository(DefaultMavenProjectBuilder.java:562)
        at org.apache.maven.project.DefaultMavenProjectBuilder.assembleLineage(DefaultMavenProjectBuilder.java:1392)
        … 18 more
        [INFO] ————————————————————————
        [INFO] Total time: < 1 second
        [INFO] Finished at: Thu Sep 25 21:19:48 EEST 2014
        [INFO] Final Memory: 1M/5M
        [INFO] ————————————————————————

  3. woodyfon говорит:

    Отвечу сам!
    Ссылка на ответ первоисточника
    http://dspace.2283337.n4.nabble.com/Maven-Error-td4673583.html
    Необходимо удалить каталог /.m2. Подправить файл pom.xml.
    Сервис oss.sonatype.org изменил протокол http на https.
    На сайте sourceforge.net архивы не обновлены на момент написания комментария.

    • IdeaFix говорит:

      К сожалению, теперь у нас при сборке из коробки куча проблем со сборщиком 🙁 Core-team теперь работает на условиях парт тайма а в остальное время принимает участие в обучении волонтеров и многоумных дискуссиях о конкуренции с КРИС системами и изменению правил вебометрикса 🙁 Реально фигово когда поддерживаемый 1.8.3 из коробки не собирается, и 4.1 не собирался… я привык на примере 1.7 и 1.8 что диспейс железобетонный, первый звоночек был в 3.х, когда 3.0 было реально невозможно пользоваться. Сейчас версия 3.3, но OAI до сих пор не валидируется… круто, да? Про версию 4.х и говорить не хочется.

    • IdeaFix говорит:

      Да, я таки думаю надо с дискуссией на гпнтб-шный форум возвращаться, у меня «проходимость» нулевая. да и шаблон для коментов дюже дурацкий, а там полезнее будет и народу больше увидит.

  4. woodyfon говорит:

    Были еще проблемы с нехваткой оперативной памяти. Если в консоле получаете сообщение типа «OutMemory», то это именно такой случай. Создавал VM c ОЗУ в 64 мб. После поднятия до 512 Мб все успешно собралось. Вывод: машина должна иметь для нормальной работы (хотя бы установка) не менее 512 Мб.
    Результаты по команде free
    total used free shared buffers cached
    Mem: 515296 482668 32628 0 17556 304192
    -/+ buffers/cache: 160920 354376
    Swap: 473080 10424 462656
    По команде top
    PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
    1694 tomcat6 20 0 282m 120m 5008 S 0.3 23.9 0:53.71 java

    • IdeaFix говорит:

      Про это на гпнтбшном форуме писалось неоднократно 🙂 причем память ключом -Xmx в /bin/dspace.sh поднять надо и в параметрах томкэта тоже. Ибо это «разные явы».

      http://irbis.gpntb.ru/read.php?53,75093,81054#msg-81054 во 🙂

      но 64 мб озу — это как-то не серьезно, учитывая jvm heap в 256 из коробки. Кста, линукс имеет обыкновение очень часто показывать 0 мегабайт или около того при вызове free -m, ибо всё что не сожрали процессы, отдаётся под кэш чтения.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *