Перезапуск сервера 1с centos

Обновлено: 05.07.2024

Настройка 1С:Сервера взаимодействия

$ /usr/pgsql-11/bin/initdb -D /var/lib/pgsql/11/data
$ psql

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

/var/cs/cs_instance/logs/
/var/cs/hc_instance/logs/
/var/cs/elastic_instance/logs/

Настройка обмена файлами в системе взаимодействия

Для обмена файлами в системе взаимодействия необходимо подключиться на сервере взаимодействия к хранилищу файлов.Хранилище должно поддерживать протокол S3 (V2 или V4).

Можно развернуть собственное хранилище:

Или подключиться к существующим:

  1. Amazon
  2. Amazon CDN
  3. Google Cloud
  4. Google Cloud CDN
  5. Croc Cloud
  6. Техносерв

Необходимо выбрать только один вариант использования хранилища файлов:

$ sudo firewall-cmd --zone="public --add-port=9000/tcp" --permanent
$ sudo firewall-cmd --reload

Для доступа к серверу хранилища, необходимо задать логин и пароль в переменных среды MINIO_ACCESS_KEY и MINIO_SECRET_KEY, соответственно. Чтобы значения этих переменных устанавливалиь при старте, занесем их инициализацию в /etc/default.

$ sudo vi /etc/default/minio

MINIO_VOLUMES=""/var/minio/&"quot;
MINIO_ACCESS_KEY="<"span >minio
MINIO_SECRET_KEY="<"span >minio123

$ sudo vi /etc/systemd/system/minio.service

[Unit]
Description if [ -z \"$\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/opt/minio/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
TimeoutStopSec=infinity
SendSIGKILL=no

$ sudo systemctl enable minio.service
$ sudo systemctl start minio.service

Создайте новое хранилище, например cs-bucket

Логин: значение переменной MINIO_ACCESS_KEY,
Пароль: значение переменной MINIO_SECRET_KEY

После установки CentOS 7 приступим к ее настройке.

Для настройки системы воспользуемся подключением по SSH используя клиент PuTTy или другой SSH клиент.

Начальная настройка CentOS 7

Так как CentOS 7 у нас гостевая ОС ESXi 6.5, то нужно установить VMware tools:

Для дальнейшего удобства установим файловый менеджер Midnight Commander:

В CentOS 7 minimal все утилиты, такие как dig, host, nslookup, теперь включены в пакет bind-utils, поэтому установим этот пакет:

меняем значение SELINUX=enforcing на SELINUX=disabled . Сохраняем и выходим.
Для вступления изменений в силу перезагрузим ОС:

Настройка сетевого интерфейса сервера

Сервер 1С:Предприятие будет находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности.
Отключаем firewalld:

В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера, в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:

127.0.0.1 localhost

192.168.xxx.yyy SERVER_NAME.DOMAIN.LOCAL SERVER_NAME

Что бы новые параметры вступили в силу нужно перезагрузить сервер.

После перезагрузки имя сервера должно разрешаться в IP-адрес.

Подключение репозиториев

Для инсталляции различных пакетов ПО необходимо подключить репозитории в CentOS. Добавим популярный EPEL:

Настройка и синхронизация времени

Настроим время сервера. Узнать, какое время на сервере можно с помощью команды date:

Чтобы сменить часовой пояс на +3, воспользуемся специальной утилитой, которая входит в комплект CentOS 7:

Установим утилиту для синхронизации времени chrony:

Запускаем chrony и добавляем в автозагрузку:

Установка дополнительных пакетов

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

iftop показывает в режиме реального времени загрузку сетевого интерфейса:

Диспетчер задач htop:

Установим также необходимые пакеты отсутствующие в поставке:

Скачиваем необходимые шрифты и устанавливаем их:

Публикация общей папки

Для удобства установим Samba и добавим в автозагрузку:

Далее создадим папку, к которую дадим общий доступ и настроим Samba:

Настроим Samba внеся в smb.conf следующий текст:

[global]
workgroup = WORKGROUP
server string = Samba Server %v
netbios name = Server1C
security = user
map to guest = bad user
dns proxy = no
guest account = nobody
browseable = yes

log file = /var/log/samba/log.%m
max log size = 50

[public]
comment = FS
path = /home/public
readonly = no
guest ok = yes
public = yes
guest only = yes
writable = yes

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

Если не отключать Firewall, то нужно добавить следующие правила:

Установка веб сервера

Для работы сервисов, имеющих веб интерфейс, установим веб сервер Apache:

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

Запускаем apache в CentOS 7:

Проверяем, запустился ли сервер:

Установим популярные модули для php:

Выполним перезапуск apache:

Базовая настройка CentOS 7 закончена

Похожее

Настройка CentOS 7 для сервера 1С 8.3: 13 комментариев

Нет, не пробовал. У меня на данный момент похожая проблема с криптопровайдером. Под линуксом криптопровайдер не цепляется, тоже вываливается ошибка подключения динамической библиотеки. Я не уверен, но в Вашем случае скорее всего проблема подключения COM объектов, которые, как я понял, не поддерживаются в Linux. Возможно надо найти обработчик под CentOS.

День добрый.
Решили проблему с криптопровайдером?

Нет, забил. В итоге из-за ЭДО пришлось сервер 1с выносить отдельно на виртуальную машину с windows 10 с более частотным процессором

А что конкретно не работало? 1С отчетность для сдачи в ФНС ФСС и прочее или что-то свое?

Да, 1С отчетность. Мне нужно было чтобы сервер раздавал эцп, чтобы сотрудники не имели физ доступа к ней, но не сложилось

Добрый день.
Для чего служат пакеты из команды
yum install policycoreutils-python wget bzip2 ntp net-tools unixODBC ImageMagick fontconfig-devel ?
Как определили их необходимость?

Да, 1С отчетность. Мне нужно было чтобы сервер раздавал эцп, чтобы сотрудники не имели физ доступа к ней, но не сложилось

Создаётся впечатление, что все авторы, описывающие установку CentOS в качестве сервера, не владеют ситуацией. Первое, что они предлагают, отключить SELinux и Firewall. А слабо, настроить SELinux? А где открытие портов? Для работы в с ОС Windows, коих подавляющее большинство в сетях, нужна Samba, а для её работы необходимо открыть порты 137, 138, 139, 443 и 445. Для возможности соединения с сервером, через Web интерфейс, необходимо открыть порт 80. Для удалённого управления сервером необходимо настроить SSH, а для исключения возможности несанкционированного доступа к серверу, поменять порт SSH, или на худой коней открыть порт по умолчанию и сформировать надёжный пароль, или доступ по публичному ключу. Где все это. Я даже на домашнем сервере всё это проделал и не отключал SELinux, а настроил её, включил разрешения для работы Samba и SSH, но только те, которые используются в домашней сети.

Спасибо за комментарий. Вы правы, мне этот «блог» нужен для того что бы инфа, которую я собрал в инете была под рукой и эти инструкции делал прежде всего для себя, естественно после успешного внедрения, и если здесь нет инфы о настройке защиты, значит я не нашёл нормальную инструкцию, а сам я ни разу не линуксоид. Да и в моем случае это работает в закрытом контуре сети, поэтому не стал разбираться с защитой. Если дополните будет очень хорошо!

Соглашусь. Если сервер работает только внутри сети и не смотрит наружу, то смысла настраивать все порты и SE не вижу. Больше мороки.

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

Пошаговая инструкция по запуску и первичной настройке сервера 1С:Предприятия 8.3 версии 8.3.19.1229 в ОС CentOS Stream 8.4 с использованием СУБД PostgresPro-1C-13 и системы защиты HASP (USB-ключа).

Подготовка

Утанавливаем пакет epel-release

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

Создадим директорию для хранения пакетов

Переходим в каталог

Распакуем архив rpm64_8_3_19_1229.tar.gz

Создадим каталог /home/1c/hasp/

переходим в него

и качаем haspd с модулями

Изменим имя хоста на server1c

откроем файл /etc/hosts

и также добавим в него:

Установка и настройка СУБД PostgresPro-1C-13

Добавим в список репозиториев postgrespro-1c-13 и создадим кеш:

Устанавливаем СУБД postgrespro-1c-13

После установки проверяем статус службы postgrespro-1c-13

Удаляем тестовую базу данных

и запускаем настройку PostgresPro

Добавим службу postgrespro-1c-13 в автозагрузку

Настроим доступ к СУБД из локальной сети. Для этого откроем файл /var/lib/pgpro/1c-13/data/pg_hba.conf

и допишем в него такой параметр:

Перезапустим службу postgrespro-1c-13

Переходим на пользователя postgres

запускаем консоль psql

и зададим пароль для пользователя postgres

Выходим из пользователя postgres

и возвращаемся в консоль.

Перезапустим службу postgrespro-1c-13

Установка сервера 1С:Предприятие 8.3

Переходим в каталог /home/1c/

и запустим установку всех пакетов, находящихся в директории

Запускаем службу srv1cv83

консоль должна отобразить статус:

Создадим символическую ссылку на службу srv1cv83 в /etc/init.d/

Перезапустим srv1cv83 и проверим его статус

Установка и настройка системы защиты HASP

Переходим в каталог /home/1c/hasp/

и установим оттуда все пакеты

Откроем файл конфигурации HASP-а

и в самом конце допишем такую строчку

Вставляем USB-ключ HASP в USB-разъём на сервере.

Запускаем службу haspd и включаем её в автозагрузку

Проверяем статус запуска службы haspd

но на этом этапе будет лучше перезагрузить сервер

Настройка файрволла

Открываем необходимые порты для работы с 1С и СУБД

Если информационная база будет публиковаться с использованием веб-сервера, то необходимо будет ещё открыть порт 80/tcp

Настройки в консоли администрирования 1С

На Windows-машине в сети необходимо запустить утилиту Server Administration Utility Registration x86-64 для активации консоли администрирования кластера 1С.

После этого запускаем Administration of 1C Enterprise x86-64 servers

Затем правой кнопкой мыши кликаем на Central 1C:Enterprise 8.3 servers (Центральный сервер). Здесь выбираем Создать -> Центральный сервер 1С:Предприятия 8.3


В поле Имя сервера вводим: server1c


и он появится в оснастке консоли

Находим Информационные базы в Central 1C:Enterprise 8.3 servers -> server1c -> Кластеры -> Локальный кластер и кликаем правой кнопкой мыши Создать -> Информационная база



После нажатия OK информационная база появится в списке


Настройка клиента 1C

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


Добавим существующую информационную базу




и теперь новая информационная база появится в списке:


Заключение

На этом настройка 1С завершена. Чтобы войти в 1С:Предприятие или Конфигуратор, необходима лицензия, необходимо наличие USB-ключа HASP, о котором было упомянуто выше. Но если на всех вышеперечисленных этапах при установках и настройках ошибок не возникало, то платформа должна работать корректно без ошибок и проблем.


В последнее время связка Linux + 1C, становится, все более и более популярной среди любителей сэкономить на ПО. Действительно с выходом 1С8 в данном сегменте, многое изменилось. Появились полноценные версии восьмерки под популярные дистрибутивы линукс, Etersoft выпустила профиксинные Wine и PostgreSQL, появились положительные отзывы в интернете о внедрении данных решений в российских компаниях, что говорит о том, что бесплатное ПО, может быть вполне конкурентно способным по сравнению с аналогичными коммерческими решениями.

В рамках данной статьи посмотрим на сколько связка 1С + Linux имеет место быть, в частности Centos 6.2 x64 Minimal + Postgre@Etersoft9 + 1C 8.2., дабы сравнить, есть ли отличия от win. Померим производительность при помощи теста Вечеслава Гилева. Все манипуляции будем производить при помощи виртуальной машины Oracle VirtualBox. На клиентском компьютере будет запускаться последняя актуальная на момент выхода статьи версия 1с 8.2, где и будет запускаться тест.

1) Подготовка сервера

Включим сеть, пропишем имя хоста правкой конфига /etc/sysconfig/network

Раскоментируем строчку BOOTPROTO=dhcp и закоментируем IPADDR, NETMASK, NETWORK, BROADCAST, GATEWAY, если хотим получать адрес от DHCP-сервера в конфиге /etc/sysconfig/network-scripts/ifcfg-eth0

Пропишем DNS-серверы в /etc/resolv.conf

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

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

Ставим TrueType Шрифты msttcorefonts.

Либо вручную создаем репозитарий и ставим через yum. :)

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

Качаем PostgreSQL от Etersoft, отсюда.

Инициализируем базу PostgreSQL:

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

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

Даем юзеру postgres писать в /var/lib/pgsql иначе ругнется что нет файла .history_pqsql

Задаем пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под пользователем postgres: su postgres

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

В конфиге /var/lib/pgsql/data/postgresql.conf первое что я сразу меняю это параметр effective_cache_size , который рекомендуют выставлять не менее половины от объема всей оперативной памяти сервера, а точнее размер кэша можно посмотреть в самой системе, набрав в командной строке free. Необходимое значение будет в столбце cached (в kB).

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

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

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

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

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

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

Shell-команда

Интерактивный режим psql

Описание

CREATE DATABASE name;

Создание новой базы данных

ALTER DATABASE name;

Изменение параметров БД

DROP DATABASE name;

Удаление базы данных

CREATE USER name [ [ WITH ] option [ . ] ]

Создание нового пользователя

ALTER USER name [ [ WITH ] option [ . ] ]

Изменение параметров пользователя

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

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

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

1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера
2) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент
3) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux
4) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С
5) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.2
6) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2

1) 1C_Enterprise82-common-8.2.15-319.x86_64.rpm // общие компоненты сервера
2) 1C_Enterprise82-server-8.2.15-319.x86_64.rpm // сервер 1С:предприятие 8.2 для Linux
3) 1C_Enterprise82-ws-8.2.15-319.x86_64.rpm // Компоненты веб-сервисов 1с8.2
4) 1C_Enterprise82-common-nls-8.2.15-319.x86_64.rpm // национальные ресурсы для общих компонент
5) 1C_Enterprise82-server-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для сервера 1С
6) 1C_Enterprise82-ws-nls-8.2.15-319.x86_64.rpm // Национальные ресурсы для компонент веб-сервисов 1с8.2

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

Далее устанавливаем glibc x86:

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

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

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

В случае проблем, необходимо убедится, что на каталог /opt/1C и /home/usr1cv82 выставлены права на запуск от пользователя usr1cv82 входящего в группу grp1cv82. Если нет, то выполняем:

На файрволе для работы сервера 1С должны быть открыты следующие порты:

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

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

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

Так как клиент 1С цепляются к серверу по имени, то нам необходимо, разрешить на сервере возможность опознавать и пинговать его по имени машины. В этом нам поможет samba.

Запускаем и добавляем в автозагрузку:

На файрволе должен быть открыт UDP:137 порт.

После чего, должен отрабатывать пинг по имени компа/сервера.

На клиенте, если Windows, заходим в консоль управления 1CV8 Servers (Администрирование серверов 1С Предприятия).

Жмем, добавить Центральный сервер 1С:Преприятия 8.2, добавляем по имени. Во вкладке рабочие серверы должна появится запись.

Центральный сервер 1С Предприятия

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

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

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

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

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

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

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

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

Проверяем корректность внесенных изменений. В конфиге Apache должны быть следующие строки:

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

Выдаем права на директорию:

И получаем ошибку:

Данная проблема решается, отключением SElinux, а в идеале отключением какой-то определенной политики, список которых можно получить с помощью команды:

Мне так и не удалось идентифицировать, какая политика разрешает грузить библиотеку из апача посредством другой библиотеки из 1С :) Но, поскольку сервер предназначен исключительно для работы в локалке, то возможно полное отключение Selinux не так уж и критично.

Для временного отключения SElinux воспользуемся командой:


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

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

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

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

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

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

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

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

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

где, template0 - шаблон означающий, что это абсолютна пустая база

Например:

С удалением базы и восстановлением ее из дампа:

где, С - создать базу

Например:

Здесь -d postgres указание на любую базу данных существующую в кластере база данных. pg_restore использует ее только чтобы выполнить команду CREATE DATABASE для mydb (mybase)

Запись в crontab (из под пользователя postgres):

crontab -e //добавить задание
crontab -l //просмотр заданий
crontab -r //удалить задание

Читайте также: