Домой / Социальные сети / Установка 1с на ubuntu server. Активация программной лицензии

Установка 1с на ubuntu server. Активация программной лицензии

В последние годы интерес к альтернативным ОС, прежде всего 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С:Предприятия, то получим сообщение о том, что не найдена лицензия, при этом программа даже не предложит ввести лицензию.

Так же во время установки, надо не забыть отметить чекбокс напротив устанавливать ssh-сервер (если нужен) и samba-server (нужен 1С-у) :)

1) Подготовка:

Настроем сеть, будем использовать статическую адресацию:

Sudo vi /etc/network/interfaces

Auto eth0 iface eth0 inet static address 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.168.1.4 192.168.1.6

где, auto eth0 — говорит системе, что интерфейс eth0 необходимо включать автоматически при загрузке системы с нижеуказанными параметрами.

iface eth0 inet static — указывает на то, что eth0 использует статический интерфейс. Если используется DHCP-сервер, то пишем вместо static — dhcp.

С 12.04 за конфигурацию DNS отвечает программа resolvconf (вместо файла /etc/resolv.conf ) поэтому, если не используется DHCP-сервер, DNS-сервера для статических интерфейсов необходимо вносить в /etc/network/interfaces используя параметры dns-nameservers, dns-search и dns-domain, соответствующиепараметрам nameserver , search и domain в resolv.conf.

Рестарт службы:

Sudo /etc/init.d/networking restart

Обновляемся:

Sudo apt-get update

Sudo apt-get dist-upgrade

Ставим Midnight Commander (mc)

Sudo apt-get install mc

2. Установка и настройка сервера баз данных PostgreSQL

Для удобства, что бы не набирать каждый раз sudo перейдем в режим рута:

Ставим пакеты необходимые для правильной работы PostgreSQL :

Apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

Качаем последнию стабильную версию PostgreSQL отсюда .

Ставим пакеты командой:

После этого в системе появится пользователь postgres, будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.

После, даем права на папку pgsql пользователю и группе postgres:

Chown postgres:postgres /var/lib/pgsql

Задаем пароль пользователю postgres:

Passwd postgres

Редактируем /etc/group, где существующий id группы tape:x:26: меняем на какой-нибудь другой, например 27:). В итоге, должны быть следующие строки:

Postgres:x:26: tape:x:27:

Стартуем сервис командой, указываем значение переменной LANG. Необходимо для первичного создания базы:

LANG=ru_RU.utf-8 service postgresql start

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

SHMMAX — это максимальный размер (в байтах) на сегменте shared memory равный половине всей доступной памяти на сервере.

SHMALL — общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать.

Затем пропишем полученные значения с помощью команды:

Echo "kernel.shmmax = 521981952" >> /etc/sysctl.conf echo "kernel.shmall = 127437" >> /etc/sysctl.conf

Или пропишем в /etc/sysctl.conf вручную. Для того что бы изменения вступили в силу, набираем:

Alter user postgres with password "YOUR_PASSWORD";

Набираем \q что бы выйти из консоли.

Файл /var/lib/pgsql/data/pg_hba.conf приводим к виду:

#IPv4 local connections: host all postgres 0.0.0.0/0 md5

Главный конфиг /var/lib/pgsql/data/postgresql.conf редактируем в соответствии со следующими данными: Усредненная настройка наиболее важных параметров:

Shared_buffers = 1/8 RAM или больше (но не более 1/4) work_mem = в 1/20 RAM maintenance_work_mem = в 1/4 RAM max_fsm_relations = в планируемое кол-во таблиц в базах * 1.5 max_fsm_pages в max_fsm_relations * 2000; fsync = true wal_sync_method = fdatasync commit_delay = от 10 до 100 commit_siblings = от 5 до 10 effective_cache_size = 0.9 от значения cached, которое показывает free random_page_cost = 2 для быстрых cpu, 4 для медленных cpu_tuple_cost = 0.001 для быстрых cpu, 0.01 для медленных cpu_index_tuple_cost = 0.0005 для быстрых cpu, 0.005 для медленных

Для оптимизации настроек рассчитанных на максимальную производительность, можно попробовать воспользоваться утилитой pgtune .

Wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gz

Tar xvfz *.tar.gz

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

./pgtune −i $PGDATA/postgresql.conf −o $PGDATA/postgresql.conf.pgtune

-i — путь до входного, текущего файла настроек postgresql.conf,

-o — путь до выходного, нового файла настроек postgresql.conf.

В результате выполнения команды получим идентичный исходному файл настроек, за исключением нескольких новых pg_tune-параметров в самом конце файла.

$PGDATA — переменная указывающая на /var/lib/pgsql/data . Если не задана, указать можно в /etc/environment .

Более полную информацию по настройке postgresql.conf смотрим у Etersoft или применительно к 1С на сайте Вечеслава Гилева. Для тех, кто хочет углубится более подробно в процесс изучения PostgreSQL существует замечательный, подробный мануал от Алексея Васильева. :)

Наиболее часто используемые команды Postgresql:

Изменить root-пароль:

ALTER USER postgres WITH PASSWORD ‘newpassword’;

3. Установка 1С Предприятие 8

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

Sudo apt-get install imagemagick libglib2.0-dev libgsf-1-dev texlive-base ttf-mscorefonts-installer libfreetype6 libfreetype6-dev unixodbc unixodbc-dev

Качаем технологическую платформу 1С8.2 для Linux (Debian/Ubuntu) с сайта 1С .

Установку пакетов необходимо производить в следующем порядке, т.к. существуют зависимости.

Если устанавливать всё сразу по маске, могут возникнуть ошибки.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // общие компоненты сервера
2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // национальные ресурсы для общих компонент
3) 1c-enterprise82-server_8.2.15-319_amd64.deb // сервер 1С:предприятие 8.2 для Linux
4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // Национальные ресурсы для сервера 1С
5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // адаптер для публикации Web-сервисов 1С:Предприятия 8 на веб-сервере на основе Apache HTTP Server 2.0 или Apache HTTP Server 2.2;
6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // Национальные ресурсы для компонент веб-сервисов 1с8.2

Добавляем в автозагрузку:

Update-rc.d srv1cv82 defaults

Пользователю usr1cv82 разрешаем писать в /opt/1C и /home/usr1cv82

Chown -R usr1cv82:grp1cv82 /opt/1C

Chown -R usr1cv82:grp1cv82 /home/usr1cv82

Перезапускаем сервер. Проверяем корректность старта службы:

Service srv1cv82 status

Должно высветится:

Init script: STARTED Ragent: RUNNING

На файрволе, если используется, для работы сервера 1С должны быть открыты следующие порты: tcp:1540 - агент сервера (ragent) tcp:1541 - главный менеджер кластера (rmngr) tcp:1560-1591 - диапазон сетевых портов для динамического распределения рабочих процессов. (достаточно открыть tcp:1560)

A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541 -j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j ACCEPT

Проверка работоспособности рабочих процессов сервера:

Netstat -tlnp | grep:15

Должны получить примерно такую картинку:

Tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/rmngr

Но, получаем следующее:

Tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 960/ragent

Так же просмотреть запущенные процессы можно с помощью команды:

Должны получить примерно следующее:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon usr1cv82 935 0.1 3.0 790496 31376 ? Sl Jul04 2:31 /opt/1C/v8.2/x86_64/rmngr -port 1541 -range 1560:1591 usr1cv82 948 0.4 11.5 720804 117412 ? Sl Jul04 6:21 /opt/1C/v8.2/x86_64/rphost -range 1560:1591 -reghost ubuntus12 -re

Но запускается только ragent:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon

К сожалению танцы с бубном ни к чему не привели, и права выставлены везде корректно и сеть настроена должны образом. Нагуглил, что с 15 релизом у многих похожие проблемы, а у меня как раз 8.2.15-319. А 318 Помнится работал:) Решил попробовать самый последний на момент написания обзора 8.2.16.362 и о чудо, с первого раза все завелось как надо.

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

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

Если, не получаем не каких сообщений, а в директории /opt/1C/v8.2/x86_64/conf/grcmncfg появился файлик type.xml то значит все ок, в моем случае, скрипт выдает кучу ошибок. В первом сообщение говорится, что невозможно получить доступ к какому-то файлу libc.

Cannot access /lib/libc-*.so: No such file or directory Cannot access /lib64/libc-*.so: No such file or directory

Посмотрим, где этот файл на самом деле сидит:

Find / -name "libc-*.so" -print

Получаем следующий выхлоп:

/lib/x86_64-linux-gnu/libc-2.15.so

Неудивительно что скрипт его не находит, делаем поочередно два симлинка:

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

После чего, снова запускаем скрипт. Ошибка с «доступом» исчезает, но остается следующая:

./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments

В 193 строке содержится следующая запись, которая указывает на опрос переменной $SYSTEM_LIB_PATH, где видимо должны содержаться нужные 1су библиотеки.

[ ! -e $aliasFullName ] && return 1

Посмотрим, что конкретно не может обнаружить скрипт, запускаем:

Echo $aliasFullName

Получаем:

Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libWand.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libfreetype.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libgsf-1.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libglib-2.0.so Can"t detect SYSTEM_LIB_PATH, please set this environment variable manually!/libodbc.so

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

/usr/lib /usr/lib32 /usr/lib64

Так же, необходимо вручную задать SYSTEM_LIB_PATH в /etc/environment. Например пускай ищет библиотеки только в /usr/lib/

SYSTEM_LIB_PATH="/usr/lib"

Перезапускаем сервер, снова запускаем скрипт, получаем следующее:

/usr/lib/libWand.so /usr/lib/libfreetype.so Please install following package: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so Please install following package: libglib /usr/lib/libodbc.so Please install following package: UnixODBC

Файлы libWand.so и libgsf-1.so находятся там где нужно. Остальные файлы libfreetype.so , libglib-2.0.so и libodbc.so находятся в /usr/lib/x86_64-linux-gnu. Соответственно снова делаем смлинки:

Ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so ln -s /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/libglib-2.0.so ln -s /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/libodbc.so

Запускаем повторно скрипт, теперь видим, что все библиотеки в нужных нам директориях.

/usr/lib/libWand.so /usr/lib/libfreetype.so /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so /usr/lib/libodbc.so

На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия). Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись. Создаем новую базу, либо прямо с помощью консоли управления, либо в самом клиенте 1С выбираем опцию:

Добавить новую информационную базу.

Запускаем 1С. Тест Гилева выдает 13,05 балов.

По поводу HASP-ключей, если до 12 пользователей то нужен только сетевой ключ с маркировкой типа NETXX ORGL8, где XX - количество клиентских лицензий. Если более 12 пользователей, но необходим так же локальный ключ для сервера. Фиолетовый ключ HASP HL с маркировкой типа ENSR8 для 32x-битного сервера или зеленый ключ HASP HL Max маркировкой ENS8SA для 64-битного. Ключ HASP HL Max поддерживает так же 32-битный сервер.

Для нормальной работы HASP-ключей необходимо установить два пакета включающих драйвер ключа aksusbd и менеджер лицензий hasplm. Имеет смысл ставить модифицированные варианты драйверов от Entersoft . Для нормальной работы haspd, требуются поддержка 32-битных программ.

Поэтому добавляем ее установкой пакета ia32-libs.

Apt-get install ia32-libs

Теперь сам HASP и менеджер лицензий:

Dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

Вставляем ключ, перегружаем сервер. Работоспособность ключей проверяем командой:

Sudo service haspd status

Должны быть запущенны: aksusbd, winehasp, hasplm, hasplmd.

4. Публикация на веб-сервере

Ставим apache:

Apt-get install apache2

Редактируем /etc/apache2/apache2.conf , где задаем директиву ServerName указывающую на имя сервера.

ServerName "ubuntus12"

В противном случае при запуске apach’a получим сообщение:

Httpd: Could not reliably determine the server"s fully qualified domain name, using 127.0.0.1 for ServerName

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

Mkdir /var/www/base

Теперь нам необходимо, запустить специальный скрипт для публикации базы на веб-сервере:

Переходим в /opt/1C/v8.2/x86_64/ Запускаем скрипт со следующими параметрами:

./webinst -apache22 -wsdir base -dir "/var/www/base" -connStr "Srvr="ubuntus12";Ref="base";" -confPath /etc/apache2/httpd.conf

Проверяем корректность внесенных изменений. В /etc/apache2/httpd.conf должны быть следующие строки:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c publication Alias "base" "/var/www/base/" AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"

В /var/www/base/ так же должен появится файл default.vrd две последние строчки которого должны выглядеть примерно так:

Base="/base" ib="Srvr="ubuntus12";Ref="base";

Выдаем права на директорию, перезапускаем Apache:

Chown -R www-data:www-data /var/www/base

Service apache2 restart

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

Http://ubuntus12/base

И получаем следующее сообщение:

Оно, и понятно, без специального сетевого ключа, работать не будет:)

5. Резервное копирование и восстановление:

Даем права пользователю postgres на тут папку куда будем выгружать backup.

Chown postgres:postgres /mnt/net

В /mnt/net у меня смонтирована виндовая шара, с помощью команды:

Mount -t smbfs -o username=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

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

Umount -l /mnt/net

Резервное копирование (Backup):

Pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dump

U (пользователь)
-F (формат извлекаемого файла)
с (custom — внутренний формат сжатия pg_dump, возможны так же варианты tar и plain text)
-Z (установить режим сжатия)
0 — 9 (0 — без сжатия, 9 — максимальный режим)
-f (извлекать в этот файл)

Если выгружаем на виндовую шару, необходимо полный доступ для Users.

Востановление (только из под пользователя postgres): В новую базу:

Createdb -T template0 newdb

#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`date "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "${BKPDIR}/${DATEYMD}-mydb-PostgreSQL.dump"

Запись в crontab (из под пользователя postgres):
su postgres
crontab -e //добавить задание
crontab -l //просмотр заданий
crontab -r //удалить задание

# запустить в 18:50 минут

50 18 * * * sh /home/scripts/backup.sh

# запускать каждые 15 минут

*/15 * * * * sh /home/scripts/backup.sh

Как известно 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 работает как с аппаратной защитой, так и с программной. У меня куплена программная защита, однако инсталляцию программной лицензии мы разберем в следующей статье.

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

В этой статье я попробую рассказать об установке сервера 1С и сервера PostgreSQL на операционной системе Ubuntu 16.04/18.04. В статье используется версия сервера 1С - 8.3.13.1472 и версия PostgreSQL - 10.3-2.1C. Кроме этого в статье приведена информации о некоторых дополнительных настройках.

Установка PostgreSQL

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

sudo dpkg-reconfigure locales


sudo apt-get install libicu55

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.4_amd64.deb

sudo dpkg -i libicu55_55.1-7ubuntu0.4_amd64.deb

Раньше пакет «postgresql-common» входил в состав дистрибутива который размещался на сайте «1С», теперь же (начиная с PostgreSQL 9.6.3-1.1C) этот пакет нужно устанавливать из стандартных репозиториев.

Тут возникает небольшое затруднение, связанное с тем, что мы устанавливаем PostgreSQL 10: на момент написания статьи стандартный репозиторий содержит неподходящую для PostgreSQL 10 версию пакета «postgresql-common».

Чтобы исправить это нужно создать файл /etc/apt/sources.list.d/pgdg.list и записать в него строку, для Ubuntu 16.04:

deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main

для Ubuntu 18.04:

deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main

Затем нужно выполнить следующие команды:

wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -

sudo apt-get update

После этого можно установить нужную нам версию пакета «postgresql-common»:

sudo apt-get install postgresql-common

Подготовительные работы закончены, скачиваем дистрибутив PostgreSQL 10 с сайта «1С», распаковываем его (там всего три пакета) и устанавливаем именно в таком порядке:

sudo dpkg -i libpq5_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-client-10_10.3-2.1C_amd64.deb

sudo dpkg -i postgresql-10_10.3-2.1C_amd64.deb

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


Настройка PostgreSQL

После установки можно сделать некоторые настройки PostgreSQL.

От имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres peer

local all postgres trust

Это позволит войти под пользователем postgres без пароля.

Кроме этого можно открыть файл /etc/postgresql/10/main/postgresql.conf (тоже от имени супер пользователя) и поменять в нем строку:

listen_addresses = "*"

listen_addresses = "localhost"

Это ограничит подключения к PostgreSQL локальной машиной. Таким образом, если сервер 1С и PostgreSQL находятся на разных компьютерах, то это либо вообще не нужно делать, либо вместо «*» нужно указать IP-адрес сервера 1С.

После всех этих манипуляций перезапускаем сервер PostgreSQL:

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

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

Отключаем безпарольный доступ: вновь от имени суперпользователя открываем файл /etc/postgresql/10/main/pg_hba.conf и меняем в нем строку:

local all postgres trust

local all postgres md5

В заключении еще раз перезапускаем сервер:

sudo service postgresql restart

Установка сервера 1С

Начать, как обычно, нужно с установки дополнительных библиотек:

sudo apt-get install imagemagick

sudo apt-get install unixodbc

sudo apt-get install ttf-mscorefonts-installer

sudo apt-get install libgsf-1-114

Для версии 8.3.13 и выше используется библиотека ImageMagick входящая в состав дистрибутива, так что устанавливать пакет imagemagick не обязательно (хотя вреда от этого не будет).

Пакет ttf-mscorefonts-installer в процессе установки попросит принять лицензионное соглашение:


На момент написания статьи в репозиториях Ubuntu 18.04 не было актуальных версий требуемых пакетов. Если в настоящее время их все еще нет, то можно попробовать добавить репозитории с неактуальными версиями пакетов. Создаем файл /etc/apt/sources.list.d/raring.list и записываем в него следующие строки:

deb http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-updates main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-backports main restricted universe multiverse
deb http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse
deb-src http://old-releases.ubuntu.com/ubuntu/ raring-proposed main restricted universe multiverse

После этого выполнить команду:

sudo apt-get update

После установки дополнительных библиотек скачиваем с сайта 1С все необходимые файлы (Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем) и устанавливаем их в таком порядке:

sudo dpkg -i 1c-enterprise83-common_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-common-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-server-nls_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws_8.3.13-1472_amd64.deb

sudo dpkg -i 1c-enterprise83-ws-nls_8.3.13-1472_amd64.deb

Пакеты с приставкой «-nls» нужны для поддержки дополнительных языков и не являются обязательными к установке. Пакеты с приставкой «-ws» нужны для работы веб-клиента и также не являются необходимыми.

Теперь изменим владельца каталога /opt/1C:

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

И запустим сервер 1С:

sudo service srv1cv83 start


Если у Вас правильно настроена сеть и компьютеры видят друг друга, то ничего больше делать не нужно. Если же нет, то необходимо сделать так, что бы сервер 1С видел сервер PostgreSQL, а клиентские машины видели сервер 1С. Для этого в файлы /etc/hosts или C:\Windows\System32\drivers\etc\hosts нужно добавить строки:

<результат команды hostname -f> <результат команды hostname>

В качестве разделителей должны быть пробелы, а не табуляции.

Дополнительные настройки

Все приведенные ниже действия не являются обязательными.

Установка Apache

Начиная с версии 8.3.8 платформа 1С поддерживает Apache 2.4, поэтому можно просто установить текущую версию:

sudo apt-get install apache2

Если по каким-то причинам Вам требуется Apache 2.2 то для начала нужно добавить репозитории с неактуальными версиями пакетов, как описано выше (если, конечно, Вы уже этого не сделали). Затем выполнить команду:

sudo apt-cache showpkg apache2

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

sudo apt-get install apache2=<номер версии>

Например:

sudo apt-get install apache2=2.2.22-6ubuntu5.1

Проверить версию Apache можно так:

Включение отладки на сервере

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

sudo service srv1cv83 stop

В файле /etc/init.d/srv1cv83 находим строку:

Приводим ее к виду:

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

sudo service srv1cv83 start

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

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

Настройка UFW

UFW - это простая утилита для конфигурирования файрвола Netfilter.