8.х Не соединяется клиент 1С под VirtualBox WinXP с сервером 1С+Postgres под Linux

Тема в разделе "Установка платформы "1С:Предприятие 8"", создана пользователем aureliano, 10 янв 2012.

  1. TopicStarter Overlay
    aureliano
    Offline

    aureliano

    Регистрация:
    10 янв 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Доброго времени суток, форумчане!

    Я не гуру в 1С, сталкиваюсь с ней впервые.

    Пытаюсь организовать стенд на ноутбуке (исключительно для экспериментов, не для реальной работы с 1С).

    Поставил под Ubuntu 10.04.3 LTS i386 (32 bit), ядро 2.6.32-37-generic сервер 1С:Предприятие 8.2.14_519 (без ключей) и PostgreSQL 8.3.8 от Etersoft (до этого ставил Postgres 9.0.4 - результат был тот же). Увеличил объём общей памяти в ядре для постгреса до 128 Мб. Всё поставилось нормально. Команда ps показывает работающие процессы postgres (несколько штук) и 1С'овские rmngr, ragent и rphost (по 1 штуке). Далее под VirtualBox'ом запустил Windows XP и там поставил 1С-клиент той же версии. Всё тоже нормально поставилось (клиент сначала поставил под wine - он и там нормально установился, но после первых неудач при попытке соединиться с сервером поставил в VirtualBox'е и все дальнейшие эксперименты проводил в нём). Адрес хост-системы 192.168.x.x, адрес VBox-системы 10.0.x.x, шлюз в Win-системе прописан, имя хоста с привязкой к ip тоже прописано как в /etc/hosts, так и в C:\Windows\System32\Drivers\etc\hosts. Связь между хост-системой и Windows нормальная (пинг правда не проходит, но и к веб-серверу, и по ssh, и к постгресу нормально подключаюсь из Win-клиентов). Далее в Windows запускаю 1С:Предприятие, нажимаю кнопку "Добавить...", выбираю "Создание новой информационной базы" => "Создание базы из шаблона" => выбираю 'Демонстрационная конфигурация "Управляемое приложение" 1.0.13.1' => "На сервере 1С:Предприятия", далее заполняю в появившемся окне поля таким образом:

    +---
    Добавление информационной базы/группы

    Кластер серверов 1С:Предприятия: mylinuxhostname
    Имя информационной базы в кластере: demo1c
    Защищенное соединение: Выключено
    Тип СУБД: PostgreSQL
    Сервер баз данных: mylinuxhostname
    Имя базы данных: demo1c
    Пользователь базы данных: postgres
    Пароль пользователя: mypostgrespassword
    Смещение дат: 0
    Создать базу данных в случае ее отсутствия ON
    Установить блокировку регламентных заданий OFF
    +---

    Жму "Далее", жду несколько секунд (может минуту или 2) и получаю окно сообщения:

    +---
    Ошибка при создании конфигурационной базы:
    Ошибка при выполнении операции с конфигурационной базой
    Ошибка на сервере или соединение разорвано администратором
    Ошибка формата потока
    +---

    Во время ожидания запущенный под Windows Wireshark показывает, что VirtualBox и Хост-система активно обмениваются данными по TCP в обе стороны, на стороне сервера через порт 1541. Пробовал создавать в postgres руками пустую базу demo1c и снова удалять её - это ничего не давало. Естественно, сетевой вход по паролю в постгрес разрешён и с локалхоста, и с любого другого (и я нормально вхожу туда из-под Windows PgAdmin'ом).

    Вот некоторые последние логи серверных linux-процессов 1С (одни и те же сообщения многократно повторяются, поэтому привожу по 1 строчке):

    /var/log/1c/rmngr_1681/12011020.log:
    +---
    40:03.1575-0,EXCP,1,process=rmngr,Exception=Exception,Descr='./src/RHostImpl.cpp(1619): Ошибка на сервере или соединение разорвано администратором Ошибка формата потока'
    +---

    /var/log/1c/rphost_4044/12011020.log:
    +---
    37:12.5814-0,EXCP,2,process=rphost,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1562 descr=Address already in use line=138 file=./src/DataExchangeServerImpl.cpp'
    +---

    /var/log/1c/ragent_4024/12011020.log (в этом логе только одна запись):
    +---
    <U+FEFF>37:11.1281-0,EXCP,2,process=ragent,ClientID=0,Exception=NetDataExchangeException,Descr='server_addr=any:1560 descr=Address already in use line=138 file=./src/DataExchangeServerImpl.cpp'
    +---

    В Postgres логов нет.

    Что ещё можно сделать? Может у кого есть идеи?

    Заранее спасибо.
  2. kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    Чтобы исключить 1 из проблемных узлов,попробуйте создать базу в файловом режиме.Дает или нет?Ошибка больше напоминает что настройки iptables не дают подцепиться.Т.е. в убунту не настроен файервол и по умолчанию он его "подрезает".
  3. TopicStarter Overlay
    aureliano
    Offline

    aureliano

    Регистрация:
    10 янв 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Да, спасибо, в файловом режиме (т. е. "На данном компьютере или на компьютере локальной сети", а не "На сервере 1С:Предприятия") действительно получилось создать информационную базу. И iptables я действительно не настраивал. Однако по умолчанию у меня там нет никаких правил, в т. ч. и никаких блокировок. Но на всякий случай ввёл команды "sudo iptables -F; sudo iptables -X; sudo iptables -P INPUT ACCEPT; sudo iptables -P OUTPUT ACCEPT; sudo iptables -P FORWARD ACCEPT" - не помогло. С сервером по-прежнему не могу связаться ни для создания информационной базы на нём, ни программой администрирования серверов 1С. Или я что-то не так понял?
  4. kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    Отсутствие правил не значит отсутствие запретов=)По умолчанию в Линуксе маниакальная степень защиты.А так все таки проблема с доступом.Хм что еще посоветовать.По какому мануалу делали установку?
  5. TopicStarter Overlay
    aureliano
    Offline

    aureliano

    Регистрация:
    10 янв 2012
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    1
    Огромное айтишное СПАСИБО за указание верного пути от бессмысленных плясок с бубном к истинно научному подходу, минуя сразу несколько промежуточных ступеней эволюции от человека дикого к человеку разумному! Проблема решена. Дело действительно было в доступе. Когда в самом начале я проверял соединение, я и не думал пытаться из хост системы соединиться с гостевым сервером. Но ваше замечание натолкнуло меня на мысль проверить и это. Разумеется, в режиме NAT Windows в качестве сервера была недоступна. Изменение типа подключения гостевой ОС с NAT на мост и установка пакета bridge-utils в хост-системе решили проблему. После этого 1С-клиент ругнулся на отсутствие PL/PgSQL, а после включения этого языка на какие-то типы. Так что снова пришлось устаревшую 8 версию Postgres заменить на 9, но это уже дело техники. Видимо, клиент 1С в какой-то момент работает в режиме сервера, типа активного ftp-клиента. Кстати, в версии Postgres 9.0.4 от Etersoft для Ubuntu в скрипте /etc/init.d/postgresql есть небольшая ошибка: дважды там встречается строчка "rm -f /var/lock/subsys/${NAME}", из-за которой он ругается при перезапуске сервиса, что невозможно удалить каталог /var/lock/subsys. Очевидно, переменная $NAME пуста. Не вникая в логику скрипта, простая замена этой команды с "rm -f" на "rm -rf" в 2 местах решает проблему. Но это я так, вдруг кому-то пригодится.

    А мануал я использовал этот:_http://www.lissyara.su/archive/1c_8.2+postgresql/

    Ещё раз огромное СПАСИБО!
  6. kavak
    Offline

    kavak Опытный в 1С

    Регистрация:
    13 май 2010
    Сообщения:
    703
    Симпатии:
    0
    Баллы:
    26
    Рад был помочь=)

Поделиться этой страницей