Публикация мобильной конфигурации на web-сервере Apache на Linux Ubuntu

Публикация мобильной конфигурации на web-сервере Apache на Linux

В продолжение статьи «Публикация базы 1С на веб-сервере Apache на сервере Linux» (//infostart.ru/public/303420/) расскажу как опубликовать мобильную конфигурацию на web-сервере Apache на операционной системе Linux (Ubuntu).

Что нам для этого понадобится:

1. Сервер (А) на Ubuntu, установленный Apache и платформа 1С 8.3 (как это сделать рассказано в изначальной публикации)

2. Сервер (В) на Windows, с установленной 1С и настроенными портами (как указано в изначальной публикации), конфигурация для мобильного приложения.

 

Что делаем (действия выполняемые на сервере А):

 

1. На сервере А создаем папку «shared’ в корне. В папке Shared создадим каталог для публикации конкретной мобильной конфигурации — «testma». Итоговый пусть к папке будет /shared/testma

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

2. Для расшаривания папки устанавливаем пакет samba:

    apt-get install samba

3. В файле /etc/samba/smb.conf прописываем общий доступ к нашей папке

   [shara_name]
   comment = comment_to_share
   path = /shared/share
   read only = no
   locking = no
   guest ok = yes
   browseable = yes

где shara_name — это имя папки, которая будет доступна по адресу \ВнутреннийИПСервераАshara_name. Фактически имена вашей папки на сервере А и имя, под которым она будет доступна на сервере В могут отличаться.

4. Перезапускаем службу samba

   service smbd restart

5. Даем права на папку публикации мобильной конфигурации:

   chmod 777 /shares/testma

6. В конфигурационном файле Apache /etc/apache2/httpd.conf прописываем публикацию нашей мобильной конфигурации :

# 1c publication
Alias "/testma" "/shared/testma/"
<Directory "/shared/testma/">
AllowOverride All
Options None
Order allow,deny
Allow from all
DirectoryIndex 1cema.xml
</Directory>

Что делаем (действия выполняемые на сервере В):

7. Создаем папку на сервере В c:public estma

8. В папке c:public estma создаем файл public.bat со следующим содержимым:

net use z: \10.7.7.7shared
copy 1cema.xml z:ordersma1cema.xml
@echo off
echo #k8SjZc9Dxk > ma.xml
set D=%DATE%
set T=%TIME%
set DT=%D:~6,4%%D:~3,2%%D:~0,2%%T:~0,2%%T:~3,2%%T:~6,2%
echo #k8SjZc9Dxk >>ma.xml
copy ma.xml z:ordersma1cemarun.xml

9. В конфигураторе нажимаем «Меню — Конфигурация — Мобильное приложение — Записать в файл» — записываем файл 1cema.xml в папку c:public estma

10. Запускаем на исполнение файл c:public estmapublic.bat

Для последующих обновления публикаций и подаче мобильному приложению команды на перезапуск — повторно выполняем п.9 и п.10

Готово!


12 Comments

  1. izofen

    В этом варианте ключи защиты не потребуются?

    Reply
  2. spezc

    Нет, так как фактически выкладывается хмл мобильной конфигурации

    Reply
  3. HaIIpuKoJIe

    А как опубликовать мобильную конфигурацию если и 1с и апач стоят на 1 сервере ubuntu?

    Reply
  4. spezc

    (3) через параметры командной строки /MAWriteFile

    Reply
  5. HaIIpuKoJIe

    (4) А можно по подробнее, к сожалению Ваша статья единственное что я нашел на эту тему, но она не совсем подходит в моем случае.

    Reply
  6. spezc

    увидел в ЛС сообщении о добавлении комментария с вопросом, однако сам комментарий к публикации не вижу. отвечу так, надеюсь автор вопроса увидит:

    судя по всему — вы пытаетесь получить ХМЛ мобильной конфигурации на основе какой-то стандартной конфигурации. Так не получится. В стандартных конфигурациях очень много объектов и методов, которые отсутствуют в мобильной платформе, взять хотя бы ПоказатьОповещениеПользователя. При компиляции происходит проверка, которая и заканчивается ошибками.

    так что меняйте подход к созданию конфигруции (откажитесь от прямой компиляции десктопной конфигурации) или все такие «моменты», которые недоступны на мобильной платформе — заключайте в директивы «MobileAppClient MobileAppServer»

    Reply
  7. spezc

    (3) у вас есть графияческая оболочка? конфигуратор в убунте можете запустить?

    Reply
  8. HaIIpuKoJIe

    (7) Нет у меня ubuntu сервер 14.04 без графической оболочки.

    Reply
  9. spezc

    Для ОС Linux

    Система будет установлена в каталог /opt/1C/v8.3/i386 в случае 32-разрядной версии или в каталог /opt/1C/v8.3/x86_64 в случае 64-разрядной версии (далее будем называть этот каталог корневым каталогом установки). В этом каталоге создаются остальные каталоги и конфигурационные файлы:

    ● conf – данный каталог содержит конфигурационные файлы, необходимые для работы «1С:Предприятия».

    ● docs – данный каталог содержит сопроводительные файлы на русском и английском языках. Состав файлов может меняться от версии к версии.

    ● licenses – содержит лицензионное соглашение на «1С:Предприятие» на русском (файл 1CEnterpise_ru.htm) и английском языках (файл 1CEnterpise_en.htm), а также лицензионные соглашения на используемые программные компоненты сторонних производителей (этот список может меняться от версии к версии).

    ● readme – данный каталог содержит файлы readme на языках локализации платформы.

    ● utils – содержит дополнительные утилиты, предназначенные для настройки сервера «1С:Предприятия».

    1cv8

    Исполняемый файл толстого клиента или конфигуратора.

    Не может запустить тонкий клиент и веб-клиент.

    Расположение файла:

    ● Для ОС Windows: в каталоге исполняемых файлов конкретной версии.

    ● Для ОС Linux: в корневом каталоге установки.

    Параметры командной строки в пакетном режиме запуска конфигуратора

    /MAWriteFile <имя файла> — записывает xml файл мобильного приложения с заданным именем. Возможно предварительное обновление конфигурации базы данных.

    Reply
  10. HaIIpuKoJIe

    (9) К сожалению не пойму чем эта информация может мне помочь. А если установить графическую оболочку можно будет опубликовать мобильную конфигурацию через конфигуратор?

    Reply
  11. spezc

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

    найдите в справке 1С «Параметры командной строки в пакетном режиме запуска конфигуратора»

    в вашем случае на линуксе нужно выполнить команду что-то типа этой:

    /opt/1C/v8.3/x86_64/1cv8 /MAWriteFile «/myfolder/myMAconfig.xml

    Reply
  12. HaIIpuKoJIe

    (11) Спасибо за наводку, будем пробовать.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *