Очень срочно нужно было развернуть хранилище. Воспользовался своей же статьей и немного доработал решение для сервера веб-публикаций. Опишу и выложу решение тут
Как развернуть хранилище, если уже работает сервер публикаций apache2, доступный на определенном порту.
Разместим сервер хранилищ на том же сервере, но с отдельным Alias.
- Конфигурационный файл с именем, к примеру, «27.1688.conf» разместил по пути «/etc/apache2/sites-available»;
- Как возможно заметить в листинге файла, я его переделал из стандартного 000-default.conf:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error-27.1688.log
CustomLog ${APACHE_LOG_DIR}/access-27.1688.log combined
AddHandler 1cws-process .1ccr
Alias "/27.1688" "/var/www/html/27.1688"
<Directory "/var/www/html/27.1688">
AllowOverride All
Options None
Require all granted
SetHandler 1cws-process
ManagedApplicationDescriptor /var/www/html/27.1688/main.1ccr
DirectorySlash Off
LimitRequestBody 6442450941
</Directory>
3. Создал каталог /var/www/html/27.1688/ (mkdir /var/www/html/27.1688/) ;
4. В каталоге создал файл «main.1ccr» командой «mcedit /var/www/html/27.1688/main.1ccr» и наполнил его следующим содержимым:
<?xml version="1.0" encoding="UTF-8"?>
<repository connectString="tcp://127.0.0.1:1542/"/>
Запуск службы хранилища конфигураций «crserver»
Я подразумеваю, что в рамках веб-публикации была установлена минимум платформа 1С. Если в каталоге установки, в моем случае «/opt/1cv8/8.3.27.1688/bin», в вашем случае номер платформы может отличаться, не находится файл crserver, то необходимо установить из полного дистрибутива или дистрибутива сервера службу хранилища конфигураций.
Для дальнейших действий скрипт создан с именем «crstart.sh»
#!/bin/bash
CRS1CV8_PORT=1542
CRS1CV8_DATA=/var/www/storage
/opt/1cv8/x86_64/8.3.27.1688/crserver -daemon -port ${CRS1CV8_PORT} -d ${CRS1CV8_DATA}
Скрипт расположен в «/usr/src/crstart.sh». Сделал его исполняемым:
chown 0777 /usr/src/ctstart.sh
Добавим скрипт запуска сервера хранилища в Crontab:
crontab -e
Внесу последней строкой в файл, при этом после последней строки со значением всегда должна быть еще одна пустая строка.
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
@reboot /usr/src/crstart.sh
# в конце этого файла должна быть пустая строка ОБЯЗАТЕЛЬНО!!!
Интересный побочный эффект
Таким образом, создав несколько файлов в каталоге «/etc/apache2/sites-available» со ссылкой на различные платформы, добавив несколько файлов main.1ccr в разные каталоги «/var/www/html/<НомерПлатформы>.<номерРелизаПлатформы>»мы можем запускать различные версии хранилища по версии платформы в одном расположении из скрипта, вызываемого из crontab при загрузке системы
Включение публикации хранилища 1С на сервере apache2
И, в заключении, следующей командой apache2, которая добавляет или убирает публикации, расположенные в файлах виртуальных хостов, включаем публикацию хранилища:
a2ensite 27.1688
Строка для подключения к хранилищу у меня получилась следующая:
http://<ip_адрес_машины>/27.1688/main.1ccr/<уникальное_имя_хранилища
Спасибо за внимание!

