Администрирование серверов 1с под linux (ubuntu) — Я программист
В Windows есть оснастка «Администрирование серверов 1С: Предприятие», которая позволяет подключаться к кластерам серверов и управлять базами данных. А как управлять кластерами и базами в linux? Интересно? Тогда под кат
Пройдемся по пунктам выполняя наиболее востребованные команды. Заметьте, что я использовал 32 битную систему и 1С соответственно, поэтому если Вы используете 64 битную версию — путь к 1С будет скорее всего таким:/opt/1C/v8.3/x86_64/
Для начала запустим кластер серверов 1С следующей командой:
/opt/1C/v8.3/i386/ras —daemon cluster
/opt/1C/v8.3/i386/ras —daemon cluster |
Информация о кластерах
Для получения информации о кластере в терминале надо ввести команду:
/opt/1C/v8.3/i386/rac cluster list
/opt/1C/v8.3/i386/rac cluster list |
Вывод этой команды будет примерно такой:
cluster : ef89b672-c6a6-11e4-ea91-0800274e0291host : 1cport : 1541name : «Локальный кластер»expiration-timeout : 0lifetime-limit : 0max-memory-size : 0max-memory-time-limit : 0security-level : 0session-fault-tolerance-level : 0load-balancing-mode : performance
cluster : ef89b672-c6a6-11e4-ea91-0800274e0291host : 1cport : 1541name : «Локальный кластер»expiration-timeout : 0lifetime-limit : 0max-memory-size : 0max-memory-time-limit : 0security-level : 0session-fault-tolerance-level : 0load-balancing-mode : performance |
В данном выводе нас особо интересует идентификатор кластера. В моем случае это «ef89b672-c6a6-11e4-ea91-0800274e0291». Мы будем использовать его для дальнейших манипуляций.
Список баз
Эта операция нам нужна для того, чтобы получить идентификаторы баз и дальнейшей работы с ними.
Для получения списка баз вводим в терминале команду:
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 summary list
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 summary list |
Вывод:
infobase : d53e07e6-c6b5-11e4-6981-0800274e0291name : test1descr : infobase : a71b8db2-c74a-11e4-1081-0800274e0291name : tkanidescr :
infobase : d53e07e6-c6b5-11e4-6981-0800274e0291name : test1descr :infobase : a71b8db2-c74a-11e4-1081-0800274e0291name : tkanidescr : |
Удаление базы
Вводим команду с использование идентификатора кластера и базы, которую хотим удалить:
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 drop —infobase=a71b8db2-c74a-11e4-1081-0800274e0291
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 drop —infobase=a71b8db2-c74a-11e4-1081-0800274e0291 |
Вывода у этой команды нет, поэтому если не ругается — считаем, что база удалена успешно.
И не забываем удалить базу из postgresql, если наша цель — полное удаление базы.
pavel@1c:/opt/1C/v8.3/i386$ su postgrespostgres@1c:/opt/1C/v8.3/i386$ psqlpostgres=# lpostgres=# DROP DATABASE tkani;postgres=# qpostgres@1c:/opt/1C/v8.3/i386$ exit
pavel@1c:/opt/1C/v8.3/i386$ su postgrespostgres@1c:/opt/1C/v8.3/i386$ psqlpostgres=# lpostgres=# DROP DATABASE tkani;postgres=# qpostgres@1c:/opt/1C/v8.3/i386$ exit |
Тут важный момент — после имени базы обязательно ставим точку с запятой.
Добавление базы
Тут довольно большая команда, которую я разъясню чуть ниже:
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 create —create-database —name=tkani —dbms=PostgreSQL —db-server=1c —db-name=tkani —locale=ru —db-user=postgres —db-pwd=postgrespwd —license-distribution=allow
/opt/1C/v8.3/i386/rac infobase —cluster=ef89b672-c6a6-11e4-ea91-0800274e0291 create —create-database —name=tkani —dbms=PostgreSQL —db-server=1c —db-name=tkani —locale=ru —db-user=postgres —db-pwd=postgrespwd —license-distribution=allow |
У этой команды будет вывод:
infobase : 09b3c6a0-c75b-11e4-1081-0800274e0291
infobase : 09b3c6a0-c75b-11e4-1081-0800274e0291 |
Который соответственно показывает идентификатор только что созданной базы.
А теперь разъяснения:
—create-database
при создании информационной базы создать базу данных
—name=
(обязательный) имя информационной базы
—dbms=MSSQLServer|PostgreSQL|IBMDB2|OracleDatabase(обязательный) тип СУБД, в которой размещается информационная база:MSSQLServer — MS SQL ServerPostgreSQL — PostgreSQLIBMDB2 — IBM DB2
OracleDatabase — Oracle Database
—db-server=
(обязательный) имя сервера баз данных
—db-name=
(обязательный) имя базы данных
—locale=
(обязательный) идентификатор национальных настроек информационной базы
—db-user=
имя администратора базы данных
—db-pwd=
пароль администратора базы данных
—descr=
описание информационной базы
—date-offset=
смещение дат в информационной базе
—security-level=
уровень безопасности установки соединений с информационной базой
—scheduled-jobs-deny=on|offуправление блокировкой выполнения регламентных заданий:on — выполнение регламентных заданий запрещено
off — выполнение регламентных заданий разрешено
—license-distribution=deny|allowуправление выдачей лицензий сервером 1С:Предприятияdeny — выдача лицензий запрещена
allow — выдача лицензий разрешена
Благодарности
Спасибо Александру и его статье: http://blog.ne-plati-za-it.ru/?p=56, с помощью которой я смог разобраться в администрировании серверов 1с из под linux.
Установка 1С:Предприятие под Linux
Если Вас интересует установка 1С:Предприятия на Linux, то эта статья поможет решить Ваши вопросы.
Мы подробно рассмотрим настройку сервера 1С 8.1 с использованием PostgreSQL и Debian GNU/Linux. Порядок и параметры установки могут меняться в зависимости от операционной системы и версии самого сервера, но основные моменты остаются неизменными.
Нашей фирмой уже неоднократно производилась успешная установка на такие операционные системы:
- Ubuntu — это операционная система, основанная на ядре Linux, которая идеально подходит для использования на персональных компьютерах, ноутбуках и серверах.
- Debian — свободная операционная сисмема. В Debian используется ядро Linux, но большинство утилит ОС разработано в рамках проекта GNU; поэтому полное название проекта — Debian GNU/Linux.
Что же собственно собой представляет PostgreSQL?
PostgreSQL — это свободно распространяемая объектно-реляционная система управления базами данных (ORDBMS). Она является наиболее развитой из открытых систем управления базами данных (СУБД) в мире.
Давайте наконец-то приступим к настройке сервера приложений 1С и СУБД PostgreSQL.
Настройка СУБД PostgreSQL
Для того, чтобы наша СУБД могла поддерживать utf-8, необходимо установить библиотеку ICU.
aptitude -R install libicu38
СУБД PostgreSQL с наложенными патчами от 1С можно загрузить по адресу:
ftp://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/8.3.7/Debian/5.0/
Переходим в каталог
выполняем загрузку данных пакетов в каталог пользователя root
Если выполнить команду, приведенную ниже, можно увидеть файлы, которые были загружены:
теперь пора установить СУБД
Теперь, если выполнить следующую команду, то запуститься PostgreSQL
/etc/init.d/postgresql start
Вы увидите:
Starting postgresql service: /usr/bin/pg_ctl: error while loading shared libraries: libxslt.so.1: cannot open shared object file: No such file or directory The current value of SHMMAX is too low for postgresql to run. Please edit /etc/sysctl.conf and set this value to at least 134217728:
kernel.shmmax = 134217728
Необходимо установить библиотеки для postgre
aptitude -R install libxslt1.1 libxml2
Параметр ядра Linux SHMMAX (максимальное значение в байтах для одного сегмента shared memory) слишком маленький для обеспечения корректной работы СУБД. По умолчанию он равняется 32 Мб. Чтобы устаровить параметр в 128 Мб, выполните следующую команду:
echo «kernel.shmmax = 134217728» >> /etc/sysctl.conf
Для смены прав на каталог данных Вашей БД, введите команду:
chown -R postgres:postgres /var/lib/pgsql
Теперь перезапустите систему
Во время установки СУБД пакетный менеджер создал нового пользователя в системе. Измените этому пользователю пароль
passwd postgres
Введите новый пароль UNIX:
Повторите ввод нового пароля UNIX:
Для смены пользователя введите
su -l postgres
Чтобы попасть в PostgreSQL interactive terminal, выполните команду
psql
Чтобы сменить пароль внутреннему пользователю базы данных postgres, выполните команду
alter user postgres with password 'YOUR_PASSWORD'; q
Теперь настройте /var/lib/pgsql/data/postgresql.conf
# Для среднего 32 битного однопроцессорного сервера примерно 100-150 max_connections = 150 # Размер разделяемой памяти для процессов postgre shared_buffers = 75MB # 2/3 от физической памяти сервера, с учетом, того что на # сервере установлена только postgresql. # В противном случае учитывайте потребление памяти другими приложениями. # нашей виртуальной машине выделено всего 512 Мб, но ведь у нас еще будет # на ней работать и сервер приложений 1С # Другим словами = RAM — (SWAP+RAM_USED_BY_OTHER_PROC_ON_THIS_SERVER) effective_cache_size = 250MB # Включаем периодическое обслуживание базы данных — дефрагментацию данных. autovacuum = on autovacuum_naptime = 5min # Вкючение/отключении кэширования. fsync on
Теперь откройте файл доступа к СУБД:
nano /var/lib/pgsql/data/pg_hba.conf
Сотрите все строки после данной строки:
# TYPE DATABASE USER CIDR-ADDRESS METHOD
А теперь запишите следующие строки:
host all all 127.0.0.1/32 md5
host all all 192.168.0.0/24 md5
Первая строка является доступом к серверу приложений по логину и паролю пользователя СУБД к самой СУБД.
Вторая строка является доступом к СУБД из локальной сети.
В последней строке замените «192.168.0.0/24» на вашу реальную сеть.
После редактирования, перезапустите СУБД
/etc/init.d/postgresql restart
Установка завершена.
Установка сервера приложений 1С
Установите ftp:
aptitude -R install ftp
С его помощью Вы можете подключиться к настроенному ftp серверу, на который будут выложены загруженные с сайта 1с необходимые пакеты.
Переместите в каталог /root следующие установочные пакеты:
1c-enterprise-common_8.1.14-72_i386.deb 1c-enterprise-common-nls_8.1.14-72_i386.deb 1c-enterprise-server_8.1.14-72_i386.deb 1c-enterprise-server-nls_8.1.14-72_i386.deb
Перейдите в этот каталог и выполните
dpkg -i 1c*
Теперь установите права, необходимые для работы 1C.
chown -R usr1cv81:grp1cv81 /opt/1C
Добавьте скрипты запуска и остановки сервера приложений 1С.
update-rc.d srv1cv81 defaults
Перед созданием базы данных выполните следующую команду
dpkg-reconfigure locales
При настройке пакета отметьте en_US.ISO-8859-1
Выберите ru_RU.UTF-8
Перезапустите сервер
shutdown -r now
Теперь сервер готов к созданию на нем базы данных.
Установите последнюю платформу 1С 8.1 на компьютер с ОС Windows. Вы можете создать пустую базу данных через консоль управления, и затем загрузить в неё конфигурацию.
Запустите консоль управления серверами, её можно найти здесь:
1С: Пуск -> Все программы -> 1C Предприятие 8.1
Затем создайте новый сервер. Для этого:
- Откройте вкладку «Центральные сервера «
- Нажмите правой кнопкой мыши по элементу «Центральные сервера»
- Выберите создать центральный сервер 1С 8.1
- В окне, которое появится перед Вами, введите имя компьютера, на котором функционирует сервер приложений, например d1c.
- Порт оставьте по умолчанию.
- Нажмите «ОК».
В списке «Центральные сервера » появиться только что установленный виртуальный сервер.
Теперь раскройте в нем вкладки «Кластеры», «1541», «Информационные базы»
Создайте «информационную базу», нажав правой кнопкой мыши по элементу «Информационные базы».
Выполните следующие действия:
- Введите имя базы 1С, например: Sklad
- Защищенное соединение: выключено
- Сервер баз данных: localhost
- Тип СУБД: Postgre
- База данных, в СУБД postgre: pg_Sklad1
- Пользователь БД: postgres
- Пароль пользователя БД: YOUR_PASSWORD
- Язык: русский(Россия)
- Смещение дат: 0
- Включите «Создать базу данных в случае ее отсутствия».
- Далее нажмите «ОК».
Также Вы можетесоздать базу данных из шаблона. Для этого потребуется установленная конфигурация 1С, например «Управление торговлей».
Запустите платформу 1С Предприятие 8.1. Выберите «Добавить».
Создание новой ИБ: выберите шаблон конфигурации, который Вам нужен. Например, Управление торговлей (демо)-10.3.8.7.Нажмите «Далее».
Введите имя и укажите «На сервере 1С:Предприятия», нажав «Далее».
Имя кластера: введите имя вашего виртуального сервера, например, d1c
- Имя информационной базы: Sklad
- Защищенное соединение: выключено
- Тип СУБД: Postgre
- Сервер БД: localhost
- Имя БД: pg_Sklad1
- Пользователь БД: postgre
- Пароль пользователя БД: YOUR_PASSWORD
- Смещение дат: 0
- Включите «Создать базу данных в случае ее отсутствия».
А теперь давайте посмотрим на общую информацию, которая может быть Вам полезна:
postgresql.conf отвечает за общую конфигурацию
pg_hba.conf отвечает за авторизацию пользователей с различных компьютеров
Путь к команде psql: /usr/bin/psql
Путь к разделяемым библиотекам PostgreSQL: /usr/lib/postgresql
Начальная база данных PostgreSQL: template1
Команда для запуска PostgreSQL: /etc/rc.d/postgresql start
Команда для остановки PostgreSQL: /etc/rc.d/postgresql stop
Путь к файлу PID postmaster: /var/lib/postgres/data/postmaster.pid
Путь к файлу настроек доступных узлов: /var/lib/postgres/data/pg_hba.conf
Команда для вызова утилиты управления сервисами: system-config-services
Как установить 1С на Linux
Установка 1С на Ubuntu Linux не требует специальных знаний операционной системы или опыта программирования.
Достаточно внимательно ознакомиться с данной инструкцией и следовать всем рекомендациям по вводу команд и работе с терминалом, описанным ниже.
Перед тем как начать саму установку клиента и сервера 1С под Ubuntu Linux, необходимо скачать дополнительные DEB пакеты (библиотеку и защиту hasp от Etersoft). Если у вас нет локальной сети, то необходимо ее настроить.
Локальная сеть
Откройте главное меню, найдите и запустите системную утилиту «сетевые соединения».
Для дальнейшей конфигурации перейдите на «проводное соединение» — «изменить» — «Параметры IPv4».
Измените способ настройки на «вручную», пропишите IP адрес. Для примера укажем: 192.168.128.40. Данные маски сети по умолчанию: 255.255.255.0.
Для доступа к интернету укажите DNS сервера. Вы можете использовать данные по умолчанию или ввести следующий рабочий адрес DNS — 8.8.8.8.
После этого можно приступить к загрузке дистрибутивов.
Загрузка дистрибутивов
Запустите интернет браузер и перейдите на сайт поддержки пользователей 1С — «www.users.v8.1c.ru». С него мы будем скачивать сами дистрибутивы клиента и сервера 1С для Ubuntu Linux.
Нажмите — «скачать обновления», введите данные своей учетной записи (логин, пароль).
После этого, найдите «технологическая платформа 8.3» и выберите самую последнюю версию.Здесь выберите «клиент 1С предприятия для DEB Linux систем». Помимо самого клиента, необходимо скачать «сервер 1С для Deb Linux систем». Без него вы не сможете установить сам клиент 1C для Ubuntu Linux.
Дополнительные DEB пакеты
Для полноценной работы программы мало скачать и установить сервер и клиент 1С. Все файлы необходимо загружать в одну папку «загрузки». Чтобы не путаться, удалит оттуда все лишнее. Затем, для более комфортной установки, мы переместим все скачанные дистрибутивы.
Необходимо загрузить дополнительные файлы: etersoft (терминальный сервер 1С под Linux или hasp) и бесплатную библиотеку libwebkitgtk. Для установки библиотеки перейдите по ссылке ниже, а затем найдите последнюю версию дистрибутива.
Для устройств на базе 32-разрядного процессора необходимо скачивать DEB пакет i386, для 64-разрядного — amd64.
http://security.ubuntu.com/ubuntu/pool/main/w/webkit/
Следующее, что понадобится — терминальный сервер 1C для Ubuntu (HASP защита). Скачать его дистрибутив можно с официального сайта Etersoft по ссылке ниже. В нашем случае это DEB пакеты для Ubuntu 12.04. Если вы пользуетесь другой версией Linux или Ubuntu, вернитесь в каталог и выберите необходимую вам.
http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/12.04/
Загрузить нужно все DEB пакеты hasp. Другие файлы не нужны.
Подготовка к установке
Дальнейшую установку клиента и сервера на Ubuntu продолжим при помощи терминала Linux. Чтобы не вводить длинные названия файлов и директорий вручную, рекомендуем скопировать их и вставить по инструкции ниже.
Если вам уже приходилось работать с Linux Ubuntu и устанавливать через терминал DEB файлы, то данный этап можно пропустить и приступить к следующему.
- В домашней папке создайте новую — 1С;
- откройте только что созданную директорию, создайте здесь еще две: hasp, server;
- все DEB файлы hasp переместите в созданную папку «hasp» по адресу «домашняя папка» «1С» — «hasp»;
- вернитесь в папку «загрузки», и распакуйте дистрибутив клиента;
- в итоге у вас должна появиться папка с распакованными в ней файлами клиента 1С для Ubuntu;
- переместите из нее все файлы, в директорию «доимашняя папка» — «1С»;
- откройте папку «загрузки», распакуйте из архива дистрибутив сервера;
- скопируйте все файлы в папку «server»;
- оставшийся дистрибутив — в папку «1С».
После этого можно приступать к установке клиента и сервера 1С на Ubuntu Linux. Мы будем делать это при помощи терминала, т.к. в этом случае появляется возможность проследить за всеми ошибками, которые могут возникнуть в процессе. Например, из-за отсутствующих библиотек или дистрибутивов в системе.
Внимание! Перед тем как установить клиент 1С под Ubuntu Linux, проверьте, что его версия совпадает с версией сервера 1С.
Работа с терминалом
Запустите главное меню и откройте терминал. Здесь мы будем вводить все рабочие команды.
Если вы не пользовались операционной системой Linux, то рекомендуем выполнять установку DEB пакетов и ввод команд строго в той последовательности, в которой они ниже. Так вы сможете заметить и устранить все возможные ошибки терминала, скачать отсутствующие библиотеки.
Введите команду «cd 1c» для перехода по каталогу, а затем нажмите «enter» и впишите команду «sudo dpkg -i», скопируйте название первого DEB файла из каталога 1С и вставьте его в терминал нажатием правой кнопкой мыши или сочетанием клавиш «shift+ctrl+V».
Нажмите «Enter». Для выполнения команды, терминал запросит пароль администратора, введите его.
После этого должен выпасть список сообщений об ошибке, в которых будет указана их причина — зависимость. Например, что DEB пакет 1С зависит от библиотеки libwebkit (которую мы уже скачали). Или отсутствие 1С сервера.Внимание! Если в списке ошибок нет зависимости от библиотеки, то устанавливать ее второй раз не нужно.
Установка библиотеки
Для установки библиотеки, введите команду «sudo dpkg -i», а затем скопируйте и вставьте название DEB пакета libwebkitgtk. Нажмите Enter.
Если в процессе возникнет какая-то ошибка, запустите центр приложений Ubuntu, а на любые запросы системы — нажмите «да». Введите пароль администратора.
Вернитесь в терминал, введите команду «sudo dpkg -i» для установки DEB пакета. Чтобы второй раз не вводить длинную команду и не копировать название файла, Linux запоминает введенные команды. И их можно перебирать нажатие клавиши «вверх» (стрелочки) на клавиатуре.
Настройка сервера
Для установки сервера 1С на Ubuntu Linux, в самом терминале необходимо перейти в каталог «1С» — «server».
Поэтому, введите следующую команду в терминале: «cd server», а затем загрузите все, что есть в директории. Чтобы не пришлось вводить все «вручную», пропишите «sudo dpkg -i *.deb». После этого загрузятся все DEB пакеты из каталога «server».
Установка клиента 1С для Linux
Чтобы вернуться на уровень из каталога «1С» — «server» в корень, введите: «cd/home/1c/server», а затем «cd ../» и нажмите «enter».
После этого при помощи команды «sudo dpkg -i» установите клиент 1С. Для этого не забудьте скопировать и вставить название DEB пакета и нажмите Enter. Если в процессе не возникло ошибок, то все было сделано правильно.
Установите оставшиеся дистрибутивы из каталога 1С (для быстрой работы используйте кнопку «вверх» на клавиатуре, а затем просто изменяйте название дистрибутивов).
HASP
Так как сейчас мы находимся по адресу «/home/1c/», то для установки защиты hasp достаточно ввести следующую команду: «cd hasp» (чтобы перейти в каталог hasp из директории 1С), а затем «sudo dpkg -i *.deb» (чтобы установить все пакеты из каталога «hasp»).
После этого можно воткнуть в сервер ключ защиты HASP и ввести несколько дополнительных команд, для разрешения зависимостей. На вопрос терминала «продолжить установку», вводите «д» (да) или «y» (yes).
Список команд для установки hasp под Ubuntu Linux:
- «sudo apt-get install imagemagick»;
- «sudo apt-get install unixodbc»;
- «sudo apt-get install libgsf-bin»;
- «sudo apt-get install t1utils».
Чтобы запустить 1С, перейдите в главное меню, затем введите название программы. Перед вами появится несколько видов клиента. То есть все, что необходимо для работы с программой.
Чтобы вам не пришлось постоянно искать клиент для запуска в меню, скопируйте «1С: Enterprise» на рабочий стол Ubuntu.
После этого запустите приложение, создайте базу данных и начинайте работу с системой и конфигурациями.