Установка 1с на ubuntu server. Включение отладки на сервере

Как известно 4 июля фирма 1С выпустила новую платформу версии 8.3. Помимо исправления ошибок и добавления новых возможностей данный релиз платформы принес также давно ожидаемую возможность - нативая работа в среде Linux.

Однако при установке есть ряд подводных камней (особенно для новичков в Linux), которые затруднят установку и возможно сформируют негативное впечатление о новом режиме работы.

Я постараюсь как можно более подробно описать процесс установки данной платформы на наиболее популярный дистрибутив - Ubuntu 12.04.

Итак первый шаг - скачивание самой платформы с сайта 1С. Дистрибутив находится по адресу . Из всего списка Вам требуется скачать 2 пакета (у нас 64 битный дистрибутив) :

В случае если у вас дистрибутив 32 бита, то и скачать потребуется 32 битные пакеты. Заметим, что для скачивания вышеприведенных ссылок необходима действующая подписка на ИТС. Также вероятно эти пакеты будут доступны на дисках ИТС (хотя не факт, так как релиз носит ознакомительный характер).

Итак скачиваете два пакета в папку Загрузка (вообще скачать можете в любую папку в домашнем каталоге). Далее заходите в эту папку файловым менеджером Nautilus, щелкаете правой клавишей на файле client.deb64.tar.gz и выбираете пункт контекстного меню «Извлечь сюда». Тоже самое проделываете с файлом deb64.tar.gz.

В итоге в папке со скачанными файлами появятся 2 папки - client.deb64 и deb64. Вот тут для новичков наступает более трудный этап, так как самый простой способ установить программы - это воспользоваться Терминалом (консоль). Для этого вызовите программу Терминал. Самый простой путь вызвать меню Dash (верхняя левая кнопка Unity аналог кнопки Пуск в Windows) и в строке поиска наберите пару первых букв программы Тер или полностью слово Терминал.

Запустите терминал. В дальнейшем можете просто копировать команды из этого текста в Терминал. Первым делом перейдите в папку распакованных пакетов в терминале (напомню у нас это папка Загрузки. Очень удобной возможностью сокращающей ввод в любом терминале Linux является клавиша Tab. Нажимая ее вы дополняете команду. Linux сама подсказывает вам варианты):

cd Загрузки/deb64/ (нажмите Enter)

Этой командой мы перешли в каталог deb64. Далее в терминале введите команду установки всех пакетов из этой папки:

sudo dpkg -i 1c-* и нажмите клавишу Enter

Консоль запросит у вас пароль и после того, как вы его введете установит пакеты 1С в папку /opt/1 °C/v8.3/x86_64/ (последняя папка в случае установки 32 битной версии будет другая). Далее вы должны войти в папку /home/leo/Загрузки/client.deb64 для этого наберите:

cd. (Enter)

cd Загрузки/ client.deb64 (Enter)

Здесь также выполните команду sudo dpkg -i 1c-* и введите пароль (впрочем консоль пару минут будет помнить ранее введенный пароль и возможно снова вводить вам его не потребуется).

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

этого данный скрипт просит установить каталог шрифтов требуемых для работы 1С.

sudo /opt/1 °C/v8.3/x86_64/utils/config_system /usr/share/fonts/

У меня запуск этой команды ругнулся на отстуствие двух пакетов:

Please install following package: libgsf

Please install following package: UnixODBC

Для того, чтобы их инсталлировать введите команды:

sudo apt-get install libgsf-bin

sudo apt-get install unixodbc-bin

Однако это еще не все. При новом запуске проверочного скрипта он выдал сообщение:

No truetype conversion utility found!

Please install ttf2afm or ttf2pt1!

Поиск в каталоге Ubuntu не дал результата, однако в интернете я нашел требуемый пакет, скачал в папку Загрузки, нажал правой клавишей на нем и выбрал пункт меню «Открыть в Центр приложений Ubuntu». Далее в Центре приложений выбрал пункт «Установить».

Этот пакет вы можете найти по наименованию:

Ну вот и все. Осталось только установить ключ. Версия для Linux работает как с аппаратной защитой, так и с программной. У меня куплена программная защита, однако инсталляцию программной лицензии мы разберем в следующей статье.

Что касается аппаратной защиты, то вам надо будет скачать и установить драйвер аппаратного ключа.

Рассматривается вариант установки 64-битного 1С Сервера 8.3.10 (на примере версии 8.3.10.2168 ), а также 64-битного PostgreSQL 9.4.2 на 64-битный Ubuntu Server 16.04. Опционально приводятся варианты настройки Timezone и синхронизации времени, установки Apache 2.4, установки OpenJDK 1.8 и включения режима отладки 1С Сервера на 64-битном Ubuntu Server 16.04.

1. Установка PostgreSQL

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

sudo locale-gen en_US
(создаем локаль английского языка)
sudo locale-gen ru_RU
(создаем локаль русского языка)
sudo update-locale LANG=ru_RU.UTF8
(по-умолчанию устанавливаем локаль русского языка)
sudo dpkg-reconfigure locales
(переконфигурируем локали)

Устанавливаем необходимые пакеты:

sudo apt-get install libxslt1.1 ssl-cert

Установка PostgreSQL 9.4.2-1.1C:

Скачиваем необходимую версию библиотеки libicu (например, в каталог /tmp) и устанавливаем ее:

cd /tmp
wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu48_4.8.1.1-3ubuntu0.6_amd64.deb
sudo dpkg -i libicu48_4.8.1.1-3ubuntu0.6_amd64.deb

Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их именно в такой последовательности:

cd /tmp
sudo dpkg -i libpq5_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-client-common_154.1.1C_all.deb
sudo dpkg -i postgresql-common_154.1.1C_all.deb
sudo dpkg -i postgresql-client-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-9.4_9.4.2-1.1C_amd64.deb
sudo dpkg -i postgresql-contrib-9.4_9.4.2-1.1C_amd64.deb

Установка PostgreSQL 9.4.x (на момент написания статьи 9.4.6) с сайта авторов сборки PostgreSQL для 1С (большое спасибо audion за ссылку):

Добавляем репозиторий 1c.postgrespro.ru:

sudo sh -c ‘echo «deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main» > /etc/apt/sources.list.d/postgrespro-1c.list’

Импортируем ключ репозитория и обновляем список пакетов:

wget —quiet -O — http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C-92 | sudo apt-key add — && sudo apt-get update

Устанавливаем PostgreSQL:

sudo apt-get install postgresql-pro-1c-9.4

После установки любым из двух вариантов от имени суперпользователя в файле /etc/postgresql/9.4/main/pg_hba.conf строку для соединения через Unix-сокет

local all postgres peer
для пользователя postgres приводим к виду:
local all postgres trust

Для бОльшей безопасности от имени суперпользователя в файле /etc/postgresql/9.4/main/postgresql.conf строку
listen_addresses = ‘*’
приводим к виду:
listen_addresses = ‘localhost’

Это ограничит доступ к серверу базы данных PostgreSQL только внутри машины, на которой он установлен. Данное ограничение можно реальзовать только в случае, когда 1С Сервер и PostgreSQL установлены на одной машине. Если указанные сервера расположены на разных машинах, то необходимо оставить опцию listen_addresses = ‘*’ или вместо ‘*’ указать IP-адрес машины, на которой установлен 1С Сервер.

Изменяем пароль суперпользователя postgres:

psql -U postgres -d template1 -c «ALTER USER postgres PASSWORD ‘password"»

От имени суперпользователя в файле /etc/postgresql/9.4/main/pg_hba.conf все методы аутентификации устанавливаем в значение md5, например:
local all postgres md5

Перезапускаем сервис PostgreSQL:

sudo service postgresql restart

2. Установка Timezone и синхронизация времени (опционально).

При необходимости установить Timezone и синхронизировать время операционной системы, необходимо выполнить следующие действия:

— сконфигурировать часовой пояс:

sudo dpkg-reconfigure tzdata
и выбрать необходимый часовой пояс

— установить ntp-протокол и произвести синхронизацию времени:

sudo apt-get install ntp
sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start

3. Установка 64-битного 1С Сервера 8.3.10.

Устанавливаем необходимые зависимости:

sudo apt-get install imagemagick
sudo apt-get install unixodbc
sudo apt-get install ttf-mscorefonts-installer
(в процессе установки необходимо принять условия лицензионного соглашения)
sudo apt-get install libgsf-1-114

Скачиваем с сайта 1С все необходимые deb-файлы в каталог /tmp и устанавливаем их (логичной выглядит следующая последовательность установки):

cd /tmp
sudo dpkg -i 1c-enterprise83-common_8.3.10-2168_amd64.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-common-nls_8.3.10-2168_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.10-2168_amd64.deb
(обязательно)
sudo dpkg -i 1c-enterprise83-server-nls_8.3.10-2168_amd64.deb
(опционально для поддержки дополнительных языков)
sudo dpkg -i 1c-enterprise83-ws_8.3.10-2168_amd64.deb
(опционально для работы веб-клиента)
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.10-2168_amd64.deb
(опционально для поддержки дополнительных языков)

Изменяем владельца каталога /opt/1C:

sudo chown -R usr1cv8:grp1cv8 /opt/1C

Запускаем 1С Сервер:

sudo service srv1cv83 start

4. Установка Apache 2.4

sudo apt-get install apache2

— проверяем версию установленного Apache:

apache2 -v

5. Установка OpenJDK 1.8 (опционально).

При необходимости запуска java-приложений (в том числе из 1С), можно установить OpenJDK 1.8 следующим образом:

— добавляем ppa-репозиторий и обновляем список пакетов:

sudo add-apt-repository ppa:openjdk-r/ppa
sudo apt-get update

— устанавливаем OpenJDK:

sudo apt-get install openjdk-8-jdk
(для установки JDK)
или
sudo apt-get install openjdk-8-jre
(для установки только JRE)

— актуализируем Java-машину (если ранее уже была установлена младшая версия Java):

sudo update-alternatives —config java

— актуализируем Java-компилятор (если ранее уже была установлена младшая версия Java):

sudo update-alternatives —config javac

— проверяем установленную версию Java:

java -version

6. Включение режима отладки 1С Сервера (опционально).

Останавливаем сервис 1С Сервера:

sudo service srv1cv83 stop

От имени суперпользователя редактируем файл /etc/init.d/srv1cv83, а именно — находим следующую строку:

#SRV1CV8_DEBUG=

раскомментируем ее и присвоим значение 1 так, чтобы получилась следующая строка:

SRV1CV8_DEBUG=1

сохраняем файл /etc/init.d/srv1cv83 и запускаем сервис 1С Сервера:

sudo service srv1cv83 start

На клиентской машине в меню конфигурации «Параметры» -> «Запуск 1С:Предприятия» -> «Дополнительные» включаем следующие пункуты:

«Устанавливать режим разрешения отладки»

«Начинать отладку при запуске

7. Параметры для создания информационной базы на сервере и подключения к ней.

От имени суперпользователя необходимо отредактировать файл /etc/hosts таким образом, чтобы в нем была строка:

IP адрес машины, на которой установлен 1С Сервер hostname -f hostname, например:

(промежутки должны быть пробелами, а не табами)

На клиентской WINDOWS-машине от имени администратора в файл C:\Windows\System32\drivers\etc\hosts необходимо добавить строку, указанную выше, например:
192.168.0.111 test.example.com test

При создании информационной базы в консоли Администрирования 1С Серверов в качестве сервера базы данных желательно указывать localhost (допустимо указывать hostname машины, на которой запущен PostgreSQL и 1С Сервер, и который прописан в файле C:\Windows\System32\drivers\etc\hosts). Данная рекомендация действительна только для случая, когда 1С Сервер и PostgreSQL находятся на одной машине. В противном случае вместо localhost необходимо указывать hostname машины, на которой установлен PostgreSQL.

При подключении к созданной информационной базе в качестве кластера серверов желательно указывать hostname машины, на которой запущен 1С Сервер и который прописан в файле C:\Windows\System32\drivers\etc\hosts (для Windows-клиентской машины), а в качестве информационной базы в кластере — имя информационной базы, указанное при ее создании. Если кластер серверов запущен на не стандартных портах, то в качестве кластера серверов указать hostname:port, например srv1c:1741.

Проверяем состояние сервисов на Ubuntu-сервере:

service postgresql status

Если все ОК, то статус должен быть «online».

service srv1cv83 status

Если все ОК, то должны быть следующие статусы:

— Init script: STARTED

— Ragent RUNNING

Обновление 1C сервера.

Для обновления сервера 1C Предприятия под Ubuntu Linux. Необходимо сделать ряд операций, сначала необходимо узнать, какие пакеты ранее были установлены. Для того, что бы узнать, какие пакеты были установлены в консоле выполняем команду:

dpkg -l | more | grep 1c-enter > rem.txt

cat rem.txt

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

1c-enterprise83-client 8.3.10.2168 1C:Enterprise 8.3 client applications
1c-enterprise83-client-nls 8.3.10.2168 National resource files for 1C:Enterpise 8.3 client applications for Linux ii 1c-enterprise83-common 8.3.10.2168 1C:Enterprise 8.3 common components
1c-enterprise83-common-nls 8.3.10.2168 National resource files for 1C:Enterpise 8.3 common components for Linux ii 1c-enterprise83-server 8.3.10.2168 1C:Enterprise 8.3 server for Linux
1c-enterprise83-server-nls 8.3.10.2168 National resource files for 1C:Enterpise 8.3 server for Linux
1c-enterprise83-ws 8.3.10.2168 1C:Enterpise 8.3 Web-services components for Linux
1c-enterprise83-ws-nls 8.3.10.2168

systemctrl stop srv1cv83

После остановки сервера, выполняем команды:

dpkg -r 1c-enterprise83-ws-nls
dpkg -r 1c-enterprise83-ws
dpkg -r 1c-enterprise83-server-nls
dpkg -r 1c-enterprise83-server
dpkg -r 1c-enterprise83-common-nls
dpkg -r 1c-enterprise83-common

Если установлен клиент, то:

dpkg -r 1c-enterprise83-client-nls
dpkg -r 1c-enterprise83-client

После удаление. переходим в папку, предварительно скопировав туда новые пакеты и устанавливаем все новые пакеты запустив команду:

dpkg -i *.deb

На этом все. Спасибо за внимание.

В последние годы интерес к альтернативным ОС, прежде всего Linux, возрастает, причем не только со стороны пользователей, но и со стороны разработчиков. Фирма 1С достаточно давно развивает свою платформу для использования в среде Linux, а теперь к ней стали подтягиваться производители торгового оборудования, выпуская драйвера и для этой ОС. Поэтому использование Linux в качестве платформы для рабочего места выглядит все более привлекательно и сегодня мы обобщим свой опыт и расскажем об установке клиентской части 1С:Предприятие в среде современных выпусков Debian / Ubuntu.

Так как в требованиях к актуальным релизам 1С:Бухгалтерия значится минимальный релиз платформы 8.3.12.1529, то мы будем устанавливать последнюю версию платформы 8.3.12 - 8.3.12.1685 , а затем обновим ее до 8.3.13.1513 , тем не менее все сказанное будет актуально для всех текущих версий платформы 8.3.

Для установки мы будем использовать следующие версии операционных систем и рабочих окружений: Debian 9.5 (Gnome 3), Ubuntu 16.04.5 LTS (Unity) и Xubuntu 18.04.1 LTS (XFCE 4). Мы специально выбрали разные рабочие среды, чтобы оценить их влияние на процесс установки, но скажем сразу, особого влияния выбранная рабочая среда не имеет, за исключением предустановленного набора пакетов, поэтому мы постараемся дать максимально развернутую инструкцию, которая во многих случаях окажется избыточной.

Также данная статья будет актуальна для всех дистрибутивов производных от Debian / Ubuntu с поправкой на версии пакетов, для этого обратитесь к документации вашего дистрибутива.

Платформа 8.3.12 и более ранние

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

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

Если вы используете Debian , то мы рекомендуем подключить все репозитории, для этого откройте /etc/apt/sources.list и добавьте после main в каждую строку contrib и non-free .

Затем обновим список пакетов:

Apt update

и установим:

Apt install libwebkitgtk-3.0-0
apt install ttf-mscorefonts-installer
apt install libfontconfig1
apt install libgsf-1-114
apt install libglib2.0-0
apt install libodbc1

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

Следующий пакет должен быть установлен по умолчанию, но на всякий случай следует проверить.

Для Ubuntu 16.04 :

Apt install libmagickwand-6.q16-2

Для Debian 9 и Ubuntu 18.04 :

Apt install libmagickwand-6.q16-3

Для установки клиентской версии платформы вам потребуется скачать с сайта 1С два архива: Клиент 1С:Предприятия для DEB-based Linux-систем и Cервер 1С:Предприятия для DEB-based Linux-систем . Обратите внимание, что разрядность скачиваемых архивов должна соответствовать разрядности системы, мы не видим особой необходимости в использовании x32 (i386) систем, поэтому в дальнейшем, если это не оговорено особо, все действия будут производиться для платформы x64 (amd64).

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

  • client - клиентские приложения (толстый клиент и тонкий клиент) «1С:Предприятия»
  • thin-client - тонкий клиент «1С:Предприятия» (не поддерживается работа с файловым вариантом информационной базы)

В состав сервера:

  • common - общие компоненты «1С:Предприятия»
  • server - компоненты сервера «1С:Предприятия»
  • ws - адаптер для публикации Web-сервисов «1С:Предприятия» на веб-сервере на основе Apache HTTP Server 2.0, 2.2 или 2.4

Также в поставке присутствуют пакеты с суффиксами -nls , они содержат языковые ресурсы, кроме русского и английского языков, поэтому если они вам не нужны, то их установка необязательна, в нашем примере мы их установим (исходя из принципа разумной избыточности, так как наш блог читают не только в России).

Создайте отдельную папку и скопируйте туда пакеты client из поставки Клиента и пакеты common и server из поставки Сервера, в итоге, с -nls , у вас должно оказаться шесть пакетов:


Теперь откроем консоль и перейдем в папку с пакетами, проще всего это сделать, щелкнув в ней правой кнопкой мыши и выбрать Открыть в терминале :


Повысим права до суперпользователя и установим пакеты командой:

dpkg -i 1c*.deb

Затем находим значок 1С в меню и запускаем приложение, все должно работать.


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

Systemctl disable srv1cv83

Как видим, ничего сложного в установке клиентской платформы 1С:Предприятие на Linux нет. Достаточно придерживаться инструкции и установить все необходимые зависимости.

Платформа 8.3.13 и ошибка с libpng12

При установке или обновлении до платформы 8.3.13, актуальный релиз на сегодня - 8.3.13.1513, вы можете столкнуться с ситуацией, когда 1С отказывается запускаться, эта ошибка проявляется в Debian 9 и Ubuntu 18.04 .

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

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

Что делать? Скачать нужный пакет из репозитория Debian 8 или Ubuntu 16.04 . Непосредственно на системе это можно сделать командой (для x64 систем):

Wget http://ftp.ru.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_amd64.deb

Для 32-х битных систем аналогичная команда будет:

Wget http://ftp.ru.debian.org/debian/pool/main/libp/libpng/libpng12-0_1.2.50-2+deb8u3_i386.deb

Затем установим пакет:

Dpkg -i libpng12-0_1.2.50-2+deb8u3_amd64.deb

или для 32-х бит:

Dpkg -i libpng12-0_1.2.50-2+deb8u3_i386.deb

После чего 1С снова начнет запускаться.

Активация программной лицензии

Основным типом защиты современных конфигураций 1С является программная лицензия, поэтому в данной статье мы не будем касаться HASP-ключей. Как показали отзывы, у многих возникают затруднения в активации программной лицензии на платформе Linux, поэтому коротко коснемся одной особенности.

Если запустить информационную базу в режиме 1С:Предприятия, то получим сообщение о том, что не найдена лицензия, при этом программа даже не предложит ввести лицензию.