Прежде чем начать установку, нам понадобится провести ряд подготовительных процедур. PostgreSQL может установиться и без этого, но проще будет если сразу во время установки он создаст правильные конфиги и инициализирует базу данных в нужной кодировке.
Увеличиваем максимальный размер сегмента памяти до 1Гб. Для менее мощных машин устанавливают от 64Мб до половины объема ОЗУ (для теста выделим 1Gb):
# 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
postgresql-client-common_154_all.deb (вместо postgresql-client-common_140~lucid_all.deb)
postgresql-client-9.2_9.2.4-1.1C_amd64.deb
postgresql-common_154_all.deb (на момент написания статьи на сайте была доступна лишь версия для lucid, которая ломает logrotate, поэтому этот пакет скачивал отдельно)!
postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb
postgresql-9.2_9.2.4-1.1C_amd64.deb
Определяем местонахождение PostgreSQL:
whereis postgresql
postgresql: /etc/postgresql /usr/lib/postgresql /usr/share/postgresql
Проверяем, запущен ли сервер:
# service postgresql status
Выхлоп: 9.2/main (port 5433): online
Для удобства администрирования БД поменяем порт, на привычный нам со старых версий 5432. Для этого в файле: /etc/postgresql/9.2/main/postgresql.conf
меняем строку:
port = 5433 # (change requires restart)
на:
port = 5432 # (change requires restart)
Перезапускаем службу:
# service postgresql restart
* Restarting PostgreSQL 9.2 database server [ OK ]
Создаем директорию для хранения БД 1С PostgreSQL:
# mkdir /mnt/1с/db/
# chown postgres:postgres /mnt/1c/db
Инициализируем БД:
# su postgres
postgres@test:/mnt/1c/db$ /usr/lib/postgresql/9.2/bin/initdb -D /mnt/1c/db --locale=ru_RU.UTF-8
postgres@test:/mnt/1c/db$ psql -U postgres -c "alter user postgres with password 'наш_пароль';"
При первом запуске Postgre должен проинициализироваться и запуститься. Для того, чтобы иметь возможность подключится к СУБД (не к пользователю ОС, который создается вместе с установкой Postgre, а к пользователю с правами администратора, для управления СУБД), следует задать пароль главному пользователю СУБД - postgres, для этого в файле /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
Вы должны получить примерно следующее сообщение:
Stopping postgresql service: DONE
Starting postgresql service: DONE
# netstat -atn|grep 5432
Если в ответ получился, вот такой выхлоп, то всё нормально:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
На этом этапе установка PostgreSQL завершена. Приходим к установке сервера 1C 8.3.
Устанавливаем 1С:
Делаем симлинк библиотеки:
ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so
Ставим все необходимые пакеты (1c берем с их офф.сайта):
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
ttf2pt1_3.4.4-1.4_amd64.deb
Даем пользователям 1С сервера права на запись:
# chown -R usr1cv8:grp1cv8 /opt/1C
Перезапускаем сервер 1с:
# service srv1cv83 restart
Stopping 1C:Enterprise 8.3 server: Warning: server not running!
OK
Starting 1C:Enterprise 8.3 server: OK
Проверяем порты:
# 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:
Скачиваем по ссылке deb:
http://sentinelcustomer.safenet-inc.com/sentineldownloads/?s=&c=End+User&p=Sentinel+HASP&o=Linux&t=all&l=all
Добавляем i386 архитектуру, чтобы можно было устанавливать 32 битные deb пакеты::
# dpkg --add-architecture i386
# apt-get update
Так как ia32-libs выпилили из системы, если нужен 32 битный пакет, то нужно теперь ставить после пакета префикс :i386
# apt-get install libc6:i386
# dpkg -i aksusbd_2.2-1_i386.deb
# /etc/init.d/aksusbd restart
Тушим сервер. Вставляем ключи USB. Перезапускаем сервер.
Проверить работает ли HASP-ключ можно командами:
# service aksusbd status
AKSUSB is running.
WINEHASP is running.
HASPLM is running.
Далее запускаем установленный клиент 1С Предприятие 8.3 и в нём создаём новую БД 1с.
Наслаждаемся результатом:
Увеличиваем максимальный размер сегмента памяти до 1Гб. Для менее мощных машин устанавливают от 64Мб до половины объема ОЗУ (для теста выделим 1Gb):
# 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
postgresql-client-common_154_all.deb (вместо postgresql-client-common_140~lucid_all.deb)
postgresql-client-9.2_9.2.4-1.1C_amd64.deb
postgresql-common_154_all.deb (на момент написания статьи на сайте была доступна лишь версия для lucid, которая ломает logrotate, поэтому этот пакет скачивал отдельно)!
postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb
postgresql-9.2_9.2.4-1.1C_amd64.deb
Определяем местонахождение PostgreSQL:
whereis postgresql
postgresql: /etc/postgresql /usr/lib/postgresql /usr/share/postgresql
Проверяем, запущен ли сервер:
# service postgresql status
Выхлоп: 9.2/main (port 5433): online
Для удобства администрирования БД поменяем порт, на привычный нам со старых версий 5432. Для этого в файле: /etc/postgresql/9.2/main/postgresql.conf
меняем строку:
port = 5433 # (change requires restart)
на:
port = 5432 # (change requires restart)
Перезапускаем службу:
# service postgresql restart
* Restarting PostgreSQL 9.2 database server [ OK ]
Создаем директорию для хранения БД 1С PostgreSQL:
# mkdir /mnt/1с/db/
# chown postgres:postgres /mnt/1c/db
Инициализируем БД:
# su postgres
postgres@test:/mnt/1c/db$ /usr/lib/postgresql/9.2/bin/initdb -D /mnt/1c/db --locale=ru_RU.UTF-8
postgres@test:/mnt/1c/db$ psql -U postgres -c "alter user postgres with password 'наш_пароль';"
При первом запуске Postgre должен проинициализироваться и запуститься. Для того, чтобы иметь возможность подключится к СУБД (не к пользователю ОС, который создается вместе с установкой Postgre, а к пользователю с правами администратора, для управления СУБД), следует задать пароль главному пользователю СУБД - postgres, для этого в файле /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
Вы должны получить примерно следующее сообщение:
Stopping postgresql service: DONE
Starting postgresql service: DONE
# netstat -atn|grep 5432
Если в ответ получился, вот такой выхлоп, то всё нормально:
tcp 0 0 0.0.0.0:5432 0.0.0.0:* LISTEN
На этом этапе установка PostgreSQL завершена. Приходим к установке сервера 1C 8.3.
Устанавливаем 1С:
Делаем симлинк библиотеки:
ln -s /usr/lib/x86_64-linux-gnu/libMagickWand.so.5 /usr/lib/x86_64-linux-gnu/libMagickWand.so
Ставим все необходимые пакеты (1c берем с их офф.сайта):
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
ttf2pt1_3.4.4-1.4_amd64.deb
Даем пользователям 1С сервера права на запись:
# chown -R usr1cv8:grp1cv8 /opt/1C
Перезапускаем сервер 1с:
# service srv1cv83 restart
Stopping 1C:Enterprise 8.3 server: Warning: server not running!
OK
Starting 1C:Enterprise 8.3 server: OK
Проверяем порты:
# 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:
Скачиваем по ссылке deb:
http://sentinelcustomer.safenet-inc.com/sentineldownloads/?s=&c=End+User&p=Sentinel+HASP&o=Linux&t=all&l=all
Добавляем i386 архитектуру, чтобы можно было устанавливать 32 битные deb пакеты::
# dpkg --add-architecture i386
# apt-get update
Так как ia32-libs выпилили из системы, если нужен 32 битный пакет, то нужно теперь ставить после пакета префикс :i386
# apt-get install libc6:i386
# dpkg -i aksusbd_2.2-1_i386.deb
# /etc/init.d/aksusbd restart
Тушим сервер. Вставляем ключи USB. Перезапускаем сервер.
Проверить работает ли HASP-ключ можно командами:
# service aksusbd status
AKSUSB is running.
WINEHASP is running.
HASPLM is running.
Далее запускаем установленный клиент 1С Предприятие 8.3 и в нём создаём новую БД 1с.
Наслаждаемся результатом:
Здравствуйте. сделал все по вашей инструкции. система отвечает Информационная база не обнаружена
ОтветитьУдалитьПосмотрел через pgAdmin III. База на самом деле создалась. только вот 1С при запуске базы говорит что не обнаружена
ОтветитьУдалитьПопробуйте указать при создании БД не имя сервера, а его ip адрес.
ОтветитьУдалитьДелал. не получилось. Кстати откуда вы скачали эти файлы postgresql-client-common_154_all.deb, postgresql-common_154_all.deb. на сайте users v8 нет их. я их путем поиска нашел. Правильно ли это? Еще последняя доступная платформа на сайте 8.3.4.465, а у вас использована 8.3.4.476 (тоже интересно откуда), и файла ttf2pt1_3.4.4-1.4_amd64.deb на сайте users нет.
УдалитьЭтих пакетов на сайте 1С нет, т.к 1С официально поддерживает их для версии Ubuntu 10.04.
УдалитьПо поводу 1С:
https://users.v8.1c.ru/distribution/version_files?nick=Platform83&ver=8.3.4.476
откуда их брать если не сайте 1С?
УдалитьВариантов масса:
Удалитьhttp://pkgs.org/debian-sid/debian-main-i386/postgresql-client-common_154_all.deb.html
или
http://mirror.yandex.ru/ubuntu/pool/main/p/postgresql-common/
Вам по факту нужен лишь пропатченный 1с сервер Postgre, а клиента можно брать из других источников. Туго пока у 1С с поддержкой 14.04, поэтому и приходиться изощряться.
В принципе я первый вариант и использовал. Спасибо. Буду дальше смотреть)
УдалитьДобрый день, застрял на этапе установки пакета: postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb - ругается на нехватку зависимых пакетов. пишет что необходим пакет libicu46 >= 4.6.1-1 но по инструкции был установлен libicu52 что еще нужно поставить? или подскажите куда смотреть.
ОтветитьУдалитьВ общем нашел решение на просторах интернета, оно заключается в следующем:
Удалитькопируем postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb в папку на сервере, входим в нее
Распаковываем пакет:
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
далее открываем в текстовом редакторе файл «control»:
nano ./tmpdir/DEBIAN/control
ишем строку libicu46 (>= 1.4.6) и меняем ее на libicu52 (>= 1.4.6)
сохраняем изменения и собираем пакет обратно:
dpkg -b tmpdir postgresql-contrib-9.2_9.2.4-1.1C_amd64_fix.deb
Да вы правы. Так и надо делать.
ОтветитьУдалитьподскажите как на счет программной лицензии вместо hasp? есть какие-нибудь особенности установки?
ОтветитьУдалитьК сожалению не подскажу. Используем аппаратный ключ. Какое кол-во пользователей? До 10 и без ключа пускает.
УдалитьС эмулятором для Win2008 x64 по сети работает нормально. С аналогичным для WinXP - не работает.
УдалитьПрограммная лицензия на сервер встала и програмная лицензия на клиентов (даже две лицензии 5 и 20 юзеров) запустились и раздается. У меня правда 8.2 1С, но я думаю, что с 8.3 не возникнет проблем.
УдалитьДобрый день. При загрузки базы из td выскакивает ошибка "timestamp out of range" что сделал не так?
ОтветитьУдалитьПочитайте, здесь есть возможное описание вашей ошибки:
Удалитьhttp://www.alsigned.ru/?p=329
Веб-сервисы 1C 8.3 под Ubuntu 14.04 не работают.
ОтветитьУдалитьМодули wsap22.so и wsapch2.so не заводятся на apache-2.4
Спасибо за информацию. К сожалению или к счастью используем только толстый клиент. Если станет необходимость в веб-сервисах, то проверю вашу информацию.
Удалитьне заработали веб сервисы?
УдалитьНет. В версии 1c-8.3.5-1248 модули apache по-прежнему только для 2.0 и 2.2.
УдалитьЗато в грядущей версии PostgreSQL 9.3.4-1.1C заявлена официальная поддержка Ubuntu 12.04.
А на Ubuntu 14.04 можно даунгрейднуть apache до 2.2, подключив репу raring, как написано здесь:
http://www.bubuntu.spb.ru/apache24-apache22/
День добрый!
ОтветитьУдалитьТоже сделал 1-н в 1-н как в мануале + корективы от Василия по теме postgresql-contrib-9.2_9.2.4-1.1C_amd64.deb. При создании пишет сервер баз данн не обнаружен. Указываю порт если , то ошибка при выполнении операции с ИБ. Сервер не отвечает, не доступен и пр.
На клиетских машинах необходимо в файле /etc/hosts прописать ip-адрес и имя сервера.
УдалитьЗдравствуйте хочется странного ( поднять сервер 1С на винде а информационную базу linux postgres ) собственно патченая база (как минимум то что удалось скачать с просторов сети с такими же названиями) с поправленными зависимостями завелась на debian 7 однако при инициализации информационной базы из админской тулзы 1С падает с ошибкой что база не в курсе что такое mvarchar - может я что то упустил и надо эти типы самому как-то вручную задать или подключить как плагины (насколько мне известно postgres такое умеет)?
ОтветитьУдалитьАлилуя - ларчик просто открывался http://antizlo.blogspot.ru/2013/05/error-type-mvarchar-does-not-exist-at-character-31.html
УдалитьЭтот комментарий был удален автором.
ОтветитьУдалитьпри установке postgresql-common_154_all.deb вылазит ошибка:
ОтветитьУдалитьSelecting previously unselected package postgresql-common.
(Reading database ... 85959 files and directories currently installed.)
Preparing to unpack .../postgresql-common_154_all.deb ...
Adding 'diversion of /usr/bin/pg_config to /usr/bin/pg_config.libpq-dev by postgresql-common'
Unpacking postgresql-common (154) ...
dpkg: dependency problems prevent configuration of postgresql-common:
postgresql-common depends on ssl-cert (>= 1.0.11); however:
Package ssl-cert is not installed.
dpkg: error processing package postgresql-common (--install):
dependency problems - leaving unconfigured
Processing triggers for ureadahead (0.100.0-16) ...
Processing triggers for man-db (2.6.7.1-1) ...
Errors were encountered while processing:
postgresql-common
И дальше, если игнорировать ошибку уперся в следующее
ОтветитьУдалитьОшибка при установке :
Selecting previously unselected package postgresql-9.2.
(Reading database ... 86238 files and directories currently installed.)
Preparing to unpack .../postgresql-9.2_9.2.4-1.1C_amd64.deb ...
Unpacking postgresql-9.2 (9.2.4-1.1C) ...
dpkg: dependency problems prevent configuration of postgresql-9.2:
postgresql-9.2 depends on ssl-cert; however:
Package ssl-cert is not installed.
dpkg: error processing package postgresql-9.2 (--install):
dependency problems - leaving unconfigured
Processing triggers for postgresql-common (154) ...
Obsolete major version 9.2
The PostgreSQL version 9.2 is obsolete, but the server or client packages
are still installed. Please install the latest packages (postgresql-9.3 and
postgresql-client-9.3) and upgrade the existing clusters with
pg_upgradecluster (see manpage).
Please be aware that the installation of postgresql-9.3 will automatically
create a default cluster 9.3/main. If you want to upgrade the 9.2/main
cluster, you need to remove the already existing 9.3 cluster (pg_dropcluster
--stop 9.3 main, see manpage for details).
The old server and client packages are no longer supported. After the
existing clusters are upgraded, the postgresql-9.2 and postgresql-client-9.2
packages should be removed.
Please see /usr/share/doc/postgresql-common/README.Debian.gz for details.
Building PostgreSQL dictionaries from installed myspell/hunspell packages...
Removing obsolete dictionary files:
Errors were encountered while processing:
postgresql-9.2
Андрей, а как связаться с вами? Есть работа.
ОтветитьУдалитьavcherka@gmail.com
Удалить