Если Вам «посчастливилось» одновременно стать пользователем 32-разрядной лицензии на сервер 1С:Предприятие и хорошего мощного сервера с 64-разрядным процессором (или даже несколькими), однозначно выбирайте x64 архитектуру операционной системы. Увы, сервер 1С не сможет воспользоваться всеми аппаратными ресурсами, зато останется больше ресурсов для сервера СУБД.
В отличие от 64-разрядних версий Windows, где совместимость с 32-разрядными приложениями встроена и включена по-умолчанию, в свежеустановленном Linux её нужно настроить. Такую особенность нельзя считать недостатком Linux, т.к. подавляющему большинству пользователей этой операционной системы нет никакой необходимости устанавливать 32-разрядные приложения. Свободное программное обеспечение распространяется с исходным кодом и нет никакой проблемы собрать нужные пакеты под x64 архитектуру. Скорее это проблема лицензионной политики 1С, в которой каждый бит имеет свою цену и за лицензию на 64-разрядную версию сервера нужно заплатить в два раза больше, чем за 32-разрядную.
Проверяем поддерживаемую архитектуру.
$ 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 выглядит так:
1c-enterprise83-common_8.3.9-2033_i386.deb
- общие компоненты1c-enterprise83-server_8.3.9-2033_i386.deb
- сам сервер1c-enterprise83-ws_8.3.9-2033_i386.deb
- веб-службы
Отличительный признак _i386
в конце имени файла указывает на 32-разрядную архитектуру сервера.
Складывайте .deb файлы в пустой каталок, например в ~/1c
, и устанавливайте
$ cd ~/1c $ sudo dpkg -i 1c*.deb
Все готово! Можно запускать сервер
$ sudo service srv1cv83 start
При установке 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.