Linux server с графическим интерфейсом для 1с

Продукты 1C на Linux-сервере, удалённый доступ

Продукты компании 1С Предприятие, Бухгалтерия принято размещать на сервер с Windows . Это удобно и практично, однако, стоит немалых денег:

  • Windows Server Standard Edition 2016/2019 — от 2 120 рублей в месяц
  • SQL Server Web Edition 2016/2019, лицензия на 2 ядра — 1050 рублей в месяц
  • Терминальные лицензии (на 1 пользователя) — 660 рублей в месяц

Для компании численностью десять человек использование 1C-сервера обойдется почти в 5 000 рублей, и это без стоимости самого сервера и лицензий 1С.

Благо, компания 1С поддерживает Linux — использование самой ОС и СУБД PostgreSQL бесплатное, а количество сессий регулируется настройками сервера.

Настройка Linux имеет свои нюансы, но с каждым годом ОС становится всё дружелюбнее к пользователю и вполне может использоваться на стационарных компьютерах вместо Windows или MacOS .

В этой статье мы рассмотрим настройку Linux -сервера с графической оболочкой для использования 1С. В качестве примера мы взяли Linux Mint с графическим окружением Cinnamon , его интерфейс интуитивно понятен и не требует глубоких знаний терминала. Вы можете использовать любой другой.

Загружаем ISO-образ через VMmanager :

Подключаем ISO-образ к серверу через пункт Диски:

Включаем сервер и переходим в VNC:

Установка ОС несложная и ничем не отличается от такой же процедуры на домашнем ПК — достаточно подтвердить рекомендуемые установщиком параметры, указать язык, раскладку, местоположение, пользователя и его пароль. Занимает не более 10 минут.

После завершения установки выключаем сервер, отключаем ISO-образ .

Далее нужно снова авторизоваться через VNC VMmanager с паролем, который вы указывали при установке, и настроить сеть. В нашем случае это можно сделать через иконку сети и Параметры сети :

На других дистрибутивах настройки схожи. IP-адрес, настройки, шлюз, можно найти в инструкции к серверу. Обратите внимание, с большой вероятностью в качестве шлюза нужно будет прописать 10.0.0.1 — это особенность работы новых кластеров с технологией VPU . Если ваш сервер из такого кластера, об этом будет написано в инструкции к серверу.

Через меню приложений открываем терминал и устанавливаем зависимости:

sudo apt install unixodbc libgsf-bin t1utils ttf-mscorefonts-installer

Настройка сервера завершена, теперь можно перейти к установке пакетов 1С. Загрузить их можно отсюда https://login.1c.ru — потребуются лицензии.

В нашем примере необходимы .deb-пакеты :

Скачать их можно через Firefox , либо загрузить на сервер в директорию вашего пользователя, например, через FileZilla .

Установить .deb-пакеты можно двумя способами. Первый — двойным нажатием на файл:

Второй — в терминале, используя команды:

Dpkg -i имя_пакета.deb

После установки всех пакетов, можно запускать программы из меню приложений и работать — как на Windows-сервере , процесс аналогичен:

Взаимодействие с 1C на Windows осуществляется через браузер, так называемое веб-приложение. Его настройку можно осуществить и на Linux , но потребуется вновь обратиться к терминалу.

apt-get install apache2 && service apache2 start

Переходим в браузер по IP-адресу сервера, либо по домену, если он делегирован на сервер — должна открываться приветственная страница:

Такой командой осуществляется публикация приложения на веб-сервере:

Здесь:
/opt/1C/v8.3/x86_64/webinst — путь до установленного приложения
/var/www/bitrix/ — рабочая директория с базами
/etc/apache2/conf/apache2.conf — конфиг Apache

Если ошибок не будет, то доступ к базе станет доступен извне:

Готово! Процесс настройки и работы с 1С на Linux отличается от взаимодействия с WIndows-сервером, но зато не требует ежемесячных платежей за лицензии Windows.

Источник

БАЗА ЗНАНИЙ

Инструменты пользователя

Инструменты сайта

Содержание

Установка 1С:Предприятие 8.3 на Linux сервер

В этой статье мы постарались собрать наиболее полную информацию по установке сервера приложений 1С:Предприятие в среде Linux с использованием СУБД PostgreSQL и публикацией информационной базы и веб-сервисов на веб-сервере Apache. Рассматривается наиболее полная установка сервера в домен Microsoft Windows. Пользователи работают на рабочих станциях в среде Windows, авторизация в системе 1С:Предприятие производится через Active Directory.

План работ

Установка операционной системы

Поддерживаются наиболее популярные deb (Ububtu, Debian и пр.) и rmp (CentOS, Fedora и пр.) дистрибутивы. Каких-либо явных рекомендаций по выбору того или иного дистрибутива Linux не существует. Рекомендуем выбрать наиболее знакомый Вам дистрибутив, в нашем случае это Ubuntu актуальной на момент написания статьи версии 16.04 LTS, все дальнейшее описание будет основываться именно на этом выборе. Если Вы выбрали другой deb-based дистрибутив, то все описанное подойдет и для него, rmp-based дистрибутивы используют другие команды для управления пакетами, учитывайте это при адаптации статьи для своих целей. Скачайте дистрибутив Ubuntu Server. Применительно к Ubuntu желательно использовать LTS дистрибутивы, они выпускаются раз в два года и поддерживаются в течение 5 лет. Дистрибутив распространяется в виде ISO образа загрузочного диска, можно записать образ на DVD диск, но гораздо удобней подготовить загрузочную флешку.

Читайте также:  Расположение командной строки windows 10

Сам процесс установки достаточно прост. Инсталлятор будет задавать Вам различные вопросы, Вам нужно на них отвечать, тем самым выбирая как устанавливать операционную систему. Вначале Вам предложат выбрать язык и страну, часовой пояс, выбирайте в соответствии со своими предпочтениями.

Если у Вас один физический диск (или RAID-массив), разделите его на 3 логических диска. В начале диска выделите 60-120 Гб собственно под операционную систему (диск 1), оставшуюся часть поделите примерно поровну под домашние папки (диск 2) и файлы СУБД (диск 3). Монтируйте следующим образом:

Если же дисковая система Вашего сервера более разнообразна, то самый медленный ее элемент рекомендуем монтировать как /home , а самый быстрый как /var .

Далее инсталлятор предложит Вам выбрать наборы пакетов для установки. Выберите для установки следующие наборы:

Инсталлятор закончит свою работу, перезапустит систему и пред Вами предстанет приглашение в консоль примерно такого вида:

Заходите, и чувствуйте себя как дома.

Первым делом нужно настроить сетевые подключения. Мы имеем дело с сервером и подразумеваем, что сетевых адаптеров в нем может быть больше одного. Давайте посмотрим, что у нас есть, вводим в консоль команду

В ответ Вы получите нечто похожее на

Нас интересует вот этот фрагмент: logical name: enp0s3 . Если сетевых адаптеров больше одного, то и таких блоков в выдаче будет по количеству сетевых адаптеров. Запоминаем логические имена. Сетевые подключения настраиваются в конфигурационном файле, откроем его для редактирования

Допустим, у нас есть два сетевых адаптера. enp0s3 , его мы настроим на статический IP адрес и будем использовать для подключения к домену. Еще есть enp0s8 , он получит адрес от DHCP сервера в локальной сети, просто так, для примера. Файл настроек выглядит так:

Сохраните файл нажав Ctrl-O и закройте редактор Ctrl-X. После редактирования перезапустим сеть:

и проверим что у нас получилось

В выдаче этой команды внимательно смотрим на значения inet addr — в нашем примере там должен быть статический адрес, заданный в конфигурационном файле для первого адаптера и динамический адрес выданный DHCP сервером для второго.

Для дистанционного управления сервером с рабочей станции Windows мы будем использовать PuTTy. Скачайте, установите и подключайтесь. Адрес сервера в нашем примере указывается так user@192.168.0.8 , где user — имя пользователя, порт по умолчанию 22 .

Задача минимум сейчас — расшарить папку на сервере, куда мы сможем копировать нужные файлы.

В конфигурационном файле находим и раскомментируем блок

Добавим нашего пользователя в Samba

Указываем ему пароль и включаем

И перезапускаем Samba

Попробуем зайти из проводника Windows. В нашем примере это будет выглядеть так \\192.168.0.8\user , вводим имя, пароль и попадаем в домашнюю папку.

На всякий случай обновите русскую локаль

Установка СУБД PostgreSQL

Существует несколько источников, где можно взять дистрибутив PostgreSQL совместимый с 1С:Предприятие. Можно, например, как рекомендует сама фирма «1С» скачать его с портала ИТС и установить из deb или rpm пакетов, такой подход вполне привычен для пользователей Windows, скачивать и устанавливать. В Linux другой подход. Например, для поклонников Gentoo Linux привычно было бы скачать исходники PostgreSQL, пропатчить их и скомпилировать. А философия Ubuntu базируется на репозиториях, откуда пользователи получают нужные программы, устанавливая их менеджерами пакетов. К сожалению фирма «1С» не озаботилась созданием такого репозитория для распространения специальной версии PosgreSQL, зато это сделала компания Postgres Professional.

Сначала всё-таки стоит добавить официальный репозиторий PostgreSQL в Ubuntu. Это будет полезно для разрешения зависимостей пакетов.

Качаем файл postgresql_10.5_24.1C_amd64_deb.tar.bz2 где 5_24 — актуальный на момент написания статьи номер сборки, к моменту, когда Вы это прочтете он может стать другим, берите самую актуальную сборку.

Распакуем, перейдем в папку с пакетами, установим и зафиксируем версии, что бы Ubuntu при автоматическом обновлении не заменила эти пакеты на стандартные из репозитория:

Не забываем заменять 5-24 на номер скачанной сборки.

Настроим права на подключение к СУБД из консоли.

В открывшемся файле найдем строку

и приведем ее к виду

Если не хотите, что бы сервер СУБД был виден кому-либо, кроме сервера 1С:Предприятие, который мы чуть позже установим, поправьте настройки безопасности

В открывшемся файле находим строку

и приводим ее к виду

После такой установки PostgreSQL его служба сама не стартует и не прописывается в автозагрузку. Сделаем это

И еще немного настроек безопасности. Установим пароль password на пользователя postgres , именем которого будут производится все операции с базами данных (вместо password укажите свой пароль).

Поправим методы аутентификации пользователей

В открывшемся файле устанавливаем все методы в md5 , например, так

Перезапускаем службу PostgreSQL

Установка сервера 1С:Предприятие

Предварительно установим пакеты, необходимые для работы сервера 1С:Предприятие

Читайте также:  Microsoft surface pro linux

В процессе установки пакета ttf-mscorefonts-installer потребуется принять условия пользовательского соглашения EULA.

Любым законным способом получаем дистрибутив платформы 1С:Предприятия для deb-based Linux, например, скачиваем его с портала ИТС. Сервер 1С:Предприятие состоит из 3-х пакетов:

Скопируйте только эти 3 файла по сети в домашний каталог пользователя, в нашем примере \\192.168.0.8\user Устанавливать пакеты нужно именно в такой последовательности. Случайно или нет, они по алфавитному порядку выстраиваются именно так, как нужно, а значит их можно установить одной командой

Сервер установлен. Запускаем

К серверу уже можно подключаться через консоль администрирования серверов, активировать лицензии и создавать информационные базы.

Отладка на сервере

По умолчанию отладка на свежеустановленном сервере выключена. Если нужно подключаться отладчиком 1С к информационным базам, работающим на сервере нужно немного поправить конфигурационный файл сервера.

Ищем в файле строку вида

Раскомментируем и включаем

Сохраняем Ctrl-O, закрываем редактор Ctrl-X. Обновляем системных демонов и рестартуем сервер 1С.

Регистрация сервера в домене

Как обычно, начнем с установки необходимых пакетов

Если при установке системы не устанавливали Samba, то самое время сделать это

И еще может понадобиться, а может нет, но лучше установить

Настроим DNS

Сначала разберемся с именем самого сервера

В этом файле должно быть указано имя компьютера, данное ему при установке операционной системы. Если по каким-то причинам там не оно — исправьте.

Теперь научим его находить самого себя по своему короткому и полному доменному имени.

Здесь нужно сопоставить имена с IP адресом любого сетевого соединения, например, так

и прописываем имена и адреса

Если есть еще один сервер службы имен в домене, добавьте в файл еще одну строчку nameserver с его адресом.

При получении IP адреса от DHCP по идее все должно настроиться автоматически, но есть нюансы, записи домена могут не определиться. Исправляем

Добавляем запись домена

Чтобы добавить еще один сервер службы имен домена находим в этом файле строку prepend domain-name-servers , раскомментируем ее и указываем нужный IP адрес.

Перезапустим службу сети

Проверим, что у нас получилось. Попробуйте пингануть контроллер домена по короткому и полому доменному имени имени, допустим его зовут server

Синхронизируем часы

Чуть далее мы будем использовать протокол Keberos , а для его корректной работы важно, что бы системные часы контроллера домена и нашего сервера были синхронизированы.

Установим часового демона, который будет периодически синхронизировать время с контроллером домена по протоколу NTP

укажем источник точного времени в домене — контроллер домена

Настроим авторизацию через Kerberos

Открываем конфигурационный файл

И приводим его к такому виду, разумеется заменяя имена и IP адреса нашего примера под свои условия

Пробуем войти в домен как его пользователь ivanov

Если все настроено правильно, система запросит пароль пользователя домена и Вы не увидите никаких сообщений об ошибках. Посмотреть полученный билет можно командой

Он выглядит примерно так

И он нам больше не нужен, удалим его

Настроим Samba и включим сервер в домен

Открываем файл конфигурации Samba

И приводим его примерно к такому виду

Проверим правильность настроек

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

то мы готовы включиться в домен, разумеется, если знаем пароль администратора домена domainadministrator

Если Вы видите нечто похожее на

то поздравляем, у Вас все получилось, Вы в домене!

Авторизация пользователей 1С:Предприятие на Linux сервере через Active Directory

В клиент-серверном варианте работы 1С:Предприятие аутентификация пользователей производится на сервере. Если сервер работает под управлением Windows, то он без проблем получает нужные права для того, что бы проверить учетную запись Active Directory.

В Linux дела обстоят иначе. Сервер 1С:Предприятие у нас работает под учетной записью usr1cv8 , которая имеет какие-либо права только в пределах нашего linux-сервера. В домене у этого linux-пользователя нет никаких прав, соответственно сервер 1С:Предприятие не может получить ничего от Active Directory.

Что бы исправить эту проблему серверу 1С:Предприятие нужно выдать специальный «билет» и сопоставить его с пользователем Active Directory по протоколу Keberos.

Создайте такого пользователя в Active Directory, назовите его, например, linux1сv8 . Права у него могут быть совершенно любые, главное, что бы в настройках его учетной записи была отключена опция Use DES encryption types with this account .

Теперь нам потребуется командная строка Windows рабочей станции, включенной в домен и утилита ktpass , найти ее можно в пакете «Windows Support Tools» сервера или «Средства удаленного администрирования» полнофункциональных версий настольных Windows. Эта утилита генерирует специальный ключ, который не-windows системы могут использовать для авторизации в домене по протоколу Keberos.

Полученный файл переместите по сети в домашнюю папку на linux-сервер \\myserver\user . А на сервере его нужно переместить в каталог, где установлено 1С:Предприятие, поменять ему владельца и назначить безопасные права

Проверим, все ли сделано правильно

Если Вы видите нечто похожее на

то у Вас все получилось, поздравляем!

Читайте также:  Исправление прав доступа mac os

Публикация на веб-сервере Apache

Как всегда, начинаем с установки нужных нам пакетов. Если Вы разворачиваете отдельный сервер для web-публикации, при установке на него операционной системы достаточно указать, что этот сервер будет работать как LAMP (Linux Apache MySQL Php).

Если сервер уже установлен без Apache

Уточним, что мы установили из репозитория

2.4 — этот номер версии нам нужно будет указать при публикации, соответственно в параметре публикации указываем -apache24 . Все остальные параметры указаны для установки Apache 2.4 по-умолчанию.

Проверяем, заходим через браузер http://myserver/base1c и видим веб-клиента 1С:Предприятие.

Опубликуем веб-сервисы. Утилита webinst этого не сделала, а значит придется сделать это самим. Для этого нужно отредактировать файл публикации информационной базы, созданный этой утилитой

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

После изменений в конфигурационных файлах не забывайте перезапускать Apache.

Настройка HTTPS

Для совсем правильного и безопасного доступа по протоколу HTTPS нужно получить цифровой сертификат, подписанный удостоверяющим центром (Certificate Authority). Такие сертификаты гарантируют не только шифрование трафика между клиентом и сервером, но и обезопасят ваших пользователей от кражи паролей, особенно, если они будут подключаться из публичных wi-fi сетей.

Такой сертификат можно приобрести практически у любого хостинг-провайдера, многие предлагают первый выпуск базового сертификата сроком действия 3 или 12 месяцев бесплатно. Стоимость продления начинается примерно от $50, в зависимости от опций.

Еще вариант — получить сертификат центра сертификации Let’s Encrypt. Его выпуск и продление совершенно бесплатны. Сертификат выпускается сроком на 3 месяца, зато процесс его выпуска, продления и установки в веб-сервер Apache полностью автоматизированы.

Здесь же мы опишем выпуск т.н. самоподписанного сертификата.

Создадим SSL сертификат

Укажите PEM pass phrase — пароль приватного ключа. На остальные вопросы можете отвечать как угодно, кроме Common Name (eg, YOUR name) []: — тут следует указать доменное имя сайта. В результате в домашней папке появится два файла myserver.key — приватный ключ и myserver.pem — публичный сертификат. Что бы Apache при загрузке не спрашивал непонятно у кого пароль приватного ключа, снимем его

Переместим их в безопасное место и настроим права доступа только для root

Переходим к настройкам Apache, включаем поддержку SSL

И настраиваем доступ по HTTPS. Открываем файл конфигурации сайта по-умолчанию

и приводим его к такому виду

Резервное копирование

Резервное копирование в PosеgreSQL выполняется утилитой pg_dump . Подробная справка по синтаксису выводится командой

Например, что бы сделать резервную копию базы base1c нужно выполнить такую команду

Для восстановления базы из архива, созданного командой pg_dump используется команда pg_restore . Подробная справка по синтаксису

Пример восстановления базы base1c из бэкапа base1c.sql.tar

Бэкап сохранился в домашней папке пользователя, это лучше, чем ничего, но хранить резервные копии баз данных на самом сервере баз данных слишком самоуверенно. Когда-то давно резервные копии делали на ленты стримера и увозили их куда подальше в надежное место. Сейчас для резервного копирования используются сетевые или облачные NAS хранилища, расположенные в таком надежном месте. В нашем примере копирование будет выполняться на сетевое NAS хранилище, включенное в домен под сетевым именем nas .

Обеспечим к нему доступ нашего пользователя. В Active Directory создадим пользователя backupuser, дадим ему права на запись в папке, где будем складывать резервные копии.

Примонтируем сетевую папку, сначала создадим точку монтирования

затем настроим автоматическое монтирование при старте системы, для чего сначала создадим файл-мандат на подключение к сетевому хранилищу

Прописываем в файл параметры подключения

и скроем его от посторонних глаз

Пропишем подключение сетевой папки при старте системы

в конец файла добавляем

и даем команду примонтировать все, что мы прописали

В результате в точке монтировали /mnt/nas должна появиться папка сетевого хранилища \\nas\backups , куда можно складывать резервные копии.

Для выполнения автоматического резервного копирования нужно создать скрипт, который будет запускаться по расписанию демоном cron . К счастью, писать этот скрипи самому не нужно, в сообществе PostgreSQL уже написано много таких скриптов, рекомендую использовать канонический скрипт.

Используйте скрипт pg_backup_rotated.sh , он сохраняет резервные копии за несколько дней, автоматически удаляя старые копии.

Создайте в домашней папке пользователя файл pg_backup_rotated.sh и разместите в нем скрипт по указанной выше ссылке.

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

В том же каталоге создайте файл настроек pg_backup.config и заполните его как по указанной выше ссылке. Все настройки можно оставить по умолчанию, кроме

Проверьте работоспособность, выполните команду

Если не увидели никаких ошибок и процесс копирования пошел, то все сделано правильно, можно поставить задачу в расписание. Редактируем задания для демона cron

добавляем строчку с заданием

Резервное копирование будет выполняться в 19:00 с понедельника по пятницу.

Источник

Оцените статью