Меню Рубрики

Установка 1с на centos публикация web

Публикация базы данных 1С Предприятия на WEB сервере Apache

Установка Apache и публикация базы 1С на web-сервере под Windows — дело достаточно простое, данным очерком попытаемся упростить подобную процедуру и для linux систем. Опытную установку будем производить на системе CentOS 5.8 в виртуальной машине при помощи VirtualBox (CentOS 5.8 взят только из-за малых потребностей в ресурсах, CentOS 6 также подойдет). База данных 1С@Предприятия будет использоваться на файлах.

Подготовительные мероприятия

Установим веб сервер (если он еще не установлен):

зададим автоматический старт сервера Apache при помощи chkonfig:

Заранее подготовим установочные файлы сервера 1С@Предприятия. Взять их можно с дисков ИТС, скачать с официального сайта 1с или других ресурсов. В нашем случае имеется архив сервера 1С предприятия для linux (rpm пакеты).

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

Итак, в нашей системе имеется пользователь alexandr, архив с файлами 1С@Предприятия расположен на рабочем столе. Начнем установку.

Распакуем архив и установим пакеты:

Убедимся, что архив распаковался:

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

Отладка и запуск сервера 1С@Предприятия

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

Запустим утилиту отладки и конфигурирования сервера 1С@Предприятия:

Получили в консоли сообщение о необходимых зависимостях:

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

подключим дополнительные репозитории (RPMForge и EPEL):

Небольшое отступление

В принципе можно считать, что сервер 1С@Предприятие установлен и настроен. Результатом работы скрипта ( /opt/1C/v8.2/i386/utils/config_server) является создание настроечного файла type.xml в директории /opt/1C/v8.2/i386/conf/grcmncfg/. Убедимся так ли это:

А как же неудовлетворенная зависимость libglib?

Здесь все просто. Откроем в текстовом редакторе файл /opt/1C/v8.2/i386/utils/config_server и найдем секцию со злободневным пакетом libglib:

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

Наш пакет glib2-2.12.3-4.el5_3.1 установлен в системе!

Подготовка директории для баз данных

Директория по умолчанию для веб-сервера /var/www/html, создадим в ней папку base:

соответственно в браузере мы будем набирать следующий адрес для доступа к приложению: http://nash_ip_adres/base

В директории /var/www/html/base будет располагаться сгенерированный системой файл default.vrd, в котором будет описана строка подключения к директории с базой 1С@Предприятия.

Создание директории для базы данных 1С@Предприятия

Внимание: первоначально данное решение было опробовано для использования в режиме многопользовательского доступа к базе многих внешних пользователей в режиме терминального доступа RX@Etersoft, запуская 1С@Предприятие под Wine@Etersoft.

Access Control Lists, ACL

У каждого объекта: файла или каталога, только один владелец, и это хорошо, пока в системе всего один пользователь (кстати, root мы пользователем не считаем – он обычно не работает с системой, а только администрирует ее). А стоит появиться нескольким пользователям, которым нужно изменять файлы друг друга, все усложняется.

Нужен более тон­кий контроль над тем, кто, что и где может делать. При нескольких условиях такое позволяют списки управления доступом (Access Control Lists, ACL), расширение большинства файловых систем (ФС) Linux. Для начала нужно ядро со встроенной поддерж­кой ACL – в любом ядре из дистрибутива она будет. Далее, ACL надо активиро­вать при монтировании файловой системы. Чтобы ACL активировались при загрузке системы, откройте /etc/fstab и добавьте acl к списку опций монтирования файловой системы:

К каталогу /pub у нас будет обращаться веб сервер под пользователем apache и пользователь alexandr (также, на всякий случай, пользователя usr1cv82 добавим тоже), под которым мы положим туда свою базу данных. Назначим каталогу /pub доступ для этих пользователей:

Дополнительно создадим ссылку в домашней папке пользователя alexandr для удобства:

Размещение базы данных

Настала пора поместить в директорию /pub нашу базу данных, которая в файловом варианте представляет собой тоже папку, содержащую бинарный файл 1Cv8.1CD, являющийся базой и несколько директорий со служебными файлами. Например, по мотивам «Видеоурок: Как разработать простое прикладное решение», мной (только приступившего к изучению платформы 1С@Предприятие) было создано прикладное решение «Ремонт насосов». Папка с базой данных имеет название kurs. копируем базу (в папке под названием kurs) в директорию /pub.

Настройка веб сервера для публикации базы 1С

Запустим конфигурационную утилиту, которая внесет изменения в файл /etc/conf/httpd.conf и создаст настроечный файл default.vrd. В последующих ваших экспериментах лучше править вручную эти файлы, так как при использовании повторно данной утилитой в файле /etc/conf/httpd.conf приходилось комментировать лишнюю строку #for requests without a known для удачного запуска веб сервера.

  • -wsdir – имя алиаса веб-сервера для соединения с базой, в последствии мы будем обращаться к ней набирая в браузере http://адрес.сервера/base
  • -dir – директория где будут располагаться файлы web-интерфейса 1с (точнее один файл default.vrd);
  • -connStr – строка соединения с базой 1с предприятия;
  • -confPath – расположение конфигурационного файла web-сервера apache.
Читайте также:  Установка противотуманных фар фольксваген пассат б6

Задаем владельца для файла default.vrd:

Перезагрузим сервера 1с и апач:

Убедимся, что все сервисы (daemon, rmngr, rphost) удачно стартовали:

источник

Установка 1С 8.3 в файловом варианте на CentOS 7.3 и публикация базы через WEB сервер APACHE

В данной статье мы рассмотрим установку, настройку и оптимизацию программы 1С 8.3 на сервере CentOS 7

Установка будет производиться на CentOS-7-Minimal
На фаерволе должен быть открыт 80 порт TCP
Сервер должен быть настроен на корректную синхронизацию времени
Для начала установим необходимые репозитории и пакеты:
yum -y install epel-release
yum -y install wget zip unzip ntp httpd
yum -y install curl cabextract libgsf ImageMagick policycoreutils-python ImageMagick.i686 unixODBC
Далее установим необходимые для работы 1С шрифты:
rpm -i https://downloads.sourceforge.net/project/mscorefonts2/rpms/msttcore-fonts-installer-2.6-1.noarch.rpm

Скачиваем с сайта 1С сервер 1С:Предприятия (64-bit) для RPM-based Linux-систем в папку /tmp
Далее устанавливаем сервер 1С Предприятие:
cd /tmp
yum localinstall *.rpm

Файловые базы храним в папке /home/1c

Даём необходимые права на папки:
chown -R apache:apache /opt/1C
chown -R apache:apache /var/www/html
chown -R apache:apache /home/1c

Разрешаем необходимые сервисы:
systemctl enable httpd

Далее публикуем базу 1С:
cd /opt/1C/v8.3/x86_64
./webinst -apache24 -wsdir base -dir ‘/var/www/html/base/’ -connStr ‘File=»/home/1c/base/»‘ -confPath /etc/httpd/conf.d/base.conf
Где:
-dir — путь к папке вебсервера
-connStr — путь к расположеныю файловой базы 1С
-confPath — путь к файлу конфигурации вебсервера (файл должен быть предварительно создан и быть пустым!)

Для корректной работы 1С должна быть установлена политика SELinux:
Создайте файл httpd_1c.te со следующим содержимым:
module httpd_1c 1.0;

#. This avc is allowed in the current policy
allow httpd_t httpd_sys_content_t:file write;

#. This avc is allowed in the current policy
allow httpd_t user_home_t:dir < add_name create read remove_name rmdir write >;
allow httpd_t user_home_t:file rename;

#. This avc is allowed in the current policy
allow httpd_t user_home_t:file < create lock open read setattr unlink write >;

#. This avc can be allowed using the boolean ‘httpd_tmp_exec’
allow httpd_t httpd_tmp_t:file execute;

Далее, сомпилируйте и установите политику:
checkmodule -M -m -o httpd_1c.mod httpd_1c.te
semodule_package -o httpd_1c.pp -m httpd_1c.mod
semodule -i httpd_1c.pp

Запускаем сервер Apache:
systemctl start httpd

Теперь 1С доступна в браузере по адресу http://example.ru/base
Или через тонкий клиент 1С по тому же адресу.

Для оптимизации работы 1С рекомендуется произвести дополнительный тюнинг системы:
Создадим временную папку в оперативной памяти, для этого добавим строчку fstab:
vi \etc\fstab
tmpfs /tmp tmpfs size=1g,nr_inodes=200k,mode=01777,nosuid,nodev 0 0
И отредактируем файл default.vrd
vi /var/www/html/base/default.vrd
добавив после строки base=»/base» строку:
temp=»/tmp/sc»
после чего перегрузим сервер командой reboot.
После этих манипуляций, сервер Apache будет создавать временные папки не в папке базы 1С, а в папке /tmp
Для обновления платформы 1С скачиваются новые файлы сервера 1С:Предприятия (64-bit) для RPM-based Linux-систем в папку /tmp и выполняется команды:
cd /tmp
rpm -U *.rpm

Если у вас возникли какие либо вопросы, вы можете обратиться к нам и мы произведём весь комплекс работ по поставке аппаратного и программного обеспечения и запуску 1С.

источник

Публикация информационной базы и веб сервисов на Apache2 в CentOS

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

Сколько бы ни было написано статей на тему работы 1С и Linux, никогда не поздно написать еще одну!

  • Сервер на CentOS 7, тут про него писал;
  • Платформа 8.3.12.1714;
  • Пустая база на БСП;
  • Всякие утилиты для работы по SSH: PuTTY и FileZilla.

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

Установим apache2 и выполним предварительные приготовления:

Теперь нам нужно подготовить файл VRD для публикации. Вот как его получить:

  • Открыть Конфигуратор 1С (можно на windows);
  • Открыть меню Администрирование -> Публикация на веб сервере;
    • Если выдал ошибку, что нет модуля для веб сервера, значит переустановить клиент 1С и выбрать модуль для работы с веб сервером (доступен для выбора в полном дистрибутиве платформы);
  • Соглашаемся с тем, что написано;
  • Перед нами открываться окно, где галочками можно выбрать, что публикуем; Я выбрал все;
  • Жмем Сохранить;
  • Сохраняем файл default.vrd себе на диск.
Читайте также:  Установка коннектора на шланг

Полученный файл нужно скорректировать в текстовом редакторе (правильно указать имя базы и заменить адрес сервера на localhost):

Подробнее про Apache2 на CentOS 7:

  • Проверить установленную версию можно следующей командой: $ httpd -V
  • Версия, которая поставилась по умолчанию — «Server version: Apache/2.4.6 (CentOS)» (12.05.2019)
  • Папка для сайтов и прочего контента публикации: «/var/www»
  • Корневая директория веб сервера: «/var/www/html» (если закинуть сюда html файл, то он будет доступен по имени через слеш от имени хоста в браузере)
  • Папка с настройками: «/etc/httpd»
  • Путь к httpd.conf: «/etc/httpd/conf/httpd.conf» — менять сам файл для публикации 1С не нужно!
  • Путь к конфигурационным файлам: «/etc/httpd/conf.modules.d» — именно тут и добавим файл .conf для загрузки модуля 1C в apache2.

Подробнее о стандартной утилите 1С для публикации в Linux (webinst):

  • Корневая папка: «/opt/1C/v8.3/x86_64» — собственно там, где и вся платформа;
  • Имя исполняемого файла: «webinst»;
  • Аргументы:
    • -apache24 — без значения, передает версию веб сервера;
    • -wsdir 1СDB_test1 — имеет значение 1СDB_test1, передает адрес, по которому база будет доступна по HTTP, пример: http://centos-s-1vcpu/1CDB_test1/ru_RU/ или http://публичный IP сервера/1CDB_test1/ru_RU/
    • -dir /var/www/1c-web/1CDB_test1/ — имеет значение, папка куда положить сгенерированный default.vrd;
    • -connstr «Srvr=localhost;Ref=1CDB_test1; — имеет значение, привычная всем строка соединения;
    • -confPath /etc/httpd/conf.modules.d/00-1c.conf — имеет значение, конфигурационный файл httpd, но мы не будем менять стандартный, мы просто создадим еще один, а веб сервер подтянет его сам!

Собственно что webinst прописывает в файл .conf:

И файл /var/www/1c-web/1CDB_test1/default.vrd по умолчанию:

После работы с webinst бестолковый файл /var/www/1c-web/1CDB_test1/default.vrd можно заменить на тот, который мы сохранили с конфигуратора. Для этого поможет FileZilla.

Заменили файл, прекрасно! Запустим сервер httpd:

Теперь можно переходить по адресу, где опубликована база, и если на сервере установлена программная лицензия, то она откроется в веб клиенте. Если добавить базу в тонкий клиент 1С по http — тоже откроется.

Если в конфигруаторе, на форме публикации, пред сохранением файла VRD выбрали веб и http сервисы, они также будут доступны.


Также если мы опубликовывали веб сервисы они тоже будут доступны.

источник

Настройка CentOS 7 для сервера 1С 8.3

После установки 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 показывает в режиме реального времени загрузку сетевого интерфейса:

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

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

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

Для удобства установим 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 ?
Как определили их необходимость?

policycoreutils-python — инструменты для работы с selinux, но selinux обычно отрубают;
wget — консольный менеджер загрузок, в статье используется для скачивания файла;
bzip2 — консольный архиватор;
ntp — сервер времени, думаю не нужен так как установлен chrony;
net-tools — сетевые утилиты например ifconfig;
unixODBC — компоненты для доступа к данным на основе ODBC, если нужно выгрузить/загрузить данные в сторонние базы не обязательно 1С;
ImageMagick — набор инструментов для работы с изображениями, нужен в тонком клиенте и наверно в web тоже;
fontconfig-devel — для работы со шрифтами, в данном случае с майкрософтовскими.
В целом статья полезна, сам настраиваю таким способом.

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

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

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

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

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

источник

Добавить комментарий