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

Дата публикации: 15-06-2011 | Автор: MelfisFettel | Рубрика: , Ubuntu Server

Публикация базы данных 1с на web сервере LinuxВ предыдущей статье я уже писал, как установить сам сервер 1с на Linux. Сегодня опубликуем нашу базу данных на web сервере Apache установленном под Linux. В Windows опубликовать базу данных для доступа через браузер не составляет труда. Достаточно установить IIS или Apache, зайти в конфигуратор 1с и выполнить публикацию нажатием парой кнопок. В Linux все обстоит несколько иначе. Да и к тому же не каждую базу данных можно опубликовать для работы через web. Итак, приступим.

Создаем автоматически подгружаемый модуль для Apache.

В директории автоматически подгружаемых модулей для web сервера Apache создадим файл 1c.config

1
sudo touch /etc/apache2/mods-enabled/1c.config
sudo touch /etc/apache2/mods-enabled/1c.config

Откроем его и запишем в него следующее содержание:

1
2
3
4
5
6
7
8
9
10
LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so"  
Alias "/Test" "/var/www/Test/" 
<Directory "/var/www/Test/"> 
    AllowOverride None 
    Options None 
    Order allow,deny 
    Allow from all 
    SetHandler 1c-application 
    ManagedApplicationDescriptor "/var/www/Test/default.vrd" 
</Directory>
LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so"  
Alias "/Test" "/var/www/Test/" 
<Directory "/var/www/Test/"> 
    AllowOverride None 
    Options None 
    Order allow,deny 
    Allow from all 
    SetHandler 1c-application 
    ManagedApplicationDescriptor "/var/www/Test/default.vrd" 
</Directory>

Обратите внимание на имя Test. Это название каталога, который мы сейчас создадим.

Создаем файл для подключения клиентов

1
sudo mkdir /var/www/Test
sudo mkdir /var/www/Test

и создадим в этом каталоге файл default.vrd

1
sudo touch /var/www/Test/default.vrd
sudo touch /var/www/Test/default.vrd

Он будет содержать следующее:

1
2
3
4
5
6
<?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=tcp://IP адрес вашего сервера;Ref=Имя базы данных в кластере;"/>
<?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=tcp://IP адрес вашего сервера;Ref=Имя базы данных в кластере;"/>

Внимание! Не смотря на то что я все написал в несколько строк, желательно что бы этот текст был размещен на двух строках.

Зададим права доступа к нашему каталогу:

1
sudo chown www-data\: /var/www/Test
sudo chown www-data\: /var/www/Test

И подправим файл hosts находящийся тут /etc/hosts:

Внесем в него данные о нашем сервере если их там еще нет. Например:
Мой сервер имеет IP 192.168.137.127 и имя UberA.

Я запишу в него вот такую строку:
192.168.137.127 UberA

Перезапускаем web сервер Apache:

1
sudo apache2ctl restart
sudo apache2ctl restart

И пробуем обратится к нашей БД из web бразуера набрав в адресной строке

http://IP адрес вашего сервера/ Test

Да, и еще. Для того что бы иметь возможность работать через web браузер с базой данных 1с нужно что бы на вашем сервере был ключ защиты сервера 1с предприятия, и установленные 1c-enterprise82-ws_x.x.xx-xx_xxx.deb, 1c-enterprise82-ws-nls_ x.x.xx-xx_xxx.deb возможно так же пакеты nls из поставки сервера 1с пердприятия.

Так же возможно придется создать каталог для хранения блокировок если его еще нет:

1
sudo mkdir /var/lock/subsys
sudo mkdir /var/lock/subsys
Понравилась статья? Расскажи друзьям:


Комментариев (2)

Как сделать чтобы в инет смотрело несколько баз 1с с одного апача? Одну базу уже запустили, но добавляя следующую, она затирает файл default.vrd.
Добавлял в этот файл ручками директивы не помогает.

Повторить все выше описанное, просто с другими путями. То есть создать новый каталог на вашем Web сервере, и уже в этот каталог записывать файл default.vrd. На пример, у вас есть уже каталог Test в которому опубликована ваша 1с база. Создайте каталог Test2 и запишите в него новый default.vrd.
Попоробуйте написать вот так:

LoadModule _1cws_module «/opt/1C/v8.2/i386/wsap22.so»
Alias «/Test» «/var/www/Test/»
Alias «/Test2″ «/var/www/Test2/»

Directory «/var/www/Test/»
AllowOverride None
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor «/var/www/Test/default.vrd»
/Directory

Directory «/var/www/Test2/»
AllowOverride None
Options None
Order allow,deny
Allow from all
SetHandler 1c-application
ManagedApplicationDescriptor «/var/www/Test2/default.vrd»
Directory

Обратите внимание что в это коде не хватает стрелок! Добавьте их сами.

Обсудить