В моей организации используют конфигурации от 1С. В частности сейчас готовится переход на Бухгалтерию 3.0, которая позволяет работать через веб браузер. Все хорошо, но у нас используется файловый вариант базы расположенный на сервере под управлением UBUNTU 12.04. А для работы Бухгалтерии требуются пакеты серверной части. Но как оказалось, их можно ставить без покупки лицензии на сервер 1С, так как в режиме Веб клиента сервер остается не запущенным, а используются только некоторые библиотеки, входящие в состав пакетов Сервера 1С.

Итак, что нам потребуется?

Подготовим сервер к установке 1С.

Для этого нам нужно установить следующие пакеты:

sudo apt-get install imagemagick libgsf-1-dev ttf-mscorefonts-installer t1utils libt1-5 unixodbc

Так же нужно скачать пакет ttf2pt1 с http://packages.ubuntu.com/hardy/ttf2pt1 и установить в систему. К сожалению его вы не найдете в стандарных репозиториях.

sudo wget http://es.archive.ubuntu.com/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.3_i386.deb
sudo dpkg -i ttf2pt1_3.4.4-1.3_i386.deb

Так же необходимо вручную создать символические ссылки на библиотеки:
libfreetype.so -> libfreetype.so.y.z
libWand.so -> libMagickWand.so.x.x
Узнать место расположения данных библиотек можно, например, следующими
командами:
ldconfig -p | grep freetype
ldconfig -p | grep Wand

У меня ldconfig -p | grep freetype выдал /usr/lib/i386-linux-gnu/libfreetype.so.6

ldconfig -p | Wand выдал /usr/lib/libMagickWand.so.4

Соответственно создаем символические ссылки

sudo ln -s /usr/lib/i386-linux-gnu/libfreetype.so.6 /lib/libfreetype.so
sudo ln -s /usr/lib/libMagickWand.so.4 /lib/libWand.so
sudo ln -s /usr/lib/i386-linux-gnu/libodbc.so.1 /lib/libodbc.so
sudo ln -s /usr/lib/i386-linux-gnu/libglib-2.0.so.0 /lib/libglib-2.0.so
sudo ln -s /usr/lib/libgsf-1.so /lib/libgsf-1.so
sudo ln -s /usr/lib/i386-linux-gnu/libglib-2.0.so /lib/libglib-2.0.so

Ну а далее скачиваем с сайта 1С последнюю версию Технологической платформы 8.2. ( на сегодняшний день 8.2.16.362). 
Качаем Cервер 1С:Предприятия для DEB-based Linux-систем , если у вас 64 нразрядная система, то соответственно Cервер 1С:Предприятия (64-bit) для DEB-based Linux-систем.

Загруженный архив распаковываем в любую папку на вашем сервере. Заходим в него и у станавливаем все пакеты.

После установки идем 

sudo cd /opt/1C/v8.2/i386/utils sudo nano config_server

Придется немного подредактировать скрипт, так как в данной версии он неможет найти библиотеки изза неправильного поиска.
Ошибка звучит как:

./config_server: line 193: [:too many arguments

Для исправления, находим в скрипте функцию CheckLib и вней строку

[ -z "$SYSTEM_LIB_PATH" ] && SYSTEM_LIB_PATH='getLibPath'
и заменяем на
[ -z "$SYSTEM_LIB_PATH" ] && SYSTEM_LIB_PATH=/lib/

Если у вас 64 разрядный сервер 1С то вместо i386 пишем x86_64.
Cкрипт config_server проверит вашу систему на доступность всех библиотек и зависимостей и завершится. Если все сделано правильно, то никаких ошибок не будет.

Далее нам нужно настроить сам сервер для работы в режиме веб клиента.

Во первых, должен быть установлен Apache2

Если его еще нет, ставим

sudo apt-get install apache2

Настраиваем Apache с помощью специальной утилиты входящей в состав дистрибутива сервера 1С "Webinst"

cd /opt/1C/v8.2/i386/ sudo ./webinst –publish -apache22 -wsdir DemoWS -dir "/var/www/DemoWS" -connstr "File=""/opt/my_db/demows"";" -confpath "/etc/apache2/apache2.conf"

Где

-wsdir DemosWS - Виртуальный каталог для веб сервера

-dir "/var/www/DemosWS" - Физический каталог в который отображается виртуальный каталог

-connstr "File=""/opt/my_db/demows"";"  - строка соединения с информационной базой(в папке "demows" должна находиться база)

-confpath /etc/apache2/apache.conf - конфигурационный файл веб-сервера Apache

По окончании работы утилиты все папки и конфиги для веб сервера будут созданы автоматически.

Далее нужно сменить владельца на папки и дать права на чтение пользователю 1С:

sudo chown -R www-data:www-data /var/www/DemosWS
sudo chmod -R 755 /opt/1C
sudo chmod -R 777 /opt/my_db
sudo chown -R usr1cv82:grp1cv82 /opt/1C

То есть нам нужно дать право на чтение каталога исполняемых файлов системы «1C:Предприятие» (/opt/1C/v8.2/i386/ для 32-разрядной версии или /opt/1C/v8.2/x86-64/ для 64-разрядной версии) и дать права на модификацию пользователю, от лица которого работает веб-сервер, на каталог информационной базы (только в случае файлового варианта).
Ну а владельца меняем, так как папка DemosWS создавалась из под root'а.

Доступ к конфигурации будет по адресу ваш_сервер/DemosWS

Веб клиент 1С бухгалтерии 3.0 на Ubuntu 12.04 Mozilla Firefox

Add comment


Security code
Refresh

Comments   

0 # Yaros 2012-12-06 16:54
Вот это:
sudo ln -s /usr/lib/i386-l inux-gnu/libgli b-2.0.so.0 /lib/libglib-2.0.so
явно противоречит вот этому:
sudo ln -s /usr/lib/i386-l inux-gnu/libgli b-2.0.so /lib/libglib-2.0.so
Но все заработало без первой ссылки.
Reply | Reply with quote | Quote
0 # Yaros 2012-12-05 15:16
Огромное спасибо!!! :-)
Reply | Reply with quote | Quote
0 # Alexey 2012-09-12 08:18
Выдает ошибку при команде "./config_serve r" ls: невозможно получить доступ к /lib/libc-*.so: Нет такого файла или каталога

Что можно предпринять?
Reply | Reply with quote | Quote
0 # Super User 2012-09-12 08:25
Есть ли по указонному пути файл libc-*.so?
У меня лежит ссылка на libc-2.15.so
Reply | Reply with quote | Quote
0 # Igor 2012-09-05 14:05
Как с производительно стью в таком режиме?
Как я понял, база остается в файловом варианте...И сервер должен быть развернут на той же машине, где и лежит база?
Reply | Reply with quote | Quote
0 # Super User 2012-09-07 14:14
По производительно сти пока сказать ничего не могу, пока делал только на тестовом сервере. Но на глаз особо не отличается от обычного режима.
База в файлоаом варианте, и да, сервер должен быть поднят на той же машине. Работать с базой расположенной на др. Сервере не получится.
Reply | Reply with quote | Quote