Увеличиваем максимальный размер сегмента памяти до 4Гб (Обычно половина объема ОЗУ):
#echo "kernel.shmmax=1073741824" >>/etc/sysctl.conf #sysctl -p
Генерируем необходимые локали и задаем переменную среды LANG, для работы скрипта инициализации БД.
#locale-gen en_US ru_RU ru_RU.UTF-8 #export LANG="ru_RU.UTF-8"
Устанавливаем необходимые зависимисти:
#apt-get install libssl0.9.8 libossp-uuid16 libxslt1.1 libicu52 libt1-5 t1utils imagemagick ttf-mscorefonts-installer unixodbc texlive-base libgfs-1.3-2
Качаем с сайта 1C необходимые пакеты Postgre 9.2.4 и устанавливаем их именно в такой последовательности:
#dpkg -i libpq5_9.2.4-1.1C_amd64.deb
#wget http://archive.ubuntu.com/ubuntu/pool/main/p/postgresql-common/postgresql-client-common_154_all.deb
#dpkg -i postgresql-client-common_154_all.deb
#dpkg -i postgresql-client-9.2_9.2.4-1.1C_amd64.deb
#wget http://archive.ubuntu.com/ubuntu/pool/main/p/postgresql-common/postgresql-common_154_all.deb
#dpkg -i postgresql-common_154_all.debПересобираем contrib:
#dpkg -x postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir #dpkg -e postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb tmpdir/DEBIAN #mcedit ./tmpdir/DEBIAN/control ишем строку libicu46 (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6) сохраняем изменения
#rm postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb
#dpkg -b tmpdir postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb #dpkg -i postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb #dpkg -i postgresql-9.2_9.2.4-1.1C_amd64.deb
Проверяем, запущен ли сервер:
#service postgresql statusВыхлоп:
9.2/main (port 5433): online
Создаем директорию для хранения баз банных 1С:
#mkdir /mnt/1с/db/ #chown postgres:postgres -R /mnt/1c/db
Инициализируем БД и создаем администратора БД:
#su postgres $/usr/lib/postgresql/9.2/bin/initdb -D /mnt/1c/db --locale=ru_RU.UTF-8 $psql -U postgres -c "alter user postgres with password 'наш_пароль';"
Правим конфиг для корректной авторизации администратора БД (/mnt/1c/db/pg_hba.conf).
Меняем:
# IPv4 local connections: host all all 127.0.0.1/32 ident # IPv6 local connections: host all all ::1/128 identНа:
# IPv4 local connections: host all all 127.0.0.1/32 md5 # IPv6 local connections: host all all ::1/128 md5
Перезапускаем PostgreSQL:
#service postgresql restart
Проверяем:
#netstat -atn|grep 5432выхлоп:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTENзначит все гуд
На этом этапе установка PostgreSQL завершена.
Устанавливаем сервер 1С:
Создаем симлинк:
#ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so
Ставим все необходимые пакеты:
#dpkg -i 1c-enterprise83-common_8.3.4-476_amd64.deb 1c-enterprise83-server_8.3.4-476_amd64.deb 1c-enterprise83-ws_8.3.4-476_amd64.deb 1c-enterprise83-common-nls_8.3.4-476_amd64.deb 1c-enterprise83-server-nls_8.3.4-476_amd64.deb 1c-enterprise83-ws-nls_8.3.4-476_amd64.deb
#wget http://old-releases.ubuntu.com/ubuntu/pool/universe/t/ttf2pt1/ttf2pt1_3.4.4-1.4_amd64.deb
#dpkg -i ttf2pt1_3.4.4-1.4_amd64.deb
Разрешаем запись:
#chown -R usr1cv8:grp1cv8 /opt/1C
Перезапускаем сервер 1с:
#service srv1cv83 restart
Проверяем порты:
#netstat -atn |grep 0.0.0.0:15
tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN
Так же можно для профилактики проверить, все ли процессы сервера запущены:
#ps aux|grep 1c usr1cv8 28351 0.0 1.1 264284 22664 ? Ssl 10:01 0:00 /opt/1C/v8.3/x86_64/ragent -daemon usr1cv8 28354 0.3 2.0 776216 41956 ? Sl 10:01 0:00 /opt/1C/v8.3/x86_64/rmngr -port 1541 -host test -range 1560:1591 usr1cv8 28378 0.1 1.6 323900 34076 ? Sl 10:01 0:00 /opt/1C/v8.3/x86_64/rphost -range 1560:1591 -reghost test -regport 1541 -pid f10fbd88-c9eb-11e3-0599-40618600e473 root 28439 0.0 0.0 13472 892 pts/2 S+ 10:03 0:00 grep --color=auto 1c
Установка Sentinel HASP USB:
#wget ftp://ftp.cis-app.com/pub/hasp/Sentinel_HASP/Runtime_(Drivers)/6.62/Sentinel_LDK_Ubuntu_DEB_Run-time_Installer.tar.gz #dpkg --add-architecture i386 #apt-get update #apt-get install libc6:i386 #dpkg -i aksusbd_2.2-1_i386.deb #/etc/init.d/aksusbd restart
Тушим сервер. Вставляем ключи USB. Запускаем сервер.
#service aksusbd status
AKSUSB is running. WINEHASP is running. HASPLM is running.
Скрипты backup/restore аналогичны скриптам из этой статьи.
На этом этапе всё готово для создания БД из под оснастки Windows "Администрирование серверов предприятия"!!!!!!!!!!!!!!!!!!!
Возможные ошибки:
"Ошибка СУБД: ERROR: type "mvarchar" does not exist at character 31"
Означает что база данных была создана не из оснастки 1с. Необходимо удалить БД и создать ее из оснастки.
______________________________________________________________________
1С Предприятие Ошибка СУБД: ERROR: invalid byte sequence for encoding "UTF8": 0x01 (0x01 это для примера, адреса бывают разные)
Невосстановимая ошибка приводящая к вылету клиента
Наблюдается на платформе 1C 8.3.4 и 8.3.5
Редко на УТ 10, и часто на УТ 11
Лекарство: Установить значение параметра standard_conforming_strings в конфиге postgresql.conf в значение 'off'
Параметр лучше поправить как для БД, так и в глобальных настройках.
______________________________________________________________________
Ошибка при получении характеристик по причине: {(1, 31)}: Поле не найдено "Свойство.Presentation" SELECT <<?>>
Означает, что не хватает прав на справочники "ЗначенияСвойствОбъектов", "ЗначенияСвойствОбъектовИерархия" и план видов характеристик "ДополнительныеРеквизитыИСведения".
Соответственно лечится установкой прав на эти объектов хотя бы на "чтение/просмотр"
______________________________________________________________________
Улучшаем работу сервера 1С предприятие 8.3.5
Через оснастку администрирования серверов 1с для конкретной БД выставляем свойства:
Количество ИБ на процесс = 1
Количество соединений на процесс = 10
Это даёт нам автоматическую балансировку нагрузки по рабочим процессам. Сервер сам создаёт нужное количество рабочих процессов согласно указанным параметрам и также автоматически закрывает неиспользуемые рабочие процессы. Тем самым мы обеспечили не только балансировку, но и ротацию (перезагрузку) рабочих процессов с целью защиты от «пожирания памяти».
Грамотная и толковая статья.
ОтветитьУдалитьС уважением,
Антон
а что с веб сервисами как из тут завести?, говорят веб-сервисы 1C 8.3 под Ubuntu 14.04 не работают.
ОтветитьУдалитьМодули wsap22.so и wsapch2.so не заводятся на apache-2.4
Про веб-сервисы не подскажу, ибо не работаю с ними. Если будет время поразбираюсь
ОтветитьУдалитьСпасибо
ОтветитьУдалитьне подумавши удалил все директории в папке /mnt/1с/db/base теперь когда создаю новые базы они работают но там не появляются, где теперь их искать и как сделать чтоб дазы создавались /mnt/1с/db/base как ранее, инициализировать заново ?
ОтветитьУдалитьНовые базы лежат в каталоге по-умолчанию (/var/lib/postgresql/9.2/main/base)
УдалитьИзменить каталог можно либо через конфиг постгреса или переинициализировать
Здравствуйте, ALAH =)
ОтветитьУдалитьСтавлю 8.3.7.1873 на Ubuntu 12.04.5x32/12.04.5x64 с PostgreSQL 9.4.2-1.1C (с сайта 1c) - никаких проблем, всё прекрасно работает! Но никак не получается добиться такого же результата при попытке установить 8.3.7.1873, PostgreSQL 9.4.2-1.1C на Ubuntu 14.04.3x32/14.04.3x64 - одна и та же ошибка ( tail /var/log/postgresql/postgresql-9.4-main.log
2016-01-31 22:43:49 MSK ERROR: type "mvarchar" does not exist
2016-01-31 22:43:49 MSK STATEMENT: CREATE OPERATOR CLASS mvarchar_fill_ops
FOR TYPE mvarchar USING hash AS
OPERATOR 1 ==,
FUNCTION 1 fullhash_mvarchar(mvarchar);
2016-01-31 22:43:49 MSK WARNING: there is no transaction in progress
2016-01-31 22:43:49 MSK ERROR: type "mvarchar" does not exist at character 31
2016-01-31 22:43:49 MSK STATEMENT: create table Config (FileName mvarchar(128) not null, Creation timestamp not null, Modified timestamp not null, Attributes int not null, DataSize int8 not null, BinaryData bytea not null, PartNo int not null, PRIMARY KEY (FileName, PartNo))
) допекла меня уже =)... Базу пытался создавать из самой программы 1с, путем добавления базы на сервер предприятия, а так же через Администрирование серверов 1С Предприятия... Причем делаю в точности одно и тоже в Ubuntu 12 & Ubuntu 14, но результат разный... Буду рад любой подсказке, которая могла бы мне помочь с этой проблемой справиться. Спасибо за Ваши статьи, я часто посещаю этот блог =)
В продолжение предыдущего моего поста... Снес (purge) libicu52, он потянул с собой в ад ещё пару пакетов =) - open-vm-tools и еще какой-то... Установил libicu48 и 1с-8.3.7.1873 с последней на сегодня версией УТ 11 установилась и всё нормально заработало... В моем случае, видимо, не хватило пересборки пакета postgresql-contrib по Вашему рецепту, где-то ещё нужно поковырять, чтобы заработало с libicu52. В общем, я это написал на случай, если кому-то это будет полезным, а сам буду ковырять дальше - дело не в работе/неработе с libicu52, а в посредственности моего знания linux - буду учиться дальше, но буду рад если поможете разобраться с libicu52 =)
ОтветитьУдалитьС уважением, Макс
Для корректной работы 1С (и других прилажовин) в ubuntu 14.04 лучше использовать "родной" libicu52. Данный набор библиотек обеспечивает поддержку локали unicode (так гласит официальное назначение: "Icu is a c++ and c library that provides robust and full-featured unicode and locale support. this package contains the runtime libraries for icu."). Для работы 1С достаточно пересобрать contrib и указать в зависимостях более новую версию (см. мануал). Лучше вернуть libicu52. Он есть в зависимостях других пакетов, и его изменение может нарушить стабильность работы системы вцелом. Если будете использовать внешние источники данных в 1С - он там опять понадобится. Собсна в пересборке пакета нет ничего страшного - все направлено на то, чтобы обмануть 1С при проверке зависимостей =)
УдалитьСегодня в очередной раз всё переустановил точно по Вашему мануалу (я не первый раз уже пересобираю contrib - если я правильно понял, нужно всего лишь изменить вот здесь - mcedit ./tmpdir/DEBIAN/control - libicu48 на libicu52. Да, у меня версия PostgreSQL 9.4_9.4.2-1.1C_amd64_deb с сайта 1с. Может поэтому не заводится, добрые парни из 1с, возможно, что-то еще в своем новом патче изменили? Руки, конечно, кривые, но мануал Ваш очень подробный, и если быть немного повнимательнее (mkdir -p /mnt/1с/db), то трудно ошибиться пять раз подряд.. Хотя.. руки ..=)
УдалитьТак после пересборки contrib все равно не заводится? На прошлой неделе обновлял postgres до 9.4 - все работает. Единственное что делал не так как в мануале - это ставил все пакеты от 1С. Т.е. postgresql-client-common_154_all.deb и postgresql-common_154_all.deb не качал с из репов, а брал аднаэсовские.
УдалитьСитуация: после многочисленных тестов кончились ключи активации лизензий на 5 рабочих мест(было 3 штуки, стало 1 - последний), вопрос: сколько времени в фирме бухи и менеджеры будут "курить", пока компания 1с предоставит дополнительный ключ лицензии ? Предоставит ли вообще?
УдалитьЗависит от сапорта. Мне франчи дали железный ключ (пока я ждал пин от аднаэс - это около 2х недель). А эксперименты лучше ставить на ломаной 1С )))
Удалитьне ключ, блин... пин-код я имел ввиду ):
ОтветитьУдалить