Публикация базы данных 1с предприятия на web сервере Apache
Дата публикации: 15-06-2011 | Автор: MelfisFettel | Рубрика: 1С, Ubuntu Server
В предыдущей статье я уже писал, как установить сам сервер 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
Как сделать чтобы в инет смотрело несколько баз 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
Обратите внимание что в это коде не хватает стрелок! Добавьте их сами.