Подробный и полностью рабочий гайд по установке этой связки софта на ваши железки.
Увеличиваем максимальный размер сегмента памяти до 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.
На этом этапе всё готово для создания БД из под оснастки 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
Это даёт нам автоматическую балансировку нагрузки по рабочим процессам. Сервер сам создаёт нужное количество рабочих процессов согласно указанным параметрам и также автоматически закрывает неиспользуемые рабочие процессы. Тем самым мы обеспечили не только балансировку, но и ротацию (перезагрузку) рабочих процессов с целью защиты от «пожирания памяти».
за текст выражайте благодарности этому ростовскому парню.