Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
Электронные архивы :  ИРБИС Irbis
Cистема структурированного хранения электронных документов, обеспечивающая надежность хранения, конфиденциальность и разграничение прав доступа, отслеживание истории использования документа, быстрый и удобный поиск. Источник: Wikipedia 
Страницы: 12>>
Страница: 1 из 2
Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 16, September, 2014 20:45

Возникла необходимость установить DSpace на ОС семейства Linux. Какой лучше всего дистрибутив подойдет для этого? Какой дистрибутив используете Вы?

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 17, September, 2014 09:08

Без особых проблем встаёт на Debian, CentOS, Ubuntu Server.

С дебианом только одна проблема - у него то дли ант то ли мавен нужной версии был в testing, в остальном без проблем.

[ideafix.name]

ранее мы работали с солярой (sunos 5.10), вот там был ад и израиль... любой линукс дистрибутив после него кажется манной небесной :)

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 12, October, 2014 00:56

Эксперименты с Linux ставлю на виртуальной виртуальной машине VirtualBox. В качестве дистрибутива использую Debian (squeezy). Решил обновить версию дистрибутива до 7.6.0 (wheezy). При установке система предложит установить расширения для гостевой ОС. Если согласиться, то модули не загружаться. Чтобы избежать такой проблемы, рекомендую отказаться от автоматической установки пакета и установить его вручную с соответствующей версией ядра.
Для этого введите команду
Цитата:
sudo apt-get -y install linux-headers-$(uname -r) build-essential dkms
,
где uname -r - текущая версия ядра системы.
Далее необходимо в меню "Устройства" выбрать "Установить дополнения гостевой ОС" или нажать комбинацию клавиш Host+D.
Далее монтируем cdrom
sudo mount /dev/cdrom /media/cdrom
Переходим на смонтированный диск
cd /media/cdrom
Запускаем установки гостевых дополнений
sudo sh ./VBoxLinuxAdditions.run
P.S. Возможно возникновение такой проблемы совпало с выходом новой версии VirtualBox (стоит 4.3.16). Пакеты загружаются для версии 4.3.18.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 12, October, 2014 01:14

Тут важно делать акцент на том, что виртуалбокс подходит только для опытов, но не для серьезной работы... к сожалению :(

Re: Преднастройка сервера для DSpace
Пользователь: svyt22 (IP-адрес скрыт)
Дата: 17, October, 2014 20:31

У нас в библиотеке довольно хорошее "железо".
Для виртуализации стоит Proxmox. Все библиотечные сервисы крутятся в своих виртуалках на тех ОС которые подходят/удобны (кроме АБИС все на Linux). DSpace на Debian . Рекомендую сразу ставить на 64-разрядную версию.
Если есть вопросы по конфигурированию в Linux спрашивайте.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 17, October, 2014 20:37

Виртуалки ли? Может контейнеры?

Re: Преднастройка сервера для DSpace
Пользователь: svyt22 (IP-адрес скрыт)
Дата: 17, October, 2014 20:39

Виртуалка для АБИС и еще кое чего, остальное (так как все на линукс) контейнеры )

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 29, May, 2015 21:23

Поставил Debian Jessie 8.0. Сделал связку Tomcat+Nginx, чтобы не открывать порт 80 на tomcat. Настроил nginx таким образом, чтобы в логах tomcat были реальные хосты, а не ip-адрес на котором запущен nginx. Вроде работает так, как задуманно. Но встала проблема с webapps для DSpace. Выполнить проксирование/перенаправление не получается. Не знаю, может, с правами на каталоги фалы что-то напутал. Нашел инструкцию
NginX Tomcat Proxying. Но не работает.
Но если web-мордочки DSPace скопировать в webapp Tomcat и обращатья на прямую все начинает работать.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 30, May, 2015 06:58

что именно не работает-то? Покажите каки xml'ки в вебаппс кладёте. Ну и это... симлинки сделать не пробовали?

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 31, May, 2015 01:42

Цитата:
что именно не работает-то?
Очень долго открывается мордочки, а если и открываются, то с ошибкой solr (Internal Error).
Цитата:
Покажите каки xml'ки в вебаппс кладёте.
В каталог /etc/tomcat7/Catalina/localhost кладу xmlui.xml (также jspui, oai, solr) c содержимым
<?xml version="1.0" encoding="UTF-8"?>
<Context path="/xmlui" 
	 docBase="/home/dspace/dspace/webapps/xmlui"
	 reloadable="true"
	 cachingAllowed="false"
	 antiResourceLocking="false" />
Цитата:
Ну и это... симлинки сделать не пробовали?
После добавления allowLinking="true" мордочки стали открываться быстрее. Но это после того, как полностью снес tomcat8 и поставил tomcat7. Не знаю почему, но java от пользователя tomcat забирала все ресурсы (нагрузка процессора до 100 %). Нагрузка была постоянной, даже не падала после ребута сервера.
Также добавлю, что SOLR по умолчанию с целью безопасности сервера работает на локальном хосту. Поэтому в связке с nginx нужно отдельно прописать location:
server {
    listen       80;
    server_name  localhost;

    #root /home/dspace/dspace/webapps/;
    #charset koi8-r;
    access_log  /var/log/nginx/access.log  main;

    #location / {
    #    root   /usr/share/nginx/html;
    #    index  index.html index.htm;
    #}

    location / {
    proxy_pass [127.0.0.1:8080];
    proxy_redirect off;
    proxy_set_header Host $host;
    proxy_set_header X-Real_IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
    
    location /solr/ {
    proxy_pass [127.0.0.1:8080];
    proxy_redirect [127.0.0.1:8080] [localhost:8080];
    proxy_set_header Host $host;
    proxy_set_header X-real_IP $remote_addr;
    proxy_set_header X-Forwarded_for 127.0.0.1;
    }
    
    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   [127.0.0.1];
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}

}
Ну или прописать адрес в файле настроек solr dspace ([dspace]/config/modules/solr-statistics.cfg)
server [127.0.0.1:8080]

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 31, May, 2015 03:29

Как настроить почту в DSpace (включая MTA, настройки smtp)?

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 31, May, 2015 03:46

Насчет почты:

Если смтп сервер уже есть - очень просто:

##### Email settings ######

# SMTP mail server
mail.server = smtp.mail.ru

# SMTP mail server authentication username and password (if required)
mail.server.username = temporary.adress@mail.ru
mail.server.password = ******

# SMTP mail server alternate port (defaults to 25)
mail.server.port = 25

# From address for mail
mail.from.address = temporary.adress@mail.ru

# Currently limited to one recipient!
feedback.recipient = ideafix@ideafix.name

# General site administration (Webmaster) e-mail
mail.admin = ideafix@ideafix.name

# Recipient for server errors and alerts
alert.recipient = ideafix@ideafix.name

# Recipient for new user registration emails
registration.notify = ideafix@ideafix.name

# Set the default mail character set. This may be overridden by providing a line
# inside the email template "charset: <encoding>", otherwise this default is used.
mail.charset = UTF-8

# A comma-separated list of hostnames that are allowed to refer browsers to email forms.
# Default behaviour is to accept referrals only from dspace.hostname
mail.allowed.referrers = elar.rsvpu.ru

# Pass extra settings to the Java mail library. Comma-separated, equals sign between
# the key and the value. For example:
mail.extraproperties = mail.smtp.socketFactory.port=465, \
                       mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
                       mail.smtp.socketFactory.fallback=false

# An option is added to disable the mailserver. By default, this property is set to false
# By setting mail.server.disabled = true, DSpace will not send out emails.
# It will instead log the subject of the email which should have been sent
# This is especially useful for development and test environments where production data is used when testing functionality.
#mail.server.disabled = false

А вот MTA в dsapce нет,только MUA. MTA надо внешними средствами делать... локальным постфиксом или внешним гугелем...

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 31, May, 2015 19:02

SMTP-сервер mail.ru использует порт 465. После того, как поставил
mail.server.port = 465
система начала слать письма. Но текст сообщения нуждается в редактировании.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 31, May, 2015 20:13

Чтобы веб-мордочка (например, jspui) открывалась по умолчанию при заходе на хост (sample.com), необходимо изменить ROOT Tomcat.
1. Удаляем корневой каталог приложений Tomcat
sudo rm -rf /var/lib/tomcat7/webapps/ROOT
2. Создаем симлинк на требуемую мордочку
sudo cd /var/lib/tomcat7/webapps
sudo ln -s [dspace]/webapps/jspui ROOT
3. Перезапускаем Tomcat
sudo service tomcat7 restart

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 01, June, 2015 00:05

Насчет смтп странно, даже если он SSL Only, он ДОЛЖЕН принимать входящее соединение на 25, предлагать MUA шифрование и уводить его на 465.

В конфиге эта строка отвечает за включение SSL:

mail.extraproperties = mail.smtp.socketFactory.port=465, mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, mail.smtp.socketFactory.fallback=false

А насчет jspui в root - это да, этот костыль давно известен :)



Редактировано 1 раз. Последний раз 01.06.2015 00:05 пользователем IdeaFix.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 01, June, 2015 00:08

И насчет щаблонов писем, они сидят тут - [dspace]/config/emails но еть одна проблема - они не многоязыкие :(

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 01, June, 2015 02:04

Цитата:
А вот MTA в dsapce нет,только MUA. MTA надо внешними средствами делать... локальным постфиксом или внешним гугелем...
В качестве MTA используется не postfix, а exim4. Как необходимо настроить exim, чтобы отправлять письма в dspace c внешнего SMTP-сервера.
Ради эксперимента поставил postfix, после установки его не настраивал. Письма DSpace слал, после установки exim4 - перестал.
Какие настройки postfix делает по умолчанию? Как-то не додумался скопировать настройки и проанализировать...

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 01, June, 2015 08:54

Немного не понял о чем речь. Что значит "чтобы отправлять письма в dspace c внешнего SMTP-сервера"? Dspace вроде не умеет получать почту. Только отправлять.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 01, June, 2015 23:02

Т. е. можно даже не ставить MTA, и DSpace будет отправлять письма?

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 01, June, 2015 23:08

Если нет желания слать письма с локалхоста - можно и не ставить. Если есть корпоративный почтовик или используется бесплатный внешний почтовик - можно не ставить.

У меня есть конторы, где корпоративная почта очень уж сложная (шифрование на шифровании и шифрованием погоняет), там конфиг такой:

##### Email settings ######

# SMTP mail server
mail.server = 127.0.0.1

# SMTP mail server authentication username and password (if required)
# mail.server.username = ${mail.server.username}
# mail.server.password = ${mail.server.password}

# SMTP mail server alternate port (defaults to 25)
mail.server.port = 25

# From address for mail
mail.from.address = elar@usu.ru

# Currently limited to one recipient!
feedback.recipient = ideafix@ideafix.name

# General site administration (Webmaster) e-mail
mail.admin = ideafix@ideafix.name

# Recipient for server errors and alerts
alert.recipient = ideafix@ideafix.name

# Recipient for new user registration emails
registration.notify = ideafix@ideafix.name

# Set the default mail character set. This may be overridden by providing a line
# inside the email template "charset: <encoding>", otherwise this default is used.
mail.charset = UTF-8

# A comma-separated list of hostnames that are allowed to refer browsers to email forms.
# Default behaviour is to accept referrals only from dspace.hostname
mail.allowed.referrers = elar.urfu.ru

# Pass extra settings to the Java mail library. Comma-separated, equals sign between
# the key and the value. For example:
#mail.extraproperties = mail.smtp.socketFactory.port=465, \
#                       mail.smtp.socketFactory.class=javax.net.ssl.SSLSocketFactory, \
#                       mail.smtp.socketFactory.fallback=false

# An option is added to disable the mailserver. By default, this property is set to false
# By setting mail.server.disabled = true, DSpace will not send out emails.
# It will instead log the subject of the email which should have been sent
# This is especially useful for development and test environments where production data is used when testing functionality.
#mail.server.disabled = false

Т.е. слать с локалхоста (использую IIS SMTP или posfix), но в reply path писать реальный адрес.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 14, September, 2015 22:34

Если tomcat машине и проксируется все через другую машину с nginx, что в логах tomcat будут указаны IP-адрес машины с nginx. Также будет некорректно подсчитываться статистика. То же самое наблюдается, если связка (Tomcat + Nginx) стоит на одной машине.
Ниже приведены рекомендации по устранению такой проблемы.
Настройка конфигурационного файла tomcat

<Valve className="org.apache.catalina.valves.RemoteIpValve" 
         remoteIpHeader="X-Forwarded-For" 
         requestAttribtesEnabled="true" 
         internalProxies="127.0.0.1" /> 
  
  <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs" 
                prefix="localhost_access_log" suffix=".log" 
        requestAttributesEnabled="true" 
                pattern="%h %l %u %t &quot;%r&quot; %s %b" />
Здесь обязательно необходимо указывать requestAttributesEnabled="true" в AccessLogValve, иначе запись в лог будет происходить без изменений.
Отрывок из конфигурационного файла nginx

location / { 
     proxy_pass  [127.0.0.1:8080]; 
     proxy_redirect off; 
     proxy_set_header Host $host; 
     proxy_set_header X-Real_IP $remote_addr; 
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; 
     }

Код для Nginx в случае его поднятия на другой машине немного изменится. Вместо локального хоста здесь будет указан ip-адрес, где поднят tomcat и он работает на 8080 порту.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 28, May, 2016 18:56

Иногда возникает необходимость работы на виртуальной машине. В качестве виртуальной машины используется VirtualBox. Осуществляется установка Linux. В отличии от других програм виртуализации, linux-системы здесь работают отменно. Чтобы полностью сэммулировать работу машины (получить доступ из вне, ведь все находится под NAT-ом), необходимо преднастроить VB на основной системе.
1. Останавливаем виртуальную машину, если запущена
В Debian для выключения можно использовать команду:
# shutdown -h 0
2. Открываем командную строку
3. Переходим в каталог VB
cd c:\Program Files\Oracle\VirtualBox\
4. Выполняем команду
VBoxManage.exe modifyvm "VM name" --nataliasmode1 proxyonly
VM name - имя виртуальной машины.
Для перенаправления на другие порты можно воспользоваться переброс портов.



Редактировано 1 раз. Последний раз 28.05.2016 19:10 пользователем woodyfon.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 28, May, 2016 21:51

А в каких это средах линукс гесты не отменно работают?:) Может в KVM? Или в Xen? Или ESXi? Дак даже в hyper-v аптайм - годами...

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 30, May, 2016 08:11

Я сравниваю работу Linux и Windows в VirtualBox. Если с первым проблем нет, то с окнами великие траблы.
Добавлю, что команда
VBoxManage.exe modifyvm "VM name" --nataliasmode1 proxyonly
позволяет в логах получать реальные айпи клиентов. Чтобы перенаправлять запросы на виртуальный сервер, пробрасываем порты.
Все тесты сначала проделываю на тестовом сервере, потом переношу на рабочий. Не поленился достать и поставить сервер на реаьную машину, дома же такой возможности нет, поэтому только через VB. До сих пор все проделанное на тестовом сервере работает также хорошо и реальном.

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 30, May, 2016 15:42

Домашний гипервизор - не роскошь... а зло необходимое.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 17, January, 2018 21:03

Практически во всех мануалах по установке dspace есть команда, которая назначает пользователя tomcat7 на каталог [dspace]
# chown -R tomcat7:tomcat7 /dspace
Если такое не сделать (не назначить рекурисвно владельца и его группу), то даже веб-мордочки не откроются.
Далее начинаем работать в dspace.
В инструкции пользователя команды ([dspace]/bin/dspace) необходимо выполнять от того пользователя под которым был установлен dspace.
Но после
dspace
su - dspace
и далее команда выше получаем сообщение, что нет доступа (Permission denied).
Кто как поступает? Неужели запускать под рутом?!

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 17, January, 2018 21:56

Никакого рута. Только unixway, а разве есть альтернативы?

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 17, January, 2018 23:10

Тим чутка поправил вики - [wiki.duraspace.org]

Просто мысли читает... ну или этот форум :) Чуть яснее описал процедуру апгрейда с сильно старых версий на относительно новые.

Re: Преднастройка сервера для DSpace
Пользователь: woodyfon (IP-адрес скрыт)
Дата: 18, January, 2018 12:32

Никакого рута. Только unixway, а разве есть альтернативы?
А как конкретно?
Нельзя в linux сделать так, чтобы было два владельца.
Может банально выставить соответствующие права на папки?!
Может бабахнуть 775?
У кого какие права доступа к каталогу [dspace]
Задавал на линуксоидных форумах. Не получил вменяемых ответов, только "выпендреж".

Re: Преднастройка сервера для DSpace
Пользователь: IdeaFix (IP-адрес скрыт)
Дата: 18, January, 2018 15:01

ну, тут зависит от ОС. Вообще, это решается на уровне групп. Или добавляем ющера от имени которого делается крон и запускаются консольные задачи в www-data (ну или tomcat7) группу, или создаём свою группу и добавляем туда тех, кого захотим и права на папки даём уже группе.

Идея с www-data мне нравится еще и тем, что в случае, к примеру nginx или httpd в качестве прокиска, права будут и там тоже. Это удобно, но специфично для каждой ОС, да и для каждого админа.

Страницы: 12>>
Страница: 1 из 2


Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.