Особенности установки сервера 1С:Предприятие на Ubuntu Server 12.04.

  • Автор:

1cv82-ubuntu-instal-1204-000.jpg

В наших предыдущих материалах мы рассматривали установку сервера 1С:Предприятия на платформу Ubuntu 10.04. Однако, срок поддержки данной версии подходит к концу и перед многими администраторами встает необходимость в обновлении или установке сервера 1С на платформу Ubuntu 12.04. Несмотря на кажущуюся простоту, этот процесс способен вызвать неожиданные затруднения, о них и поговорим ниже.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Сама установка сервера 1С на Ubuntu Server 12.04 ничем не отличается от установки на 10.04, этот процесс был подробно описан нами здесь. Сложности начинаются при попытке выполнить скрипт конфигурирования сервера. Вы совершенно неожиданно получите целый ворох ошибок:

1cv82-ubuntu-instal-1204-001.jpgСамое время задать вопрос, почему 1С, заявляя Ubuntu как официально поддерживаемую платформу, за время, прошедшее с выхода Ubuntu 12.04, не может привести свои скрипты в порядок? Основные проблемы, как всегда, в том, что скрипт ищет библиотеки не там где они лежат, хотя их расположение не составляет секрета ни для кого, кроме программистов 1С.

Наченем с библиотеки libc-*.so, которая в нашем случае имеет версию libc-2.15.so и расположена в /lib/x86_64-linux-gnu, сделаем на нее две символьные ссылки:

ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib
ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64

Однако если вы думаете, что на этом проблемы закончились, спешим вас "обрадовать" - они только начинаются. Вновь запущенный скрипт конфигурирования сообщит, что ни установлены ImageMagick, UnixODBC и т.д. Стоп, мы же специально установили их перед установкой сервера. Да, установили, но скрипт опять ищет их не там.

Как показал анализ скрипта, в нем для поиска библиотек используется не заданная в системе переменная SYSTEM_LIB_PATH. На этом месте у нас снова возникли вопросы к разработчикам, но мы их тут не приводим по причине их непечатности.

В интернет приведено много способов решения данной проблемы, большинство из них сводится к обману скрипта, путем явного указания нужного пути и т.п. Да, скрипт таким образом обмануть можно, однако севрер 1С при работе также будет искать данные библиотеки по указанному пути и вполне ожидаемо не найдет. В итоге мы получим ошибку инициализации графической подсистемы. Это имеет значение только для управляемого приложения, для обычных конфигураций эти библиотеки не требуются и даже неправильно настроенный сервер будет работать нормально.

Зато при первом запуске конфигурации на платформе управляемого приложения нерадивому админу гарантировано веселое развлечение на рабочем сервере, тем более он к тому времени успеет порядком поздабыть, что именно он делал и зачем, если конечно он не читал нашу статью про управление изменениями.

Поэтому, независимо от того, используете вы управляемое приложение или нет, нужно делать все правильно сразу. Поэтому зададим значение отсутвующей переменной, для этого в /etc/environment добавим строку:

SYSTEM_LIB_PATH="/usr/lib"

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

ln /usr/lib/x86_64-linux-gnu/libfreetype.so.6.8.0 /usr/lib//libfreetype.so.6
ln /usr/lib/x86_64-linux-gnu/libodbc.so.1.0.0 /usr/lib//libodbc.so.1
ln /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3 /usr/lib/libglib-2.0.so.0

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

После чего перезагружаем сервер и наконец запускаем скрипт:

/opt/1C/v8.2/x86_64/utils/config_server

Сервер сконфигурирован, можем работать. Попутно продолжаем задаваться философским вопросом, что мешает фирме 1С, которая берет в общем не маленькие деньги за продукт, перестать поставлять полуфабрикат и обеспечить его нормальную работу на официально поддерживаемых платформах, или исключить из списка те платформы, которые она поддерживать не в состоянии.

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.


Loading Comments