Создание базы, бэкап, восстановление базы 1С с СУБД PostgreSQL (CentOS)
Создание базы 1С через консоль управления кластером
Открыть консоль управления кластером 1С, затем в дереве открыть ⇒ Console Root ⇒ Центральный сервер 1С ⇒ Кластер ⇒ Информационные базы, нажать ПКМ ⇒ Создать ⇒ Информационная база
В открывшемся окне нужно ввести необходимые данные для создания или добавления уже созданной БД. При необходимости добавить уже существующую базу в кластер нужно не ставить галочку «Создать базу данных в случае ее отсутствия», если нужно создать базу — поставить галочку. В поле «Сервер баз данных» нужно указать адрес сервера на котором установлена СУБД, как установить PostgreSQL для работы с сервером 1с можно посмотреть по |ссылке|
После непродолжительного ожидания, если все хорошо база будет создана, при возникновении проблем выведется окно с ошибкой.
Теперь нужно добавить базу в список информационных баз через клиентское приложение 1с как существующую базу.
Создание базы 1С через клиентское приложение
Для создания базы через клиент 1С нужно открыть клиент, нажать кнопку Добавить
Откроется окно в котором нужно выбрать создать базу или добавить существующую, если она была создана через консоль администрирования можно выбрать Добавление существующей базы, при этом нужо будет указать только сервер и имя базы.
Затем нужно выбрать как будет создана база из шаблона или с нуля
В этом окне указывается название базы, которое будет отображатся в списке клиента и выбирается где будет расположена база
В этом окне указываются характеристики базы
В последнем окне указываются дополнительные параметры при необходимости
Создание базы в PostgreSQL бэкап и восстановление ее из dump с помощью pg_dump и pg_restore
После создания базы таким образом ее необходимо добавить в кластер через консоль управления кластером, сделать это можно тем же путем, что и при создании базы через консоль.
Устанавливаем PostgreSQL
1 Ноя 2012 Преимущества использования свободно распространяемого программного обеспечения очевидны. К сожалению, очевидны и недостатки — нет официальной поддержки, зачастую документация противоречива, неполна и разбросана по разным источникам. Эта статья поможет разобраться с процессом установки PosgreSQL для "1С:Предприятие 8", избежав подводные камни, которые не описаны в официальной документации.
Необходимые компоненты для установки
СУБД PostgreSQL распространяется бесплатно и входит в комплект поставки сервера приложений "1С". Сервер приложений "1С:Предприятие 8" поставляется в двух вариантах: 32-разрядный и 64-разрядный. Postgre может работать с обоими.
Итак, имеем на руках дистрибутивы:
- Postgre: postgresql-9_1_2-1_1Cx64.zip, любезно предоставленный фирмой "1С".
- Дистрибутив сервера приложений "1С:Предприятие" для Windows x64, версии 8.2.16.368.
Казалось бы, чего проще — запусти и установится. Легко! Но установка в стандартном режиме даст одно небольшое ограничение: кластер у нас будут лежать в папке "Program Files". Не всем это понравится. Рассмотрим два варианта установки, простой и расширенный.
Статья разбита на 5 разделов:
1) Установка сервера 1C.
2) Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек.
3) Установка PostgreSQL с выбором папки хранения кластера.
4) Создание новой информационной базы 1С.
5) Указание папки хранения файлов базы данных на сервере СУБД.
Перед установкой обязательно прочитайте всю статью целиком!
Установка сервера приложений 1С
Запускаем setup.exe из папки с дистрибутивом сервера 1С.
Далее. далее. До выбора способа запуска сервера приложений:
В том случае, если вы установите сервер приложений не как сервис, нужно будет вручную его запускать каждый раз. Требуется такой вариант редко. Устанавливаем как службу (сервис), и решаем, под каким пользователем он будет запускаться. Из соображений безопасности лучше создать отдельного пользователя USR1CV82, а не разрешать сервису работать под полными правами.
После установки сервера приложений система предложит установить драйвер ключа защиты HASP. Соглашаемся:
Если сообщение будет другим, в системе, скорее всего, остались "хвосты" от предыдущих установок драйверов HASP. Удаляйте их все, и пробуйте заново.
Готово, сервер приложений "1С:Предприятие 8" мы установили успешно.
Установка PostgreSQL в стандартном виде, достаточном для запуска 1С без дополнительных настроек
Выбираем русский язык и двигаемся дальше.
Пока все просто, "далее".
Опции установки можно не менять, 1С работать будет. Далее.
Postgre, как и сервер 1С, может сам создать пользователя, под которым будете запускаться служба. Обращаю ваше внимание на то, что если указать учетную запись с правами администратора, то служба корректно работать не будет. Обязательно создавайте нового пользователя.
Следующее окно установки.
Инициализируем кластер. Если у нас сервер баз данных и сервер приложений 1С находятся на разных компьютерах, тогда устанавливаем галочку «Поодерживать подсоединения с любых IP», иначе не трогаем. Обязательно указываем кодировку UTF8. Создаем суперпользователя СУБД. Далее…
Уже почти все. Далее.
Для начальной работы нам ничего дополнительного не нужно, снимаем галочку, завершаем установку.
Результат наших усилий — готовый к работе PostgreSQL. Если нас устраивает, что базы будут лежать в Program Files\PostgreSQL\9.1.2-1.1C\data — заканчиваем на этом, раскрываем базы и наслаждаемся процессом. Однако, чаще все-таки базы данных "лежат" на специально предназначенных для этого дисковых массивах, а не на системном диске. Для того, чтобы настроить расположение данных, перед установкой прочитайте следующий раздел.
Установка Postgre с выбором места хранения кластера
Приступаем к установки Postgre и выполняем все шаги до тех пор, пока нам не предложат инициализировать кластер:
Снимаем галочку "Инициализировать кластер базы данных" и нажимаем "Далее".
Снимаем галочку "По выходу запустить Stack Builder" и завершаем установку.
Дальше начинаем колдовать в командной строке:
1. Необходимо выдать полные права на папку в которую мы установили PostgreSQL, обычно это C:\Program Files\PostgreSQL
2. Из под админских прав запускаем cmd. Если это делаете в win7, то запускаем от Администратора.
3. Создаем папку где будет храниться кластер. Например d:\postgredata.
md d:\postgredata
4. Проводим инициализацию кластера вручную с указанием пути где он будет находиться.
“C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\initdb.exe” -D d:\postgredata —locale=Russian_Russia —encoding=UTF8 -U postgres
5. Удаляем службу PostgreSQL, которая была установлена в ходе установки.
sc delete pgsql-9.1.2-1.1C-x64
Где pgsql-9.1.2-1.1C-x64 – Это название службы. Если не знаете название точно, можно посмотреть свойствах службы “PostgreSQL Database Server…” (Пуск – Панель управления – Администрирование – Службы )
6. Создаем новый сервис с указанием нашего кластера
“C:\Program Files\PostgreSQL\9.1.2-1.1C\bin\pg_ctl” register -N pgsql -U postgresql -P пароль -D d:/postgredata
7. Теперь заходим в службы. Пуск – Панель управления – Администрирование – Службы и стартуем нашу службу.
Создание новой базы данных 1С на сервере с PostgreSQL
Есть несколько вариантов создания базы данных. Можно попробовать создавать базу через pgAdmin3, консоль администрирования серверов 1С. Но тут вы столкнетесь с массой непонятных вопросов и кучей ошибок, ответы на которые будете долго искать. Оставьте это для специалистов. Наша задача получить работоспособную базу с минимальными усилиями. Опишем самый простой путь добиться этого.
Запускаем клиент 1С.
Создаем новую информационную базу. Далее.
Выбираем шаблон новой базы. Далее.
Придумываем название базы, указываем "На сервере 1С:Предприятия", далее.
Кластер серверов 1С:Предприятия – localhost, если мы создаем базу на том же компьютере, где установлен сервер 1С, или имя сервера приложений 1С, если на другом.
Имя информационной базы в кластере — в дальнейшем это название будет указываться при подключении с других компьютеров.
Тип СУБД – Выбираем PostgreSQL.
Сервер баз данных — указываем название сервера PostgreSQL. Если создаем базу на сервере, так же указываем localhost.
Имя базы данных – с таким название будет создана база в PostgreSQL.
Пользователь, пароль – имя пользователя, которого мы указывали как суперпользователя при установке PostgreSQL. Обязательно поднимаем галочку "Создать базу данных в случае ее отсутствия".
Возникает вопрос — а где база будет храниться физически? В папке Base указанного кластера. А если мы не хотим, чтоб она лежала там, где лежат все базы? Тут пока ничего поделать нельзя, просто создаем базу и двигаемся дальше. Далее…
Готово. Правильно установленная система дальше все сделает сама.
Указание папки хранения базы данных
Итак, мы создали базу. В большинстве случаев на этом установка заканчивается. Однако, если баз много, и есть несколько дисковых массивов для разных групп баз, нужно указать, где физически должны располагаться базы. Чтобы сделать это, запускаем pgAdmin3 из Пуск – Программы – PostgreSQL. Подключаемся к нашему серверу.
При первом подключении Postgre попросит пароль для пользователя postgres (которого мы создавали при установке).
Поставим галочку "сохранить пароль", чтобы больше не спрашивал.
Создаем новый TableSpace, это будет та папка, в которой будут храниться наши базы.
Указали место хранения файлов базы. Ок.
Теперь открываем свойства уже созданной ранее базы данных, размещение которой мы хотим изменить.
Меняем свойство Tablespace. После нажатия "ОК" файлы базы данных будут автоматически перемещены. Готово! Надеемся, что статья была вам полезна. Если это так — оставляйте комментарии, делитесь ссылками на эту страницу. Спасибо!
База знаний
Try 2 Fix beta
В этой инструкции мы расскажем (и покажем) как настроить связку 1С:Предприятие 8.3 и PostgreSQL 9.4.2 с момента установки обоих сервисов, вплоть до создания информационной базы. Про тюнинг данной связки можно прочитать в другой нашей статье. Этапы, которые нам предстоит пройти: Установка Сервера 1С:Предприятие (64-bit) для Windows Установка PostgreSQL 9.4.2-1.1С Создание Информационной базы данных. Подробнее под катом!
База знаний «Try 2 Fix» Beta
Все материалы свободны
к распространению с обязательным
указанием источника
Установка сервера 1С + PostgreSQL на Linux Ubuntu
Можно значительно сократить затраты на программное обеспечение, установив сервер 1С на Linux. В данной инструкции мы рассмотрим процесс настройки сервера 1C 8.3 на Ubuntu 18.04 или 20.04 с сервером баз данных (не файловый вариант). В качестве СУБД мы будем использовать PostgreSQL (на примере версий 10, 12 и 13).
Выбор операционной системы должен, в первую очередь, базироваться на основе официальных системных требованиях. Прежде чем сделать окончательный выбор, ознакомьтесь с ними.
Подготовка системы
Задаем имя сервера
Чтобы сервер 1С мог запуститься без ошибки, необходимо ему задать корректное имя:
hostnamectl set-hostname server1C.dmosk.ru
Если данное имя не зарегистрировано в DNS, прописываем соответствие в файле hosts:
Настройка брандмауэра
Для корректной работы сервера, необходимо открыть порты:
- 1540 и 1541 для сервера 1С.
- 1560 — запросы к базе данных.
По умолчанию, в Ubuntu действует разрешающая политика и настройка брандмауэра не требуется. В противном случае, вводим команды:
iptables -I INPUT 1 -p tcp —dport 1540:1541 -j ACCEPT
iptables -I INPUT 1 -p tcp —dport 1560 -j ACCEPT
И сохраняем правила с помощью iptables-persistent:
apt-get install iptables-persistent
Установка PostgreSQL
Как было сказано выше, мы задействуем СУБД PostgreSQL. Для 1С требуется специальная сборка postgresql, которая может быть установлена из специального дистрибутива или от поставщика 1С. Рассмотрим установку версий Postgres Pro 13, а также обычные версии PostgreSQL 10 и 12.
Подготовка к установке СУБД
Настраиваем локаль, введя команду:
В открывшемся окне выбираем локаль ru_RU.UTF-8 UTF-8:
Нажимаем OK. В следующем окне также выбираем ru_RU.UTF-8:
. и нажимаем OK.
* Если мы устанавливали русскую версию Linux, возможно, данные настройки уже будут выставлены. Так или иначе, стоит в этом убедиться.
Дальшейшие наши действия зависят от выбранной версии PostgreSQL.
PostgreSQL Pro для 1С
Для работы 1С рекомендуется установить специальный выпуск PostgreSQL Pro. Она также может быть загружена и установлена бесплатно.
Переходим на страницу 1c.postgres.ru — проходим 3 шага мастера, выбрав нужную версию Postgresql и Ubuntu:
После заполняем форму для получения инструкции по установке СУБД:
На указанную почту придет инструкция по установке PostgreSQL.
Пример установки PostgreSQL Pro 13. Скачиваем скрипт для установки репозитория:
curl -o pgpro-repo-add.sh https://repo.postgrespro.ru/pg1c-13/keys/pgpro-repo-add.sh
apt-get install gnupg2
* без данного пакета при попытке установить репозиторий мы получим ошибку:
E: gnupg, gnupg2 and gnupg1 do not seem to be installed, but one of them is required for this operation
Error adding key.
Запускаем скачанный скрипт:
Запускаем установку СУБД:
apt-get install postgrespro-1c-13
systemctl enable postgrespro-1c-13
systemctl stop postgrespro-1c-13
Удаляем содержимое каталога data:
rm -rf /var/lib/pgpro/1c-13/data/*
* в противном случае, при попытке инициализировать базу мы получим ошибку Data directory /var/lib/pgpro/1c-13/data is not empty!
/opt/pgpro/1c-13/bin/pg-setup initdb —tune=1c —locale=ru_RU.UTF-8
Запускаем сервис postgrespro:
systemctl start postgrespro-1c-13
Установка PostgreSQL 10 от 1С
Сначала устанавливаем компоненты, необходимые для установки СУБД из пакетов.
dpkg -i libicu55_55.1-7_amd64.deb
* libicu55 — Unicode-компоненты для интернационализации.
Теперь устанавливаем postgresql-common:
apt-get install postgresql-common
* postgresql-common позволяет одновременную установку нескольких версий PostgreSQL.
Устанавим пакет libssl:
* если команда вернет ошибку, точное название для новой версии libssl смотрим, перейдя по ссылке.
dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.4_amd64.deb
Переходим к установки самой СУБД. 10-я версия PostgreSQL может быть установлена из дистрибутива, полученного от 1С (в личном кабинете или от поставщика). Архив с дистрибутивом postgresql, в свою очередь, содержит архивы под различные операционные системы — нам нужен файл с окончанием в названии . amd64_deb.tar.bz2
* в данном примере взят файл для 64-х разрядной версии операционной системы. Пакет deb (для систем на базе Debian).
Копируем данный файл на сервер (например, с помощью программы WinSCP) и распаковываем его:
tar jxvf PostgreSQL_10.*.1C_postgresql_10.*.1C_amd64_deb.tar.bz2
Выполним установку пакетов из папки . amd64_deb.
dpkg -i postgresql-10.*.1C_amd64_deb/*.deb
sudo -u postgres /usr/lib/postgresql/10/bin/initdb -D /var/lib/postgresql/10/main —locale=ru_RU.UTF-8
* при инициализации для нас важно задать русскую локаль. В противном случае мы можем получить ошибку «Порядок сортировки не поддерживается базой данных».
Установка PostgreSQL 12 от 1С
Устанавим пакет libssl:
* если команда вернет ошибку, точное название для новой версии libssl смотрим, перейдя по ссылке.
dpkg -i libssl1.0.0_1.0.2n-1ubuntu5.4_amd64.deb
apt-get install libllvm6.0
Распаковываем архив с postgresql:
tar jxvf postgresql_12.*.1C_amd64_deb.tar.bz2
Устанавливаем по очереди
dpkg -i postgresql-12.*.1C_amd64_deb/libpq5_12.*.1C_amd64.deb
dpkg -i postgresql-12.*.1C_amd64_deb/postgresql-client-12_12.*.1C_amd64.deb
dpkg -i postgresql-12.*.1C_amd64_deb/postgresql-12_12.*.1C_amd64.deb
sudo -u postgres /usr/lib/postgresql/12/bin/initdb -D /var/lib/postgresql/12/main —locale=ru_RU.UTF-8
* при инициализации для нас важно задать русскую локаль. В противном случае мы можем получить ошибку «Порядок сортировки не поддерживается базой данных».
Действия после установки postgres
Если мы установили PostgreSQL Pro версию, выполним только первую настройку (пароль).
Пароль для пользователя postgres
Задаем пароль для пользователя postgres:
sudo -u postgres psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"; history -d $((HISTCMD-1))
* данную команду мы запускаем под пользователем postgres; мы задаем пароль password для postgresql-пользователя postgres. Дополнительная команда history -d $((HISTCMD-1)) удалить из истории строку с паролем.
Остальные настройки выполняем для PostgreSQL не Pro версии.
Автозапуск
Разрешаем автозапуск сервиса баз данных и стартуем его:
systemctl enable postgresql —now
Блокировка обновлений PostgreSQL
Так как для 1С устанавливается специальная сборка СУБД, необходимо запретить ее обновление. В противном случае будет установлен обычныйpostgresql, что приведет к потери работоспособности сервера.
Смотрим версию установленного сервера баз данных:
dpkg -l | grep postgresql
ii postgresql-10 10.10-4.1C .
ii postgresql-client-10 10.10-4.1C .
.
И так, у нас установлена версия 10.10-4.1C. Вводим:
dpkg -l | grep 10.10-4.1C | awk -F' ' '
* где 10.10-4.1C — версия установленного PostgreSQL. Команда apt-mark hold блокируем установку обновлений для пакетов версии 10.10-4.1C.
apt-mark hold postgresql-common postgresql-client-common
Установка сервера 1С
Для установки сервера 1С необходимо сначала установить вспомогательные пакеты, затем сам сервис. Дистрибутив необходимо скачать с сайта 1С — личного кабинета, доступного по подписке.
И так, выполним установку следующих пакетов:
apt-get install imagemagick unixodbc ttf-mscorefonts-installer
- imagemagick — набор программ для чтения и редактирования графических файлов.
- unixodbc — диспетчер драйверов для ODBC.
- ttf-mscorefonts-installer — набор шрифтов Microsoft.
В процессе установки система запросит принять лицензионное соглашение — выбираем Yes.
Копируем на сервер архив с дистрибутивом для 1С, который был загружен с сайта 1С или получен от поставщика. Распаковываем архив командой:
tar zxvf 8.3.16.1148_deb64.tar.gz
* где 8.3.16.1148_deb64.tar.gz — имя архива с 1С версии 8.3.16. В архиве пакеты deb (для Linux на основе Debian) для 64-х разрядной системы.
Устанавливаем все пакеты, которые находились в архиве командой:
dpkg -i 1c-enterprise*.deb
Разрешаем автозапуск сервиса 1С и стартуем его:
systemctl enable srv1cv83
systemctl start srv1cv83
Если мы получим ошибку «srv1cv83.service not found», находим исполняемый файл srv1cv83:
find /opt -name srv1cv83
В моем случае он был по пути:
Делаем симлинк в каталоге /etc/init.d на найденный файл:
ln -s /opt/1cv8/x86_64/8.3.16.1148/srv1cv83 /etc/init.d/srv1cv83
Снова разрешаем и запускаем сервис:
systemctl enable srv1cv83
systemctl start srv1cv83
Необходимо убедиться, что сервис запустился:
systemctl status srv1cv83
Настройка кластера и клиента
На любой компьютер в сети установим толстый клиент 1С:Предприятие той же версии, что и сервер. Во время установки обязательно выбираем компонент Администрирование сервера 1С:Предприятие:
Устанавливаем клиента 1С. После установки в меню пуск находим ссылку Регистрация утилиты администрирования серверов (версия) и запускаем ее от имени администратора:
Теперь запускаем утилиту Администрирование серверов 1С Предприятия:
В открывшемся окне кликаем правой кнопкой мыши по Central 1C:Enterprise 8.3 servers — выбираем Создать — Центральный сервер 1С:Предприятие 8.3:
Пишем имя сервера 1С или его IP-адрес:
. и нажимаем OK. В панели управления появится подключение — переходим в раздел Кластеры — Локальный кластер — кликаем правой кнопкой по Информационные базы — выбираем Создать — Информационная база:
Заполняем параметры для создания новой базы:
* в данном примере нами были заполнены:
- Имя — задаем произвольное имя для подключения к базе.
- Сервер баз данных — имя или IP-адрес базы. Задаем localhost, так как в нашем случае сервер 1С и сервер баз данных находятся на одном сервере.
- Тип СУБД — выбираем PostgreSQL.
- База данных — имя базы данных.
- Пользователь сервера БД — пользователь, под которым будет выполняться подключение к базе. В нашем примере postgres.
- Пароль пользователя БД — пароль для базы, который мы задали после установки СУБД.
- Создать базу данных в случае ее отсутствия — ставим галочку, чтобы база была создана.
Если мы получим ошибку Этот хост неизвестен:
. необходимо убедиться, что имя сервера разрешается в IP-адрес. Для этого необходимо его добавить в локальную DNS или файл hosts.
База должна создастся. Теперь запускаем 1С клиент и добавляем новую базу — при добавлении выбираем Добавление в список существующей информационной базы:
Указываем произвольное имя информационной базы, а также выбираем тип расположения базы На сервере 1С:Предприятия:
Нажимаем Далее и Готово. Запускаем конфигуратор, загружаем базу и пользуемся.
HASP Licence manager
Если в сервер вставлен аппаратный ключ, необходимо установить HASP Licence manager, чтобы лицензии могли получать компьютеры по сети.
Проверяем, что наш сервер видит ключ:
lsusb | grep -i hasp
Мы должны увидеть что-то на подобие:
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Устанавливаем необходимые пакеты:
apt-get install make libc6-i386
- make — утилите, которая в нашем случае используется для компиляция исходного кода.
- libc6-i386 — набор стандартных библиотек для С и математических вычислений.
Создадим каталог для загрузки пакетов и перейдем в него:
mkdir /tmp/hasp ; cd /tmp/hasp
Переходим на страницу загрузки HASP для Ubuntu. Выбираем необходимую версию и копируем ссылки на 2 файла — haspd-modules_. и haspd_.
На момент обновления инструкции на сайте не было пакетов для Ubuntu 20, однако, для данной версии подходят пакеты под Ubuntu 18.
С помощью скопированных ссылок загружаем на сервер два файла:
* в моем примере загрузка выполнялась для Ubuntu 18.04.
Выполним установку скачанных пакетов командой:
dpkg -i haspd*.deb
Разрешим автозапуск сервиса haspd:
systemctl enable haspd
systemctl start haspd
Проверяем, что он корректно стартовал и работает:
systemctl status haspd
Готово — наши компьютеры в локальной сети смогут получить лицензию.
Миграция базы на PostgreSQL
В случае, если это не первая установка и у нас уже есть база, ее нужно перенести на новый сервер. Рассмотрим 2 варианта — база была на другом сервере PostgreSQL и универсальный (файловый вариант или другая СУБД).
С PostgreSQL на PostgreSQL
В данном случае процесс переноса заключается в создании дампа (backup) и его восстановления на новом сервере (restore). Необходимо учесть, что для корректного переноса данных, версии 1С должны совпадать.
Есть несколько инструментов по созданию резервных копий PostgreSQL и их восстановлению. Их описание выходит за рамки данной статьи — подробнее читайте инструкцию Резервное копирование PostgreSQL.
Универсальный способ миграции на PostgreSQL
Данный способ также подойдет и для миграции с PostgreSQL на PostgreSQL. Для начала, открываем нашу базу в конфигураторе на старом 1С — кликаем по Администрирование — Выгрузить информационную базу:
Выбираем путь для сохранения файла. Ждем окончания выгрузки и переносим полученный файл на компьютер с толстым клиентом 1С (если для нового сервера мы используем другой компьютер с 1С).
Открываем конфигуратор для созданной в PostgreSQL базы — кликаем Администрирование — Загрузить информационную базу:
. и выбираем выгруженный ранее файл. Дожидаемся его загрузки — система потребует перезапустить 1С — соглашаемся. Ждем новой загрузки. После можно пользоваться базой 1С на новом сервере.
Веб-публикации
Сервер 1С поддерживает возможность веб-публикаций баз 1С. Это дает возможность открывать программу в браузере или мобильном приложении. В Linux данные публикации осуществляются с помощью Apache.
Установка и запуск Apache
Первым делом, устанавливаем веб-сервер apache:
apt-get install apache2
Разрешаем автозапуск веб-сервера и стартуем сам сервис:
systemctl enable apache2
systemctl start apache2
Если на нашем сервере используется брандмауэр, применяем правило:
iptables -I INPUT -p tcp —dport 80 -j ACCEPT
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С> — мы должны увидеть стартовую страницу Apache:
Публикация 1С на веб-сервере
Публикация базы выполняется с помощью скрипта webinst, который устанавливается с сервером. Для простоты, мы опубликуем базу в корневую директорию /var/www/html, но при желании, можно настроить виртуальные домены.
Для удобства работы, создадим переменную с именем публикуемой базы, например:
И так, создадим каталог, в который опубликуем нашу базу:
Переходим в каталог с установленным 1С:
* где 8.3.16.1148 — версия установленной платформы.
Заускаем скрипт для публикации базы:
./webinst -apache24 -wsdir $DBNAME -dir /var/www/html/$DBNAME -connstr "Srvr=192.168.1.11;Ref=$DBNAME;" -confPath /etc/apache2/apache2.conf
* где apache24 — версия установленного apache; $DBNAME — имя нашей базы, которую мы создали ранее; /var/www/html/$DBNAME — путь до каталога на сервере, в котором будет опубликована база; 192.168.1.11 — IP-адрес сервера 1С; Ref=$DBNAME — имя базы в СУБД; /etc/apache2/apache2.conf — путь до конфигурационного файла apache.
Мы должны увидеть:
systemctl restart apache2
Открываем браузер и переходим по адресу http://<IP-адрес сервера 1С>/test/, где test — каталог в каталоге /var/www/html, куда мы опубликовали базу.
Обновление сервера 1С
Подготовимся к обновлению — скачаем новую версию дистрибутива сервера DEB нужной разрядности (как правило, 64 бит). Копируем архив на сервер.
Остановим сервис 1С:
systemctl stop srv1cv83
Далее процедура обновления напоминает установку приложения.
Переходим в каталог, в который перекинули архив и создаем новый каталог, куда распакуем его:
распаковываем архив в созданный каталог:
tar zxf deb64_8_3_19_1726.tar.gz -C 1c_update/
* в моем примере будет выполняться обновление до версии 8.3.19.1726.
Выполняем установку новой версии пакетов:
dpkg -i 1c_update/1c-enterprise*.deb
Сервис 1С запускается с помощью файла /etc/init.d/srv1cv83, который является симлинком. Нам нужно удалить старый симлинк и создать новый.
Чтобы найти все файлы srv1cv83, выполним команду:
find /opt -name srv1cv83
В моем случае было несколько путей, в том числе, для установленной нами версии 8.3.19.1726:
Удаляем симлинк, который ведет на старую версию файла:
rm -f /etc/init.d/srv1cv83
Создаем новый (путь до которого мы нашли командой find):
ln -s /opt/1cv8/x86_64/8.3.19.1726/srv1cv83 /etc/init.d/srv1cv83
Обновляем информацию в systemd:
systemctl start srv1cv83
Убедиться, что сервис запустился можно командой:
systemctl status srv1cv83
Также рекомендую удалить каталог с распакованными файлами, чтобы они нам не помешали при следующем обновлении: