Введение
Если кратко – то в этой статье я попробую рассказать как опубликовать базу 1С на web-сервер апач, расположенном на сервере с Linux (Ubuntu).
Зачем нужна такая схема? По большей части это связано с безопасностью. Если вы скажете системному администратору, что вам нужно «выпустить сервер 1С в интернет», то от нормального специалиста вы получите кучу возражений (ну а от грамотного специалиста – еще и альтернативные пути). Одним из таких путей и является предложенная схема.
В предложенной варианте – «снаружи» будет доступен только сервер на Ubuntu и апач. Таким образом, в случае атаки – пострадает только этот один сервер, заменить который не составит труда (например перенаправив входящие соединения на его резервную копию), а ваша драгоценная 1С останется не тронутой. Не спорю, для серьезных компаний с армией бородатых админов эта схема покажется не серьезной и для них безопасность будет ассоциироваться только с DMZ (желающие могут погуглить), но для средней руки конторы это будет вполне приемлемый вариант. Конечно, от Anonymous это вас не спасет, но обычным «хацкерам» довольно сильно затруднит задачу.
Исходные данные
Для реализации такой схемы нам потребуется сервер А: Ubuntu 12 c Apache2 и сервер В: Windows 2008, MS SQL, платформа 1С 8.3. В моих экспериментах я использовал арендованные виртуальные сервера.
Нюанс: В качестве сервера А выступал Xeon 2600 series, 1 ядро, 512 Мб RAM, 16Гб SSD (250р/мес), в качестве сервера В выступал Xeon 2600 series, 2 ядра 4096 Мб RAM 128 Гб SSD (2800руб/мес). Белые статически IP. Оплата посуточная. Вы можете развернуть подобный сервер, поиграться с ним пару дней, потратив 200р. Время на разворачивание нового сервера – 5 мин, доступ по RDP (Windows) SSH-клиент (Linux). Здесь указывать, каким именно хостингом пользовался, я не буду (чтобы не сочли за рекламу). Но если спросите в комментариях – отвечу.
Решение задачи
1. Начнем с настройки сервера А
Подключаемся к серверу. Для подключения можно использовать SSH-клиент Putty (предупреждаю, работать придется через командную строку).
В моем случае сервер Ubuntu был развернут с предустановленным апачем, поэтому процедуру установки описывать не буду (мануалы есть в гугле).
Единственно что я сделал сразу при подключении (по совету админа) – это выполнил две команды:
apt-get update
apt-get upgrade
Так же установил клиент (что-то типа коммандера, намного облегчит работу в дальнейшем):
apt—get mc
Запуск выполняется просто командой:
mc
Дальше проверяем работу апача:
service apache2 start
service apache2 restart
Нюанс: при разворачивании нового сервера среди предустановленного ПО я указал Apache, MySQL, nginx. Так вот, апач упорно не хотел стартовать, ругаясь на занятый порт. При помощи гугла выяснил что на 80 порту сидел тот самый nginx. Менять порт не хотел, поэтому просто удалил этот виртуальный сервер и за 2 минуты получил новый, уже без nginx.
Проверяем работу апача из-вне, набираем в браузере http://ВашВнешнийИПАдресСервера/
Видим заветное «It works!»
Дальше устанавливаем компоненты 1С на сервер Ubuntu. Вам понадобится платформа для Linux, а точнее архив вида 8.3.5.1119_deb, с двумя файлами внутри 8.3.5.1119_deb.tar.gz и 8.3.5.1119_deb64.tar.gz (в моем случае Ubuntu 64-битная, поэтому я беру второй файл). Где их взять объяснять не буду, а вот как скачать на сервер расскажу. Качаем при помощи команды:
Wget http://www.сайтфайлобменника.com/8.3.5.1119_deb64.tar.gz
8.3.5.1119_deb64.tar.gz – это тоже архив. Распаковать его можно либо командой tar, либо открыть MC, открыть архив как папку, и скопировать из этой папки-архива нужные нам файлы в нужное нам место. А нужны нам следующие файлы:
1c-enterprise83-common_8.3.5-1119_amd64.deb
1c-enterprise83-server_8.3.5-1119_amd64.deb
1c-enterprise83-ws_8.3.5-1119_amd64.deb
Эти файлы можно также открыть в MC и запустить файлы INSTALL. Устанавливать нужно в таком же порядке, как указаны здесь. По сути нам нужен только последний пакет, но гугл и форумы сказали, что для пакета ws рекомендуется пакет server, а для server рекомендуется common. Так что ставим все.
После установки 1С службу агента 1С можно остановить:
service srv1cv83 stop
Нюанс: на самом деле, если не ошибаюсь, для апача нужен всего один файл wsap22.so, который можно найти в самом пакете 1c-enterprise83-ws_8.3.5-1119_amd64.deb, не устанавливая саму 1С. Нужно достать его оттуда, положить в специальную папку (можно даже в папку апача) и указать к нему путь в файле httpd.conf. Однако у меня это не сработало. При старте апача возникала ошибка:
root@vm88265:/etc/apache2# service apache2 restart
apache2: Syntax error on line 214 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/httpd.conf: Cannot load /etc/apache2/wsap22.so into server: nuke83.so: cannot open shared object file: No such file or directory
Action ‘configtest’ failed.
Возможно, было дело в правах на файл, возможно в чем-то еще, а возможно одного такого файла не достаточно. Если у вас получится прикрутить wsap22.so к апачу без установки 1С – расскажите.
2. На время отвлечемся от сервера А и проверим, что сервер В соответствует нашим требованиям.
На сервер В у вас должна быть развернута клиент-серверная тестовая база (почему не файловая – расскажу дальше, хотя и файловая тоже возможна). Также в брандмауэре у вас должны быть открыты порты на входящие подключения (1540,1541,1560-1590).
3. Продолжаем настройку Ubuntu.
В файле host (находится по адресу /etc/host) мы должны прописать:
ВнутреннийИПАдресСервера1С ИмяСервера1С
10.10.1.12 MainServer1C
В корне создайте папку wwwroot (название по желанию), в ней создайте папку TestPub (это виртуальная папка, в которой будет храниться файл default.vrd)
Теперь идем по адресу
/opt/1c/v8.3/x86_64/
Нас интересует файл webinst. Можете его запустить – увидите какие параметры командной строки он использует:
root@vm88136:/opt/1C/v8.3/x86_64# ./webinst
1C:Предприятие 8. Утилита публикации веб-клиента
Публикация:
webinst [-publish] websrv -wsdir VirtualDir -dir Dir -connstr connStr [-confPath confPath]
Публикация на основе существующего vrd файла:
webinst [-publish] websrv [-wsdir VirtualDir] -descriptor vrdPath -dir Dir [-connstr connStr] [-confPath confPath]
Удаление публикации:
webinst -delete websrv -wsdir VirtualDir [-dir Dir] [-connstr connStr] [-confPath confPath]
Удаление публикации по существующему vrd файлу:
webinst -delete websrv [-wsdir VirtualDir] -descriptor vrdPath [-dir Dir] [-connstr connStr] [-confPath confPath]
Ключи:
-publish: опубликовать, ключ по умолчанию
-delete: удалить публикацию
websrv
-apache2: публикация Веб-клиента для Apache 2.0
-apache22: публикация Веб-клиента для Apache 2.2
-wsdir VirtualDir: виртуальный каталог
-dir Dir: физический каталог, в который будет отображен виртуальный
-descriptor vrdPath: путь к существующему vrd файлу
-connstr connStr: строка соединения ИБ
-confPath confPath: полный путь к конфигурационному файлу
Пример строки для публикации базы:
./webinst -apache22 -wsdir test -dir /wwwroot/TestPub -connstr «Srvr=10.7.12.108;Ref=test;» -confPath /etc/apache2/httpd.conf
Разберем мой случай:
«./webinst» — запуск на исполнение
«-apache22» — публикуем на апаче
«-wsdir test» — имя, по которому будет доступна ваша база из-вне, в данном случае адрес будет выглядеть http://ВашИПАдрес/test
«-dir /wwwroot/TestPub» — пусть к папке, где будет располагаться файл default.vrd
«-connstr «Srvr=10.7.12.108;Ref=test;» – строка подключения к информационной базе
«-confPath /etc/apache2/httpd.conf» — путь к конфигурационному файлу апача
Результатом будет «Publication successful»
Нюанс: бился с этой строкой долго. Судя по всему чувствительна к регистру и еще фиг к чему. Единственно что могу порекомендовать – вводить все параметры внимательно.
Нюанс: чуть ранее я упоминал, что с базами в файлом варианте у вас могут быть проблемы. Суть – вы должны расшарить папку базы для линукса. А это само по себе не простое действие. Да и не безопасное.
В результате этого в файле /etc/apache2/httpd.conf (конфигурационный файл апача) будут выполнены следующие изменения:
LoadModule _1cws_module "/opt/1C/v8.3/x86_64/wsap22.so"
# 1c publication
Alias "/test" "/wwwroot/TestPub/"
<Directory "/wwwroot/TestPub/">
AllowOverride All
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor "/wwwroot/TestPub/default.vrd"
</Directory>
А также в папке /wwwroot/TestPub/ мы видим файл default.vrd следующего содержания:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/test"
ib="Srvr=10.7.12.108;Ref=test;"/>
Перезапускаем апач и пробуем подключиться по адресу:
http://ВашВнешнийИПАдрес/test
Для использования веб-сервисов и хттп-сервисов и отладки 1С в файл default.vrd необходимо привести к виду:
<?xml version="1.0" encoding="UTF-8"?>
<point xmlns="http://v8.1c.ru/8.2/virtual-resource-system"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
base="/test"
ib="Srvr=10.7.12.108;Ref=test;">
<debug enable="true"
url="10.7.12.108"/>
<ws pointEnableCommon="false">
<point name="Exchange"
alias="exchange.1cws"
enable="false"/>
<point name="Exchange_2_0_1_6"
alias="exchange_2_0_1_6.1cws"
enable="false"/>
<point name="InterfaceVersion"
alias="InterfaceVersion.1cws"
enable="false"/>
<point name="DataTransfer"
alias="DataTransfer.1cws"
enable="true"/>
</ws>
<httpServices>
<service name="GetString"
rootUrl="main"
enable="true"/>
</httpServices>
</point>
Нюанс: в разделе
<debug enable="true"
url="10.7.12.108"/>
мы указываем, на каком компьютере искать предметы отладки. Так вот. Строка подключения конфигуратора (в котором будет ловить отладку) – должна быть тоже «srvr=10.7.12.108;ref=test;», т.е. подключения конфигуратора к базе должно быть тоже по ип.
Ну вот и все. Уверен у вас получится повторить этот эксперимент. А если нет – то гугл ответит на 90% ваших вопросов. А если и он не поможет – спрашивайте здесь)
Каким хостингом пользовались?
Хочется сначала на тестовом сервере опробовать.
Флопс.ру
Записал в блокнотик. Спасибо.
был опыт настройки web сервиса, хотели с планшета 1с-ку запустить, теперь ясно где мы прокололись((
Насколько помню nginx это веб сервер, так же как и апач. Так что не удивительно, что он так же занимал 80 порт. За статью спасибо.
(5) ronhard, так и есть. просто он был в списке предустановленных и я на это не обратил внимание (не знал что это). а так как я хотел именно на апаче, nginx был для меня лишним
Запустил все по инструкции. Только столкнулся с тем, что имя базы было на русском, еще из двух слов)). Естественно, что ничего сразу не заработало. Решение такое — в месте команды публикации -«-connstr «Srvr=10.7.12.108;Ref=test;» – строка подключения к информационной базе надо написать так. «-connstr «Srvr=10.7.12.108;Ref=’Имя мой базы’;» – строка подключения к информационной базе. Все заработало.
(7) Romany, спасибо за полезный комментарий)
Спасибо большое за труды!
Всем привет!
Развернул похожую систему на ubuntu-14.04.1-server-i386.
1С сервер 8.3.5.1336
Работает отлично
Хочу добавить несколько ньюансов
для теста ставил 1с и «Апач» на одном сервере.
1- Правельная настройка сетевых имен
Начнем с файла /etc/hosts, для того чтобы 1с-ка правильно создала свои конфиги из него нужно убрать любое упоминание об IPv6 и правильно задать соотношение IP адреса и имени сервера.
127.0.0.1 localhost
192.168.15.3 ubsrv.mydomain.local your-web-server
# The following lines are desirable for IPv6 capable hosts
#::1 localhost ip6-localhost ip6-loopback
#ff02::1 ip6-allnodes
#ff02::2 ip6-allrouters
Проверяем содержимое файла /etc/hostname после редактирования : your-web-server
После этих действий нужно перезагрузить сервер или выполнить:
/etc/init.d/hostname restart
И выполнить 2 команды:
hostname
hostname -f
Если всё правильно, система должна выдать одинаковые имена в обоих случаях: your-web-server
ставим набор «джентельмена»
пакеты
apt-get install libt1-5 t1utils imagemagick ttf-mscorefonts-installer
Дополнительн ищем на просторах нета
dpkg -i ttf2pt1_3.4.4-1.4_i386.deb
ставим сервер 1С
tar zxf 8.3.5.1336_deb.tar.gz
dpkg -i 1c-enterprise83-common_8.3.5-1336_i386.deb 1c-enterprise83-server_8.3.5-1336_i386.deb 1c-enterprise83-ws_8.3.5-1336_i386.deb
даунгрейтим Апач до версии 2.2
Создаем файл /etc/apt/preferences.d/apache22 с содержимым:
http://ru.archive.ubuntu.com/ubuntu/ precise main
Package: apache*
Pin: release a=precise
Pin-Priority: 500
Создаем файл ubuntu1204.list в папке /etc/apt/sources.list.d/ubuntu1204.list с содержимым:
deb
Далее выполняем
apt-get update
apt-get dist-upgrade
apt-get install apache2
Публикуем базу как описано в статье
/opt/1C/v8.3/i386/webinst -apache22 -wsdir test -dir /mnt/www/TestPub -connstr «Srvr= your-web-server;Ref=WebTest;» -confPath /etc/apache2/httpd.conf
перезапускаем
service apache2 restart
и вуаля -все работает 😉
Подскажите пжлникак не пойму. Мы с сис админом настроили связку апач на линуксе — 1С на виндовс. Как по статье.
Как я понял из статьи ничего публиковать из 1С на виндовс не нужно ибо файл с публикой defauld.vrd лежит на линуксе под ту часть 1С чтомыустанавливали отдельно под линукс. Там мы прописали
<?xml version=»1.0″ encoding=»UTF-8″?>
<point xmlns=»http://v8.1c.ru/8.3/virtual-resource-system»
xmlns:xs=»http://www.w3.org/2001/XMLSchema»
xmlns:xsi=»http://www.w3.org/2001/XMLSchema-instance»
base=»/cat»
ib=»Srvr=’109.10.10.122:1641′; Ref=’DB_TE’; Usr=’***’; Pwd=’***’;»>
все 1С-ка по ссылке открывается, профит.
Теперь в базу что на 1Свиндовс дописал простенький веб-сервис HelloWorld, иду на линукс в наш файлик default.vrd дописываю далее к пред тексту
<debug enable=»true»
url=»109.10.10.122:1641″/>
<ws pointEnableCommon=»false»>
<point name=»HelloWorld»
alias=»ws1.1cws»
enable=»true»/>
</ws>
</point>
все после этого и ссылка 1С не открывается и веб сервис не работает, что я делаю не так ?
Кстати если из1С-виндовсе нажать на Администрирование — публикация на веб-сервере пишет webсервер не обнаружен
приведите полносью текст файла врд.
все верно, ведь в том окружении где запущен конфигуратор (а именно виндус) — вебсервера нет — он установлен на соседнем сервере на линуксе.
у вас порядок закрытия тегов нарушен
<point
</ws>
</point>
Спасибо, но все равно не пашет, пишет
Error loading [http://109.10.10.122:1641/cat/ws/HelloWorld?wsdl ]: org.apache.xmlbeans.XmlException: org.apache.xmlbeans.XmlException: error: Unexpected element: TAG_END
И еще момент нужно ли апач после смены vrd файла рестартить ?
(14) siyayushhijasinxral@mail.ru,
да, перезапускать нужно.
приведите текст файла врд
Доброго времени суток всем! На днях столкнулся со следующей проблемой.
У меня есть три сервера, на всех установлена Ubuntu 12.04 и соответственно по ним распределены СУБД PostgreSQL 9.3 от 1С, сервер 1С Предприятие 8.3.6 и Web сервер Apache 2.2. Схема похожа на описанную автором.
Публикую на Apache web сервер информационную базу , ws и hs сервисы конфигурации по описанной методике.
В результате база через web клиент работает превосходно, но ws и hs сервисы apache не видит!!!
Что примечательно, при расположении сервера 1С и apache на одном сервере при абсолютно тех же настройках публикации все работает отлично!
Если возникала похожая проблема, поделитесь решением! Заранее благодарен!
Есть интересная статья с пошаговой инструкцией по установке 1С 8.3 на Ubuntu.
http://документооборот.net/faq/1s-doc-postgre-sql-vps.html
Может кому-то пригодится:
(17) GregRusakov, статья сумбурная и содержит кучу неточностей и недостатков. Видно, что автор плохо знает линукс. Много избыточных команд, а способ понижения версии apache вообще не выдерживает критики — это будет работать до первого обновления. Также есть вопросы по Postgres, сборка от 1С прибита гвоздями к libicu48 и с libicu52 работать не будет. Ну и рекомендации, если не заработало, то снесите все и установите заново — улыбают.
А как интерфейс OData опубликовать?
(19) starik-2005,
Присоединяюсь к вопросу. Хотелось бы узнать тоже.
(20) andrey314, все просто:
<service name=»HSWS»
rootUrl=»HSWS»
enable=»true»/>
</httpServices>
Дальше хост/база/hs/HSWS/параметр1/параметр2/параметр3?пар1=ххх?пар2=ууу?пар3=zzz…
(19) starik-2005,
В файле default.vrd соответствует атрибуту enableStandardOData элемента point.
укажите enableStandardOData=»true»
Доброе время суток!
Нужна помощь с публикацией базы данных на Windows server R2 2008 + Apache 2.2. 1С сервер крутится на другом серваке вместе с SQL. Поднимали отдельный сервер для публикации.
Все сделано и запускается, но при аутентификации в окне 1С открытое через браузер появляется ошибка: МодульСеанса(65):Вам не разрешен доступ к программе через веб-сервер (имя сервера) Обратитесь к администратору.
Буду признателен за помощь.
(23) так закомментируйте эту строку и все 🙂 это же на уровне кода 1С сообщение
Спасибо.
публикую веб сервис, сделал все по инструкции, порт ничем не занят, апачь отвечает, а публикация не работает, ошибка:
1C:Enterprise 8 application error:
Ошибка установки соединения
by reason:
server_addr=tcp://192.168.1.10:8585 descr=Сервер недоступен (Не отвечает, завершается аварийно или порт занят другим приложением) line=1073 file=./src/DataExchangeTcpClientImpl.cpp
Строка публикацииhttp://192.168.1.10:8585/ws/web.1cws
На сайте «CentOS Wiki» есть аналогичная статья «Публикация базы данных 1С Предприятия на WEB сервере Apache»
Читал кто-нибудь?
По-моему там четко и кратко
(27) дайте ссылку
(28)http://centos.name/?page/howto/v8.1c
но там все-таки о rpm-based, а здесь о семействе debian
Спасибо автору, публикация Ильдара мне реально помогла.
Долго искал у себя ошибку. И смог ее найти только когда стал по пунктам сверять свои настройки с приведенными в статье. Как оказалось, в файле default.vrd, в строке соединения (параметр «ib=…») поставил «:» вместо «;»
(26)
Если порт сервера 1С не стандартный то напиши так ‘Server1Cv83:3541’
./webinst -apache24 -wsdir demo -dir /var/www/demo -connstr «Srvr=’Server1Cv83:3541′;Ref=’Demo_Base’;» -confPath /etc/apache2/apache2.conf
+(26) И в брендмауэре Виндовс открой соответствующие порты. Например 3540,3541,3560-3591
Подскажите, что делать в этом случае:
apache2: Syntax error on line 238 of /etc/apache2/apache2.conf: API module structure ‘_1cws_module’ in file /opt/1C/v8.3/x86_64/wsapch2.so is garbled — expected signature 41503232 but saw 41503230 — perhaps this is not an Apache module DSO, or was compiled for a different Apache version?
Action ‘configtest’ failed.
Apache версии 2.2 — даунгрейдил с 2.4, публикация выполнилась успешно.
(33)
Все, починил.
(34) с вас 10 стартманей за ложный вызов)
(35) Столько нет. Но за публикацию проголосовал.
Настроил все по инструкции, содержимое файлов проверил — похоже на то, что в публикации.
Но при попытке открытия страницы 192.168.1.2/<имя_моей_публикации> получаю: Unhandled request!
При этом 192.168.1.2:8080 открывается.
Что еще посмотреть, чтобы заработало?
Если у вас веб-сервер работает на 8080, то и базу нужно искать тоже там, а не на 80. Т.е. 192.168.1.2.:8080/<имя публикации>
Можно вопрос в тему: как узнать URL для перехода по нему к веб-сервису 1С, можно с примером, напрмиер вот данные для публикации, БД была опубликована, но что набрать в строке адреса, вот данные: 1СServ admin/admin имя БД 1cTorg?
(38)http://infostart.ru/public/516653/
(23) Если в настройках программы (Права доступа) стоит «Ограничивать доступ
через веб сервер», то в карточке пользователя надо указать веб сервер в
поле «Разрешенные веб серверы».
Доброго времени суток господа! Поскажите пожалуйста, в какую сторону копать, уже не знаю что делать. Выходить следующая ошибка: Infobase not found.
Вроде делаю все по инструкции, но все равно получаю ошибку. Помагите пожалуйста, буду очень презнателен. Спасибо
То что вы видите сообщение «Infobase not found» говорит о том, что до сервера вы достучались, попросили базу с именем «1с», но сервер 1С такую базу у себя в списке баз не нашел. Может быть она у вас по другому называется? Или вы перепутали ИП и на самом деле попадаете на тот сервер 1С где этой базы нет? Как вариант — попробуйте посмотреть лог сервера 1С, какие коннекты к серверу были и какие события.
(43)Добрый день Ильдар! Во первых спасибо, что ответили. Вы правильно подметили, база она не создана т.е. ее нету. Я конечно извиняюсь, я только только внекаю в 1С и я думал, что 1С будет управлять базой динамически, т.е. манипуляции (CREATE *, INSERT… т.д. и т.п.) будут управляться из прослойки 1С. Одним словом я новичок и если вам не трудно, подскажите пожалуйста, в какую сторону мне копать? Спасибо огромное за наводку. Кстати, хочу подметить, что я сервер поднимал по аналогичной схемеhttps://infostart.ru/public/303420/ и хочу подчеркнуть, что не было там упомянуто о том, что нужно создать базу для начало.
(44) вообще к публикации на веб-сервере, особенно в случае когда сервер 1С на win, а веб-сервис на linux на ранних стадиях изучения 1С обычно не приступают)))
мне так будет сложно подсказать, не знаю что и как вы делаете, и что и как ходите получить.
(44) Непонятно, что вы вообще делаете и что хотите получить.
База данных СУБД и информационная база 1С — разные сущности.
Основная из них, с которой вы будете работать — это информационная база 1С, она может хранить свои данные в БД СУБД, при необходимости 1С умеет сама создавать базу данных или работать с уже готовой. Доступ в СУБД в обход прослойки 1С категорически не рекомендуется на официальном уровне.
Веб-сервер — это один из способов доступа к уже существующей информационной базе, аналогичный тонкому или толстому клиенту. Если ИБ не существует — то веб-клиент просто сообщит об этом, создавать новую базу он не умеет.
И вообще, начинать с публикации базы на веб-сервере не самая лучшая идея для начинающего. Здесь еще хотелось бы кинуть камень в огород авторов такого рода инструкций, которые составляют их так, что складывается впечатление, что веб-сервер является неотъемлемой частью сервера 1С. На самом деле это просто еще один способ доступа к базе и далеко не самый лучший.
(46)Спасибо за емкий ответ. Я прошу прощения за примитивную формулировку вопроса. Андрей, не подскажите, с чего мне начинать изучать администрирования 1с и что читать? Спасибо за ответ
(45)Ильдар спасибо, что ответили. Расклад следующий: 2 сервер (центос и дебиан) на центосе установлен субд и сам 1с (ровным счетом так и есть) на втором установлен веб сервер и 1с сервер и в настройках виртуального сервера указан линк на центос —>> ib=»Srvr=111.111.111.111;Ref=1c;»/> (111 адрес сервера центрос). На уровне передачи данных правила для фейрвола прописаны и покеты без проблем бегают в обе стороны. Как Андрей подметил, информационная базу при установке не создается. Я просто не знаю с чего начинать, и в какую сторону копать…
Почитайте материалы на моем сайте, начните сhttps://interface31.ru/tech_it/2012/01/server-1s-predpriyatie-chast-1—obshie-voprosy.html (материал хоть довольно старый, но принципиально с тех пор ничего не поменялось). Затем можете переходить к практическим реализациям, про это у нас тоже довольно много материалов: https://interface31.ru/tech_it/1s-predprijatie-8x/
(48) Запустите на любой рабочей станции клиент 1С и создайте с его помощью информационную базу 1С, указав что она расположена на сервере. Кроме того, указание сервера по IP — не самая лучшая практика, указывайте по имени хоста.
Еще замечание, с чем связан «зоопарк» применяемых ОС? Хотя и CentOS и Debian — Linuх, приемы администрирования в этих семействах различны, как и используемые системные инструменты. Если вы хотите профессионально работать с Linux — выберите для себя какое-то одно семейство и работайте с ним. В философии UNIX есть один очень хороший принцип: каждая программа должна делать что-то одно, но делать это хорошо.
(49)Андрей огромное спасибо за сслыки, очень презнателен я вам. Я обязатеьно гляну, найду время и почитаю ОБЯЗАТЕЛЬНО.
Тут я тему закрою так как, пробему уже решили.
Позволю себе сделать некоторые уточнения.
1. mc — Midnight Commander — аналог far manager
2. Сервер apache, в случае отсутствия, устанавливается командой «apt-get install apache2». Так как зачастую он не предустановлен. Тестил на платформе 8.3.10.2667 и apache2.4 — даунгрейд не потребовался.
3. Чтобы установить deb-пакет не нужно его распаковывать. Достаточно воспользоваться командой «dpkg -i имя_пакета.deb». А то уж совсем как-то не по-человечески это.
4. Файл hosts правил, но смысла не уловил, так как в конфигах все равно обращение по ip сделано. А обычно смысл такой, что используется сетевое имя машины, а по файлу hosts происходит сопоставление этого имени с ip.
5. Ну и для нормальной реализации на продакшене я бы дописал настройку ssl для безопасного подключения к базе.
Доброго времени суток.
Если я правильно понял из статьи, то такая связка работает, если сервер 1С и веб-сервер находятся в одной сети.
А возможно ли опубликовать базу на удаленном хостинге (есть в аренде хостинг на timeweb.com)?
(54) Если база клиент-серверная — то можно, вам также потребуется VPN между хостингом и локальной сетью. Другой вопрос — как все это будет работать. Веб-сервер — это однопоточный клиент для сервера 1С, т.е. все запросы клиентов ставятся в одну очередь, также следует учесть качество канала между сервером 1С и хостингом. В зависимости от многих условий результат может оказаться различным.
Хотя у нас есть вполне успешно работающие в тонком клиенте через VPN заказчики. Полет вполне нормальный.
Но я бы сделал по другому, веб-сервер развернул бы в локальной сети, а на хостинге поставил бы NGINX и проксировал бы через него запросы на Apache.
(55) Нам нужно опубликовать для поднятия HTTP-сервисов, поэтому ограничения в один поток не должно повлиять на работу.
Спасибо за помощь!
Блиин помогите. все перелопатил. милион раз. Но так и не получилось все сделать чтобы работало.. Если устанавливаю апач2.2. публикую естессно через /opt/1C/v8.3/i386/webinst -apache22 — то появляется на месте базы голая непонятная рамка с менюшками. А базы нет.
если же ставлю апач 2.4. и публикую webinst -apache24 — то выдает ошибку о краше wsap24.so
Ну что такое. .че за. сколько видео смотрел.. теже команды все четко и у народа базу видно. А у меня после публикации — хер.
(57) Выполните:
dpkg -l | grep apache2
apt policy apache2
результат сюда.
(59) Не вводите людей в заблуждение. apt-get update обновляет список пакетов в репозиториях, а apt-get upgrade обновляет сами пакеты и выполнять их нужно именно последовательно. Подробнее про работу с пакетным менеджером смотрите здесь:https://interface31.ru/tech_it/2019/09/linux-nachinayushhim-chast-5-upravlenie-paketami.html
(60) Вы правы, это я неправильно понял, а не автор и посоветовавший ему админ 🙂