Поддержка проектов  


Вы можете поддержать проект перечислив 900 рублей
на рублёвый счёт WebMoney: R272306964544
(или долларовый эквивалент на счёт: Z310486833404),
или на рублёвый счёт Яндекс.Деньги: 41001232162230

 

на развитие
проекта
Яндекс Яндекс. Деньги Хочу такую же кнопку
   

Рейтинг  

Яндекс.Метрика
Яндекс цитирования
 

   

Статистика  

Посетители
6
Материалы
294
Количество просмотров материалов
1977075
   

Автор: Уваров А.С. - 05.02.2010 00:21

1c_server_ubuntu.png Версия сервера 1С:Предприятие 8.1 для платформы Linux вызывает повышенный интерес у пользователей и системных администраторов, так как позволяет сэкономить значительные средства отказавшись от покупки связки Windows Server + SQL Server (или Small  Business Server). Сегодня мы рассмотрим установку сервера 1С на Ubuntu Server 9.10.
Прежде всего следует определится с платформой. Это зависит от того, какая версия сервера 1С:Предприятие 8.1 приобретена: 32-х или 64-х битная, последняя стоит почти в два раза дороже (42 000 и 72 000 руб. соответственно), так что есть над чем призадуматься.

Дополнительным поводом к раздумью является тот факт, что, в отличие от платформы Windows, на 64-х битную версию Linux нельзя поставить 32-х битную версию сервера. Поэтому придется мирится с ограничениями 32-х битной платформы или выносить PostgreSQL на отдельный 64-х битный сервер, что нивелирует экономию на ПО дополнительными затратами на "железо", либо рассматривать вариант на платформе Windows Small  Business Server.

Учитывая, что решения на платформе Linux выбирают в первую очередь небольшие предприятия, для которых во главу угла ставится экономия средств, то в большинстве случаев возможностей 32-битной платформы будет вполне достаточно. Поэтому мы будем рассматривать установку именно 32-битного сервера, хотя все описанное нами будет работать и на 64-битной платформе.

Подготовка

Подготовительные процедуры сводятся к установке и настройке на целевом сервере Ubuntu Server 9.10 32-бит. При разметке диска стоит вынести /var на отдельный раздел (а еще лучше на отдельный жесткий диск) в целях повышения быстродействия хранящихся там БД. Также стоит подумать об обеспечении отказоустойчивости дисковой подсистемы (RAID1 или RAID5). Во время установки не выбираем никакого дополнительного ПО, особенно PostgreSQL, почему, будет ясно чуть позже.

Пока устанавливается ОС следует подготовить дистрибутив. Желательно использовать последнюю версию платформы (релизы серверной и клиентской части должны совпадать), ее можно получить на дисках ИТС или на сайте http://users.v8.1c.ru/. Мы использовали версию 8.1.14.72 шедшую в комплекте поставки, нас интересуют пакеты для Debian, копируем их в отдельную папку.

В качестве SQL сервера будет использоваться PostgreSQL. Однако версия из репозитариев для работы с 1С не подходит, проблема заключается в том, что PostgreSQL не накладывает блокировки на прочитанные таблицы в автоматическом режиме, как это делают DB2 и MSSQL. Нам нужна версия PostgreSQL пропатченная для 1С. К сожалению 1С предоставляет PostgreSQL только в rpm формате, которые можно конвертировать в deb и установить, но при этом потребуется "доработка напильником" в виде ручного прописывания настроек. Есть способ лучше, компания Ethersoft бесплатно предоставляет свои сборки PostgreSQL уже содержащие все необходимые патчи в виде установочных пакетов под большинство популярных дистрибутивов. Версию для Ubuntu берем здесь: ftp://updates.etersoft.ru/pub/Etersoft/Postgres@Etersoft/stable/Ubuntu/9.10/, скачиваем и помещаем в отдельную папку.

Последним этапом будет скачивание HASP драйверов ключа защиты. Надо отметить, что Linux версия сервера 1С без ключа допускает до 12 соединений включительно. Если у вас количество клиентских лицензий меньше этого числа, то драйверы ключа можно не качать и не устанавливать, а сам ключ воткнуть в сервер "для красоты". Драйвер берем здесь: ftp://ftp.aladdin.com/pub/hasp/srm/Linux/HASP_SRM_LINUX_3.50_Run-time_Installer_script.tar.gz

Подготовленные дистрибутивы записываем на CD (или помещаем на флешку).

К этому времени на сервере должна уже установится операционная система. Настраиваем на ней сеть и доступ в интернет, а также сразу обновляем ее и устанавливаем mc:

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install mc


Установка PostgreSQL

Запускаем mc с правами супер пользователя, теперь, если свернуть mc с помощью Ctrl+O мы получим сессию root в командной строке, где будем выполнять необходимые команды:

sudo mc

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

mount /media/cdrom

При помощи mc создадим временную папку, скажем tmp (в домашней директории) и скопируем туда содержимое CD. Переходим в папку с дистрибутивом PostgreSQL, сворачиваем mc, при этом рабочей папкой окажется папка с дистрибутивом и устанавливаем пакеты командой:

dpkg -i *.deb

PostgreSQL установлен, но перед первым запуском нужно выполнить ряд настроек. В файл /etc/sysctl.conf добавляем две строки, отвечающие за размер выделяемого БД сегмента памяти:

kernel.shmall=134217728
kernel.shmmax=134217728


Применим эти настройки:

sysctl -p

Следующим шагом установим необходимые для работы Postgres библиотеки:

apt-get install libxslt1.1

Проверим наличие библиотеки libreadline.so.5 в папке /lib, может получиться так, что эта библиотека будет отсутствовать, однако будет более новая версия libreadline.so.6. В таком случае надо сделать символьную ссылку:

ln -s /lib/libreadline.so.6 /lib/libreadline.so.5

Запускаем сервер PostgreSQL:

/etc/init.d/postgresql start

При первом запуске Postgres должен проинициализироваться и запуститься. Для того, чтобы иметь возможность подключится к нему следует задать пароль главному пользователю СУБД - postgres, для этого в файле /var/lib/pgsql/data/pg_hba.conf находим строку:

local all all ident sameuser

и изменяем ее следующим образом:

local all all trust

Это дает возможность подключится к СУБД любым локальным пользователем без пароля. Перезапускаем Postgres:

/etc/init.d/postgresql restart

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

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'password'"

После чего в pg_hba.conf меняем обратно trust на ident sameuser и еще раз перезапускаем Postgres.

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

При помощи mc переходим в папку с установочными пакетами сервера 1С, сворачиваем mc и даем команду:

dpkg -i *.deb

Установим необходимые для работы 1С права:

chown -R usr1cv81:grp1cv81 /opt/1C

И добавим скрипты автоматического запуска сервера 1С при старте системы и остановки при завершении работы:

update-rc.d srv1cv81 defaults

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

locale-gen en_US
locale-gen ru_RU
dpkg-reconfigure locales


Убеждаемся что локаль en_US.ISO-8859-1 установлена, иначе при попытке создать ИБ в 1С получите ошибку:
неверное значение для параметра "lc_messages": "en_US".

Установка ключа защиты

Переходим в папку где находится архив скачанный нами с сайта Аладдина. Распаковываем его:

tar xzvf HASP_SRM_LINUX_3.50_Run-time_Installer_script.tar.gz

Переходим в каталог HASP_SRM_LINUX_3.50_Run-time_Installer_script и запускаем скрипт установки (не забываем про точки в начале и конце):

./dinst .

В /etc/fstab добавим строку, для автоматического монтирования USB ключа:

none /proc/bus/usb usbfs defaults 0 0

На этом настройка сервера закончена. Перезагружаем его:

reboot

Настройка клиентской части и перенос информационной базы.

Установим клиентскую часть платформы вместе с компонентой Средства доступа к серверу предприятия 1С. Для того, чтобы Windows машины могли обращаться по имени к Linux серверу в файл C:\Windows\System32\drivers\etc\hosts добавим строку вида:

10.0.0.10       1CSERVER

где 10.0.0.10 IP адрес, а 1CSERVER имя нашего 1С сервера.

Windows-7-RC1-x86-2010-02-06-15-08-59.png Открываем оснастку Серверы 1С Предприятия, выбираем пункт Центральные серверы 1С Предприятия 8.1  и через меню Действие - Создать создаем новый сервер. Теперь создадим новую базу и перенесем туда данные из файлового варианта 1С.
В левой колонке выбираем Информационные базы и через меню Действие выбираем создание новой информационной базы. Заполняем поля и ставим галочку Создать базу данных в случае ее отсутствия, при нажатии на кнопку OK произойдет создание новой БД. Таким же образом можно присоединить уже существующую и расположенную на сервере базу.

Windows-7-RC1-x86-2010-02-06-15-51-05.png Загружаем существующую информационную базу из которой мы хотим выгрузить данные на сервер в режиме конфигуратора, Администрирование - Выгрузить информационную базу. Вся информация будет выгружена в файл.

Windows-7-RC1-x86-2010-02-06-15-51-59.png Штатными средствами 1С добавим существующую базу, в качестве ее местоположения укажем Сервер 1С, в следующем окне указываем имя сервера и название созданной нами базы данных. Запускаем созданную базу в режиме конфигуратора и через Администрирование - Загрузить информационную базу производим загрузку данных из файла. Готово, мы перенесли существующую информационную базу на сервер.

Создание новой информационной базы.

Windows-7-RC1-x86-2010-02-05-21-41-00.png Обычным путем создадим новую базу из шаблона, в качестве хранилища также указываем Сервер 1С. В открывшемся окне указываем имя сервера БД, желаемое название базы, тип (PostgreSQL) и параметры доступа к серверу базы данных. По нажатию кнопки Готово будет создана новая база по выбранному нами шаблону.

© Записки IT специалиста (Технический блог специалистов ООО "Интерфейс")