gifts2017

Настройка удаленного хранилища 1C 8.2 на Apache

Опубликовал 7690255 7690255 (7690255) в раздел Программирование - Практика программирования

 

Столкнулся с необходимостью создать удаленное хралище на Apache, ничего не нашел решил поделиться опытом.

 

 

 


1. Добавляем в конфигурационный файл на Apacha httpd.conf следующий текст.

AddHandler 1cws-process .1ccr

# 1c publication

Alias "/Storage" "E:/Storage-1C/"

        E:/Storage-1C/">

        DirectorySlash Off

        SetHandler 1cws-process

        Allow from all

 

где E:/Storage-1C/ путь к корню нашего хранилища.

 

2. Создаем сервис , переходим с каталог 1С у меня это C:\Program Files (x86)\1cv82\8.2.11.236\bin и набираем текст в низу , у Вас должен зарегистрироваться новый сервис

crserver -instsrvc -d e:\storage-1c\

где E:/Storage-1C/ путь к корню нашего хранилища.

Запускаем сервис ...

 

3. Создаем файл , я его назвал repository.1ccr - имя любое расширение обязательно .1ccr

Со следующим текстом.

<?xml version="1.0" encoding="UTF-8"?>

<repository connectString="tcp://it735"/> 

 

Имя it735 - это имя вашего компьютера , соответственно он должен на него откликаться по pingу

4.Создадим новое хранилище...

Выбираем в конфигураторе создать хранилище 

Указываем строку или через TCP если вы находитесь в одной подсети или через WEB

1. tcp://it735/Имя Вашей Конфигурации

2. http://X.X.X.X/Storage/repository.1ccr/Имя Вашей Конфигурации

 

 

5. Заходим в конфигуратор и задаем путь к хранилищу который мы описали выше.

                1. tcp://it735/Имя Вашей Конфигурации

                2. http://X.X.X.X/Storage/repository.1ccr/Имя Вашей Конфигурации

 

Работем, удачи…

 

 

См. также

Подписаться Добавить вознаграждение
Комментарии
1. gilv (Gilev.Vyacheslav) 26.09.10 14:03
2. 7690255 7690255 (7690255) 26.09.10 15:40
:D Речь шла про Apache, а то количество ссылок достойных людей
, которые потратили свое время писавши их, могут эту стаью только дополнить.
3. Виктория Коршанова (Chif13) 26.09.10 20:37
(1) gilev, я все кончно понимаю, но это уже не первый раз, когда вы пытаетесь упрекнуть людей, пытающихся поделиться СВОИМ опытом в том, что Вы (несомненно умный человек) написали эти статьи вперед. Есть понятия как "конкуренция" и "альтернатива", будьте добры давать людям высказывать и рассказывать про свой опыт, а не тыкать их носом в свои статьи. Можно было бы поступить корректней и просто указать ссылки на свои статьи как альтернативу или дополнение, высказать обоснованное замечание, это больше соответсвует действиям умного человека, чем то как действуете Вы. С уважением, Chif13
CocoNut; Itilive.ru; CITRUM; dour-dead; kolja24; DanilaDru; comol; netmorpheusua; Istur; artbear; w-divin; Asdam; +12 1 Ответить 1
4. fastwriter (fastwriter) 27.09.10 08:28
За Apache - однозначный плюс. Да и вообще, статья полезная.
5. Сергей Лунев (luns) 27.09.10 08:44
(1) тоже кстати не понял, где там по ссылка есть подобная инфа?
слова "хранилище конфигурации" встречаются это правда.
ссылки на другие ресурсы есть (может там инфа?).
но статьи на инфостарте про настройку апача не нашел.
так что думаю что в (3) очень правильную мысль выразили.
6. Александр Мякотин (alex_77) 27.09.10 11:20
Под linux, кто нибуть делал?
7. Антон (anton.fly7) 27.09.10 12:29
Привет
у меня почему то некорректно отражается текст, который надо писать в httpd.conf
а текст для repository.1ccr вообще не видно...
8. Peter Metelkin (iiceberg) 27.09.10 14:15
:?:
Господа, а есть ли у кого инфа по сабжу, но для OS Linux?
9. Квачан Виктор (Zealot) 03.10.10 00:43
Уважаемый автор, некорректно описаный код для вставки в apache (прикрепите свой апач-конфиг, тот кусок который относится к описанному выше) + не видно в статье что писать в файле repository.1ccr !
10. 7690255 7690255 (7690255) 03.10.10 08:43
Zealot - Стасибо за замечание поправилв статье.
11. Евгений Юртайкин (yrtyevg) 03.10.10 16:03
да и в п.1 косяки неплохо бы исправить.
12. desty (lustin) 11.10.10 14:07
делюсь маленьким почти howto проверенным на Centos :)

установить следующие rpm файлы


/home/desty# ls
1C_Enterprise82-common-8.2.12-87.i386.rpm 1C_Enterprise82-crs-8.2.12-87.i386.rpm 1C_Enterprise82-server-8.2.12-87.i386.rpm 1C_Enterprise82-ws-8.2.12-87.i386.rpm
/home/desty# rpm -i ./*.rpm


создадим простенький скрипт автозапуска сервера репозитория


/home/desty# nano /etc/init.d/crserver1c82


вставим туда следующие строчки

#!/bin/bash


start() {
        echo -n "Starting crserver: "
        cd /opt/1C/v8.2/i386
        ./crserver -d /opt/repos -daemon
        echo "done."
}

stop() {
        echo -n "Shutting down crserver: "
        killall crserver
        echo "done."
}

case "$1" in
        start)
                start
        ;;
        stop)
                stop
        ;;
        restart)
                stop
                sleep 10
        start
        ;;
        *)
                echo "Usage: $0 {start|stop|restart}"
        esac
exit 0
...Показать Скрыть



создадим каталог репозитория и файлик со строкой соединения


/home/desty# mkdir /opt/repos
/home/desty# nano /opt/repos/repository.1ccr


в файлик repository.1ccr добавим

<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://localhost"/>


запустим наш сервер - пущай работает
/home/desty# /etc/init.d/crserver1c82 start



переходим к Apache 2.2
сделаем дополнительный файл конфигурации


/home/desty# nano /etc/httpd/conf.d/onecrepos.conf


рабочий "конфиг" выглядит так:

LoadModule _1cws_module /opt/1C/v8.2/i386/wsap22.so

AddHandler _1cws_module .1ccr

Alias /repos /opt/repos/
<Directory /opt/repos>
   DirectorySlash Off
   SetHandler 1cws-process
   Allow from all
</Directory>
...Показать Скрыть


последний штрих:


/home/desty# /etc/init.d/httpd configtest
/home/desty# /etc/init.d/httpd restart


в случае такой конфигурации адрес создания хранилища в Конфигураторе будет выглядеть так:



P.S. Скрипт автозапуска сервера репозитория необходимо конечно же немного допилить, однако оно работает
vitug; comol; balashov; zfilin; +4 Ответить
13. Дмитрий Переверзев (webdimon) 19.10.10 16:22
E:/Storage-1C/"> - почему только одна кавычка?

Имя Вашей Конфигурации - в какой момент указывается ? Где?
E:/Storage-1C/ - путь к самой базе? или к каталогу web публикации?
repository.1ccr - где данный файл надо создать?

Сыро написано, не понятно!
14. Дмитрий Переверзев (webdimon) 19.10.10 16:43
Ответьте на мои вопросы.
В момент подключения пишет вот что
Неклассифицированная ошибка работы с хранилищем конфигурации.
по причине:
HTTP: Internal server error
Ошибка при работе с ресурсом
15. Павел Кучеренко (NCCSOFT) 21.12.10 23:19
Автор спешил, но в целом молодец!

Вот моя версия его публикации :D

1) В конце файла "httpd.conf" добавляем "символ в символ"
"C:/Www/Web/NCC/1c/" - любая пустая папка ХРАНИЛИЩА (тут и далее)
(например, "1cws-process .1ccr" - это не файл!!! и перед "точкой" ОДИН ИЛИ НЕСКОЛЬКО ПРОБЕЛОВ!!!):
LoadModule _1cws_module "C:\Program Files\1cv82\8.2.12.96\bin\wsap22.dll" 
AddHandler 1cws-process .1ccr

Alias /storage "C:/Www/Web/NCC/1c/" 
<Location "C:/Www/Web/NCC/1c/">
        DirectorySlash Off
        SetHandler 1cws-process
        Allow from all
</Location>	
...Показать Скрыть

Перезапускам апач! Если есть ошибки, то вы упустили какой-то символ или папку не создали...

2) Устанавливаем сервис хранилищ. Папка ХРАНИЛИЩА та же, что указывали в апаче,
но, на всякий случай, все слеши обратные:

Заходим в папку с 1С 8.2 - "C:\Program Files\1cv82\8.2.12.96\bin\.." и запускаем:
crserver -instsrvc -d C:\Www\Web\NCC\1c\

Если "crserver" не найден, то вы не установили дополнительные компоненты:
"Сервер хранилища конфигураций" и "Модули расширения веб-сервера"
В "Панель управления" -> "Установка и удаление программ" -> "1С 8.2" ->
"Изменить" -> Добавляем эти компоненты.

3) Запускаем этот сервис "в службах" -> "1C:Enterprise 8.2 Configuration Repository Server" -> "Пуск"

4) Создаем файл "repository.1ccr" в папке ХРАНИЛИЩА с содержимым
("pavel" - имя вашего компа, или IP-адрес вашего компа):
<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://pavel"/> 

5) Заходим "Конфигурация" -> "Хранилище конфигурации" -> "Создать хранилище" ->
"Да, включить возможность изменение конфиги :-)" ... ждем...

Указываем строку через tcp:
tcp://pavel/torg
или через http (думаю так лучше):
http://192.168.15.16/storage/repository.1ccr/torg
...Показать Скрыть

где "pavel" - имя компа, у которого IP-адрес "192.168.15.16"
"torg" - имя вашей конфигурации (создайте ПУСТУЮ папку с этим именем внутри папки ХРАНИЛИЩА)

"Администратор" - без пароля "Далее" ... Ждем долго! пока соберет всю информацию о конфиге и развернет...

"Подключиться к созданному хранилищу?" -> "Да"
"Закрыть конфигурацию" -> "Открыть конфигурацию" -> и вы увидете ранее заданный путь:

Попробуем:
"Концигурация" -> "Обновить конфигурацию" -> "Закрыть конфигурацию" -> "Открыть конфигурацию"

И поменяем пароль:
"Хранилище конфигурации" -> "Администрирование хранилища" -> "Изменить"
(зеленый карандаш на выделенной строке "Администратор") -> вводим новый пароль и его подтверждение.

--------------
Эту инструкцию написал сразу после установки 8.2 (до этого работал только с 7.7 и 8.2 в глаза не видел)
А поскольку апач у меня уже был установлен, то решил "связать" его с 1С 8.2 - и всё получилось.
Еще не понял что такое "хранилище" и каково его предназначение... Завтра разберусь...
Главное, что связал 8.2 с апачем, надеюсь не зря, и это мне понадобится :-)

Внимание!!! Рекомендую скачать прикрепленный файл с этим же текстом, чтобы у вас не пропали
(как у автора) нужные и необходимые символы!!!!
Прикрепленные файлы:
Описание.txt
CocoNut; Bor_ka; kentavr27; anderson; kolja24; Bukaska; AlX0id; DanilaDru; comol; evgeniyk1@yandex.ru; +10 Ответить
16. Александр Кислицин (alekckuc) 24.10.11 05:45
Все сделал как написано получаю ошибку:
Неклассифицированная ошибка работы с хранилищем конфигурации.
по причине:
HTTP: Forbidden
Ошибка при работе с ресурсом

В логах apacha:
- - [24/Oct/2011:05:46:46 +0400] "POST /storage/repository.1ccr HTTP/1.1" 403 225
может кто подскажет в чем дело ?
17. Валентин Елфимов (ratinc) 04.11.11 21:12
Здесь однозначно имеем дело с ошибкой в настройке апача.
Нужно посмотреть error.log на предмет записи типа client denied by server configuration: D:/hran/repository.1ccr
Обычно такое бывает если пытаешься обратиться к директории которая отличается от корневой для апача
В моем случае для апача версии 2.2 рабочий конфиг приведен ниже
LoadModule _1cws_module "C:/Program Files (x86)/1cv82/8.2.14.519/bin/wsap22.dll"
AddHandler 1cws-process .1ccr
#1c publication
Alias /storage "D:/hran"
<Directory "D:/hran">
AllowOverride All
DirectorySlash off
SetHandler 1cws-process
Order allow,deny
Allow from all
</Directory>

Это работает только в том случае если не переопределялись другие параметры в конфиге.
InquisiTOR; DanilaDru; lexxxus; +3 Ответить
18. Александр Кислицин (alekckuc) 12.11.11 20:38
Ура все заработало помог последний комментарий !!!!!
19. Ксюша (Ksu) 22.01.13 10:21
Спасибо за полезную статью.
Я бы еще обратила внимание на то, что апач критичен к регистру. И если в настройках апача ввели алиас на Storage с большой буквы, то и подключаться надо так же.
20. Александр Капустин (kapustinag) 23.08.13 17:03
(19) Ksu, Не совсем так.
Не Apache чувствителен к регистру, а операционная система или чувствительна к регистру, или нет. То есть, если мы настраиваем Apache на любом Unix-е - регистр очень важно соблюдать. А на Windows - неважно.
21. Валентин Елфимов (ratinc) 24.08.13 00:35
Вы всерьез думаете что девушка настраивает апач и хранилище на юникс-лайк системе?
Если это так, то снимаю шляпу.
А по теме могу сказать что на юниксах в отличие от виндовсов ещё и слеши в написаниях путей к папкам в разные стороны указываются.
Сюда же относятся и маки. Они же тоже на BSD подобной системе построены. Вдруг девушка апач на маковском сервере ставит.
22. Артем Боровлев (borrman) 02.12.13 21:39
Блин.
А у меня по http не работает
по tcp работает, а http - нет
client denied by server configuration: E:/Repository/repos.1ccr
чего ему надо?
в конфе прописал

AllowOverride All
DirectorySlash off
SetHandler 1cws-process
Order allow,deny
Allow from all

права на файл, папки есть
чего ему не хватает?
23. Артем Боровлев (borrman) 02.12.13 21:53
пришлось прописать:
<directory />
AllowOwerride All
Order allow,deny
Allow from all
<directory>

Сервер локальный и без доступа из вне
я так понимаю, если его открывать наружу - то это жуткая дыра, верно?
А без этого не заработало хранилище по http
24. Артем Боровлев (borrman) 03.12.13 10:23
Вот тут

Alias /storage \"C:/Www/Web/NCC/1c/\"
<Location \"C:/Www/Web/NCC/1c/\">
DirectorySlash Off
SetHandler 1cws-process
Allow from all
</Location>


заменил

<Location> на <Directory>
anderson; +1 Ответить