Установка DSpace на Ubuntu 10.04 Server (локальная машина)

23 Янв
2012

В этой статье я постараюсь насколько это возможно максимально ясно объяснить процесс установки DSpace на Ubuntu 10.04 Server. Конечно, в Интернет существует огромное количество способов установки, правда большинство на английском языке, но вот детально я нигде толком не нашёл, так как я и сам не великий профессионал в поднятии серверов такого рода, то пришлось много материала прочитать, прежде чем у меня всё вышло. Так что данная установка включает в себя более 5 разных источников (к сожалению, извините, они не сохранились у меня) установок с разными дополнениями и исправлениями ошибок (но я и не говорю, что она идеальна, но зато она предельно детальна и 100% работоспособна). Итак, начнём.
(1 способ) Если у Вас чистый компьютер и Вы только устанавливаете саму операционную систему. Если вы находитесь на этапе установки ОС, то Вам предложат установить несколько серверов на выбор (хотя можно это сделать и потом), нам понадобится: LAMP server, PostgreSQL database, Tomcat Java server, из имеющихся в предложенном списке. Итак, выбрав, их мы устанавливаем дальше нашу ОС (операционную систему). После этого компьютер перезагрузится.
(2 способ) А если у Вас уже установлена данная ОС, но нет нужных компонентов: LAMP server, PostgreSQL database, Tomcat Java server, то поступаем следующим образом, в терминале пишем:

sudo apt-get install tasksel

sudo tasksel
И выбираем следующие пакеты:
[*] LAMP server
[*] PostgreSQL database
[*] Tomcat Java server
Затем продолжаем устанавливать, независимо от того, каким из вышеизложенных способов установлены пакеты, как описано в 1 либо во 2 способе. Так что в командной строке пишем:
sudo apt-get install ant maven2
Так как DSpace предпочитает работать без ошибок на Java JDK а не на Java JRE, то делаем следующее, в командной строке пишем:

sudo nano /etc/apt/sources.list

# Раскоментируем строку, уберём # перед deb archive.canonical.com/ubuntu maverick partner
Затем нажимает клавишу F3 для сохранения, потом enter, а затем выходим из редактора нажатием на клавише F2. Следующее, пишем в командной строке:

sudo apt-get update

Затем устанавливаем новую версию Sun Java JDK, пишем в командной строке:

sudo apt-get install sun-java6-jdk sun-java6-plugin

Затем меняем чтоб первыми был JDK а не JRE, для этого пишем:

sudo update-java-alternatives –l

Выведется на экран:

# java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk
# java-6-sun 63 /usr/lib/jvm/java-6-sun

Затем опять пишем:

sudo update-java-alternatives -s java-6-sun

Затем не помешает установка Postfix – стандартный Mail Transfer Agent для Ubuntu. Необходим он будет, так как скорее всего ведь у Вас в репозитории будет обратная связь клиентов с администрацией сайта, то есть это значит работа с почтой.
Установка: Для того чтобы установить Postfix с SMTP-AUTH, для начала необходимо установить пакет Postfix из главного репозитория. Для этого в терминале пишем:

sudo aptitude install postfix

При данной установке примите значения по умолчанию, при ответе на вопросы установщика. Конфигурация будет сделана более подробно позже. Итак, начнём конфигурировать как нам необходимо. Для этого в терминале пишем:

sudo dpkg-reconfigure postfix

Вставьте следующую информацию при ответах на вопросы (вместо
server1.example.om впишите своё доменное имя, если у Вас оно есть):
General type of mail configuration: Internet Site
NONE doesn’t appear to be requested in current config
System mail name: server1.example.com
Root and postmaster mail recipient: <admin_user_name>
Other destinations for mail: server1.example.com, example.com, localhost.example.com, localhost
Force synchronous updates on mail queue?: No
Local networks: 127.0.0.0/8
Yes doesn’t appear to be requested in current config
Mailbox size limit (bytes): 0
Local address extension character: +
Internet protocols to use: all

Сейчас самое подходящее время, чтобы решить, какой формат ящика вы хотите использовать. По умолчанию Postfix будет использовать формат mbox для почтового ящика. Вместо редактирования конфигурационного файла напрямую, то есть вручную открытия файла, можно использовать команду postconf, чтобы настроить все параметры Postfix. Конфигурационные параметры будут сохранены в /etc/postfix/main.cf. Позже, если Вам понадобится перенастроить определенный параметр, Вы можете ибо выполнить команду представленную чуть ниже или изменить конфигурационный файл вручную, всё по Вашему пожеланию как говорится. Итак, чтобы настроить почтовый ящик формата Maildir наберите в терминале следующее:

sudo postconf -e ‘home_mailbox = Maildir/’

P.S.: Это будет место новой почты в /home/username/Maildir так что вам придется настроить Mail Delivery Agent (Агент доставки почты), чтобы использовать тот же самый путь (в общем работёнки немало, но что поделать).
Затем пишем такой параметр:
sudo postconf -e ‘mailbox_command =’

Настраиваем Postfix, чтоб сделать SMTP AUTH используя SASL (saslauthd):

sudo postconf -e ‘smtpd_sasl_local_domain =’
sudo postconf -e ‘smtpd_sasl_auth_enable = yes’
sudo postconf -e ‘smtpd_sasl_security_options = noanonymous’
sudo postconf -e ‘broken_sasl_auth_clients = yes’
sudo postconf -e ‘smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination’
sudo postconf -e ‘inet_interfaces = all’


Затем редактируем файл smtpd.conf через терминал:

sudo gedit /etc/postfix/sasl/smtpd.conf

И добавляем следующие строки:

pwcheck_method: saslauthd
mech_list: plain login

Потом сохраняемся и выходим из этого файла. Далее нам необходимы будут сертификаты, которые будут использоваться для TLS шифрования и / или сертификат проверки подлинности (Authentication). Для этого пишем в терминале:

touch smtpd.key
chmod 600 smtpd.key
openssl genrsa 1024 > smtpd.key
openssl req -new -key smtpd.key -x509 -days 3650 -out smtpd.crt # has prompts
openssl req -new -x509 -extensions v3_ca -keyout cakey.pem -out cacert.pem -days 3650 # has prompts
sudo mv smtpd.key /etc/ssl/private/
sudo mv smtpd.crt /etc/ssl/certs/
sudo mv cakey.pem /etc/ssl/private/
sudo mv cacert.pem /etc/ssl/certs/


После этого настраиваем Postfix, чтоб делать TLS шифрование для входящей и исходящей почты:

sudo postconf -e ‘smtp_tls_security_level = may’
sudo postconf -e ‘smtpd_tls_security_level = may’
sudo postconf -e ‘smtpd_tls_auth_only = no’
sudo postconf -e ‘smtp_tls_note_starttls_offer = yes’
sudo postconf -e ‘smtpd_tls_key_file = /etc/ssl/private/smtpd.key’
sudo postconf -e ‘smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt’
sudo postconf -e ‘smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem’
sudo postconf -e ‘smtpd_tls_loglevel = 1’
sudo postconf -e ‘smtpd_tls_received_header = yes’
sudo postconf -e ‘smtpd_tls_session_cache_timeout = 3600s’
sudo postconf -e ‘tls_random_source = dev:/dev/urandom’
sudo postconf -e ‘myhostname = server1.example.com’
# не забудьте заменить на имя Вашего хоста

Файл в данной дирректории /etc/postfix/main.cf должен выглядеть примерно так:

# See /usr/share/postfix/main.cf.dist for a commented, more complete version

smtpd_banner = $myhostname ESMTP $mail_name (Ubuntu)
biff = no

# appending .domain is the MUA’s job.
append_dot_mydomain = no

# Uncomment the next line to generate «delayed mail» warnings
#delay_warning_time = 4h

myhostname = server1.example.com
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases
myorigin = /etc/mailname
mydestination = server1.example.com, example.com, localhost.example.com, localhost
relayhost =
mynetworks = 127.0.0.0/8
mailbox_command = procmail -a «$EXTENSION»
mailbox_size_limit = 0
recipient_delimiter = +
inet_interfaces = all
smtpd_sasl_local_domain =
smtpd_sasl_auth_enable = yes
smtpd_sasl_security_options = noanonymous
broken_sasl_auth_clients = yes
smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination
smtpd_tls_auth_only = no
#Use these on Postfix 2.2.x only
#smtp_use_tls = yes
#smtpd_use_tls = yes
#For Postfix 2.3 or above use:
smtp_tls_security_level = may
smtpd_tls_security_level = may
smtp_tls_note_starttls_offer = yes
smtpd_tls_key_file = /etc/ssl/private/smtpd.key
smtpd_tls_cert_file = /etc/ssl/certs/smtpd.crt
smtpd_tls_CAfile = /etc/ssl/certs/cacert.pem
smtpd_tls_loglevel = 1
smtpd_tls_received_header = yes
smtpd_tls_session_cache_timeout = 3600s
tls_random_source = dev:/dev/urandom

* Примечание: везде в этом файле вместо server1.example.com должно быть соответственно имя Вашего хоста.

После того как Вы проверили и удостоверились, что всё в порядке, необходимо перезагрузить демон postfix, опять таки в терминале пишем:

sudo /etc/init.d/postfix restart

После предыдущих процедур необходимо создать пользователя базы данных (DSpace), выполнив следующие в терминале:

sudo su postgres
createuser -U postgres -d -A -P dspace
exit


Вам так же будет тогда предложено выбрать пароль, Вы можете установить его в качестве dspace, если ещё не выбрали. После открываем файл pg_hba.conf и редактируем:

sudo gedit /etc/postgresql/8.4/main/pg_hba.conf

Добавляем в него строчку:

local all dspace md5

Часть записи в этом файле после добавления должна выглядеть примерно следующим образом:
local   all         postgres            ident
local all dspace md5

Затем сохраняемся и выходим. После этого перезагружаем postgresql через терминал:
sudo service postgresql restart

Затем создаём базу данных dspace через терминал:

createdb -U dspace -E UNICODE dspace

После настраиваем сервлет Tomcat для DSpace webapps:

sudo gedit /etc/tomcat6/server.xml

Вставьте следующий кусок текста чуть выше закрытия тега /Host (но так как кусок текста ниже на блогаблоге определяется как готовый тег, то перед началом каждой строчки добавьте символ < ):
!— Define a new context path for all DSpace web apps —>
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=»/jspui» docBase=»/dspace/webapps/jspui» allowLinking=«true»/>
Context path=»/lni» docBase=»/dspace/webapps/lni» allowLinking=«true»/>
Context path=»/solr» docBase=»/dspace/webapps/solr» allowLinking=«true»/>

После отого сохраните и закройте файл. Далее нам необходимо будет создать [DSpace] дирректорию. Дирректория — каталог [Dspace] будет местом откуда будет работать DSpace код, и где будут всё время находится исходные данные, так как DSpace — структура сложная, и для её полноценной работоспособности необходимо наличие на сервере и исходного каталога установки и рабочего, установленного, исполняемого каталога. Итак, снова пишем в терминале:

sudo mkdir /dspace

После этого необходимо задать полные права доступа к папке (после их в целях безопасности можно поменять):

sudo chmod -R 777 /dspace

Затем скачиваем сам релиз DSpace:

wget sourceforge.net/projects/dspace/files/DSpace%20Stable/1.7.0/dspace-1.7.0-src-release.tar.bz2
tar -xvjf dspace-1.7.0-src-release.tar.bz2


После следует компиляция и сборка DSpace: но перед этим необходимо удостовериться, что на сервере установлен и работает правильно Java-6-OpenJDK, проверить это можно через терминал так:

whereis java-6-openjdk

Должно выдаться что то типа:

java-6-openjdk: /etc/java-6-openjdk

Если Вы получаете строку как показано чуть выше, то Вы можете переходить к следующему шагу, если нет, то запустите и установите java-6-openjdk:

sudo apt-get install java-6-openjdk

После можете проверить его опять же на работоспособность строкой показанной чуть выше. Затем преступаем к непосредственной установке DSpace:

cd dspace-1.7.0-src-release
mvn -U package
cd dspace/target/dspace-1.7.0-build.dir
sudo ant fresh_install

После перезапустите Tomcat server, а так же необходимо изменить владельца файлов tomcat6 для [dspace]. Перезапуск tomcat предоставит готовый програмный продукт DSpace для его полного работоспособного состояния. Для всего этого напишите в терминале:

sudo chown tomcat6:tomcat6 /dspace -R
sudo /etc/init.d/tomcat6 restart


Теперь можно проверять наш репозиторий. Для этого откроем в любом из браузеров в компьютере, принадлежащему той же сети что и сервер с DSpace.
localhost:8080/jspui/
Или
yoururl:8080/jspui/
Или
ipaddress:8080/jspui/
К примеру если сервер находится на 192.168.100.146 айпишке, то пишем в браузере:
192.168.100.146:8080/jspui/
Так же в конце пути вместо /jspui можно писать /xmlui, и тогда Вы так же попадёте на стартовую страничку репозитория DSpace, но только с немного другим интерфейсом, так как в DSpace по умолчанию устанавливается несколько вариантов дизайна.
Но теперь, чтоб можно было логиниться на сервере и работать с админкой DSpace необходимо создать администратора, под которым и будем логиниться в админке. Для этого опять всё в том же терминале пишем:

sudo /dspace/bin/dspace create-administrator

Указываем необходимые email, имя и фамилию администратора. Теперь под этими данными можно логиниться на нашем сервере.
Ну вот вроде бы и всё, если сразу не будет работать, то перезагрузите Ваш сервер, и тогда обязательно всё заработает. Но по идее и так должно всё заработать.
P.S.: Данный материал был написан, так как, к сожалению нет столь развёрнутой установки репозитория DSpace. И, очень трудно поставить такой сервер, так как на русском языке только частичные обрывки этапов установки, да и честно говоря на английском языке то же не так уж и хорошо описан процесс установки. Автор данной статьи не один день провел в создании этого сервера, и поэтому, я решил помочь людям и облегчить их труды в этой задаче. Надеюсь статья была полезной. Удачной жизни Вам коллеги-админы!
P.P.S.: А так же статья была размещена на Блогаблоге, так как поиск материала по DSpace ничего не дал.
По материалам Хабрахабр.



загрузка...

Комментарии:

Наверх