Установка 32-разрядного сервера 1С:Предприятие в Linux x64 архитектуры

Если Вам «посчастливилось» одновременно стать пользователем 32-разрядной лицензии на сервер 1С:Предприятие и хорошего мощного сервера с 64-разрядным процессором (или даже несколькими), однозначно выбирайте x64 архитектуру операционной системы. Увы, сервер 1С не сможет воспользоваться всеми аппаратными ресурсами, зато останется больше ресурсов для сервера СУБД.

В отличие от 64-разрядних версий Windows, где совместимость с 32-разрядными приложениями встроена и включена по-умолчанию, в свежеустановленном Linux её нужно настроить. Такую особенность нельзя считать недостатком Linux, т.к. подавляющему большинству пользователей этой операционной системы нет никакой необходимости устанавливать 32-разрядные приложения. Свободное программное обеспечение распространяется с исходным кодом и нет никакой проблемы собрать нужные пакеты под x64 архитектуру. Скорее это проблема лицензионной политики 1С, в которой каждый бит имеет свою цену и за лицензию на 64-разрядную версию сервера нужно заплатить в два раза больше, чем за 32-разрядную.

Все примеры команд приведены для Ubuntu 16.04 LTS x64 и сервера 1С:Предприятие версии 8.3.9

Проверяем поддерживаемую архитектуру.

$ dpkg --print-architecture

По умолчанию мы увидим amd64. Добавим поддержку i386

$ sudo dpkg --add-architecture i386 && sudo apt update

Установим пакеты, от которых зависят пакеты 1С. Т.к. 1С мы будем устанавливать 32-разрядную, то и пакеты нужно установить i386, кроме шрифтов, они подходят для любой архитектуры.

$ sudo apt install imagemagick:i386 unixodbc:i386 libgsf-bin:i386 ttf-mscorefonts-installer

На некоторых инсталляциях можно наблюдать ошибку при установке пакета imagemagick:i386

При обработке следующих пакетов произошли ошибки:
 imagemagick:i386
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ошибка при выполнении запрошенной операции с пакетом. Попытка восстановить:
Настраивается пакет imagemagick:i386 (8:6.8.9.9-7ubuntu5.4) …
update-alternatives: ошибка: альтернативный путь /usr/bin/compare-im6 не существует
dpkg: ошибка при обработке пакета imagemagick:i386 (--configure):
 подпроцесс установлен сценарий post-installation возвратил код ошибки 2
При обработке следующих пакетов произошли ошибки:
 imagemagick:i386

Проблема лечится установкой еще одного пакета, после чего переустановите imagemagick:i386

$ sudo apt install imagemagick-6.q16:i386

Сервер 1С:Предприятия распространяется в виде .deb файлов, например, релиз 8.3.9.2033 выглядит так:

Отличительный признак _i386 в конце имени файла указывает на 32-разрядную архитектуру сервера. Складывайте .deb файлы в пустой каталок, например в ~/1c, и устанавливайте

$ cd ~/1c
$ sudo dpkg -i 1c*.deb

Все готово! Можно запускать сервер

$ sudo service srv1cv83 start
Маленький бонус. Мало кто знает, что 32-разрядный сервер 1С:Предприятие, установленный в Linux не проверяет ключ защиты или код активации при подключении к нему до 5-и пользователей.
Но это не значит, что можно использовать сервер, не имея соответствующей лицензии 1С:Предприятие

При установке i386 сервера 1С:Предприятие в x64 архитектуру Linux возникают сложности с публикацией информационной базы на Apache. x64 Apache категорически отказывается запускать 32-разрядный модуль wsap24.so и никаких настроек, разрешающих 32-разрядные модули как в IIS нет.

С релизами до 8.3.13 помогала манипуляция с последовательной установкой сначала x64 версии 1С:Предприятия, копированием модулей в безопасное место и установкой i386 версии. Apache конфигурировался на использование x64 версию модуля, а сервер работал в i386 архитектуре. Но где-то начиная с релиза 8.3.13 или немного раньше в такой связке перестала работать программная защита 1С.

Если стоит задача использовать один и тот же Linux сервер для хостинга i386 сервера приложений 1С и публикации информационной базы в Интернет на x64 Apache, то имеет смысл виртуализировать Apache в Docker.