В последние годы интерес к альтернативным ОС, прежде всего 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 и более ранние
- Платформа 8.3.13 и ошибка с libpng12
- Активация программной лицензии
- Зачем?
- Ограничения
- Подготовка дистрибутивов
- Установка платформы 1С
- Установка графики и активация лицензии на сервере
- Установка и настройка PostgreSQL
- Создание информационной базы и активация лицензии на клиенте
- Включение отладки на сервере
- Дополнительные материалы:
- Установка операционной системы
- Установка защитного ключа
- Установка сервера приложений
- Установка SQL сервера
- Создание базы данных
- Резервное копирование и восстановление
- Выполнения регламентных операций на SQL-сервере
- ПриложениеНекоторые команды консоли Linux
- Выбор дистрибутива LINUX
- Установка 1С на Linux
- Работа с 1С под Linux
Платформа 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
Часть пакетов у вас уже может быть установлена, это нормально, мы специально пошли по пути избыточности, ради универсальности данного материала.
Следующий пакет должен быть установлен по умолчанию, но на всякий случай следует проверить.
apt install libmagickwand-6.q16-2
Для Debian 9
и Ubuntu 18.04
:
apt install libmagickwand-6.q16-3
Коротко разберем состав архивов, в поставку клиента входят пакеты:
- 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С.
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С:Предприятия, то получим сообщение о том, что не найдена лицензия, при этом программа даже не предложит ввести лицензию.
Поэтому запустите базу в режиме конфигуратора, и вы увидите привычное окно получения лицензии:
Сценарий подготовки рабочего места разработчика с платформой версии 8.3.23 с community-лицензией для разработки и отладки конфигураций в клиент-серверном режиме с сервером, работающим на базе Linux+PostrgeSQL.
Зачем?
До выхода платформы 1С:Предприятия версии 8.3.23 бесплатно можно было использовать только учебную версию платформы со значительными техническими ограничениями (не более одного сеанса, только файловый вариант, нет возможностей печати и сохранения документов и т.д.).
В версии 8.3.23 появилась Community-лицензия, которая позволяет использовать платформу для обучения, разработки и отладки бесплатно без ограничений по функциональности и в том числе в клиент-серверном режиме работы.
При разработке для клиент-серверного режима часто допускаются ошибки, связанные с работой клиента и сервера на одной машине (самая частая — использование пути в файлу на клиенте в контексте сервера). Поэтому, для максимально приближенному к реальному сценарию эксплуатации, развернем клиент и сервер на разных машинах с помощью community-лицензии. На физической (хост) машине будем запускать клиент, а в качестве сервера используем виртуальную машину.
В качестве гостевой ОС на виртуальной машине будем использовать CentOS 7, в качестве СУБД PosgreSQL. Эта комбинация часто используется на внедрениях.
Ограничения
На текущий момент версия 8.3.23 является тестовой, поэтому ее скачивание доступно только при наличии соответствующего доступа к ИТС.
Для активации community-лицензии необходима учетная запись на портале developer.1c.ru
Описанная схема потребует 2 активаций community-лицензии. Всего для 1 учетной записи доступно не более 3 одновременных активаций.
Инструкция не учитывает особенности эксплуатации программ для решения реальных задач (в первую очередь с точки зрения безопасности). Подходит только для развертывания личных тестовых стендов.
Описание сценария рассчитано на опытного пользователя Windows, базово знакомого с ОС Linux. Если какие-то аспекты непонятны — задавайте вопросы в комментариях. Постараюсь ответить или дополнить статью.
Подготовка дистрибутивов
- Скачиваем и устанавливаем VirtualBox https://www.virtualbox.org/
- Скачиваем CentOS 7 x86_64 Minimal https://www.centos.org/download/
- Скачиваем дистрибутив платформы x64 8.3.23.1437 для Linux и для Windows
- Скачиваем и устанавливаем WinSCP (для удобной работы с файловой системой ВМ)
- Скачиваем и устанавливаем SSH-клиент (Putty или расширения для Chrome «Secure Shell»)
Установка платформы 1С
- Устанавливаем на хост-машину платформу из дистрибутива для Windows. Обязательные компоненты: 1С:Предприятие 8, Модули расширения веб-сервера, Администрирование сервера 1С:Предприятия
- Устанавливаем на ВМ платформу из дистрибутива для Linux.
- С помощью WinSCP создаем новый каталог «/home/admin/distrib/» и переносим в него файлы платформы для Linux
- С помощью SSH-клиента переходим в созданный каталог
cd /home/admin/distrib/
- Распаковываем платформу
sudo tar -x -f server64_8_3_23_1437.tar.gz
- Запускаем установку платформы
sudo chmod +x setup-full-8.3.23.1437-x86_64.run sudo ./setup-full-8.3.23.1437-x86_64.run --mode unattended --enable-components client_full,client_thin_fib,liberica_jre,server,ws,server_admin
- Добавляем службу сервера платформы
sudo ln /opt/1cv8/x86_64/8.3.23.1437/srv1cv8-8.3.23.1437@{,default}.service sudo systemctl link /opt/1cv8/x86_64/8.3.23.1437/srv1cv8-8.3.23.1437@default.service systemctl enable srv1cv8-8.3.23.1437@default.service systemctl start srv1cv8-8.3.23.1437@default.service
- Проверяем работу службы сервера 1С:Предприятие командой
systemctl status srv1cv8-8.3.23.1437@default.service
. При корректной настройке среди выведенных строк должно бытьActive: active (running)
- Добавляем порты платформы в исключение файрвола:
sudo firewall-cmd --zone=public --add-port=1540-1541/tcp --permanent sudo firewall-cmd --zone=public --add-port=1560-1591/tcp --permanent sudo firewall-cmd --reload
- Проверяем доступность сервера с хост-машине (действия выполняем на хост-машине)
- Запускаем консоль кластера серверов 1С:Предприятия
C:\Program Files\1cv8\common\1CV8 Servers (x86-64).msc
- Должен быть добавлен центральный сервер и локальный кластер внутри
- Запускаем консоль кластера серверов 1С:Предприятия
- Делаем снимок ВМ средствами VirtualBox, чтобы в случае возникновения проблем далее можно было откатиться на эту точку
Установка графики и активация лицензии на сервере
- Через SSH-клиент устанавливаем пакеты GNOME:
sudo yum -y groups install "GNOME Desktop" echo "exec gnome-session" >> ~/.xinitrc
- Через VirtualBox интерактивно открываем ВМ и выполняем команду
startx
- Запускаем терминал и устаналиваем GNOME графическим интерфейсом по умолчанию:
systemctl set-default graphical.target
- Далее через терминал запускаем платформу 1С:Предприятие
sudo /opt/1cv8/x86_64/8.3.23.1437/1cv8
- Создаем файловую базу. Выбираем добавить базу в список, Включение в список ранее созданноой информационной базы устанавливаем название и путь для хранения (желательно в каталоге /home/admin/)
- Запускаем конфигуратор для созданной файловой базы
- Выбираем Активировать комьюнити-лицензию и вводим данные от developer.1c.ru
- Делаем снимок ВМ средствами VirtualBox, чтобы в случае возникновения проблем далее можно было откатиться на эту точку
Установка и настройка PostgreSQL
- Через SSH-клиент запускаем установку сервера
sudo wget https://repo.postgrespro.ru/1c-14/keys/pgpro-repo-add.sh sudo sh pgpro-repo-add.sh sudo yum install postgrespro-1c-14
- Устанавливаем пароль для пользователя postgres
sudo passwd postgres
. Запомните или запишите пароль, он потребуется на следующих шагах. - Переходим под пользователя postgres
su - postgres
- Запускаем Postgre
psql
- Создаем пользователя для платформы 1С:Предприятие. В тексте скрипта замените password на ваш пароль, который надо записать или запомнить. Далее он будет использоваться при создании информационных баз.
create user pg1cv8 with superuser; alter user pg1cv8 password 'password';
Создание информационной базы и активация лицензии на клиенте
- Пересоздаем локальный кластер (возможно ошибка или нужно устанавливать имя хоста раньше)
- Запускаем консоль управления кластером
- Удаляем локальный кластер
- Создаем кластер с именем «Локальный кластер», комьютером — ip-адрес ВМ, Портом — 1541
- На хост-машине запускаем консоль управления кластером и создаем информационную базу:
- Имя: demo
- Сервер баз данных: localhost
- Тип СУБД: PostgreSQL
- База данных: demo
- Пользователь сервера БД: pg1cv8
- Пароль пользователя БД: [Ваш пароль, введенный ранее]
- Создать базу данных: Да
- Установить блокировку регламентных заданий: Да
- На хост-машине добавляем в список серверную базу, которую только что создали.
- Запускаем конфигуратор, активируем комьюнити-лицензию на хост-машине.
Включение отладки на сервере
- Открываем для редактирования параметры службы:
sudo systemctl edit srv1cv8-8.3.23.1437@default.service
- Добавляем в файл строки для включения отладки и сохраняем файл
[Service] Environment=SRV1CV8_DEBUG=-debug
- Перезапускаем службу с обновлением параметров
sudo systemctl stop srv1cv8-8.3.23.1437@default sudo systemctl daemon-reload sudo systemctl start srv1cv8-8.3.23.1437@default
- Проверяем состояние службы, в описании процесса
rphost
должны быть флаги-debug -tcp
sudo systemctl status srv1cv8-8.3.23.1437@default
- Проверяем работу отладки в конфигураторе. Если в списке предметов отладки видно серверный сеанс, но точки останова не срабатывают, то вероятнее всего подключение блокирует брадмауэр на хост машине. Для проверки можно его временно отключить. Если после этого отладка заработает, то необходимо включить обратно и настроить исключения на нужные порты и сети.
В результате у нас развернут сервер на линуксе, клиент на Windows. Машины разные, поэтому можно будет в полностью честной среде отлаживать клиент-серверное взаимодействие (у каждой машины своя файловая система). При необходимости публикации на веб-сервере на хост-машине можно поставить Apache и опубликовать базу через конфигуратор.
Дополнительные материалы:
- Стрим с разбором установки по описанному сценарию
. - Подкасты Никиты Зайцева про виртуализацию: Настольная виртуальная машина
и Пример быстрого развертывания настольной виртуализации
Сервер предприятия 8.1, а также SQL сервер могут работать на операционной системе Linux (Fedora, CentOS). В качестве SQL сервера в этом случае может использоваться PostgreSQL.
Не стоит устанавливать сервер 1C предприятия и Postgresql с установочных дисков 1С – там обычно устаревшие версии.
Установка операционной системы
Убедитесь, что устанавливаемая сборка Linux поддерживает имеющееся оборудование (особенно сетевую плату и RAID-контроллеры)
Для нормальной работы некоторых Linux (например CentOS 5.0) необходимо подключение к интернету.
Установку RPM пакетов удобно выполнять из графической оболочки, поэтому при установке выберите GNOME
Установите также клиент «Самба», если необходим доступ к сети Microsoft.
При установке не стоит устанавливать СУБД «PostgreSQL», входящую в дистрибутив (из раздела «Server»). Эта версия не подходит для 1С. Необходима специальная с патчами (можно взять с официального сайта 1С).
Обязательно выберите для установки midnight commander (mc) – удобно для тех кто на ВЫ с консольными командами Linux.
После установки Linux первым делом настройте сетевое подключение и подключение к интернету. Убедитесь что сетевое подключение и подключение к интернету работает (Система – Администрирование — Сеть).
Установите сетевое имя компьютера (Система – Администрирование – Сеть — DNS)
Установка защитного ключа
До двенадцати пользователей могут работать без ключа! Справедливо для версии 1С 8.1.11
Новые драйвера и менеджер лицензий:
Установка сервера приложений
До установки необходимо установить имя сервера в настройках сети на закладке DNS
(Система/Администрирование/Сеть)
Если на сервере уже стояла предыдущая версия сервера 1С, то её следует удалить из системы. Для этого в главном меню Приложения войдите в
, перейдите на вкладку
, снимите флажки со всех пунктов, начинающихся на
, и нажмите
. Если переустановка выполняется полностью (если необходимо удалить информацию о кластере), то необходимо удалить пользователя «srvr1cv81», утвердительно ответив на вопрос об удалении вместе с ним его домашнего каталога в /home. Также необходимо удалить каталоги /opt/1C/ и /root/.srvr1cv81
Теперь откройте папку с дистрибутивом и двойным щелчком запускайте установки в следующей последовательности:
Не бойтесь устрашающих предупреждений – это нормальное явление.
Теперь нужно запустить агент сервера ragent в режиме демона. Для этого запустите консоль bash из меню Приложения – Стандартные – Терминал и введите следующие команды:
Для 64-х разрядных серверов вместо «i386» надо применять «
По команде «top – u usr1cv81» или «ps -aux» процессы сервера приложений в списке называются «ragent», «rmngr» и «rphost» — запущены от имени «usr1cv81».
tcp
0
0 0.0.0.0:1540
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:1541
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:1560
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:1561
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:1562
0.0.0.0:*
LISTEN
tcp
0
0 0.0.0.0:1563
0.0.0.0:*
LISTEN
Проверьте возможность подключения к серверу с клиентского компьютера с помощью консоли кластера.
В следующих каталогах хранятся данные кластера: файл srvribrg.lst, каталог REG_:
Если после установки сервера 1С изменили сетевое имя сервера, то в этих файлах его также надо изменить!
Если сервер 1С автоматически не запускается при загрузке системы, то необходимо выполнить:
chkconfig —add srv1cv81
chkconfig srv1cv81 on
chkconfig —list
для проверки
Установка SQL сервера
Проверено для версии 8.2.4
Для нормальной работы сервера 1С необходима особая версия PostgreSQL, пропатченная. Поэтому если на сервере уже установлена обычная версия PostgreSQL, придётся её деинсталлировать! Для этого в главном меню Приложения войдите в Установка/удаление программ
, найдите слева пункт Серверы
и снимите птичку рядом с пунктом База данных PostgreSQL
. Потом нажмите кнопку Применить
и дождитесь завершения операции.
SELinux надо отключать: «Система-Администрирование-Уровень безопасности и межсетевой экран», закладка «Настройка SELinux»
Откройте папку и запускайте установки двойным щелчком в следующей последовательности:
Следующие компоненты являются опциональными:
В терминале запустите следующую команду консоли (перед этим команда su root должна уже быть исполнена):
LANG=ru_RU.utf-8 /etc/init.d/postgresql start
/var/lib/pgsql/data/ (если он существует с помощью mc)
Переключитесь на пользователя «postgres» надо выполнить: su postgres
Выполните команду initdb –D
Эта команда помимо прочего заполнит папку /var/lib/pgsql/data/ умолчальными настройками.
gedit /var/lib/pgsql/data/postgresql.conf или «F4» в mc
Откроется редактор. Найдите по Ctrl-F или F7 и измените там следующие параметры:
default_with_oids = on
stats_row_level = off
listen_addresses = ‘*’
Не забудьте раскомментировать эти строки, убрав символ комментария #. Если этих параметров нет, то вам придётся ввести их вручную.
Рекомендуется увеличить значение параметра effective_cache_size в конфигурационном файле postgresql.conf. Значение этого параметра рекомендуется устанавливать не менее половины объема оперативной памяти установленной на компьютере.
Сохраните файл и закройте редактор.
В файле, открываемом командой
host all all 127.0.0.1/32 trust
host all all 0.0.0.0/0 md5
Эти параметры вы сможете отконфигурировать позднее (имеет смысл в целях безопасности ограничить подключения, например, только локальным хостом localhost), когда убедитесь, что всё (включая клиента 1С) работает.
Теперь перезапустите сервер PostgreSQL:
Если сервер PostgreSQL не стартует, то проблемы следует искать в лог-файле. Лог-файлы PostgreSQL находятся в каталоге /var/lib/pgsql/data/pg_log. Просмотр лог-файлов можно выполнять с помощью команды «cat», формат: cat
имя_файла
Войдите в консоль PostgreSQL командой:
psql -h localhost postgres postgres
или
psql -h 127.0.0.1 postgres postgres
(Формат команды psql –h имя_хоста имя_базы имя_пользователя)
Если будет выдано сообщение об ошибке, отсылающее вас к файлу pg_hba.conf, то, скорее всего, хост localhost не прописан в файле /etc/hosts. Откройте его командой
и добавьте строку:
Теперь консоль должна запуститься. Введите пароль postgres (ввод пароля не отмечается ни буквами, ни звёздочками).
Если Вам не удается подключиться к консоли PostgreSQL по причине того что не подходит пароль, то в файле
/var/lib/pgsql/data/pg_hba.conf
для строки:
host all all 127.0.0.1/0 md5
необходимо «md5» поменять на «trust» (убедитесь что строка раскомментирована) и перезапустить сервер PostgreSQL
Теперь консоль должна запуститься без требования пароля.
При первом запуске PostgreSQL создаётся учётная запись postgres с паролем postgres. Первое, что надо сделать в консоли – сменить этот пароль командой:
В версии 8.2 PostgreSQL пароль по умолчанию уже почему-то не «postgres», поэтому что бы не путаться лучше изменить его на «postgres»:
Обращаем ваше внимание, что точка с запятой в консоли PostgreSQL обязательна и означает окончание текста команды. На что должно быть выдано сообщение:
По окончании работы с консолью PostgreSQL следует выполнить команду:
Если в файле
/var/lib/pgsql/data/pg_hba.conf
Вы меняли «MD5» на «trust», то можно выполнить обратную замену, (если доступ к консоли сервера ограничен, то можно не делать) перезапустить сервер PostgreSQL и проверить подключение к консоли с помощью измененного Вами пароля
По команде «ps -aux» процесс в списке называется «postmaster», запущен от имени «postgres».
tcp
0
0 0.0.0.0: 5432
0.0.0.0:*
LISTEN
Для автоматического запуска SQL сервера при старте системы необходимо выполнить команды:
chkconfig —add postgresql
chkconfig postgresql on
chkconfig —list
для проверки
Создание базы данных
Установите на клиентскую Windows-машину клиента 1С v8.1 со средствами доступа к серверу предприятия 1С.
Если для опредения URL адресов в локальной сети используется сервер DNS, то в его базу необходимо внести информацию о сервере, иначе пропишите сервер на каждом клиенте в файл %SYSTEMROOT%\system32\drivers\etc\hosts. Его можно отредактировать, например, блокнотом, добавив строку, подобную этой:
Проверьте что сервер доступен по имени. С клиентского компьютера выполните команду:
Также проверьте что выполняется обратное определение для имени сервера. С клиентского компьютера выполните:
В заголовке результата этой команды должно быть имя сервера «Centos».
Запустите оснастку управления серверами предприятия из меню Пуск – 1С Предприятие 8.1 – Серверы 1С Предприятия. Создайте центральный сервер правым щелчком.
Создайте пустую БД из консоли кластера
Если при создании базы возникает ошибка «11004»:
Ошибка соединения с рабочим процессом
server_addr=tcp://localhost.localdomain:1563 descr=Ошибка сетевого доступа к серверу
(Windows Sockets-11004(0x00002AFC). Затребованное имя допустимо и оно найдено в базе данных, но для имени отсутствуют связанные с ним данные, которые были разрешены для него.) line=546 file=.\scr\DataExchangeTcpClientImpl.cpp
То решения следующие:
Проверить имя сервера: Центральные серверы 1С Предпрития – Сервер – Кластеры – 1541 – Рабочие серверы – Имя сервера. Если имя сервера 1С отличается от сетевого имени сервера, то необходимо изменить имя сервера 1С. (описано в конце установки сервера 1С)
— как задано имя сервера 1С:Предприятия при регистрации ИБ на клиентском приложении?
— выполняется ли ping по этому имени и определяется ли IP адрес?
— совпадает ли IP адрес с тем, который выдает ping из того же домена?
Отстутствует имя компьютера центрального сервера в DNS или в файле C:\WINNT\system32\drivers\etc\hosts
— попробуйте имя сервера внести в файл hosts на проблемном компьютере, указав ему IP адрес, вырываемый ping-ом с компьютера, на котором 1С:Предприятие стартует нормально.
Нет прав на сервер
Войдите в конфигуратор пустой базы и загрузите *.dt
Если при загрузке *.dt в пустую базу возникли проблемы связанные с региональными установками, то в исходной базе необходимо изменить региональные установки «Администрирование – Региональные установки информационной базы» и выгрузить *.dt еще раз.
Резервное копирование и восстановление
Postgres обеспечивает две утилиты для резервного копирования системы: pg_dump для резервного копирования индивидуальных баз данных и pg_dumpall для резервного копирования установки за один шаг.
Для отдельной базы данных можно сделать резервную копию с помощью следующей команды:
% pg_dump dbname > dbname.pgdump
и восстановить с помощью
Эта техника может быть использована для перемещения базы данных в новое место, и для переименования существующих баз данных.
Т.к. Postgres позволяет таблицы больше чем максимальный размер файла в системе, может быть проблематично сбросить таблицу в файл, вероятно, что результирующий файл окажется больше, чем максимальный размер файла, разрешенной в системе.
Так как pg_dump пишет в stdout, ты можешь использовать стандартные утилиты *nix для работы над этой возможной проблемой:
Используй сжатие при сбросе:
восстановив с помощью
% createdb dbname
восстановив с помощью
% createdb dbname
Конечно, имя файла (filename) и содержимое вывода pg_dump не нужно сравнивать с именем базы данных. Также, восстановленная база данных может иметь произвольное новое имя, так что этот механизм также подходит для переименования базы данных.
Для резервного копирования по расписанию я рекомендую следующий код:
pg_dump dbname > /путь/dbname.pgdump
tar czf /путь/pgdump-`date +%d.%m.%y`.tgz /путь/dbname.pgdump
вторая строчка отвечает за создание архива, с именем pgdump -текущая_дата.tgz
таким образом вы получаете ежедневную копию баз Postgres и можете откатится на любой день.
Этот код можно добавить в cron двумя путями:
1) создать текстовый файл в директории /etc/cron.daily/ , скопировать туда код и сделать его исполняемым (chmod +x имя_файла)
2) использовать crontab -e для редактирования расписания cron.
туда нужно ввести:
0 0 * * * pg_dump dbname > /путь/dbname.pgdump;tar czf /путь/pgdump-`date +%d.%m.%y`.tgz /путь/dbname.pgdump
и сохранить файл.
Стандартное расположение резервных копий PostgreSQL:
Если необходимо выполнять резервное копирование сразу нескольких баз (например двух), то в каталог /etc/cron.daily/ можно поместить текстовый файл с именем «pgdump» следующего содержания:
Если команда просит ввести пароль, то в файле /var/lib/pgsql/data/pg_hba.conf
для строки:
host all all 127.0.0.1/0 md5
Назначить этот файл исполняемым для владельца, членов группы и прочих пользователей.
Каждые сутки будет выполняться резервное копирование баз ZUP и BU в каталог /var/lib/pgsql/backups/. Также резервные копии будут архивироваться в файлы с именами, содержащими дату резервного копирования.
Расписание выполнения файлов из каталогов /etc/cron.*/ находится в файле /etc/crontab
Восстановление базы из резервной копии выполняется с помощью следующих команд:
Если необходимо восстановить в новую базу, то необходимо ее сначала создать:
createdb –h localhost dbname
Собственно команды для восстановления:
% tar xzf filename.tgz
В результате будет распакован файл: «dbname.pgdump». Будьте внимательны! Архив может быть распакован с учетом путей, начиная с текущего каталога. Если так случилось, файл «dbname.pgdump» надо переместить в текущий каталог.
Должно появиться множество сообщений типа: «CREATE TABLE», «ALTER TABLE» и после некоторого времени (зависит от размера базы) восстановление будет закончено.
Выполнения регламентных операций на SQL-сервере
Основным средством физического и аналитического сопровождения баз данных в PostgreSQL является команда SQL VACUUM и ее аналог — сценарий vacuumdb. Оба средства выполняют две общие функции:
удаление всех данных, оставшихся в результате отмены транзакций и других операций, оставляющих временные данные;
анализ операций с базами данных, по результатам которого PostgreSQL конструирует более эффективные запросы.
Для баз данных, работающих в условиях реальной эксплуатации, команду VACUUM рекомендуется выполнять каждую ночь. Хотя команда может выполняться параллельно с обращениями к данным, это замедляет работу сервера. По этой причине сопровождение рекомендуется запланировать на время с минимальным количеством операций с базой данных.
Создать текстовый файл с именем «vacuumdb» в директории /etc/cron.daily/ , скопировать туда код:
vacuumdb –h localhost –U postgres –W postgres –a –z -v
vacuumdb –h localhost –U postgres –a –z -v
Сделать этот файл исполняемым (chmod +x имя_файла)
Каждую ночь будет выполняться оптимизация всех баз данных
Эту команду можно дописать в конце файла, предназначенного для автоматического создания резервных копий:
Stats_start_collector = on
ПриложениеНекоторые команды консоли Linux
Запуск консоли осуществляется: «Приложения – Стандартные — Терминал»
«cd» — переход по каталогам
«ls» просмотр содержимого каталога
«cat имя_файла» просмотр содержимого текстового файла (удобно просматривать файлы логов)
gedit – редактирование текстового файла
Вместо этих команд удобней использовать «mc» — аналог «Norton Commander»
«su» — переключение между пользователями или вход в режим root
«top –u ИмяПользователя» выводит список процессов пользователя, показывает использование процессора и памяти
«ps -aux» выводит список всех процессов
«kill НомерПроцесса» убивает указанный процесс
«uname –a» – покажет версию ядра
«cat /proc/version» — покажет версию дистрибутива Linux
«cd /media/имя_флешки» — переход в каталог флешки
/etc/grub.conf – файл конфигурации загрузчика GRUB – можно указать чтобы по умолчанию загружался Windows, если установлено две системы.
Приложение 2. Назначение IP портов
1540 – порт центрального сервера кластера, процесс «ragent»
1541 – порт первого рабочего сервера кластера, процесс «ragent»
5432 – порт сервера PostgreSQL
Приложение 3. Полезные ссылки
— вопросы/ответы установки 1С на сервер Linux
– обзорная информация о
PostgreSQL и ссылки
1. Выбор дистрибутива LINUX
2. Установка 1С на Linux
3. Работа с 1С под Linux
Выбор дистрибутива LINUX
В данной статья расскажу, как начать работу c Linux в контексте сервера 1С и рабочих станций. В связи с импортозамещением и возможного ухода с рынка РФ разработчиков операционных систем, и систем СУБД, возрастет потребность использования альтернатив в виде «свободного» ПО. Почему свободного в кавычках? Как в рекламе: НЕ ВСЕ LINUX ОДИНАКОВО бесплатны. В этой статье очень много моего субъективного мнения, естественно готов к конструктивной критике и корректировке.
Перейдем к выбору дистрибутива LINUX. Для начала я сделал выборку, что из «свободного ПО» использует большой корпоративный сектор и оказалось, что «свободное ПО» не используют в принципе, лишь платные коммерческие (покупка лицензий или подписка) сборки. Лидер тут RED HAT, но на момент написания статьи компания заявила о выходе с рынка РФ. Значит не подходит.
Поэтому я обратил внимание на «Русские дистрибутивы линукс», нашел их чуть больше десятка, провел беглый обзор по ним для выбора системы LINUX, но большинство создали впечатление «школьных сборок для себя». Я прекрасно понимаю, что это конструктор LEGO и есть свои стандарты, но кубики часто не подходят, ибо нуждаются в доработке т.е. нужна поддержка и сообщество. Не сочтите за рекламу, но в «произведенных» на территории РФ дистрибутивов нашел только две сборки с поддержкой и «живым» форумом:
ALT LINUX – бесплатный для физических лиц и «разработчиков ПО» (по второму пункту есть сомнения, в одной части лицензии это указано, а в другой нет, потому стоят кавычки), юридические лица обязаны приобрести лицензии.
Плюсы ALT LINUX:
— Отличные русские локали из коробки, все ПО , что в комплекте на русском языке
— Из коробки рабочая станция со всем необходимым, включая WINE
— Есть все сертификаты безопасности и защиты
— Есть сборки под архитектуру БАЙКАЛ и ЭЛЬБРУС (с точки зрения 1С — это задел на будущее т.к. пока под эту архитектору нет версий 1С. Уверен, что это временно и государственный сектор переведут добровольно-принудительно на эту архитектуру, а там с распространением и настройкой ALT LINUX и 1С подтянется)
— Самый живой форум из всех российских дистрибутивов LINUX, действительно помогают, а также присутствует сообщество
— Сейчас поставляется в школы вместе с новой техникой (многие не используют, но это временно)
— Рекомендован к закупкам всему государственному сектору
— Присутствует в рекомендациях 1С
— Есть работа как и с WINDOWS доменами, так и он может быть доменом для win машин т.е. может быть переход без потери домена, сначала как резервный, затем перевод в главный без простоя и перенастройки.
Операционная система ASTRA LINUX — бесплатный для физ. лиц, а юр.лица обязаны приобрести лицензии
То, что увидел в плюсах:
— “Военка“. Этот российский дистрибутив линукс используется военными.
— Русские локали из коробки
— В составе дистрибутива не только свободное ПО , но и много своих программ, список постоянно увеличивается (за основу конечно взяты свободные, но дальше разработка своя, что «отвязывает» постепенно от «импортного» ПО)
— Все сертификаты безопасности и т.п., повторюсь “Военка”!
— Есть сборки под архитектуру БАЙКАЛ и ЭЛЬБРУС
— Рекомендован к закупкам всему гос. сектору и имеет приоритет в тендерах для всех силовых структур
— В описаниях была информация о WIN доменах.
— “Военка” – а это медленно. (нивелируется хорошим админом)
— Есть форум, но пока слабоват
— Версии ПО есть намного ниже мировых дистрибутивов (“военка” и контроль как бы намекает), но это не критично.
Из мировых дистрибутивов рассматривать все не имеет никакого смысла.
Нужно выделить три критерия:
Рассматривая ветку дистрибутивов DEBIAN , хотел бы остановиться на нем и на UBUNTU. Я считаю, что любой из этих дистрибутивов может быть как рабочей станцией, так и сервером. Например, дистрибутив DEBIAN основной ветки больше подходит под сервера (у меня на нем работают домашние устройства умного дома под ARM), UBUNTU под рабочие станции. Но опять же они отлично справляются со всеми задачами как серверными, так и с пользовательскими. U BUNTU мне, как пользователю показался более дружелюбным для перехода с Windows.
Так же есть еще один дистрибутив – CentOS. Именно на нем я разворачивал свои первые сервера, его до сих пор используют многие. Он стабилен, но поддержка его прекращена, а новое ответвление я не пробовал, но вполне возможно, что его ждет та же участь, что и основной ветки.
У всех этих дистрибутивов огромные сообщества, форумы, WIKI, разжевано все практически до мелочей. Большинство ,конечно, это англоязычные, но как говорится гугл в помощь.
Итак, давайте подведем некоторые итоги:
· Крупный заказчик или гос.структура, или жесткие требования к безопасности, то только российские дистрибутивы линукс ALT LINUX или ASTRA LINUX и естественно покупка лицензий с поддержкой.
· Средний, мелкий заказчик, которому не нужны сертификаты безопасности дистрибутивы DEBIAN, UBUNTU их клоны или любой популярный поддерживаемый дистрибутив
Об установке я говорить не буду, это можно найти в других источниках. Единственное, о чем хотел бы предупредить — это WIFI. Может мне не везло так, но ни на одном из дистрибутивов WIFI не работал, потому на всякий случай возьмите сетевой кабель для прямого подключения. Важно знать, что в большинстве дистрибутивов уже есть Postgres (поэтому при загрузке не ставьте его, снимайте галочку при установке, ибо он не будет работать с 1С!)
Теперь о самом выборе LINUX, есть прекрасная цитата от великого Фигурнова:
Так вот, конечно много чего перенесли в графический интерфейс, но без командной строки 1С вы не поставите от слова совсем. Такова его природа
Поставьте себе хотя бы на виртуальную машину свой топ дистрибутив LINUX и постарайтесь выполнять свою основную деятельность именно на нем. Да сначала будет медленно/не удобно/не привычно/не правильно и т.п. поставьте себя на место пользователя, переходящего с SAP на 1С, не привычно, но надо. Вы просто не знаете еще всех «плюшек» которые Вам даны, на первом этапе видите только то, чего лишили Вас.
Установка 1С на Linux
Установка 1С на Linux не тривиальная задача для новичка в новой системе.
В работе 1С под Linux есть ограничения по работе. Самое большое это отсутствие COM объектов как класса. Это может накладывать ограничения на работу торгового оборудования, обмены, взаимодействие с внешними системами. Не работает распознавание текста, извлечение текста на сервере. В новых конфигурациях обмены уже переводят на НТТР Запросы. Не доступна работа с базами MSSQL. Это нужно анализировать перед переходом в Linux.
Так же вызывает большое неудобство отсутствие графического приложения «Администрирование серверов 1С предприятия», в 1С под Linux только через команды консоли или через отдельную win. машину.
С версии 8.3.18 появилась возможность установки нескольких версий клиента 1С предприятия. Из всего, что ниже может быть установлена только одна версия.
Сервер 1С предприятия для LINUX имеет недокументированную возможность работы до 10 пользователей без использования серверной лицензии, конечно в коммерческой деятельности это использовать нельзя, но для собственной разработки и тестов вполне сгодится (еще один + в сторону 1С под Linux)
Необходимые источники, если хотите стать специалистом в этой области (сетевые задачи можете пропустить, главное разобраться со структурой и командной строкой, это то, что Вы должны знать как таблицу умножения, но калькулятор никто не отменял):
1. «Unix и Linux. Руководство системного администратора» издательства Вильямс, книга есть как и в продаже так и в сети, естественно брать последнюю редакцию.
2. «Внутреннее устройство Linux» Уорд Брайан книга есть как и в продаже, так и в сети, брать последнюю редакцию.
3. Форумы конкретно вашего выбранного дистрибутива.
Работа с 1С под Linux
Для мелких и не дотягивающих до средних внедрений этого вполне достаточно. Также прошу обратить внимание на то, что бекапы можно развернуть только на той же версии на которой они были сделаны, поэтому обязательно сохраняйте отдельно установочные файлы, чтобы именно их можно было развернуть для восстановления бекапов. Уже была подобная ситуация , что не могли восстановить из-за отозванного релиза.
Скорость работы стандартного Postgres от 1С на стандартных рекомендованных 1С настройках сопоставима в среднем с работой MSSQL. « Тюнинг» подробно разобран в курсе, что на что влияет, как посмотреть , где проблемы и т.д. Нужно учесть некоторые моменты, Postgres для 1С сохраняет данные не в одном файле, а в тысячах, для него очень критичен SEEK TIME, параметры жесткого диска. Есть лайфхак, если у вас настроено зеркалирование и потеря данных отставания зеркала не критична, то можно отключить подтверждение записи на сервере, прирост скорости может быть в разы, если диски медленные. ( НО ЭТО ИЗ СЕРИИ ВРЕДНЫХ СОВЕТОВ!)
Для средних и выше внедрений, а также для баз которые должны работать 24/7 и «ни секунды простоя» обратите внимание на продукты от компании Postgrespro. Да они платные и довольно не дешевые, но Postgrespro это:
1. Скорость работы БД быстрее, чем у MSSQL. Их продуктом я пользуюсь у себя в разработке
2. Построение высоконагруженных, отказоустойчивых распределенных систем сравнимо не хуже, чем Oracle и IBM DB2, MSSQL
3. Сертификация ФСТЭК СВТ 5, НДВ 4, т.е. работа с гос. структурами и военными.
Ну и как же без минусов: нет специалистов, а кадры решают все. Почему бы Вам не занять эту пустующую нишу?
Также в связи с переориентированием на свободное ПО, прошу обратить Ваше внимание на продукты компании etersoft , а конкретно на:
В этой части есть даже возможность работы с COM объектами, как в стандартной win среде решает большую часть проблем с торговым оборудованием, которое работает только через COM или OLE объекты, системами ЭДО и т.п. Ребята очень помогают. Работает даже 1С предприятие 7.7 Вы можете не поверить, но это до сих пор актуально. Есть демо-версии с ограничением по сроку функционалом.
Специалист компании «Кодерлайн»