- Linux, Internet технологии, программирование и администрирование 1C
- среда, 29 октября 2014 г.
- Организация сервера хранилища конфигураций 1С на Ubuntu Server 14.04 LTS х86_64
- 11 комментариев:
- Установка хранилища конфигураций на 64х битный linux
- 1C/CRS
- Содержание
- Сервер хранилища конфигураций [ править ]
- Проверено на конфигурациях: [ править ]
- Важные замечания [ править ]
- Установка [ править ]
- Настройка и запуск [ править ]
- Настройка доступа по ftp к файлам хранилища конфигураций [ править ]
- Настройка веб-доступа [ править ]
- Заключение [ править ]
- Скрипт установки сервера хранилища конфигураций на современные версии linux с systemd
- Инструкция и скрипт по установке сервера хранилища конфигураций на linux-сервер с системным менеджером systemd
- Пару слов о необходимости
- Предварительные настройки
- Запуск скрипта установки системного сервиса systemd
- Действия после установки
- Сервер приложений 1С на Linux
- Постановка задачи
- Установка VM CentOS 6(занимает 2-3 минуты):
- Варианты установки 1С:
- Лицензирование:
- Бэкап:
- Постинсталл:
- Выводы:
Linux, Internet технологии, программирование и администрирование 1C
среда, 29 октября 2014 г.
Организация сервера хранилища конфигураций 1С на Ubuntu Server 14.04 LTS х86_64
Качаем i386 сборку необходимого нам дистрибутива (в моем случае это был 8.3.5.1231) и распаковываем, например, в /opt/1C/cr
Создаем скрипт автозапуска сервера хранилища
такого содержания:
ну, соответственно подставляем свои переменные.
И далее все просто:
Сервер хранилища запущен.
Запускаем конфигуратор и создаем новое локальное хранилище с . Копируем его в каталог STORAGES_DIR, указанный в настройках скрипта запуска сервера хранилища. Подключаем полученное хранилище к БД для разработок (tcp:// / ).
11 комментариев:
несколько серверов хранилищ на одной машине в линуксе можно поставить? например, 8.3.3.496 и 8.3.8.1652?
В принципе, да. Распаковать в разные директории, сделать разные скрипты запуска (пути, порты). Не пробовал, но должно работать.
День добрый не могли бы подсказать в какую степь копать.
при запуске журнал выдет следующее
— Начат процесс запуска юнита c1storage.service.
авг 31 18:37:57 1c-storage systemd[1]: c1storage.service: Control process exited, code=exited status=1
авг 31 18:37:57 1c-storage systemd[1]: Failed to start LSB: 1C 8.3 Confiration Storage Server.
— Subject: Ошибка юнита c1storage.service
— Defined-By: systemd
— Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
—
— Произошел сбой юнита c1storage.service.
—
— Результат: failed.
авг 31 18:37:57 1c-storage systemd[1]: c1storage.service: Unit entered failed state.
авг 31 18:37:57 1c-storage systemd[1]: c1storage.service: Failed with result ‘exit-code’.
авг 31 18:39:37 1c-storage systemd[1]: Starting Cleanup of Temporary Directories.
— Subject: Начинается запуск юнита systemd-tmpfiles-clean.service
— Defined-By: systemd
— Support: http://lists.freedesktop.org/mailman/listinfo/systemd-devel
—
но служба вроде как запустилась
tcp 0 0 0.0.0.0:1542 0.0.0.0:* LISTEN 2069/crserver
root 2069 0.0 1.6 96812 33728 ? Ssl 18:37 0:00 /opt/1C/v8.3/i386/crserver -daemon -port 1542 -d /mnt/1C/storage
куда копать , какие логи смотреть,делал все по мануалу ну кроме названия скрипта crserver.система Ubuntu 16.04.3 LTS
Источник
Установка хранилища конфигураций на 64х битный linux
Смотрю на поставки разных версий и вижу что сервер хранилища конфигурации для linux x64 иногда поставляется, а иногда нет.
Нашёл файлы
1C_Enterprise82-crs-8.2.12-80.x86_64.rpm
1C_Enterprise82-crs-nls-8.2.12-80.x86_64.rpm
А вот для релиза 8.2.12.96 и 8.2.13.180 таких файликов нет.
ПРИМЕЧАНИЕ. Сервер хранилища конфигурации является 32-разрядным приложением.
Однако я хочу поднять сервер хранилища на сервере где уже работает 64-х битная 1С. И чудесно взаимодействует с 64-х разрядным апачем.
Кто виноват? Что делать?
На мой вопрос будет ли работать 64х разрядный сервер вместе с 32х разрядным сервером хранилища 1С ответила
Одновременная работа 32-х-битного сервера хранилища вместе с 64-х битным сервером 1С:Предприятия возможна.
А вот использовать 64х сборки где есть сервер хранилища 1С не рекомендовало .
Устанавливал хранилище так:
Поставил сначала 32-х битную версию. Скопировал в сторонку папку / opt/1C/v8.2/i386
Удалил 1С чтобы поставить 64х разрядную.
Поставил 64х разрядную версию
Вернул папку /opt/1C/v8.2/i386 на место.
Запустил сервер 1С и сервер хранилища. Всё работает.
При установке 32х разрядной 1С не создаётся скрипт запуска хранилища. Чтобы сервер хранилища запускался автоматично наваял скрипт crserver для запуска хранилища в качестве сервиса. Скрипт должен лежать тут /etc/init.d Его можно добавить в автозагрузку. В скрипте прописан путь к папке файлов хранилища, порт хранилища. При желании их можно поправить.
запускается сервер хранилища так:
service crserver start
/sbin/service crserver start
Не удалось решить только один вопрос. 32Х разрядное хранилище не будет работать с 64х разрядным апачем. Если нужен доступ по http, то нужно ставить 32х разрядный апач, который должен работать по другим портам чем тот, на котором публикуются web сервисы и web д оступ к базам 1С.
Источник
1C/CRS
Содержание
Сервер хранилища конфигураций [ править ]
Проверено на конфигурациях: [ править ]
- ALT Linux starter kit (Trientalis) i586
- 1С:Предприятие 8.3.5-1248 i386
- 1С:Предприятие 8.2.19-116 i386 (для работы во всех путях в конфигах привиденных в статье исправить 8.3 на 8.2)
Важные замечания [ править ]
- Сервер хранилища конфигураций (crserver) является 32-битным приложением
- В поставках x86_64 иногда встречается crserver, но при этом не рекомендуется к использованию (разработчиком ПО)
Установка [ править ]
Установить сервер хранилища конфигураций можно согласно инструкции по установке сервера 1С
Само приложение находится в пакете 1C_Enterprise83-crs-X.X.X-XXX.i386.rpm и этот пакет обязателен к установке со всеми зависямостями.
Настройка и запуск [ править ]
Создаем пользователя от имени которого будет осуществлен запуск сервере хранилища конфигураций: adduser crsusr
Задаем ему пароль passwd crsusr
Создаем каталог для хранения файлов сервера хранилища конфигураций: su — crsusr -c «mkdir /home/crsusr/crepo»
В отличие от сервера 1С:Предприятие, разработчики не позаботились о создании init-скрипта для данного приложения. Поэтому предлагается использовать следующий скрипт: cat /etc/init.d/crserver
Параметры в скрипте рекомендуемые к изменению:
- Имя и первичная группа пользователя от которого будет запущен скрипт — NAMEUSER, GROUPUSER
- Каталог с файлами хранилища конфигураций — STORAGES_DIR
После добавления init-скрипта делаем его исполняемым chmod +x /etc/init.d/crserver
Добавляем его chkconfig —add crserver
И включаем на автозапуск chkconfig crserver on
Настройка доступа по ftp к файлам хранилища конфигураций [ править ]
Устанавливаетм ftp сервер apt-get install proftpd
На данном сервере будет только один пользователь с ftp доступом, под ним же и запускается сервер
Из глобальных изменений в конфиге /etc/proftpd.conf были внесены только DefaultRoot
Остается только включить в /etc/xinetd.d/proftpd сервер proftpd — disable = no
Включем xinetd — chkconfig xinetd on
И перезапускаем же его service xinetd restart
Теперь, зная пароль пользователя crsusr, можно получить прямой доступ к файлам сервера хранилища конфигураций.
Настройка веб-доступа [ править ]
Для доступа к серверу хранилища конфигураций из-вне достаточно удобно использовать веб-доступ.
Это позволяет настроить несколько серверов хранилищ (например версий 8.2 и 8.3 на различных виртуальных машинах) и через реверс-прокси дать к ним доступ используя различные доменные имена.
Установим веб сервер apache2 с модом itk, это позволит нам запустить веб-сервер от имени того же пользователя от которого запущен сервер хранилища конфигураций: apt-get install apache2-httpd-itk .
Создадим каталоги необходимые для работы: su — crsusr -c «mkdir /home/crsusr/www» , su — crsusr -c «mkdir /home/crsusr/www/crs» , su — crsusr -c «mkdir /home/crsusr/www/html»
Создадим файл-заглушку для веб-сервера su — crsusr -c «touch /home/crsusr/www/html/index.html» , su — crsusr -c «touch /home/crsusr/www/crs/index.html»
Создадим файл-описание подключения к серверу хранилища конфигураций su — crsusr -c «touch /home/crsusr/www/crs/repo.1ccr»
Отредактируем и приведем его к виду: cat /home/crsusr/www/crs/repo.1ccr
Где connectString , строка подключения к серверу хранилища конфигураций 1С (все варианты подключения описаны в руководстве администратора)
Подключим модуль 1С необходимый для работы с веб-сервисами echo «LoadModule _1cws_module /opt/1C/v8.3/i386/wsap22.so» > /etc/httpd2/conf/mods-available/1cws.load , a2enmod 1cws
Приведем конфигурационный файл /etc/httpd2/conf/sites-available/default.conf к следующему виду:
Перезапустим веб-сервер service httpd2 restart
И поставим его на автостарт chkconfig httpd2 on
Заключение [ править ]
Так как пользователю, создаваемому в данном руководстве, интерактивный вход в систему (доступ по ssh) не нужен, в целях обеспечения безопасности можно отключить шелл: usermod -s /dev/null crsusr
На сервер хранилища конфигураций можно подключаться следующими способами:
Где name_of_repo имя хранилища конфигурации.
Источник
Скрипт установки сервера хранилища конфигураций на современные версии linux с systemd
Инструкция и скрипт по установке сервера хранилища конфигураций на linux-сервер с системным менеджером systemd
Операционные системы: linux с менеджером systemd (Ubuntu 16+, Debian 8+, CentOS 7+ и т.п.)
Внимание! Скрипт рассчитан на запуск в дистрибутивах, основанных на Debian. Для работы скрипта под RHEL-дистрибутивами потребуется небольшая адаптация скрипта и процедуры ниже.
Пару слов о необходимости
Не секрет, что групповая разработка конфигурации в системе «1С:Предприятия» 8.3 производится с использованием хранилища конфигурации. Доступ разработчиков к хранилищу конфигурации может осуществляться как по локальной сети, когда файлы базы данных располагаются на общем сетевом ресурсе, так и по протоколу tcp или http, когда хранилище конфигурации представляет собой по сути облачный сервис.
В случае, когда хранилище расположено в локальной сети, необходимо организовывать совместный доступ к общей папке Windows, для чего необходимо содержать целый сервер и обеспечивать его безопасность. Зачастую, такие общие папки располагаются на одном и том же терминальном сервере, где работают все разработчики, либо в общей папке для локальной сети на одном из компьютеров или серверов.
Такая архитектура работы с хранилищем не всегда удобна. Когда разработчиков много, или они находятся в разных отдаленных локациях, у разработчиков уменьшается мобильность и появляется зависимость от наличия и толщины канала связи к терминальному серверу, а так же зависимость от его производительности для целей отладки приложений.
В тех случаях, когда команда должна быть мобильной, распределенной и состоящей преимущественно из удаленно работающих специалистов, или над несколькими проектами работают разные группы разработчиков, на первый план выходит распределенная архитектура организации совместной разработки.
Для реализации такой архитектуры в комплекте поставки платформы 1С:Предприятие предусмотрена установка сервера хранилища конфигураций. Сервер хранилища конфигураций представляет собой сетевую службу (облачный сервис), по умолчанию «слушающую» порт 1542 (или любой другой) и обеспечивающую взаимодействие клиентских приложений (конфигуратора) с базой данных хранилища конфигурации. Одна такая служба может обслуживать множество хранилищ конфигураций. В такой архитектуре доступ к хранилищу будет надежно защищен от посторонних.
Для того, чтобы сократить стоимость владения сервером хранилища конфигураций, или со спокойной совестью опубликовывать его в сеть Интернет, целесообразно устанавливать его на сервера по управлением ОС Linux. Благо, 1с уже давно выпускает версии ПО под эту операционную систему. Однако, установки в виде сервиса (демона), который автоматически бы запускался при старте ОС Linux с помощью менеджера systemd, в комплекте поставки до сих пор не предусмотрено, поэтому на свет и появился данный скрипт установки. P.S. В большинстве публикаций используются старые скрипты для upstart (init.d), и они уже давно устарели.
Далее рассматривается установка сервера хранилища конфигураций с протоколом tcp.
Предварительные настройки
Перед тем, как установить сервер хранилища конфигурации, необходимо провести подготовительные действия (далее показаны действия для Debain-дистрибутивов):
- Скачать и распаковать в папку со скриптом нужные версии сервера 1С. А именно, 32-битные архивы deb_8_3_xx_xxxx.tar.gz, поскольку поддержка сервера хранилища все еще распространяется 1с только под 32-битные платформы.
Установить поддержку пакетов i386, а затем пакеты 1c-enterprise-common, server, ws и crs:
Запуск скрипта установки системного сервиса systemd
Теперь все готово для установки системного демона с помощью скрипта. Сделаем это:
Здесь опционально используются параметры (указаны их значения по умолчанию):
EXEC1CRS = путь к исполняемому файлу сервера хранилища конфигураций crserver
USER1C и GROUP1C = имя пользователя и группы для запуска системного сервиса, они должны существовать к моменту запуска скрипта
PORT1C = порт, на котором будет работать tcp-сервер хранилища конфигурации
REPO1C = путь к каталогу, в котором будут располагаться все используемые хранилища конфигураций
В результате установки получим логи и статус запущенного сервера:
Действия после установки
Путь к хранилищу определяется по шаблону:
После установки достаточно создать нужные папки с хранилищами, внутри папки, которая была указана при установке сервера, и с помощью конфигуратора создать хранилище в этой папке.
Источник
Сервер приложений 1С на Linux
В последнее время, всё чаще и чаще меня начинает душить жаба.
Большая, зелёная, она угнездилась где-то внутри и формирует категорическое нежелание платить за что либо, даже если это не мои личные деньги! Не платить вообще, или же по максимуму минимизировать затраты там, где это возможно.
И если ко всему прочему, необходимо организовать работу с 1С в малой или средней компании, при ограниченном бюджете, то напрашивается желание собрать сервер из того что есть и накатить на него что-нибудь бесплатное.
Это всё к тому, что совсем необязательно покупать для 1С-сервера, лицензии от MS Windows Server+Terminal Cals и MS SQL сервер. Также необязательно рассматривать различные утилиты бэкапа и прочего софта реализующего все фишки работы терминального сервера 1С.
Сравнение платного и бесплатного софта (без учета железа) взято по большей части отсюда, по примеру данной статьи и на данный момент выглядит так:
Наименование | Стандартное лицензирование (руб.) | Вариант Linux + Postgres SQL (руб.) |
---|---|---|
Лицензии Windows | ||
Windows Server 2012 Std. | 45012 | 0 |
MS Windows Terminal Services Client Access License 2012 Single Language 1-device NoLevel OLP | 102960 (20×78) | 0 |
Лицензии 1С | ||
1С: Предприятие 8.3.Лицензия на сервер (x86-64) | 86400 | 86400 |
1С: Предприятие 8.3 Клиентская лицензия на 20 рабочих мест | 78000 | 78000 |
Лицензии SQL | ||
Лицензия на сервер MS SQL Server Standard 2012 Runtime для пользователей 1С: Предприятие 8 | 13381 | 0 |
Клиентский доступ на 20 рабочих мест к MS SQL Server 2012 Runtime для 1С: Предприятие 8 | 117748 | 0 |
Итого | 443501 | 164400 |
Экономия | 0 | 279101 |
Вполне возможно, что для форточек существуют какие-то пакетные предложения, с оптимизированной ценой для конкретного сервера.
Однако, это не означает того, что MS может уронить цены на свои продукты (лицензии) до нуля.
Из всего, что необходимо будет приобрести для Linux — это клиентские лицензии 1С, в случае использования файлового варианта баз. Или же покупка клиент-серверной платформы от них же, в случае использования SQL.
Ниже мы рассмотрим оба варианта реализации сервера.
Постановка задачи
- Создание шаблона виртуальной машины со следующими параметрами:
- ОС без потери производительности.
- Полноценный сервер терминалов.
- Возможность подключения по RDP(для совместимости клиентов).
- Возможность подключения через Web.
- Возможность поддержки от 1С.
- Возможность бэкапа баз как на локальные диски(сетевые шары), так и в облако.
- Возможность бэкапа всей виртуальной машины.
Итак, поехали:
Логически, наша цель выглядит вот так:
Сначала определимся с ОС. Я сразу выбрал CentOS-контейнер на системе виртуализации Proxmox, т.к. при контейнерной виртуализации LXC, VM использует ресурсы самого гипервизора, т.е. потери производительности нет.
Тем более, что в дальнейшем, можно добавить серверы в инфраструктуру и создать отказоустойчивый кластер совершенно бесплатно!
Собственно тема установки 1С на различные версии Linux — достаточно избита, поэтому здесь я постарался объединить в один рабочий мануал, все варианты установки и публикации сервиса, и бэкап.
Установка гипервизора Proxmox простейшая, качаем его отсюда.
Инсталлируется буквально в несколько кликов и ввод пароля админа.
Установка VM CentOS 6(занимает 2-3 минуты):
Загружаем шаблон LXC CentOS-6-default_20160205 из списка и жмем кнопку “Создать СТ”.
Также, при желании можно выбрать шаблон с Ubuntu, особой разницы нет.
Далее задаем параметры VM и выбираем скачанный шаблон.
Всё, в течении минуты у вас в наличии готовая ОС.
В файле /etc/hosts не должно быть записей формата localhost.localdomian или относящихся к IPv6, в случае отсутствия DNS-сервера, в нем должно быть прописано четкое соответствие IP-адрес сервера – FQDN имя – короткое имя. Пример правильного файла hosts:
Далее, обновляем систему, устанавливаем X-server, шрифты и прочие нужности необходимые для расшаривания сервера 1С.
Сначала через консоль Proxmox:
Далее через терминал:
Здесь samba можно и не ставить, а все что нужно закачивать через WinSCP, но если мы делаем не для себя, а отдаем сервер клиенту, лучше установить, т.к. может понадобиться и регистрация в клиентском DNS, и закачка файлов именно через неё.
Проверяем включен ли SELinux:
Если нет (не Disabled), то правим файл /etc/sysconfig/selinux
Далее настраиваем терминальный сервер:
Добавляем необходимые шрифты и прочие утилиты:
Далее через RDP (или vnc):
- Система-Параметры-Клавиатура-Раскладки-Параметры раскладки
- В переключениях на другую раскладку, оставим только одну комбинацию (я сделал Левый Ctrl-Левый Shift)
- Запустите приложение «Установка и удаление программ»
- Введите в строку поиска слово «LibreOffice» и нажмите Поиск
- Среди найденных пакетов выберите «Russian language pack for LibreOffice» и нажмите «Применить»
Всё, сервер в принципе готов (у меня ушло полчаса).
Мы подготовили систему, и теперь пора определиться с установкой 1С.
Варианты установки 1С:
Для того чтобы оптимизировать затраты, не всегда нужно сразу закупать клиент-серверную платформу. Ее стоимость, сопоставима со стоимостью недорогого сервера. Если в наличии имеется небольшая компания, с 5-6 одновременными подключениями к базе 1С, то можно просто купить клиентские лицензии для файлового варианта, что выйдет гораздо дешевле!
1. У нас есть клиентские лицензии на N клиентов (файловый режим).
В этом режиме клиенты будут работать с базой через веб-интерфейс (хочется сразу избежать проблем с подключением принтеров и пробросом дисков), а для административных задач — будет использоваться RDP. Да, можно конечно работать нативным клиентом через сетевую шару, установив Samba. Но это не имеет смысла для того, что мы делаем.
2. У нас есть лицензия на клиент-серверную платформу (SQL режим).
В SQL режиме клиенты могут работать и нативным клиентом с указанием сервера 1С Предприятия, и через веб, кому как удобнее. Также, есть доступ по RDP для администратора 1С.
Сначала качаем установочные пакеты с портала 1С (необходима авторизация):
rpm64.tar.gz — пакет серверных приложений
client.rpm64.tar.gz -пакет клиентских приложений
demodt.zip — тестовая база
Установка для файлового варианта:
Устанавливаем необходимые пакеты:
Устанавливаем 1С предприятие:
-wsdir – имя алиаса веб-сервера для соединения с базой, в последствии мы будем обращаться к ней набирая в браузере адрес.сервера/base
-dir – директория где будут располагаться файлы web-интерфейса 1с (точнее один файл default.vrd);
-connStr – строка соединения с базой 1с предприятия;
-confPath – расположение конфигурационного файла web-сервера apache.
Рестартуем настраиваем Apache:
Набираем в браузере centos6-1c/demo и получаем знакомый интерфейс 1С:
Пробуем соединиться через RDP:
Всё получается, можем создать базу и закачать через конфигуратор тестовые данные, или бэкап рабочей базы.
Установка для второго, SQL варианта:
Качаем 2 пакета, сам сервер и addon от 1С отсюда (нужен логин и пароль). Потом копируем с помощью winscp и распаковываем их в отдельную папку.
К сожалению, версия 9.4 ставится с ошибками (проблема с библиотекой libicu), поэтому ставим 9.3. Python из аддонов ставить не надо, выдаст ошибку.
Далее создаем русскую локализацию и инициируем служебную базу Postgres
Запускаем службу PostgreSQL и добавляем его в автозагрузку:
Создаем пароль пользователю: postgres, пользователь postgres является администратором баз данных по умолчанию. И в данном примере пароль будет 123654:
Даем возможность подключаться к Postgres по сети, для этого редактируем файл pg_hba.conf
После сохранения файла, перезапускаем сервис postgres:
Публикуем через http:
Рестартуем апач и 1С:
Проверяем работает ли сервер 1с предприятия. Для этого на сервере выполняем следующую комманду:
Через интерфейс Администрирования 1С Предприятия (клиент Windows) создаем базу:
Повторюсь, сервер должен отвечать клиенту по имени. Т.е. должен быть прописан либо в DNS, либо в hosts файле компьютера клиента.
Через конфигуратор (на windows-клиенте, или RDP), закачиваем бэкап вашей или демонстрационной базы.
Всё работает так же, как и в первом варианте, мы можем соединяться как через http, так и через RDP, плюс возможность соединения нативным клиентом.
Лицензирование:
В процессе тестирования, платформа ни разу не заикнулась о лицензиях. Замечу, что в тестах использовалась демонстрационная база скачанная с портала 1С. Слухи, что есть возможность работы 12 пользователей без ключа — оказались правдой. Однако то, что пригодно для тестов, нельзя пускать в production. Техническая возможность работать без ключа, не означает юридического разрешения это делать.
Для компаний с малым количеством пользователей 1С подойдет вот этот вариант (на 5 пользователей).
Программная лицензия на сервер терминалов(веб-сервер):
Если 1С при запуске не затребует её сразу, то идём в Конфигуратор-Сервис-Лицензирование.
Программную лицензию (любую) рекомендуется получать «На этот компьютер» и «Всем пользователям данного компьютера».
USB ключ(HASP):
Сначала необходимо пробросить USB устройство в VM.
На proxmox:
Ищем нужное нам устройство и смотрим его ID: XXXX:YYYY
qm set 101 –usb0 host=XXXX:YYYY
где 101 — ID виртуальной машины куда будем пробрасывать порт.
Перезагружаем виртуалку.
Далее устанавливаем службу haspd:
Во время установки некоторые демоны не стартуют. Это нормально, потому что для их старта нужен модуль из пакета haspd-modules. Но haspd-modules нельзя поставить раньше, потому что по зависимостям haspd должен ставиться первым. Модуль, который выдает ошибку (фейлит) будет нормально запущен после установки модулей при следующем запуске сервера.
Правим конфиг /etc/haspd/hasplm.conf. Добавим в него строчку:
NHS_IP_LIMIT = 127.0.0.1, 172.16.2.0/24
Именно в этой строчке мы перечисляем сети (вместо 172.16.2.0 добавьте свою) и хосты, которые смогут видеть HASP-ключ.
Проверим работу демона haspd:
Демон haspd имеет встроенный веб сервер доступный по адресу: xx.xx.xx.xx:1947
Бэкап:
Можем сделать автоматический бэкап целой VM на удаленное хранилище (или же на другой диск) прямо из Proxmox:
Т.е. через веб-интерфейс Proxmox заходим во вкладку «Хранилище» и добавляем NFS-массив. Это может быть как обыкновенная NAS-хранилка, так и xNIX-сервер с папкой доступной через NFS (кому что удобнее). Затем, указываем содержимое (backup).
Сама 1С рекомендует вот это (нужны имя и пароль). Там говорится, что для файловой версии, достаточно простое копирование файлов, а клиент-серверную версию рекомендуется бэкапить средствами СУБД.
Если просто и быстро (без очистки), то можно в два действия:
и добавим задание в crontab:
В принципе, здесь нет ничего сложного — сейчас любая хранилка поддерживает NFS, так что подмонтировать и создать автоматический бэкап на нее не составит никаких проблем, так же как и на Windows ресурс.
Однако, очень часто возникает вопрос о безопасности хранения бэкапа. Правилом хорошего тона является хранение бэкапа минимум в двух географически разнесенных местах. Рассмотрим два варианта: классический FTP и облачный.
Простой бэкап с копированием по FTP:
Бэкап в облако с шифрованием:
В production рекомендую пользоваться консольным клиентом яндекс-диска.
Также, если вы используете какое то другое облако, поддерживающее webdav, можно монтировать его при помощи davfs.
Для корректной работы GPG добавляем строчку в /sbin/ifup-local:
В зависимости от того, в каком виде у вас БД (файловая или SQL) закомментируйте ненужные строки. В этом тестовом скрипте, использовался юзер postgres с паролем 123654 и БД — test2. Файловая база находилась в /home/1C.
На тот случай, если необходимо работать с диском яндекса напрямую, я оставил строки с CURL.
Даём скрипту права на запуск:
Добавим задание в crontab:
Постинсталл:
Фаервол:
Сервер 1с предприятия в большинстве случаев находится в пределах локальной сети и его вполне можно использовать с отключенным файрволом без большой угрозы безопасности.
Отключаем iptables:
Правильная настройка:
Консоли администрирования нужен доступ к агенту сервера (ragent) по порту 1540, а для создания базы понадобится еще и доступ к рабочим процессам по портам 1562-1591. Толстому клиенту нужен доступ к менеджеру сервера (rmngr) по порту 1541 и рабочим процессам порты 1562-1591. Менеджеру haspd нужны порты 475 и 1947.
Остальное зависит от Ваших настроек. Для стандартно настроенного фаервола в CentOS набор разрешающих правил в /etc/sysconfig/iptables будет выглядеть приближенно так:
Обновление:
Обновление конфигурации происходит абсолютно так же, как и на windows версии, т.е. через конфигуратор.
Платформа обновляется простой процедурой скачивания rpm пакетов с сайта releases.1c.ru/project/Platform83, далее необходимо зайти в каталог с ними и выполнить команду:
Перед выполнением не забудьте сделать снэпшот и удостоверьтесь в наличии свежего бэкапа баз (предыдущие rpm пакеты тоже пока не удаляйте).
Привыкшим к Windows-версии ничего менять не надо, можно админить через тот же интерфейс с Windows клиента.
Однако, для ценителей есть и консольные команды.
Команда запуска в качестве демона:
По умолчанию процесс ras запускается на TCP 1545.
rac обращается к ras, который уже обращается (управляет) кластером серверов.
1) Просто help на всякий случай (кстати, он довольно понятный и ясный)
1C:Enterprise 8.3 Remote Administrative Client Utility ‘1C’ 1996-2015
Утилита администрирования платформы 1С: Предприятие
rac [mode] [command] [options] [arguments]
help Отображение справочной информации для указанного режима.
agent Режим администрирования агента кластера серверов
cluster Режим администрирования кластера серверов
manager Режим администрирования менеджера кластера серверов
server Режим администрирования рабочего сервера
process Режим администрирования рабочего процесса
service Режим администрирования сервиса менеджера кластера
infobase Режим администрирования информационной базой
connection Режим администрирования соединений
session Режим администрирования сеансов информационных баз
lock Режим администрирования блокировок
rule Режим управления требованиями назначения
profile Режим управления профилями безопасности кластера
2) Просмотр списка доступных кластеров серверов 1с для управления
3) Создание информационной базы
4) Просмотр списка информационных баз кластера
5) Просмотр списка подключений к информационным базам кластера
Оптимизация PostgreSQL:
- postgresql.conf — основной файл с настройками СУБД
- pg_hba.conf — файл с настройками доступа для клиентов. В частности, тут можно указать каким пользователям с каких IP-адресов можно подключаться к определенным БД, и требуется ли проверять пароль пользователя, и если требуется — каким методом.
- pg_ident.conf — файл с преобразованием имен пользователей из системных во внутренние (вряд ли он потребуется большинству пользователей)
Для более тонкой настройки БД необходимо править файл postgresql.conf воспользовавшись онлайн сервисом. Либо вручную подобрать значения, почитав например эту статью. Подробно параметры расписаны в этой статье.
Подключение принтеров
Осуществляется через сервис CUPS, который устанавливается автоматом.
В сеансе RDP заходим по адресу localhost:631
При нажатии кнопки установить принтер — видим все сетевые принтеры в сети.
Если вы хотите пробросить свой личный принтер — дайте к нему доступ.
Выводы:
Мы сэкономили на лицензиях Windows Server + Terminal CALs, MS SQL Server + Connection CALs. Даже если посчитать стоимость лицензий от 1С, то Linux-вариант выигрывает! Также, собрав сервер из подручного железа, убедились в том, что по тестам(файловая версия), он работает быстрее чем windows-версия установленная на голом железе.
В итоге, мы смогли получить сервер (шаблон можно размножить), который можно рекомендовать в продакшн. Также, в дальнейшем, Proxmox как систему виртуализации, можно расширить и создать кластер.
P.S: Почему CentOS 6, а не 7? Потому что на момент написания статьи публикация приложения 1С через http поддерживала только apache 2.2. К тому же, в процессе настройки 7-й версии, появились какие то непонятные проблемы с polkitd.
P.P.S: Платформа, через некоторое время тестирования, все же потребовала лицензию.
Спасибо за внимание, жду Ваших комментариев!
Источник