Сервер 1С 8.3 на Ubuntu.
Как установить сервер 1С 8.3 на Ubuntu 18.04 или 16.04?
Рассмотрим вариант установки сервера, использующего программную лицензию. Этот способ одинаково подходит как для серверов Ubuntu 16.04, так и для Ubuntu 18.04 (которая бывает только x64)
Вводные данные
- Используемая ОС: Ubuntu 18.04 x64
- Используемая версия 1C: 8.3.12.1412 (У вас скорее всего будет отличаться)
- Характеристики сервера 1С: 8 vCPU + 32GB оперативной памяти + 50 GB дискового пространства
- Характеристики тестовых стендов:
- ESXi1
- CPU: 2x Intel(R) Xeon(R) CPU E5-2680 v2 @ 2.80GHz
- vCPU: 40
- RAM: 256GB
- Raid 0 из 10k SAS
- Ethernet 1GBit
- ESXi2
- CPU: Intel(R) Xeon(R) CPU E5-2660 @ 2.20GHz
- vCPU: 32
- RAM: 96GB
- 10k SAS без raid
- Ethernet 1GBit
- ESXi1
- Базой данных служит Postgres 9.6.6-1.1С от 1С
Для тестов специально выбрано 2 блейда одной модели. Так как блейды без доп расширений имеют физическое ограничение в 2 диска на блейд, мы не можем тестировать различные конфигурации дискового хранилища без того, чтобы постоянно его не перенастраивать. Поэтому у нас будет 2 бейда, 1-й блейд будет иметь Raid 0 из двух 10k SAS дисков, второй будет иметь не объединенные в рейд 10k SAS и 7200 SAS. Единственные отличия помимо уже описанных, это модели процессоров и объем памяти. Так же 2 блейда позволят в будущем организовать более правдоподобные сценарии тестирования всевозможных кластеров и миграции.
Устанавливаем Сервер 1С 8.3 на Ubuntu
Подразумевается что Ubuntu Server 18.04 x64 вы уже установили. Если нет то надо установить Ubuntu Server 18.04 x64. Можно и десктопную убунту, инструкция подойдет и для серверной и для десктопной версии, но смысл установки десктопной версии для функционала сервера категорически отсутствует.
Подключаемся к нашему серверу через SSH
Обновляем убунту командой
Ставим библиотеки необходимые для работы Сервера 1С
Тут вопрос достаточно тонкий, каждая библиотека нужна для реализации конкретного функционала и если вы этот функционал использовать не будете, эти библиотеку можно не устанавливать.
Документация на портале ИТС к 1С:Предприятие 8.3.12 -> Клиент-серверный вариант. Руководство администратора -> Глава 1 -> Пункт 1.3. Общие требования для клиент-серверного варианта работы говорит нам что для различного функционала Серверу 1С требуются следующие библиотеки.- libMagickWand-6.Q16
- libfreetype
- libgsf-1
- libglib-2.0
- unixodbc
- libkrb5
- libgssapi-krb5
- Майкрософтовские шрифты
Поверхностная проверка покажет, что в Ubuntu 18.04 x64 часть библиотек уже стоит
Но для того чтобы убедиться наверняка, можно отправить команду для их установки всех требуемых библиотек и недостающее доставится, а устаревшее обновится.
sudo apt-get install libwebkitgtk-3.0-0 libjavascriptcoregtk-3.0-0 libMagickWand-6.Q16 libfreetype6 libgsf-1-114 libglib2.0-0 unixodbc libkrb5-3 libgssapi-krb5-2 ttf-mscorefonts-installer
Эта команда доставит все заявленные в документации библиотеки
Заливаем архив с сервером 1с
Архив скачанный с сайта 1С, будет называться deb64.tar.gz . Заливаем архив с пакетами сервера на убунту в папку /tmp
- Как вариант, можно подключиться из венды к нашему серверу по SFTP через WinSCP
- Можно поднять внутри сети какой-нибудь сервер и скачать архив с помощью wget
Извлекаем архив
Устанавливаем пакеты сервера 1С
Теперь, для того чтобы установить сервер 1С, будет достаточно находясь в папке /tmp, при условии наличия там файлов с сервером 1с, выполнить следующую команду:
sudo dpkg -i ./1c-e*.deb
Те, кому интересно немного матчасти, читаем этот пункт дальше. Остальным нужно проследовать к следующему пункту.
Собственно почему получилось без проблем установить все 6 пакетов одной командой?- Команда dpkg обрабатывает все пакеты в в том же порядке, в котором их отображает команда ls или же ls -l
- Случилось это по чистой случайности или же по воле великих админских богов, но расположенные в алфавитном порядке пакеты извлеченные из архива, как раз складываются в таком порядке что при установке каждого пакета, все предидущие пакеты от которых он мог зависеть уже установлены.
- Если вдруг порядок пакетов когда-то изменится, то ставить их надо в следующем порядке:
- common — независит ни от чего
- common-nls — зависит от common
- server — зависит от common
- server-nls — зависит от server
- ws — зависит от server
- ws-nls — зависит от ws
- Таким образом вы не сможете установить пакет ws, пока не установите server, который в свою очередь требует common
- Пакеты *-nls — языковые пакеты. Если вам не требуется функционал который они предоставляют их можно не устанавливать. Кто-то может поспорить, у меня все сервера работают без nls пакетов. Выбор за вами. Для чистоты последующих экспериментов я поставлю все пакеты.
Запускаем сервер 1С
Сервер 1С 8.3.12 для Linux не запускается автоматически после установки, убедиться в этом можно выполнив любую из двух команд:
systemctl status srv1cv83
service srv1cv83 status
Резутатом будет следующее сообщение:
Чтобы запустить сервер, нужно выполнить одну из двух команд:sudo systemctl start srv1cv83
sudo sesrvice srv1cv83 start
Попытка повторно узнать статус сервера покажет вам следующие результат:
Собственно поздравляю. Вы успешно установили Сервер 1С 8.3 на Ubuntu 18.04. Но это только часть работы. Для того чтобы начать тестирование, нам необходимо развернуть PostgreSQL на другом сервере. Развернуть её можно и на одном сервере в 1С, на любителя.