Дневничок системного программиста Администрирование, программирование и всего понемногу... вторник, 22 апреля 2014 г. Установка PostgreSQL 9.2.4 + 1C 8.3.4.476 на Ubuntu Server 14.04 X64 Прежде чем начать установку, нам понадобится провести ряд подготовительных процедур. 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с. Наслаждаемся результатом: Автор: Черкасов Андрей Викторович на 16:41 30 комментариев: Amir Selimov
Установка PostgreSQL 9.2.4 + 1C 8.3.4.476 на Ubuntu Server 14.04 X64:Дневничок системного программиста
Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.