Публикация базы 1С на Apache под *nix

Введение

С далеких времен 1С работает и на *nix-системах. Чем больше времени проходит, тем лучше платформа чувствует себя на разных дистрибутивах. В последнее время к нам все чаще обращаются с вопросами о том, как наше решение работает в том же Debian. Это подтолкнуло к написанию статьи на тему публикации личного кабинета с собственной авторизацией на Linux.

Что понадобится

В первую очередь нам нужна собственно машина с Linux. Так же нам нужны: платформа 1С (можно взять подходящую тут https://releases.1c.ru/total), консольный текстовый редактор (например nano), веб-сервер Apache, сертификаты для подключения по https.

Apache – начало

Если в системе еще не установлен Apache, то необходимо это сделать следующим образом:

sudo apt install apache2 -y

Ждем окончания выполнения операции. Если все хорошо, то проверяем, что сервер запущен:

service apache2 status

Если все хорошо, то должна быть подобная картина:

Апач запущен.png

Сертификат это просто

Перейдем теперь к генерации самоподписанного сертификата(если нет другого). Для этого переходим в директорию, где хотим сохранить сертификаты(например /etc/ssl/certs) и выполняем следующую длинную команду:

openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout <SERVER>.key -out <SERVER>.crt

Вместо <SERVER> следует указать имя компьютера, на котором выпущены сертификаты.

 Во время выполнения команды будет задано несколько вопросов. Для "Common Name (e.g. server FQDN or Your bane)" нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме "Country name" - здесь можно оставить по умолчанию).

Публикуем базу и сервисы

Для публикации базы нам в первую очередь нужно перейти в каталог с установленной платформой:

cd /opt/1C/v8.3/x86_64/<Номер платформы>

И выполнить собственно публикацию для серверной базы:

sudo ./webinst -publish -apache24 -wsdir <ИМЯ_ПУБЛИКАЦИИ> -dir /var/www/<ИМЯ_ПУБЛИКАЦИИ> -connstr “Srvr=<ИМЯ СЕРВЕРА;Ref=<ИМЯ БАЗЫ>” -confpath /etc/apache2/apache2.conf

Или для файловой базы:

sudo /webinst -publish -apache24 -wsdir <ИМЯ_ПУБЛИКАЦИИ> -dir /var/www/<ИМЯ_ПУБЛИКАЦИИ> "File=<ПУТЬ_К_БАЗЕ>;" -confpath /etc/apache2/apache2.conf

Для файловой базы так же нужно установить права доступа:

sudo chown -R apache:apache <ПУТЬ_К_БАЗЕ>

Если все сделали правильно, должны увидеть сообщение Publication successful.

Следующий шаг — подключаем сертификаты к нашему серверу. Для этого переходим в каталог с публикацией:

cd /etc/apache2/sites-available

и с помощью любого редактора открываем файл настроек:

sudo nano 000-default.conf

В самый конец файла добавляем следующие строки:

<VirtualHost *:443>

SSLEngine on

SSLCertificateFile <ПУТЬ_К_ФАЙЛУ_СЕРТИФИКАТА>

SSLCertificateKeyFile <ПУТЬ_К_ФАЙЛУ_КЛЮЧА>

</VirtualHost>

Должно получиться примерно так:

000-default_ini.png

Теперь почти все готово — осталось только подключить SSL к нашему серверу командой

sudo a2enmod ssl

И перезапустить Apache:

systemctl restart apache2

Если все сделано правильно, то наша база будет опубликована и доступна через браузер.

Публикуем веб-сервисы и личный кабинет

Публикация web-сервисов и личного кабинета с собственной формой авторизации будет значительно проще, чем публикация базы. Для этого нам нужно всего отредактировать один файл: «/var/www/<ИМЯ_ПУБЛИКАЦИИ>/default.vrd»

Пример команды:

sudo nano /var/www/UIT/default.vrd

И привести его к виду:

devault_vrd.png

Тут следует обратить внимание на две строки:

ib="File=&quot;/home/data/work/InfoBase&quot;;usr=&quot;lk&quot;;Pwd=&quot;123&quot;;">

В этой строке у нас указана опубликованная файловая база и параметры служебного пользователя, который нужен для работы собственной авторизации с именем «lk» и паролем «123». Следует обратить внимание, что вместо кавычек внутри строки используется &quot;

И вторая строка:

<standardOdata enable="true" — собственно и отвечает за включение сервисов.

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

ЛичныйКабинет.png

Изображение автора статьи

Разработчик на платформе 1С

Загрузка...
Поделитесь статьей
Рекомендуем почитать
Статьи Решение проблемы "Обнаружено нарушение целостности системы 1С"

На сегодняшний день любой, пользующийся популярностью у пользователей программный продукт подвергается "пиратским" взломам и соответственно нелегальному использованию. Не исключением будут и программы от всеми известной в России фирмы 1С. Каждый разработчик старается бороться с подобным незаконным использованием своих продуктов по-разному. Так, например, разработчики 1С с 1-ого февраля 2021 года, массово запустили механизм, который определяет легальность использования программы 1С. В случае, если программа была взломана и используется незаконно конечные пользователи получают ошибку "Обнаружено нарушение целостности системы". Сегодня в публикации разберем причины появления данной ошибки, а также расскажем как решить возникшую проблему. 

Статьи Настройка Apache для работы 1С через HTTPS (SSL)

Безопасность для многих всегда идет на первом месте, многие интернет-гиганты, типа Google даже добавляют в свои браузеры предупреждения, что соединение не безопасно, если на сайте не используется SSL-сертификат.
1С:Предприятие тоже может работать по протоколу HTTPS.
Мы предлагаем статью-инструкцию, как настроить HTTPS в Apache таким образом, чтобы 1С:Предприятие работало без проблем через SSL.

Статьи Подключение терминала сбора данных к 1С

В этой статье мы подключим терминал сбора данных к 1с поэтапно и поработаем документом "Поступление". Данное решение поможет Вам значительно ускорить процесс пересчета товара, а что еще немаловажно при правильной работе избавить от ошибок. Прочитав данную статью, Вы поймете, что все не так сложно и доступно для каждого. Для реализации выбран ТСД фирмы Urovo и "1С:Розница"

Статьи Ошибка HTTP 500.0 - Internal Server Error после публикации базы 1С на веб-сервере IIS

Рассмотрим ошибку, которая может возникать при публикации информационной базы 1С на web-сервере IIS Windows.
Попытаемся ее решить. Ошибка HTTP 500.0 - Internal Server Error.

Статьи Как удалить данные по организации в базе 1С?

При ведении учета по нескольким организациям зачастую возникает необходимость очистить основную базу от всех данных какой-либо организации. Или разделить информационную базу на несколько, по организациям. Рассмотрим один из вариантов решения. Однако с помощью стандартной обработки удаления информации, это сделать будет проблемно и ресурсоемко. Поэтому в этой публикации рассмотрим вариант решения подобных проблем.

Статьи Быстро растет база MS SQL

Часто наши клиенты задают нам вопросы связанные с быстрым ростом размеров базы данных MS SQL.
1С:Предприятие использует БД MS SQL, а сервер на котором все это работает может столкнуться с тем, что банально для базы не хватит места.

0 / 0