Який лінукс найкраще для 1с. Помилка субд: database не придатний для використання

Також під час установки, треба не забути відзначити чекбокс навпаки встановлювати ssh-сервер (якщо потрібен) і samba-server (потрібний 1С-у) :)

1) Підготовка:

Налаштуємо мережу, будемо використовувати статичну адресацію:

Sudo vi /etc/network/interfaces

Auto eth0 iface eth0 inet static address 192.168.1.8 netmask 255.255.255.0 broadcast 192.168.1.255 gateway 192.168.1.1 dns-nameservers 192.181.6.1.

де auto eth0 - говорить системі, що інтерфейс eth0 необхідно включати автоматично при завантаженні системи з наведеними нижче параметрами.

iface eth0 inet static - Вказує на те, що eth0 використовує статичний інтерфейс. Якщо використовується DHCP-сервер, то пишемо замість static - dhcp.

З 12.04 за конфігурацію DNS відповідає програма resolvconf(замість файлу /etc/resolv.conf) тому, якщо не використовується DHCP-сервер, DNS-сервера для статичних інтерфейсів необхідно вносити в /etc/network/interfacesвикористовуючи параметри dns-nameservers, dns-search та dns-domain,відповідні параметрам nameserver, searchі domainв resolv.conf.

Рестарт служби:

Sudo /etc/init.d/networking restart

Оновлюємося:

Sudo apt-get update

Sudo apt-get dist-upgrade

Ставимо Midnight Commander (mc)

Sudo apt-get install mc

2. Встановлення та налаштування сервера баз даних PostgreSQL

Для зручності, що б не набирати щоразу sudoперейдемо в режим руту:

Ставимо пакети необхідні для правильної роботи PostgreSQL:

Apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5

Качаємо останню стабільну версію PostgreSQL звідси.

Ставимо пакети командою:

Після цього в системі з'явиться користувач postgres, буде створено скрипт /etc/init.d/postgresql для старту та зупинки СУБД.

Після цього, даємо права на папку pgsql користувачу та групі postgres:

Chown postgres:postgres /var/lib/pgsql

Задаємо пароль користувачу postgres:

Passwd postgres

Редагуємо /etc/group, де існуючий id групи tape:x:26: міняємо на якийсь інший, наприклад 27:). У підсумку мають бути такі рядки:

Postgres:x:26: tape:x:27:

Стартуємо сервіс командою, вказуємо значення змінної LANG. Необхідно для первинного створення бази:

LANG=ru_UA.utf-8 service postgresql start

Може сваритися, що поточне значення Shmmax занадто мало для запуску PostgreSQL і запропонувати вказати своє, але ми надійдемо розумніше і скористаємося наступним скриптом, який порахує та виведе потрібний розмір Shmmax та Shmall у байтах.

SHMMAX - це максимальний розмір (в байтах) на сегменті shared memory дорівнює половині всієї доступної пам'яті на сервері.

SHMALL — загальна кількість пам'яті, що розділяється (у сторінках), яку всі процеси на сервері можуть використовувати.

Потім пропишемо отримані значення за допомогою команди:

Echo "kernel.shmmax = 521981952" >> /etc/sysctl.conf echo "kernel.shmall = 127437" >> /etc/sysctl.conf

Або пропишемо в /etc/sysctl.conf вручну. Для того, щоб зміни набули чинності, набираємо:

Будь-який user postgres with password "YOUR_PASSWORD";

Набираємо \q щоб вийти з консолі.

Файл /var/lib/pgsql/data/pg_hba.conf наводимо до вигляду:

#IPv4 локальні з'єднання: host all postgres 0.0.0.0/0 md5

Головний конфіг /var/lib/pgsql/data/postgresql.confредагуємо відповідно до таких даних: Усереднене налаштування найважливіших параметрів:

Shared_buffers = 1/8 RAM або більше (але не більше 1/4) work_mem = в 1/20 RAM maintenance_work_mem = в 1/4 RAM max_fsm_relations = у плановану кількість таблиць в базах * 1.5 max_fsm_pages в max_fs0; fsync = true wal_sync_method = fdatasync commit_delay = від 10 до 100 commit_siblings = від 5 до 10 effective_cache_size = 0.9 від значення cached, яке показує free random_page_cost = 2 для швидких c0, cpu, 0.01 для повільних cpu_index_tuple_cost = 0.0005 для швидких cpu, 0.005 для повільних

Для оптимізації налаштувань розрахованих на максимальну продуктивність можна спробувати скористатися утилітою pgtune .

Wget http://pgfoundry.org/frs/download.php/2449/pgtune-0.9.3.tar.gz

Tar xvfz *.tar.gz

Переходимо до каталогу з pgtune, виконуємо команду:

./pgtune −i $PGDATA/postgresql.conf −o $PGDATA/postgresql.conf.pgtune

-iшлях до вхідного, поточного файлу налаштувань postgresql.conf,

-oшлях до вихідного, нового файлу налаштувань postgresql.conf.

В результаті виконання команди отримаємо ідентичний вихідний файл налаштувань, за винятком кількох нових pg_tune-параметрів у самому кінці файлу.

$PGDATA- Змінна вказівка ​​на /var/lib/pgsql/data. Якщо не задана, вказати можна в /etc/environment.

Більш повну інформацію щодо налаштування postgresql.conf дивимося у Etersoft або стосовно 1С на сайті Вечеслава Гільова. Для тих, хто хоче заглибитися докладніше в процес вивчення PostgreSQL існує чудовий, докладний мануал від Олексія Васильєва. :)

Найчастіше використовувані команди Postgresql:

Змінити root-пароль:

ALTER USER postgres WITH PASSWORD 'newpassword';

3. Встановлення 1С Підприємство 8

Для правильної роботи сервера 1С Підприємство встановимо такі пакети:

Sudo apt-get install imagemagick libglib2.0-dev libgsf-1-dev texlive-base ttf-mscorefonts-installer libfreetype6 libfreetype6-dev unixodbc unixodbc-dev

Качаємо технологічну платформу 1С8.2 для Linux (Debian/Ubuntu) із сайту 1С.

Установку пакетів потрібно проводити у порядку, т.к. Існують залежності.

Якщо встановлювати все одразу по масці, можуть виникнути помилки.

1) 1c-enterprise82-common_8.2.15-319_amd64.deb // загальні компоненти сервера
2) 1c-enterprise82-common-nls_8.2.15-319_amd64.deb // національні ресурси для загальних компонентів
3) 1c-enterprise82-server_8.2.15-319_amd64.deb // сервер 1С: підприємство 8.2 для Linux
4) 1c-enterprise82-server-nls_8.2.15-319_amd64.deb // Національні ресурси для сервера 1С
5) 1c-enterprise82-ws_8.2.15-319_amd64.deb // адаптер для публікації Web-сервісів 1С: Підприємства 8 на веб-сервері на основі Apache HTTP Server 2.0 або Apache HTTP Server 2.2;
6) 1c-enterprise82-ws-nls_8.2.15-319_amd64.deb // Національні ресурси для компонентів веб-сервісів 1с8.2

Додаємо в автозавантаження:

Update-rc.d srv1cv82 defaults

Користувачеві usr1cv82 дозволяємо писати в /opt/1C та /home/usr1cv82

Chown -R usr1cv82:grp1cv82 /opt/1C

Chown -R usr1cv82:grp1cv82 /home/usr1cv82

Перезапускаємо сервер. Перевіряємо коректність старту служби:

Service srv1cv82 status

Повинно висвітиться:

Init script: STARTED Ragent: RUNNING

На файрволі, якщо використовується, для роботи сервера 1С повинні бути відкриті наступні порти: tcp:1540 – агент сервера (ragent) tcp:1541 – головний менеджер кластера (rmngr) tcp:1560-1591 – діапазон мережевих портів для динамічного розподілу робочих процесів. (достатньо відкрити tcp:1560)

A INPUT -p tcp -m state --state NEW -m tcp --dport 1540 -j ACCEPT -A INPUT -p tcp -m state --state NEW -m tcp --dport 1541-j ACCEPT -A INPUT -p tcp -m multiport --dports 1560:1591 -j ACCEPT

Перевірка працездатності робочих процесів сервера:

Netstat-tlnp | grep:15

Повинні отримати приблизно таку картинку:

Tcp 0 0 0.0.0.0:1560 0.0.0.0:* LISTEN 2814/rphost tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 2799/ragent tcp 0 0 0.0.0.0:1541 0.0.0.0:* LISTEN 2802/ rmngr

Але, отримуємо таке:

Tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN 960/ragent

Також переглянути запущені процеси можна за допомогою команди:

Повинні отримати приблизно таке:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon usr1cv82 935 0.1 3.0 790496 31376 ? Sl Jul04 2:31 /opt/1C/v8.2/x86_64/rmngr -port 1541 -range 1560:1591 usr1cv82 948 0.4 11.5 720804 117412 ? Sl Jul04 6:21 /opt/1C/v8.2/x86_64/rphost -range 1560:1591 -reghost ubuntus12 -re

Але запускається лише ragent:

Usr1cv82 931 0.0 1.8 338376 18612 ? Ssl Jul04 0:41 /opt/1C/v8.2/x86_64/ragent -daemon

На жаль, танці з бубном ні до чого не привели, і права виставлені скрізь коректно і мережа налаштована належним чином. Нагуглив, що з 15 релізом у багатьох схожі проблеми, а в мене 8.2.15-319. А 318 Пам'ятається працював:) Вирішив спробувати останній на момент написання огляду 8.2.16.362 і про диво, з першого разу все завелося як слід.

Тепер необхідно перевірити коректність установки компонентів, які ми встановили на початку за допомогою перевіряючого скрипту:

/opt/1C/v8.2/x86_64/utils/*config_server

Якщо не отримуємо не якихось повідомлень, а в директорії /opt/1C/v8.2/x86_64/conf/grcmncfg з'явився файлик type.xml то значить все ок, в моєму випадку, скрипт видає купу помилок. У першому повідомлення йдеться про те, що неможливо отримати доступ до якогось файлу libc.

Cannot access /lib/libc-*.so: No such file or directory Cannot access /lib64/libc-*.so: No such file or directory

Подивимося, де цей файл насправді сидить:

Find / -name "libc-*.so" -print

Отримуємо наступний вихлоп:

/lib/x86_64-linux-gnu/libc-2.15.so

Не дивно, що скрипт його не знаходить, робимо по черзі два симлінки:

Ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib/libc-2.15.so ln -s /lib/x86_64-linux-gnu/libc-2.15.so /lib64/libc-2.15.so

Після чого знову запускаємо скрипт. Помилка з «доступом» зникає, але залишається така:

./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./config_server: line 193: [: too many arguments ./ config_server: line 193: [: too many arguments

У 193 рядку міститься наступний запис, який вказує на опитування змінної $SYSTEM_LIB_PATH, де мабуть повинні бути потрібні 1су бібліотеки.

[! -e $aliasFullName ] && return 1

Подивимося, що не може виявити скрипт, запускаємо:

Echo $aliasFullName

Отримуємо:

Can't detekt SYSTEM_LIB_PATH, please set this environment variable manually!/libWand.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually! 1.so Can't detekt SYSTEM_LIB_PATH, please set this environment variable manually!/libglib-2.0.so Can't detect SYSTEM_LIB_PATH, please set this environment variable manually!/libodbc.so

Як я зрозумів, SYSTEM_LIB_PATH повинен виявляти шукані файли у трьох можливих директоріях:

/usr/lib /usr/lib32 /usr/lib64

Також необхідно вручну задати SYSTEM_LIB_PATH в /etc/environment. Наприклад, нехай шукає бібліотеки тільки в /usr/lib/

SYSTEM_LIB_PATH="/usr/lib"

Перезапускаємо сервер, знову запускаємо скрипт, отримуємо наступне:

/usr/lib/libWand.so /usr/lib/libfreetype.so Please install following package: FreeType /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so Please install following package: libglib /usr /lib/libodbc.so Please install following package: UnixODBC

Файли libWand.soі libgsf-1.soзнаходяться там, де потрібно. Інші файли libfreetype.so, libglib-2.0.soі libodbc.soзнаходяться у /usr/lib/x86_64-linux-gnu. Відповідно знову робимо смлинки:

Ln -s /usr/lib/x86_64-linux-gnu/libfreetype.so /usr/lib/libfreetype.so ln -s /usr/lib/x86_64-linux-gnu/libglib-2.0.so /usr/lib/libglib -2.0.so ln -s /usr/lib/x86_64-linux-gnu/libodbc.so /usr/lib/libodbc.so

Запускаємо повторно скрипт, тепер бачимо, що всі бібліотеки у потрібних нам директоріях.

/usr/lib/libWand.so /usr/lib/libfreetype.so /usr/lib/libgsf-1.so /usr/lib/libglib-2.0.so /usr/lib/libodbc.so

На клієнті, якщо Windows, заходимо в консоль керування 1CV8 Servers (Адміністрування серверів 1С Підприємства). Тиснемо, додати Центральний сервер 1С:Підприємства 8.2, додаємо по імені. У вкладці робочі сервери має з'явитися запис. Створюємо нову базу, або за допомогою консолі управління, або в самому клієнті 1С вибираємо опцію:

Додати нову інформаційну базу.

Запускаємо 1С. Тест Гільова видає 13,05 балів.

Щодо HASP-ключів, якщо до 12 користувачів то потрібен лише мережевий ключ з маркуванням типу NETXX ORGL8, де XX – кількість клієнтських ліцензій. Якщо більше 12 користувачів, але потрібний також локальний ключ для сервера. Фіолетовий ключ HASP HL ​​з маркуванням типу ENSR8 для 32x-бітного сервера або зелений ключ HASP HL ​​Max маркуванням ENS8SA для 64-бітного. Ключ HASP HL ​​Max підтримує також 32-бітовий сервер.

Для нормальної роботи HASP-ключів необхідно встановити два пакети, що включають драйвер ключа aksusbd і менеджер ліцензій hasplm. Має сенс ставити модифіковані варіанти драйверів від Entersoft. Для нормальної роботи haspd, потрібна підтримка 32-бітових програм.

Тому додаємо її встановленням пакету ia32-libs.

Apt-get install ia32-libs

Тепер сам HASP та менеджер ліцензій:

Dpkg -i http://download.etersoft.ru/pub/Etersoft/HASP/stable/x86_64/Ubuntu/12.04/

Вставляємо ключ, перевантажуємо сервер. Працездатність ключів перевіряємо командою:

Sudo service haspd status

Повинні бути запущені: aksusbd, winehasp, hasplm, hasplmd.

4. Публікація на веб-сервері

Ставимо apache:

Apt-get install apache2

Редагуємо /etc/apache2/apache2.conf , де ставимо директиву ServerName, яка вказує на ім'я сервера.

ServerName "ubuntus12"

В іншому випадку при запуску apach'a отримаємо повідомлення:

Httpd: Правильно не визначено значення сервера, який повністю зафіксував домашній ім'я, використовуючи 127.0.0.1 для ServerName

У кореневому каталозі сайту, створюємо директорію base, де base - ім'я бази, до якої ми надаватимемо доступ.

Mkdir /var/www/base

Тепер нам необхідно запустити спеціальний скрипт для публікації бази на веб-сервері:

Переходимо в /opt/1C/v8.2/x86_64/ Запускаємо скрипт з наступними параметрами:

./webinst -apache22 -wsdir base -dir "/var/www/base" -connStr "Srvr="ubuntus12";Ref="base";" -confPath /etc/apache2/httpd.conf

Перевіряємо коректність змін. У /etc/apache2/httpd.conf мають бути такі рядки:

LoadModule _1cws_module "/opt/1C/v8.2/i386/wsap22.so" # 1c publication Alias ​​"base" "/var/www/base/" AllowOverride None Options None Order allow,deny Allow from all SetHandler 1c-application ManagedApplicationDescriptor "/var/www/base/default.vrd"

У /var/www/base/ так само має з'явитися файл default.vrd два останні рядки якого мають виглядати приблизно так:

Base="/base" ib="Srvr="ubuntus12"; Ref="base";

Видаємо права на директорію, перезапускаємо Apache:

Chown -R www-data:www-data /var/www/base

Service apache2 restart

Заходимо браузером, попередньо відключивши спливаючі вікна.

http://ubuntus12/base

І отримуємо таке повідомлення:

Воно, і зрозуміло, без спеціального мережевого ключа, не працюватиме:)

5. Резервне копіювання та відновлення:

Даємо права користувачеві postgres на тут папку, куди будемо вивантажувати backup.

Chown postgres:postgres /mnt/net

У /mnt/netу мене змонтована віндова куля, за допомогою команди:

Mount -t smbfs -o username=test,password=11111111,iocharset=utf8 //192.168.1.8/distr /mnt/net

Відмонтувати, примусово закривши всі підключення, якщо потрібно:

Umount -l /mnt/net

Резервне копіювання (Backup):

Pg_dump -U postgres -Fc -Z9 dbname -f /mnt/net/Backup/Base/dbname.dump

U (користувач)
-F (формат файлу, що видобувається)
з (custom — внутрішній формат стиснення pg_dump, можливі варіанти tar і plain text)
-Z (Встановити режим стиснення)
0 - 9 (0 - без стиснення, 9 - максимальний режим)
-f (витягувати цей файл)

Якщо вивантажуємо на гвинтову кулю, потрібний повний доступ для Users.

Відновлення (тільки з-під користувача postgres):У нову базу:

Createdb -T template0 newdb

#!/bin/sh BKPDIR="/mnt/net/PostgreSQL" DATEYMD=`date "+%Y-%m-%d"` pg_dump -Fc -Z9 mydb -f "$(BKPDIR)/$(DATEYMD) -mydb-PostgreSQL.dump"

Запис у crontab (під користувача postgres):
su postgres
crontab -e // Додати завдання
crontab -l //перегляд завдань
crontab -r // видалити завдання

# запустити о 18:50 хвилин

50 18 * * * sh /home/scripts/backup.sh

# запускати кожні 15 хвилин

*/15 * * * * sh /home/scripts/backup.sh

Установка 1С на Ubuntu Linux не потребує спеціальних знань операційної системи чи досвіду програмування. Достатньо уважно ознайомитися з цією інструкцією та дотримуватися всіх рекомендацій щодо введення команд та роботи з терміналом, описаним нижче. Перед тим як розпочати саму установку клієнта та сервера 1С під Ubuntu Linux, необхідно завантажити додаткові пакети DEB (бібліотеку та захист hasp від Etersoft). Якщо у вас немає локальної мережі, необхідно її налаштувати.

Локальна мережа

Відкрийте головне меню, знайдіть і запустіть системну утиліту мережевих з'єднань.

Для подальшої конфігурації перейдіть на "дротове з'єднання" - "змінити" - "Параметри IPv4".

Змініть спосіб налаштування на «вручну», пропишіть IP-адресу. Наприклад вкажемо: 192.168.128.40. Дані маски мережі за замовчуванням: 255.255.255.0.

Для доступу до Інтернету вкажіть сервер DNS. Ви можете використовувати дані за промовчанням або ввести наступну робочу адресу DNS - 8.8.8.8.

Після цього можна розпочати завантаження дистрибутивів.

Запустіть інтернет браузер і перейдіть на сайт підтримки користувачів 1С - www.users.v8.1c.ru. З нього ми завантажуватимемо самі дистрибутиви клієнта та сервера 1С для Ubuntu Linux.

Натисніть - "завантажити оновлення", введіть дані свого облікового запису (логін, пароль).

Після цього знайдіть «технологічна платформа 8.3» і виберіть останню версію.

Тут оберіть «клієнт 1С підприємства для DEB Linux систем». Крім самого клієнта, необхідно завантажити "сервер 1С для Deb Linux систем". Без нього ви не зможете встановити сам клієнт 1C для Ubuntu Linux.

Додаткові пакети DEB

Для повноцінної роботи програми мало завантажити та встановити сервер та клієнт 1С. Усі файли необхідно завантажувати в одну папку завантаження. Щоб не плутатися, видалить звідти все зайве. Потім, для більш комфортної установки, ми перемістимо всі завантажені дистрибутиви.

Необхідно завантажити додаткові файли: etersoft (термінальний сервер 1С під Linux чи hasp) та безкоштовну бібліотеку libwebkitgtk. Щоб установити бібліотеку, перейдіть за посиланням нижче, а потім знайдіть останню версію дистрибутива.

Для пристроїв на базі 32-розрядного процесора необхідно завантажувати DEB пакет i386, для 64-розрядного – amd64.

Наступне, що знадобиться, - термінальний сервер 1C для Ubuntu (HASP захист). Завантажити його дистрибутив можна з офіційного сайту Etersoft за посиланням нижче. У нашому випадку це пакети DEB для Ubuntu 12.04. Якщо ви користуєтеся іншою версією Linux або Ubuntu, поверніться в каталог і виберіть потрібну вам.

Завантажити всі DEB пакети hasp. Інші файли не потрібні.

Підготовка до встановлення

Подальше встановлення клієнта та сервера на Ubuntu продовжимо за допомогою терміналу Linux. Щоб не вводити довгі назви файлів та директорій вручну, рекомендуємо скопіювати їх та вставити за інструкцією нижче.

Якщо вам вже доводилося працювати з Linux Ubuntu та встановлювати через термінал DEB файли, то цей етап можна пропустити та приступити до наступного.

  • У домашній папці створіть нову – 1С;

  • відкрийте щойно створену директорію, створіть тут ще дві: hasp, server;

  • усі DEB файли hasp перемістіть у створену папку "hasp" за адресою "домашня папка" "1С" - "hasp";
  • поверніться в папку «завантаження» і розпакуйте дистрибутив клієнта;
  • в результаті у вас має з'явитися папка з файлами клієнта 1С для Ubuntu, що розпаковані в ній;
  • перемістіть з неї всі файли, до директорії «дома папка» - «1С»;

  • відкрийте папку «завантаження», розпакуйте з архіву дистрибутив сервера;
  • скопіюйте всі файли до папки «server»;

  • дистрибутив, що залишився - в папку «1С».

Після цього можна приступати до встановлення клієнта та сервера 1С на Ubuntu Linux. Ми робитимемо це з допомогою терміналу, т.к. у цьому випадку з'являється можливість простежити всі помилки, які можуть виникнути в процесі. Наприклад, через відсутні бібліотеки або дистрибутиви в системі.

Увага! Перед тим, як встановити клієнт 1С під Ubuntu Linux, перевірте, чи його версія збігається з версією сервера 1С.

Робота з терміналом

Запустіть головне меню та відкрийте термінал. Тут ми вводитимемо всі робочі команди.

Якщо ви не користувалися операційною системою Linux, то рекомендуємо виконувати установку DEB пакетів та введення команд строго в тій послідовності, в якій вони нижчі. Так ви зможете помітити та усунути всі можливі помилки терміналу, завантажити відсутні бібліотеки.

Введіть команду "cd 1c" для переходу по каталогу, а потім натисніть "enter" і впишіть команду "sudo dpkg -i", скопіюйте назву першого DEB файлу з каталогу 1С і вставте його в термінал натисканням правою кнопкою миші або поєднанням клавіш "shift+" ctrl+V».

Натисніть "Enter". Для виконання команди термінал запросить пароль адміністратора, введіть його.

Після цього повинен випасти список повідомлень про помилку, в яких буде зазначено їхню причину - залежність. Наприклад, що DEB пакет 1С залежить від бібліотеки libwebkit (яку ми вже завантажили). Або відсутність 1С сервера.

Увага! Якщо у списку помилок немає залежності від бібліотеки, то встановлювати її вдруге не потрібно.

Встановлення бібліотеки

Щоб встановити бібліотеку, введіть команду «sudo dpkg -i», а потім скопіюйте та вставте назву DEB пакету libwebkitgtk. Натисніть клавішу Enter.

Якщо у процесі виникне якась помилка, запустіть центр додатків Ubuntu, а на будь-які запити системи натисніть «так». Введіть пароль адміністратора.

Поверніться до терміналу, введіть команду «sudo dpkg -i» для встановлення DEB пакета. Щоб вдруге не вводити довгу команду та не копіювати назву файлу, Linux запам'ятовує введені команди. І їх можна перебирати натискання кнопки «вгору» (стрілочки) на клавіатурі.

Налаштування сервера

Для встановлення сервера 1С на Ubuntu Linux, в самому терміналі необхідно перейти до каталогу "1С" - "server".

Тому введіть наступну команду в терміналі: "cd server", а потім завантажте все, що є в директорії. Щоб не довелося вводити все вручну, пропишіть sudo dpkg -i *.deb. Після цього завантажаться усі DEB пакети з каталогу "server".

Встановлення клієнта 1С для Linux

Щоб повернутися до рівня з каталогу "1С" - "server" в корінь, введіть "cd/home/1c/server", а потім "cd ../" і натисніть "enter".

Після цього за допомогою команди sudo dpkg -i встановіть клієнт 1С. Для цього не забудьте скопіювати та вставити назву DEB пакета та натисніть Enter. Якщо процесі не виникло помилок, все було зроблено правильно.

Встановіть дистрибутиви, що залишилися, з каталогу 1С (для швидкої роботи використовуйте кнопку «вгору» на клавіатурі, а потім просто змінюйте назву дистрибутивів).

HASP

Оскільки зараз ми знаходимося за адресою "/home/1c/", то для встановлення захисту hasp достатньо ввести наступну команду: "cd hasp" (щоб перейти до каталогу hasp з директорії 1С), а потім "sudo dpkg -i *.deb » (щоб встановити всі пакети з каталогу hasp).

Після цього можна вставити в сервер ключ захисту HASP і ввести кілька додаткових команд для дозволу залежностей. На питання терміналу "продовжити установку", вводьте "д" (так) або "y" (yes).

Список команд для встановлення hasp під Ubuntu Linux:

  1. "sudo apt-get install imagemagick";
  2. "sudo apt-get install unixodbc";
  3. "sudo apt-get install libgsf-bin";
  4. "sudo apt-get install t1utils".

Щоб запустити 1С, перейдіть до головного меню, а потім введіть назву програми. Перед вами з'явиться кілька видів клієнтів. Тобто все, що потрібно для роботи з програмою. Щоб вам не довелося постійно шукати клієнта для запуску в меню, скопіюйте «1С: Enterprise» на робочий стіл Ubuntu. Після цього запустіть програму, створіть базу даних та починайте роботу з системою та конфігураціями.

Попередження: Жодних докладних інструкцій не буде! Тільки послідовність дій, необхідні кроки та наведення. Це посібник тільки для досвідчених адміністраторів Лінукс!

Приклади деяких моїх конфігівдодаються...

Примітка: ця стаття написана на основі експериментів із 32-бітним CentOS 6.3(Для сервера необхідно використовувати 64-бітну ОС. Але так вийшло, що на доступному мені для експериментів залізі 64-бітний CentOS не встановився.)Однак різниці для методики установки немає (32 vs 64bit) - вона лише в суфіксах дистрибутивних файлів: або i686 (або i386), або x86_64.

Зміст:

  • 2) Налаштовуємо Мережа
  • 5) Налаштовуємо Samba-сервер
  • Література (використана та додатково рекомендована)




0) Готуємо серверне залізо



Конкретних рекомендацій щодо вибору серверного заліза (яку потужність залізо потрібно) давати не буду - немає особистого досвіду. Дивіться офіційні«Рекомендації щодо вибору обладнання для роботи з 1С: Підприємством 8» від v8.1c.ru та неофіційні"Вимоги до комп'ютера для роботи з програмою 1С: Підприємство 8" від 1c.xxi.kiev.ua…
І рекомендую брати залізо із запасом потужності, ніж рекомендоване (бо «на виріст» потреб підприємства; і тому що Платформа 1С теж постійно «зростає та оптимізується» - отже, споживає від релізу до релізу все більше ресурсів).

До того ж, двома словами, найбільш вигідна наступна стратегія:

  • Рознести два сервери (сервер 1С та сервер СУБД Postgres) по двох різних машинах - потужність нарощується вдвічі, а зайвих ліцензій купувати не треба. Це і дешеве рішення: Лінукс безкоштовний, а вартість заліза не в рахунок (залізо завжди дешевше за ліцензії).
  • Примітка: Зверніть увагу, що «кластер серверів 1С» ще дуже глючний. Причому кожна додаткова окрема машина під «Сервер 1С у складі кластера» - вимагає покупки окремої «Ліцензії на Сервер»! Тому, з усіх боків, під «Сервер 1С» найвигідніше використовувати ТІЛЬКИ ОДНУ МАШИНУ - купіть під сервер тільки одну машину, з досить потужним залізом, яке здатне тягнути все навантаження.
  • У сервер СУБД встановити апаратний RAID10 (файли БД резервовані, а обсяг дискового простору нарощувати за потребою).
    Причому: У бюджетних спілкуваннях, досить використовувати Чіпсетний RAID-контролер, вбудований в багато сучасних материнських плат, ніж купувати окремий і дорогий Апаратний RAID-контролер (ціна яких від $250). Вбудовані чіпсетні RAID-контролери вже мають широкий функціонал; підтримують необхідні режими RAID (0, 1, 5, 10) та автоматизовану міграцію між ними, зі збереженням даних.
    Є тільки одна, але суттєва ложка дьогтю: погана підтримка апаратних RAID-контролерів в ОС Linux. І до того ж, вбудований в материнську плату чіпсетний SATA-RAID не є повністю апаратним: управління даними відбувається не на рівні самого "заліза", а на рівні мікрокоду BIOS через драйвер ОС - звідси і такі поняття як "драйвера на SATA-RAID" (Intel Matrix Storage Driver), без яких RAID бачиться як окремі диски – звідси і проблеми підтримки… Під Linux – традиційно використовуються програмні RAID-масиви, підтримка яких вже давно реалізована та налагоджена!
  • Обидва сервери звичайно піднімають на ОС windows/linux 64bit (бо підтримують багато ОЗУ і велику потужність). А «сервер 1С» купити та встановити 32bit (бо «Сервер 1С 64bit» коштує в 2 рази більше, а приріст продуктивності за інших рівних умов дає лише +5%!!! неофіційно умільці тестували...)




1) Встановлюємо операційну систему (ОС)



Встановити лінукс CentOS 6.x (останній реліз), краще 64bit.
Причини вибору дистрибутива CentOS: Це серверний дистрибутив лінукс. Це вільний (безкоштовний, "Community Edition") дистрибутив. Це дистрибутив, заснований на ядрі RedHat, який 1С декларує як «підтримуваний».

Образи дистрибутива CentOS хитаютьсязвідси (з будь-якого із дзеркал).
Зручніше викачати iso, пропалити на бовдур (DVDRW) і з неї ставити.
Для встановлення, як правило, достатньо лише першого диска з двох компонованих (на другому диску - всякий другорядний софт).
А потім настановні дистки вже не потрібні - все одно весь софт потрібно оновлювати та доставляти через Інтернет.


Примітка: Користувач root у системі CentOS нелогінний(повинен бути)!
Вся робота в системі CentOS ЗАВЖДИ здійснюється із сеансу звичайного користувача, в т.ч. та встановлення/налаштування системи. І тільки для деяких дій щоразу запитуються привілеї "суперкористувача" (щось подібне з'явилося і в Windows7).
Тому для виконання правки конфігів, установки пакетів та інших адмінських дій - відкривши консоль в сеансі звичайного користувача, відразу виконуємо команду su, яка переключить поточну консоль в режим суперкористувача (фіча CentOS):

Bash# su Пароль:<вводим пароль root>


Далі ця консоль bash# використовується для різних привілейованих дій. Наприклад, можна запустити "mc" і правити конфіги в / etc / ...


2) Налаштовуємо Мережа



Налаштувати мережеві адаптери, ім'я хоста, gateway та DNS…
Підключитися до Інтернету та оновити всі базові пакети до останніх версій…
Всі подальші дії будемо робити лише за наявності підключення до Інтернету, вважаємо, що воно постійно!

Налаштування мережі здійснюється стандартно… Але єпоширені Граблі, які треба обійти:

2a)


Перше – ім'я нашого сервера має без проблем вирішуватися в IP-адресу.

У файлі /etc/sysconfig/network перевіряємо значення параметра hostname («ім'я комп'ютера» півночі), при необхідності змінюємо, щоб нові параметри набули чинності потрібно перезапустити систему.

Bash# cat /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=delldev GATEWAY=192.168.10.2


(Останній рядок - шлюз за замовчуванням, вказувати необов'язково. Якщо не вказаний - він буде братися з конфігів ifcfg або DHCP...)

У файлі /etc/hosts не повинно бути записів формату localhost.localdomian або які стосуються IPv6, у разі відсутності DNS-сервера в ньому має бути прописана чітка відповідність IP-адреси сервера - FQDN ім'я - коротке ім'я. Приклад правильного файлу hosts:

Bash# cat /etc/hosts 127.0.0.1 localhost delldev



Перевірка: чи пінгує сервер сам себе? Введіть у консолі:

Bash# ping delldev



2b)


Друге – на файрволі не повинно бути правил, що забороняють взаємодію між собою компонентів 1с підприємства.
У більшості випадків сервер 1с підприємства знаходиться в межах локальної мережі, тому ми може відключити файрвол (хоча б на час пуско-налагодження):

Bash# chkconfig iptables off bash# service iptables stop



2c)


Третє – необхідно також вимкнути SELinux policy!

Причини:
1) Раніше SELinux був причиною помилки Segmentation Fault.
2) З увімкненим SELinux не працюють кулі Samba (віддалені користувачі в кулі заходять, але файли не бачать ... або файли бачаться, але не читаються ... і т.п. глюки)
3) Крім того, плюси від використання SELinux на високонавантаженому сервері, що знаходиться в межах локальної мережі, виглядають вкрай туманно.

Як вимкнути:

Редагуємо конфіг /etc/selinux/config рядок SELINUX=enforcing змінюємо на SELINUX=disabled перевантажуємо машину...



2d)


Інтернет провайдер «Укртелеком/Україна» має ще такі граблі: глючні DNS сервери - тому потрібно використовувати допоміжні (краще від Google)… А ще можливо мій DSL-роутер виявився погано сумісним з ОС Лінукс…

Симптом: при роботі з Інтернет, резолвінг кожного DNS-імені відбувається дуже довго (кілька [десятків] секунд таймууту), працювати дуже погано.
Рішення: Тому я сервера DNS не отримував автоматично через DHCP, а статично прописав у налаштуваннях адаптера (в конфізі /etc/sysconfig/network-scripts/ifcfg-eth0) наступні адреси: 213.179.249.151, 213.179.249.152, 8.8.4.(перші два – нові Укртелекомівські, наступні два – від Google).


3) Налаштовуємо менеджер пакетів (yum)


Примітка: докладний мануал використання yum - дивись у статті«Керування пакетами в RHEL6. Yum»...

3a)


Налаштовуємо джерела софту (репозиторії):

включаємо стандартні репозиторії (у конфізі репозитарію пропишемо enabled=1, або встановимо галочки через графічний інтерфейс...):
CentOS-6 - Base
CentOS-6 - Contrib
CentOS-6 - Extras
CentOS-6 - Plus
CentOS-6 - Updates

І (Без них дуже сумно, тому що стандартні репозиторії містять переважно серверний софт, причому застарілі хоч і надналагоджені версії).

Примітка: У більшості випадків, для полегшення підключення нових репозиторіїв, власники репозиторіїв підготували RPM-пакети для автоматичної конфігурації – ці пакети потрібно лише завантажити та встановити. Причому вибирайте пакети правильної версії: для відповідної версії репозитарію і призначені для відповідного вашого релізу Лінукс. При встановленні цього псевдопакета автоматично згенеруються необхідні конфіги, налаштовується yum і т.п.

Рекомендації:
Використовуйте «cat /etc/redhat-release» для того, щоб скористатися якою умовою EL ви можете використовувати(у мене каже: "CentOS release 6.3" - тобто. "el6")
Використовуйте «uname -a» для виконання вашого архітектора процесора(У мене каже: «i686 i386»)
За допомогою "rpm -ivh package-filename" для налаштування rpmforge-release package(also works with URLs)

RPMforge
інструкції з встановлення: repoforge.org та
packages.sw.be/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.i686.rpm "

EPEL
інструкції з встановлення: fedoraproject.org
робочий приклад установки: su -c "rpm -Uvh download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm "

ATrpms
інструкції з встановлення: atrpms.net
робочий приклад установки: su -c "rpm -Uvh dl.atrpms.net/all/atrpms-repo-6-5.el6.i686.rpm "

3b)


Концепція: головне – не порушити функціональність базового ядра системи.
Стандартні репозитарії CentOS (особливо CentOS-6 - Base) становлять спеціально навчені люди, які забезпечують наявність у кожний момент часу в репозитарії зрізу сумісних один з одним пакетів і бібліотек.(CentOS - система серверна, яка встановлена ​​на найдорожчих серверах Продакшн, які працюють в режимі автоапдейта. Глюк в репозитарії зламає багато серверів, ну тобто у адмінів буде багато гемору і кредит довіри до CentOS підірветься ... Цього не допускають.)
Але якщо грати з третіми лівими дистрибутивами, то в них завжди нові (і нестабільні) версії бібліотек з'являються раніше - вони можуть бути автоматично встановлені в систему при автоапдейті, породивши несумісність для сервісів ядра. Погано!

Для того щоб на сервер встановлювався саме налагоджений софт, а з додаткових репозитаріїв встановлювався лише софт відсутній у базових (пакети розв'язуються за «залежностями») – потрібно налаштувати/використовувати систему пріоритетів:

Для управління пріоритетами - потрібновстановити додаткові плагіни для yum(Корисно встановити всі три):

  • yum-protect-packages (дозволяє захистити зазначені пакети від видалення; за замовчуванням захищений сам yum та його ланцюжок залежності)
  • yum-plugin-protectbase (дозволяє захистити пакети із зазначеного репозитарію від оновлення із незахищених репозитаріїв) - ЙОГО ПРОЩЕ НАЛАШТУВАТИ.
  • yum-plugin-priorities (дозволяє призначити пріоритети різним репозиторіям; пакети з репозиторію з нижчим значенням пріоритету не можуть бути оновлені з репозиторію з високим значенням пріоритету - це інший вид захисту, більш просунутий та гнучкий) - ВІН КРАЩЕ!


(Примітка: для yum є ще багато цікавих плагінів, але ці необхідні...)

Налаштування репозитаріїв yumзберігає у: /etc/yum.repos.d/
конфіги, які можна редагувати, називаються: *.
інші файли службові – їх не чіпаємо.

Потрібно дописати текстові конфіги (як мінімум для всіх репозитаріїв з enabled=1): рядки з параметрами protect=… і priority=…(Примітка: що менше значення priority - то репозиторій головніше)



3c)


Ще рекомендую встановити використовувати графічну оболонку до менеджера пакетів: Yum Extender (бінар називається yumex) - він набагато більший за стандартний GUI!


4) Встановлюємо додатковий софт, що не відноситься до системи 1С



Тепер можна встановити (через консоль управління менеджером пакетів yum, звичайно):
підтримку ntfs
wine (емулятор для запуску простих програм windows)
та інші корисні локальні програми.


5) Налаштовуємо Samba-сервер



Потрібно встановити (через yum) і налаштувати сервер Samba (служби smb і nmb) - це підтримка протоколу Microsoft NetBIOS під Лінукс, т.зв. "Мережеве оточення"…

Причому Samba рекомендую підняти, навіть якщо ви не надаватимете файлові кулі на цьому сервері для інших клієнтів локальної мережі, щоб цей сервер з'явився в «мережевому оточенні» у всіх Windows клієнтів та інших серверів мережі, сканувався стандартним API, резолвив своє «мережеве ім'я машини - щоб на нього можна було посилатися якось типу MyLinuxServer. Для зручності, налаштуйте Samba так, щоб Сервер 1С було видно у вашій WORKGROUP…

Примітка з приводу: Чи потрібний Samba-сервер для роботи 1С: Підприємства чи ні?



Для налаштування Samba раджу:
створити та налаштувати кульові папки так:

Mkdir /home/samba mkdir /home/samba/всі інші... chown-R samba /home/samba chgrp-R samba


створити нелогінного користувача/групу: samba/samba
призначити цьому користувачеві домашню папку: /home/samba

Налаштування служби Samba:
Конфіги лежать у /etc/samba/
див. man smb.conf
див. smb-conf.ru
Для простого налаштування див. статтю"Проста установка та конфігурація сервера SAMBA в CentOS"...

Важливо: Крім служби "smb" (основний), також слід "включити" і "запустити" службу "nmb" (яка відповідає за публікацію NetBIOS імені комп'ютера в локальній мережі - Сервер буде видно в "Мережевому оточенні"):

Chkconfig --level 2345 smb on chkconfig --level 2345 nmb on service smb start service nmb start


Порада: Режим роботи Служб найкраще налаштовувати через графічне оснащення «GNOME / Система / Адміністрація / Служби».


6) Дістаємо та готуємо дистрибутиви 1С: Підприємство… Звідки все взяти?



Піратські дистрибутиви 1С (і кряки) можна завантажити з обмінників (посилання не наводжу, знайдете на forum.ru-board.com у розділі «Варезник»)…

Отже, видобули/завантажили дистрибутив"1С: Платформа 8.2 реліз 8.2.16.368 від 05.10.12"-> з нього беремо "Cервер 1С: Підприємства (32bit) для RPM-based Linux-систем", файл«8_2_16_368_rpm.tar.gz» (169.07 MB) -> після розпакування архіву отримаємо 8 RPM-файлів дистрибутива.

Готові збірки «PostgreSQL від 1С реліз 9.0.3-3.1C від 17.01.12» нам не підійдуть, не встановляться залежно (там пакети зібрані для CentOS 5.x, а не для 6.x.).
Нам потрібні вихідні коди PostgreSQL, патчені 1С, для самостійного складання!З дистрибутива«PostgreSQL від 1С реліз 9.0.3-3.1C від 17.01.12»-> беремо лише файл «PG90331_Patch903.rar» -> з архіву беремо тільки файл«postgresql-9.0.3-3.1C.src.rpm»(це RPM-пакет з вихідними кодами PostgreSQL версії 9.0.3, ВЖЕ ВКЛЮЧАЮЧИЙ ВСІ НЕОБХІДНІ ПАТЧІ для забезпечення сумісності з сервером 1С: Підприємства 8.1 та 1С: Підприємства 8.2)
Примітка: Крім того, вихідні коди для самостійного складання СУБД PostgreSQL, що підтримується 1С: Підприємством 8, найпростішескачати з оф.сайту безпосередньо...

Яку платформу вибрати?

  1. сервер 1С буває: і х64, і х86
  2. клієнтські програми 1С бувають: тільки х86, на сьогоднішній момент (повторюю: х64 буває лише сервер 1C)
  3. відомо що на ОС х64 можна ставити програми х86 (це стосується не лише 1С)
  4. клієнтські програми 1С (товстий та тонкий клієнти) працюють лише під Windows!

    Додаткова інформація...




7) Складання та встановлення «СУБД PostgreSQL від 1С (реліз 9.0.3-3.1C від 17.01.12)» на Лінукс CentOS (6.3)



Насамперед, щоб не було конфліктів у системі, потрібно деінсталювати всі інші/попередні версії СЕРВЕРУ PostgreSQL, якщо такі встановлені (перевірте).

Шкідлива порада: Щоб не було плутанини через програмну несумісність, я також деінсталював клієнта «postgresql-8.4.13» (встановлений спочатку, зі стандартного репозитарію CentOS 6.3)… Деякі пакети (наприклад, «postgresql-libs-8.4.13» та ін) зараз довелося залишити, т.к. від них залежить багато інших пакетів у системі - проте їх можна буде деінсталювати потім, після установки PostgreSQL 9.0.3 (забігаючи вперед, мені це вдалося).
Тим не менш, є сенс залишити ці стандартні пакети в системі (особливо "postgresql-libs-8.4.13") - на той випадок, якщо в майбутньому вам доведеться деінсталювати PostgreSQL 9.0.3. Тому що зараз у мене склалася така ситуація, що всі системні пакети тепер залежать тільки від пакету «postgresql-libs-9.0.3-3.1C» і менеджер пакетів не дає деінсталювати останній, не знісши заодно половину систему (крах).


На жаль, базових репозитаріях CentOS 6.3, тобто. в поточній системі є не всі необхідні бібліотеки (залежності) для використання готової збірки «PostgreSQL від 1С». Крім того, слід мати на увазі, що для роботи сервера 1С: Підприємства 8.2потрібна версія PostgreSQL не нижче 8.3.8.

Я перепробував різні дистрибутиви...



Отже, найкраще підходить версія "PostgreSQL від 1С реліз 9.0.3-3.1C", але зібрані RPM-пакети з дистрибутива "PG90331_setuppln903.rar" нам не підійдуть: не встановляться залежно (там пакети зібрані для CentOS 5.x, а не для 6.x.)…

Неправильний підхід: Апгрейдити вручну старі бібліотеки - це геморно і небезпечно (від них залежить купа софту з базового і стабільного ядра CentOS)! Ще можна було б вставити милиці-хакі у вигляді символічних посилань (з іменами необхідних бібліотек, які посилаються на існуючі версії), але це зовсім погано на Production-сервері.


Тому щоб не порушувати цілісність ядра CentOS,потрібно перезбирати сам PostgreSQL із вихідних кодів, Пропатч його патчами 1C (так він буде базуватися на наших існуючих бібліотеках). Патчені вихідники PostgreSQL беремо з дистрибутива «PostgreSQL від 1С реліз 9.0.3-3.1C» -> нам знадобиться лише файл «PG90331_Patch903.rar» -> а з архіву беремо лише файл «postgresql-9.0.3-3.1C.src.rpm »… або завантажуємо цей файл безпосередньо з оф.сайту…

7a)


Примітка: Я не досвідчений у збірці з вихідних джерел, тому далі йде трохи модифікований рецепт з блогу "Адміна-маніяка" на alsigned.ru (автору респект).



Перед PostgreSQL необхідно встановити (або переконатися, що вже встановлено) - вона потрібна для роботи PostgreSQL версії від 1С. Встановити можна вручну з RPM-пакета (але не потрібно)… Або за допомогою yum, зі стандартного репозитарію (що краще):

Yum install icu libicu libicu-devel



Встановлюємо також пакети необхідні для компіляції та збирання:

Yum install rpm-build wget glibc-devel bison flex readline-devel zlib-devel openssl-devel pam-devel gettext gcc make



7b)


Завантажуємо з сайту 1с вихідні коди PostgreSQL 9.0.3:

Wget http://v8.1c.ru/overview/postgresql_patches/9-0-3/postgresql-9.0.3-3.1C.src.rpm


і встановлюємо пакет з вихідними кодами (будуть створені різні папки в системі і по них розкидані вихідні файли):

RPM -ihv postgresql-9.0.3-3.1C.src.rpm



Відкриваємо для редагування файл /usr/lib/rpm/macros та змінюємо в ньому рівень підгону пачів _default_patch_fuzz на 2:

%_default_patch_fuzz 2


Примітка: Раніше подібні дії доводилося робити тільки на Fedora 12 і вище, при складанні софту, що не підтримує обробку пачів новими скриптами, а починаючи з 6-ї версії, нові скрипти прийшли і в CentOS.

Створюємо символічні посилання на бібліотеки libicu:

Ln -s /usr/lib/libicui18n.so /usr/local/lib/libicui18n.so.46 ln -s /usr/lib/libicudata.so /usr/local/lib/libicudata.so.46 ln -s / usr/lib/libicuuc.so /usr/local/lib/libicuuc.so.46



Переходимо до складання PostgreSQL:

Rpmbuild -bb --define "runselftest 0" ~/rpmbuild/SPECS/postgresql-9.0-1C.spec


Примітка: Установкою параметра «runselftest 0» ми відмовляємося від ініціалізації тестової бази та перевірки працездатності PosgreSQL під час складання, щоб тестування пройшло успішно його потрібно виконувати з-під обмеженого користувача, інакше процес складання буде зупинено.

Процес складання займе деякий час.

Нарешті, переглянемо список зібраних RPM-пакетів (бо у мене ОС Лінукс 32-бітна, то й пакети PostgreSQL були зібрані також 32-бітної версії):

Bash# ls -1 ~/rpmbuild/RPMS/i686 postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686 .rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0. 3-3.1C.i686.rpm postgresql-test-9.0.3-3.1C.i686.rpm



7c)


Установка патченого сервера СУБД PostgreSQL від 1С:

Зовсім необов'язково встановлювати всі пакети для нормальної роботи PostgreSQL цілком достатньо чотирьох: postgresql-libs, postgresql, postgresql-server, postgresql-contrib. Переходимо в директорію /root/rpmbuild/RPMS/i686 (на 64-бітній ОС - в /root/rpmbuild/RPMS/x86_64) і встановлюємо пакети.

порядок встановлення пакетів наступний:

Postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C .i686.rpm


Необов'язково, але корисно (для розробників) потім ще встановити такі пакети:

Postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-test-9.0.3- 3.1C.i686.rpm



Але щоб не морочитися з порядком установки - краще встановити всі пакети скопом (yum сам розбереться з залежностями):
rpm -ihv postgresql-9.0.3-3.1C.i686.rpm postgresql-contrib-9.0.3-3.1C.i686.rpm postgresql-debuginfo-9.0.3-3.1C.i686.rpm postgresql-devel-9.0.3 -3.1C.i686.rpm postgresql-docs-9.0.3-3.1C.i686.rpm postgresql-libs-9.0.3-3.1C.i686.rpm postgresql-server-9.0.3-3.1C.i686.rpm postgresql -Test-9.0.3-3.1C.i686.rpm

Граблі: при установці пакета "postgresql-contrib-9.0.3-3.1C.i686.rpm" виникає помилка?

помилка: розпакування архіву не вдалося на файлі /usr/pgsql/lib/libicudata.so.46;4e9327cc: cpio: Digest mismatch

помилка: postgresql-contrib-9.0.3-3.1C.i686: install failed


Рішення: Запускаємо rpm без перевірки digest та md5

Rpm --nodigest --nomd5 -ihv postgresql-contrib-9.0.3-3.1C.i686.rpm





Після цього в операційній системі з'явиться користувач postgres, який володітиме всіма файлами СУБД і в сеансі якого запускатиметься сервер (не плутайте його з однойменним суперкористувачем самої СУБД).
Буде створено скрипт /etc/init.d/postgresql для старту та зупинення СУБД.
Бінарні файли клієнта та сервера PostgreSQL 9.0.3 знаходяться у /usr/pgsql/bin/…


7d)


Ініціалізуємо кластер баз даних PostgreSQL (так називається директорія, зазвичай /var/lib/pgsql/data, в якій зберігаються дані всіх баз цієї установки СУБД PostgreSQL):

У попередніх версіях Postgres проходив трюк, коли ми просто запускали сервер СУБД, і він при першому запуску не виявляючи директорії з файлами БД - сам ініціював initdb ... Але зараз це не працює -
потрібно запускати initdb явно та з правильними параметрами. При цьому потрібно явно вказати системного користувача в сеансі якого відбувається запуск сервера СУБД (командою "su postgres"). Також явно вказуємо локаль, у якій працює сервер (locale=ru_RU.UTF-8).

Bash# su postgres -c "/usr/pgsql/bin/initdb -D /var/lib/pgsql/data --locale=ru_UA.UTF-8"



Під час виконання цієї команди її консольний висновок підтвердить задані параметри (в консолі з'явиться текст):

Файли, що супроводжують цю систему баз даних, належать користувачеві «postgres». Цей користувач також має бути власником процесу сервера.
Кластер баз даних буде ініціалізований з локаллю ru_RU.UTF-8. Стандартне кодування бази встановлено на UTF8. Конфігурація повнотекстового пошуку за замовчуванням встановлена ​​в Russian.



В результаті буде створено базу даних, розміщену в каталозі /var/lib/pgsql/data (примітка: тут же і конфіги сервера PostgreSQL).

Граблі: якщо під час ініціалізації кластера баз даних випадає помилка?

FATAL: could no create shared memory segment…
HINT: Ця помилка є звичайними методами, які PostgreSQL's request for shared memory segment exceeded your kernel's SHMMAX parameter. Ви можете змінити цю потрібну величину або змінити кернал з великим SHMMAX. Для того, щоб змінити потрібну величину (сьогодні 35233792 bytes), змінити PostgreSQL's shared_buffers parameter (currently 3584) і/або його max_connections parameter (currently 104).


Рішення: Необхідно збільшити значення параметра kernel.shmmax, для цього додаємо у файл /etc/sysctl.conf рядок:

Kernel.shmmax = 40000000


Потім оновлюємо параметри sysctl наступною командою:

Bash# sysctl -p


Примітка: Зазвичай ця проблема характерна для 32-бітових версій… Але я не маю на CentOS 6.3 32bit такої проблеми - тут вже встановлено параметр kernel.shmmax = 4294967295


7e)


Налаштування сервісу PostgreSQL:

Додаємо в автозавантаження та запускаємо сервіс PostgreSQL:

Bash# chkconfig postgresql on bash# service postgresql start



Бінарні файли клієнта та сервера PostgreSQL 9.0.3 знаходяться в /usr/pgsql/bin/… Створимо символічні посилання на необхідні бінар, щоб вони запускалися без вказівки шляху (особливо це потрібно для Консольного клієнта PostgreSQL):

Ln -s /usr/pgsql/bin/psql /usr/local/bin/psql та ін.



При першому запуску PostgreSQL, контролю привілеїв доступу до сутностей БД, в СУБД створюється обліковий запис суперкористувача «postgres» з паролем «postgres» (не плутайте її з обліковим записом ОС Лінукс). Перше, що потрібно зробити – змінити стандартний пароль… Задаємо пароль для суперкористувача СУБД «postgres» командою:

Bash# psql -U postgres -c "ALTER USER postgres PASSWORD "newpassword""


Примітка: тепер цей пароль буде використовуватися при з'єднанні клієнтів до СУБД: login=postgres password=newpassword.

7f)


Налаштовуємо сервер PostgreSQL для роботи з "Сервером 1С: Підприємство" (правимо конфіги):
Опис параметрів конфігів російською мовою.

У файлі /var/lib/pgsql/data/postgresql.conf – налаштування сервера. Потрібно вказати параметри (розкомментувати рядки або якщо цих параметрів немає, ввести їх вручну):

Default_with_oid = on



За замовчуванням, Автовакуум в PostgreSQL 9.0.3 вимкнено… Якщо ви хочете включити «Автоматичне складання сміття (Automatic Vacuuming)» у БД (що корисно для слабонавантажених серверів, щоб адміну не потрібно робити процедуру «упаковки БД» періодично та вручну, а просто встановити і забути) - то встановіть такі параметри:

Track_counts = on autovacuum = on


Примітка: у попередніх версіях СУБД був параметр "stats_row_level"... але в PostgreSQL 9.0.3 цей параметр застарів і увійшов до нового параметра "track_counts".

У файлі /var/lib/pgsql/data/pg_hba.conf налаштовується політика доступу та ідентифікації користувачів (тобто допустимі параметри підключення до PostgreSQL-сервера). підключення до сервера з будь-яких хостів, паролі при логіні хешуються md5»):

Host all all 0.0.0.0/0 md5


Примітка: якщо в рядку політики замінити "md5" на "trust", то пароль при підключенні не перевірятиметься! (корисно для відновлення/зміни забутого пароля суперкористувача) Також зверніть увагу, що політика за замовчуванням для клієнтських підключень з localhost: паролі не перевіряються...

Примітка: Ці параметри можна конфігурувати і пізніше. А коли переконайтеся, що все включно з клієнтом 1С працює - має сенс, з метою безпеки, обмежити підключення тільки локальним хостом localhost (або точніше хостами «кластера серверів 1С», якщо вони відокремлені)...

Нарешті, перезапустіть сервер PostgreSQL:

/etc/init.d/postgresql restart




8) Установка "Сервера 1С: Підприємство 32bit для RPM-based Linux-систем (8.2.16.368)" на Лінукс CentOS (6.3)



Дистрибутив серверної частини 1С: Підприємства 8 для Linux представлений у вигляді кількох rpm-пакетів:

  • 1C_Enterprise-common – загальні компоненти 1С: Підприємства 8;
  • 1C_Enterprise-server – компоненти сервера 1С: Підприємства 8;
  • 1C_Enterprise-ws – адаптер для публікації Web-сервісів 1С: Підприємства 8 на веб-сервері на основі Apache HTTP Server 2.0 або Apache HTTP Server 2.2;
  • 1C-Enterprise-crs – компоненти сервера сховища конфігурації 1С: Підприємства 8.
  • Пакети, що містять у назві суфікс "-nls", - це додаткові національні ресурси для відповідного пакета.


Пакети 1C_Enterprise-server та 1C_Enterprise-ws не залежать один від одного. Відповідно, вони можуть бути встановлені на одному комп'ютері як разом, так і окремо (тобто «сервер 1С» та «Web-сервер» можна рознести по різних машинах, як і відокремити сервер СУБД, для розвантаження «сервера 1С») …

Примітка від 2014.01.15: помічено, що код пакету 1C_Enterprise-ws все-таки залежить від пакету 1C_Enterprise-server, але це не принципово.



Встановлення має виконуватися від імені користувача root...

При встановленні слід враховувати наступні залежності між пакетами (щоб успішно встановити пакет, попередньо потрібно встановити всі пакети, від яких він залежить) - тому порядок встановлення наступний:

Rpm -ihv 1C_Enterprise82-common-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise86. rpm -ihv 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise86-86 .rpm rpm -ihv 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -ihv 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm



Потім сервер слід запустити в режимі демона:

/etc/rc.d/init.d/srv1cv82 stop /opt/1C/v8.2/i386/ragent -daemon /etc/rc.d/init.d/srv1cv82 restart



Усі перелічені вище дії повинні виконуватися від імені користувача root.

У процесі встановлення компонентів сервера 1C: Підприємства 8 створюється користувач операційної системи з ім'ям usr1cv82, під обліковим записом якого будуть виконуватися серверні процеси 1С: Підприємства 8.

8a)


Після встановлення всіх необхідних пакетів потрібно запустити скриптову утиліту діагностики та ініціалізації графічної підсистеми в 1С v8.2 і виконати її рекомендації, якщо такі виникнуть. (Утиліта перевіряє систему на наявність у ній необхідних для графічної підсистеми в 1С v8.2 компонентів та налаштувань, і видає рекомендації, якщо 1С ще щось потрібно.)

/opt/1C/v8.2/i386/utils/config_server



Додаткова інформація про утиліту "config_server": на nefrit.arvixe.ru та blog.unixstyle.ru …

Порядок налаштування системи за допомогою утиліти "config_server" буде приблизно наступний(деякі з цих етапів у вас можуть бути відсутніми - пропустіть):

Встановлення має виконуватися від імені користувача root...

1) Після першого запуску утиліти "config_server" - повинна вилетіти помилка: "Can not detect font directory, please specify it!"
Рішення: ставимо відсутні TTF-шрифти за рецептом linewb.ru FAQ та .
Примітка: система папок ~/rpmbuild/ у вас вже повинна існувати (вони були створені раніше, коли збирається дистрибутив PostgreSQL).
У результаті, для встановлення шрифтів, достатньо приблизно наступних дій:

Yum install rpm-build cabextract wget http://corefonts.sourceforge.net/msttcorefonts-2.5-1.spec rpmbuild -bb msttcorefonts-2.5-1.spec rpm -ivh ~/rpmbuild/RPMS/noarch/msttcorefonts-2.5 .noarch.rpm



2) Повторно запускаємо утиліту "config_server" - повинна вилетіти помилка: "No truetype conversion utility found!" Please install ttf2afm або ttf2pt1!»
Рішення: ставимо утиліту ttf2pt1 (доступна у репозитарії EPEL):

Yum install ttf2pt1



3) Третій раз запускаємо утиліту «config_server» - система замислиться довше і все буде чудово: більше помилок у консоль не видасть.

Нарешті, потрібно перевантажити "Сервер 1С" (або повністю всю машину):

/etc/init.d/srv1cv82 restart



Усі перелічені вище дії повинні виконуватися від імені користувача root.

8b)


Все, встановлення «Сервера 1С» на ОС Лінукс завершено!
Залишається підключитися до цього "Серверу 1С" через MMC-консоль "Адміністрування сервера 1С: Підприємство 8.2" та створити "інформаційні бази" конфігурацій. Про це нижче…

Примітка: MMC-консоль встановлюється у складі "Технологічної платформи 1С: підприємства 8.2" - на іншому хості, і лише під керуванням Windows. (Хоча у версії «1С: Підприємство 8.3» обіцяють, що вже реалізовано ПЗ і під Лінукс...)

8c)


Налаштовуємо підтримку web-клієнтів 1С через веб-сервер Apache:

Підготовка: Ми будемо використовувати локальний веб-сервер Apache, встановлений на цій же лінукс-машині, що і "Сервер 1С". Якщо у вас ще не встановлено вебсервер Apache - виконайте дії з розділу «Task: Install Apache/httpd under Fedora Core/Cent OS Linux» статті«Натисніть на Installation and Start Apache or httpd service under Linux» :

Yum install httpd chkconfig httpd on /etc/init.d/httpd start



Далі діємо як сказано в розділі «2. Публікація web-клієнта» статті«Ставимо 1C web-клієнт на Apache»...

Припустимо, у вас на "Сервері 1С" є інформаційна база з назвою "test1c"(фактично вона буде створена пізніше, після ініціалізації кластера і створення БД в postgreSQL… але публікацію можна виконати спекулятивно і зараз, тому фактично до ІБ ми звертатися не будемо, а просто виправимо конфіги Apache і створимо на вебсервері заглушку, деякі папки/ файли).Процедура публікації дуже проста та автоматизована (кожен крок докладно описаний у вищезгаданій статті, тому тут не повторююсь) – потрібно виконати наступні команди:

Cd /opt/1c/v8.2/i386 ./webinst -apache22 -wsdir test1c -dir "/var/www/html/test1c/" -connStr "Srvr="delldev";Ref="test1c"" -confPath / etc/httpd/conf/httpd.conf chown apache:apache /var/www/html/test1c/default.vrd chkconfig httpd on service httpd start


Все, інформаційна база test1c опублікована! Коли ви до кінця налаштуєте "кластер серверів 1С" та інформаційну базу, то до неї можна буде підключитися через броузер, ввівши адресу http://delldev/test1c(де delldev - ім'я хоста під керуванням CentOS, з "Сервером 1С" і "вебсервером Apache", який ми зараз налаштовуємо)...

Пам'ятайте: щоб веб-клієнт запрацював - також необхідно: до хоста, на якому працює "Сервер 1С" або "Web-сервер Apache" (в даному випадку він один), підключити пакет "Мережевих клієнтських ліцензій" (ключ захисту можна підключити локально або налаштувати доступ до "менеджера ліцензій"); та включити в «Властивості» Інформаційної Бази пункт «Видавати ліцензії сервером програми» (налаштовується через оснащення «Адміністрування серверів»).

8d)


Додатково: слід знатияк увімкнути «Технологічний журнал» (він же "логи", він же "log") ...

За замовчуванням логи відключені, тому що вони швидко розростаються і займають дуже багато місця на диску (за помилок, разом з «логами» створюються також «дампи»). Включайте логи тільки якщо вам дійсно потрібно відстежити проблему.

8e)


Додатково: якщо раптом знадобиться для видалення «Сервера 1С», слід виконати такі кроки:

Перед видаленням необхідно завершити роботу кластера серверів:

/etc/rc.d/init.d/srv1cv82 stop


Потім видаляємо пакети в порядку, зворотному встановленні, щоб залежний пакет видалявся до того пакета, від якого він залежить:

Rpm -e 1C_Enterprise82-crs-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-crs-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-w6-8 .rpm rpm -e 1C_Enterprise82-ws-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-server-8. .rpm rpm -e 1C_Enterprise82-common-nls-8.2.16-368.i386.rpm rpm -e 1C_Enterprise82-common-8.2.16-368.i386.rpm



Або також можна виконати видалення всіх rpm-пакетів однією універсальною командою, яка видалить усі встановлені пакети, які починаються з префікса «1C_», а залежність буде відстежена автоматично:

Rpm -e`rpm -qa|grep 1C_`




9) Встановлення захисних ключів (ліцензування 1С)



Підключити ключі до "Сервера 1С" - просто. Потрібно завантажити драйвер із сайту виробника ключа, розпакувати його та виконати встановлення подвійним кліком.

Поради щодо вибору драйвера -

RPM -ihv haspd-3.3-eter4scientific.i586.rpm haspd-modules-3.3-eter4scientific.i586.rpm



Далі, потрібно вставити в USB-порт цього сервера два апаратні ключі: «ключ на сервер 1С: Підприємство» і «ключ на X мережевих ліцензій користувача» (всі ключі в одній фізичній «флешці»). І все має заробити: клієнти отримуватимуть клієнтські ліцензії через сервер.

Примітка: Ключі потрібні лише для «Сервера додатків 1С: Підприємство» та «захищених клієнтських додатків 1С». з СУБД PostgreSQL проблем немає - це Opensource і не вимагає ні ліцензій, ні ключів (на відміну від СУБД "MS SQL Server", але ми її не використовуємо).

Примітка: Деякі версії 1С працювали без ключів (бети).

Увага: Неліцензійний "Сервер 1С" (тобто навіть без "серверного ключа") нормально працює з невеликою кількістю клієнтських підключень (до ~12 підключень). Ймовірно, це зроблено для полегшення завдань адміністрування: початкового конфігурування та моніторингу у разі проблем… Але при перевищенні цього адміністративного ліміту - Сервер починає відкидати нові підключення та вимагати ключ.

За результатами експерименту...


Примітка: однак "клієнтські ключі" (локальні або мережеві) потрібні для "захищених клієнтських додатків 1С", у будь-якому випадку - що для першого підключення до сервера, що для сотого!інструкції щодо встановлення «Технологічної платформи для Windows» (у картинках та з відео)…

Запускаємо інсталятор "Технологічна платформа для Windows версії 8.2.16.368" (у версії 8.2 буває лише 32-бітна) - там усі програми в одному флаконі. Під час встановлення вибираємо наступні компоненти:

  • «1С: Підприємство» (Основні компоненти «1С: Підприємства», включаючи компоненти для адміністрування, конфігурування, товстий та тонкий клієнт)
  • «1С: Підприємство - Тонкий клієнт» (компоненти тонкого клієнта тільки для роботи в клієнт-серверному варіанті, без можливості роботи з файловим варіантом)
  • "Адміністрування сервера 1С: Підприємства" (MMC-консоль для адміністрування кластера серверів)
  • «Інтерфейси різними мовами: англійська, російська...» (за замовчуванням)



Підкреслюю, ми не ставимо такі компоненти (вони не потрібні в цьому клієнті/серверному варіанті використання 1С):

  • "1С: Підприємство - Тонкий клієнт, файловий варіант" (компоненти тонкого клієнта, включаючи компоненти для роботи з файловим варіантом інформаційної бази)
  • "Сервер 1С: Підприємство" ( на цій машині він не потрібен, т.к. він уже встановлений на іншому хості під ОС Лінукс… Хоча якщо у вас у майбутньому буде гетерогенний «кластер серверів 1С»: у які входитимуть машини під керуванням не тільки Лінукс, а й Widows - тільки тоді цей пункт вам знадобиться...)
  • «Модулі розширення веб-сервера» (працюють тільки під Windows: «Сервер 1С» під Windows + web-сервер IIS під Windows, можна на різних машинах… Ці модулі дозволяють просто реалізувати сайт, на якому інтерфейс 1С-клієнта буде вбудований прямо в web -Сторінку. Важкий неповороткий сайт, тому що з'єднання з модулів веб-сервера до «сервера 1С» - через DCOM. Але користь сумнівна: ця хрень вимагає на кожне підключення віддаленого веб-клієнта окремим повноцінним «клієнтським ключем»! Тому такий сайт ніяк не може бути масовим.)
  • «Сервер сховища конфігурацій 1С: Підприємства» (Використовується якщо конфігурація зберігається над реляційної СУБД, а файлово - оптимізує роботу з нею багатокористувачів, сервера 1С чи Web-сервера Apache. За відгуками: глючна фігня, і походу 1С забила на її розвиток...)
  • «Конвертер ІБ 1С: Підприємства 7.7» (потрібний лише розробникам)



"Встановлення HASP-драйвера"виробляємо в тому випадку, якщо 1С на даному комп'ютері будемо використовувати ліцензійну: або до USB-порту приєднуватиметься апаратний ключ захисту, або ліцензія буде братися з мережі з менеджера ліцензій.(Нагадую: якщо використовуватимете кряк/емулятор, то при інсталяції не ставте «HASP-драйвер захисту»!)

Порада: Щоб нічого не глючило,переконайтеся у правильних налаштуваннях DCOMНА КОЖНІЙ МАШИНІ під керуванням ОС Windows, яку ви використовуєте для роботи з 1С.
DCOM налаштовуються через оснащення dcomcnfg,як показано в інструкції... (Примітка: в інструкції йдеться не лише про DCOM, а про установку 1Сv8+MSSQL… Але в ній також наочний опис у картинках, куди кликати щоб налаштувати DCOM.)

10b)


Тепер переходимо безпосередньо до експлуатації встановленого пакета програм:

Запускаємо MMC-консоль: Пуск -> Програми -> 1С: Підприємство 8.2 -> Додатково -> Адміністрація серверів 1С: Підприємство.

Через консоль, послідовно створюємо об'єкти: "Центральний сервер", "Кластер", "Робочий сервер", "Робочий процес", "Інформаційна база" - як описано та показано встатті «Адміністрування серверів 1С Підприємства»...

Наступні статті трохи застаріли та неповні (змінився вигляд MMC-консолі, порядок створення та параметри компонентів), але також можуть бути корисні для ілюстрації, що потрібно зробити на цьому етапі:далі без ключів робота неможлива!Інші варіанти ключів і питання з ними тут не розглядаю - вони вже виходять за межі цієї статті… Ще можна активувати програмні ліцензії через email/телефон (якщо лінукс драйвер їх підтримує?), або налаштуйте емулятори/кряки (але зауважу, що під лінукс емуляторів ще не реалізувалиі навряд чи зроблять, т.к. особливо не потрібні)...

Після того, як через MMC-консоль адміністрування сервера, [вже була] створена «Інформаційна база» (поки порожня) - до неї можна підключитися «Товстим клієнтом» у режимі «Конфігуратора» і почати створення/налаштування прикладної Конфігурації… Зробіть це зараз:

  1. Підключіться до ІБ Конфігуратором (при першому запуску клієнта потрібно додати ІБ до списку: кнопка «Додати» / «Додавання в список існуючої інформаційної бази» / «На Сервері 1С: Підприємства» / «Кластер серверів» = delldev (ім'я хоста сервера); "Ім'я ІБ у кластері" = test1c);
  2. Завантажте Конфігурацію («Конфігурація / Завантажити конфігурацію з файлу (.cf)»… потім пройде тривалий процес злиття конфігурацій та перебудови БД із запитами підтверджень);
  3. Імпортуйте реальні облікові дані (пункт меню «Адміністрування/Завантажити інформаційну базу» - це коли дані були попередньо вивантажені у «файловий варіант ІБ», використовується для потреб сервісу);
    Примітка: не плутайте цей пункт із «відновленням бази даних PostgreSQL із регулярної резервної копії» - цей процес робиться на сервері СУБД PostgreSQL, для всього кластера баз даних цілком, тобто. для всіх інформаційних баз СУБД, що зберігаються на поточному сервері… Це операція груба і грандіозна, робиться у разі збоїв сервера або при міграції існуючого сервера на нове залізо.
  4. Налаштуйте Користувачів системи та їх Ролі (пункт меню «Адміністрування / Користувачі»… обов'язково створіть користувача «Адміністратор» та увімкніть йому всі можливі Ролі).



А коли прикладна Конфігурація буде завантажена та налаштована - до неї можна буде підключатися різними клієнтами (товстим, тонким, web) для використання та вирішення прикладних завдань.

На цьому все! Дякую за увагу!


«1C: Підприємство на Ubuntu 10.04 / Установка PostgreSQL 9.0» , тут …

Зв'язування сервера 1С:Підприємство і PostgreSQL друге за популярністю серед установок 1С і рішення, що найвикористовується, на платформі Linux. На відміну від впроваджень на базі Windows і MSSQL, де важко зробити так, щоб не запрацювало, впровадження на базі Linux тануть безліч підводних каменів для недосвідченого адміністратора. Часто буває так, що начебто все зроблено правильно, але помилка слідує за помилкою. Сьогодні ми розглянемо типові з них.

Загальна інформація

Перед тим, як починати шукати помилки установки і взагалі приступати до впровадження серверної версії 1С: Підприємства було б непогано освіжити уявлення як це працює:

Сервер 1С Підприємства. Частина 1 – Загальні питання.

У невеликих впровадженнях сервер 1С та сервер СУБД зазвичай поєднують на одному фізичному сервері, що трохи звужує коло можливих помилок. У нашому випадку розглядатиметься ситуація, коли сервери рознесені по різних машинах. У нашій тестовій лабораторії ми розгорнули таку схему:

У нашому розпорядженні є два сервери під керуванням Ubuntu 12.04 x64, на одному з них встановлений сервер 1С:Підприємство версії 8.3, на іншому PostgreSQL 9.04 від Ethersoft, а також клієнт під керуванням Windows. Нагадуємо, що клієнт працює лише із сервером 1С, який, у свою чергу, формує необхідні запити до сервера СУДБ. Жодних запитів від клієнта до сервера управління базами даних не відбувається.

Сервер баз даних не виявлено ВАЖЛИВО: користувач "postgres" не пройшов автентифікацію (Ident)

Ця помилка виникає при рознесенні серверів по різних ПК через неправильно настроєну автентифікацію в локальній мережі. Для усунення відкрийте /var/lib/pgsql/data/pg_hba.conf, знайдіть рядок:

Host all all 192.168.31.0/24 ident

і приведіть її до вигляду:

Host all all 192.168.31.0/24 md5

де 192.168.31.0/24 – діапазон вашої локальної мережі. Якщо такого рядка немає, його слід створити в секції IPv4 локальних з'єднань.

Сервер баз даних не знайденоне надіслане host name "NAME" до address: Temporary failure in name resolution

На перший погляд, помилка зрозуміла: клієнт не може дозволити ім'я сервера СУБД, типова помилка для невеликих мереж, де відсутній локальний DNS-сервер. Як рішення додають запис у файлhosts на клієнта, що не дає жодного результату.

А тепер згадуємо, про що було сказано раніше. Клієнтом сервера СУБД є сервер 1С, але ніяк не клієнтський ПК, отже запис потрібно додавати на сервері 1С:Підприємство у файл/etc/hosts на платформі Linux або в C:\Windows\System32\drivers\etc\hosts на платформі Windows.

Аналогічна помилка буде, якщо ви забули додати запис типу A для сервера СУБД на локальному DNS-сервері.

Помилка під час операції з інформаційною базою server_addr=NAME descr=11001(0x00002AF9): Цей хост невідомий.

Як і попередня, ця помилка пов'язана з неправильною роздільною здатністю клієнтом імені сервера. На цей раз саме клієнтським ПК. Як рішення додаємо у файл /etc/hosts на платформі Linux або в C:\Windows\System32\drivers\etc\hosts на платформі Windows запис виду:

192.168.31.83SRV-1C-1204

де вказуєте адресу та ім'я вашого сервера 1С:Підприємства. У разі використання локального DNS слід додати запис A для сервера 1С.

Помилка СУБД: DATABASE не підходить для використання

Набагато серйозніша помилка, яка говорить про те, що ви встановили несумісну з 1С:Підприємство версію PostgreSQL або припустилися грубих помилок при встановленні, наприклад, не встановили всі необхідні залежності, зокрема бібліотеку libICU.

Якщо ви маєте достатній досвід адміністрування Linux систем, можете спробувати доустановити необхідні бібліотеки і заново ініціалізувати кластер СУБД. В іншому випадку PostgreSQL краще перевстановити, не забувши видалити вміст папки /var/lib/pgsql.

Також ця помилка може виникати при використанні збірок 9.1.x та 9.2.x Postgre@Etersoft, подробиці дивіться нижче.

Помилка СУБД: ERROR: could not load library /usr/lib/x86_64-linux-gnu/postgresql/fasttrun.so

Досить специфічна помилка, характерна для збірок 9.1.x та 9.2.x Postgre@Etersoft, також може призводити до попередньої помилки. Причина у невиправленій помилці у бібліотеці fasttrun.so. Рішення – відкотитися на складання 9.0.x Postgre@Etersoft.

Помилка СУБДЕРОР: type "mvarchar" does not exist at character 31

Виникає, якщо база даних була створена без допомоги системи 1С:Підприємства. Пам'ятайте, для роботи з базою даних 1С слід створювати тільки з використанням інструментів платформи 1С: через консоль Адміністрація серверів 1С Підприємства

чи через засіб запуску 1С.

Сервер баз даних не виявлено ВАЖЛИВО: користувач "postgres" не пройшов автентифікацію (за паролем)

Дуже проста помилка. Неправильно вказано пароль суперкористувача СУБД postgres. Варіантів рішення два: згадати пароль чи змінити його. У другому випадку вам потрібно буде змінити пароль у властивостях усіх існуючих інформаційних баз через оснащення адміністрування серверів 1С Підприємства.

Сервер баз даних не виявленийFATAL: database "NAME" does not exist

Ще одна дуже проста помилка. Сенс її зводиться до того що, що зазначена БД немає. Найчастіше виникає через помилку у вказівці імені бази. Слід пам'ятати, що інформаційна база 1С у кластері та база даних СУБД – дві різні сутності та можуть мати різні імена. Також слід пам'ятати, що Linux системи чутливі до регістру і для них unf83 та UNF83 два різні імені.

Що вибрати, 1C для Linux чи 1С на термінальному сервері?

Php Copyright: 2003-2019 SysElegance Ltd. Всі права захищені.

У зв'язку з анонсом клієнтської частини платформи 1С 8.3 для безкоштовної операційної системи Linux нам все частіше стали ставити питання про доцільність подальшого використання термінального режиму для платформи 1C.

Коротко, наша відповідь наступна: термінальний режим для платформи 1С вирішує низку питань, які просто неможливо вирішити локальною інсталяцією, чи це безкоштовний Linux, платний Windows або будь-яка інша операційна система.

Різниця лише в стартовій ціні операційної системи-носія, платформа 1C на операційній системі Linux не буде працювати краще або гірше за локальну інсталяцію на Windows.

Більшість компаній вибирають термінальний режим роботи платформи 1С не через ціни (у реалізації термінального сервера Microsoft, наприклад, ціна набагато перевищує ціну локальної інсталяції).

До того ж термінальні рішення – це платформа для роботи всієї інфраструктури, яка включає всі програми, периферію та робочі місця. Платформа 1C – це лише один із компонентів інфраструктури.

Як видно з таблиці нижче, недоліків та питань набагато більше, ніж їхніх рішень.

Переваги та можливості Недоліки та обмеження
  • Операційна система Linux безкоштовна
  • Зміст безкоштовної операційної системи Linux завжди обходиться дорожче за платну Windows
  • Безкоштовна операційна система Linux, на відміну від термінальних станцій (тонких клієнтів), вимагає на кожному робочому місці диск, пам'ять і сучасний персональний комп'ютер.
  • Кожне робоче місце персонального комп'ютера потребує персонального обслуговування
  • На даний момент немає драйверів фіскальних реєстраторів та торговельного обладнання
  • Користувачам рано чи пізно може знадобитися використовувати інші програми для Windows
  • Немає необхідності в термінальному сервері
  • Термінальний сервер вирішує питання надійності, чуйності та швидкості роботи платформи 1С, особливо у файловому режимі.
  • Термінальний сервер більш стабільний та надійний
  • Термінальний сервер дозволяє використовувати тонкі клієнти
  • Термінальний сервер дає можливість використовувати платформу 1C розподілено, віддалено та через інтернет.
  • Можна використовувати термінальні сервери для операційної системи Linux
  • Безкоштовні редакції термінальних сервісів для операційної системи Linux складні в налаштуванні, навіть для фахівців
  • Вони не вміють працювати з периферією, особливо з принтерами та портами, що критично для платформи 1С
  • Протоколи термінальних сервісів для операційної системи Linux не оптимізовані для роботи через інтернет
  • Можна використовувати комерційні термінальні сервери для операційної системи Linux
  • Комерційні редакції термінальних сервісів для операційної системи Linux стоять у порівнянні з термінальними рішеннями для Windows
  • Комерційні редакції термінальних сервісів для операційної системи Linux як і безкоштовні вибірково працюють з периферією
  • Можна інтегрувати до операційних систем тонких клієнтів
  • Збільшений час завантаження - пакет клієнтської частини платформи 1C 8.3 займає 400 Мб
  • Вимоги до оперативної пам'яті тонкого клієнта – не менше 2 Гб
  • Вимога до процесора тонкого клієнта – не менше Atom 1,6 ГГц
  • Відсутність можливості друкувати документи

Тим не менш, клієнт платформи 1С 8.3 буде доступний у вигляді модуля, що завантажується для бездискової операційної системи SysElegance Thinstation Enterprise (починаючи з версії 4). Сфера його застосування буде вкрай обмежена:

  • резервний доступ до платформи 1C при недоступності термінального сервера
  • доступ до платформи 1С з місць, що не потребують роботи з іншими програмами (наприклад, склади)
  • доступ до платформи 1C з місць, які не потребують друкування документів
  • у майбутньому - касові термінали (за підтримки конфігураціями та фіскальної периферії)

Висновки: наявність клієнтської частини 1С 8.3 для безкоштовної операційної системи Linux – це величезний крок уперед з погляду розвитку технології та платформи 1C. Але повноцінно скористатися ним найближчим часом зможуть лише великі компанії, які використовують кластери серверів 1С з одного боку та виключно Linux на робочих місцях з іншого боку.

Як показує практика, таких компаній зараз одиниці. Переважній більшості компаній термінальний режим, як і раніше, буде більш простим, вигідним фінансово і гнучким у використанні.