Сервер 1C:Предприятие 8.1 и Linux-сервер CentOS

    От одной мысли об этой гремучей связке пробегают по спине мурашки. Тем не менее она начинает встречаться и судя по форумам набирает потихоньку обороты. Периодически всплывают заказы на внедрение/оптимизацию работы 1C или сопряженной с ней базы данных PostgreSQL.

    Описанию процесса внедрения 1C:Предприятия на Linux-сервере посвящена статья «Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)», которая достаточно полно раскрывает основные вехи установки. Мы позволим себе заострить внимание на внедрении 1C:Предприятия на базе CentOS 5.4 (32 bit). 32х битная операционная система выбрана из-за отсутствия поддержки 64 бит компанией Aladdin в драйверах HASP.

    Первый момент — установка службы samba. Четкого описания необходимости этой службы для работы 1C:Предприятия не удалось найти. Одно из предположений — задействование сервиса WINS для преобразования имен. Рекомендуем завести отдельный DNS сервер и в нем прописать соответствие или довольствоваться файлом hosts. Мы продолжим рассмотрение на примере имени сервера srv1c.local, который корректно преобразуется в IP-адрес сервера.

    Вторым этапом является установка приложений, обслуживающих защитный ключ. Для их установки необходимо скачать архивы HDD_RPM_RedHat_i386.tar.gz и hasplm_linux_8.30.tgz с сайта ftp.aladdin.com. Распакуем и установим пакеты:

tar xf HDD_RPM_RedHat_i386.tar.gz
tar xzf hasplm_linux_8.30.tgz
rpm -ivh hasplm-redhat-8.30-1.i386.rpm HDD_RPM_RedHat_i386/aksusbd-redhat-1.8.1-2.i386.rpm

    Хочу обратить внимание, что архив HDD_RPM_RedHat_i386.tar.gz является обычным архивом без gzip сжатия. Запустим службы

service hasplm start
service aksusbd start
chkconfig hasplm on
chkconfig aksusbd on

    Базовым костяком необходимых пакетов для 1C:Предприятия являются 1C_Enterprise-common и 1C_Enterprise-server. Официальная зона скачивания находится по адресу users.v8.1c.ru. Неофициальная — forum.ruboard.ru.
    Пакеты 1C_Enterprise-common и 1C_Enterprise-server включают в себя поддержку русского языка. Пакеты содержащие в своем имени nls (Native Language Support) предоставляют поддержку дополнительных языков Болгарского, Украинского, Польского и других. Мы ограничимся установкой базового набора

rpm -ivh 1C_Enterprise-common-8.1.14-72.i386.rpm 1C_Enterprise-server-8.1.14-72.i386.rpm

    До момента установки 1C:Предприятия и базы данных PostgreSQL многие рекомендуют установить системную локаль в ru_RU.utf8. Мы этого делать не рекомендуем. Более красивым решением является установка локали для конкретных приложений без изменения системных настроек. Каждое из приложений: 1C:Предприятие и PostgreSQL,— запускаются с предварительным сбросом привилегий вызовом su, что позволяет прописать экспорт переменной через пользовательский .bash_profile.

    Для 1C:Предприятия при установке регистрируется отдельный пользователь usr1cv81 с домашней директорией /home/usr1cv81. В ней 1C:Предприятие хранит все настройки. Пропишем локаль для 1C:Предприятия

cat <<'EOF' >> /home/usr1cv81/.bash_profile

LANG="ru_RU.utf-8"

export LANG
EOF

    Если до этого 1C:Предприятие запускалось, то файлы конфигурации были созданы с использованием системной локали. Необходимо удалить старые файлы конфигурации и пересоздать их сызнова

service srv1cv81 stop >/dev/null 2>&1
mv /home/usr1cv81/.1cv81 /home/usr1cv81/bkp.1cv81

    Запустим службы 1C:Предприятия

service srv1cv81 start
chkconfig srv1cv81 on

    Из пакетов для PostgreSQL потребуется установить postgresql-libs, postgresql, postgresql-server и postgresql-contrib. Сборку PostgreSQL необходимо брать исключительно от поставщика 1C. Мы использовали PostgreSQL 8.2.4 с модификациями из материалов для сборки версии СУБД PostgreSQL. Для желающих можем разместить собственную сборку и SRPM.

    Перед выполнением команды service postgresql initdb необходимо выполнить

cat <<'EOF' >> /var/lib/pgsql/.bash_profile

LANG="ru_RU.utf-8"
export LANG
EOF

    После этого выполняем service postgresql initdb. Вносим минимальные изменения в /var/lib/pgsql/data/postgresql.conf

default_with_oids = on
stats_row_level = off

    Описанных изменений достаточно для корректной работы связки 1C:Предприятие и сервера PostgreSQL. Для оптимальной работы требуется более тщательная настройка. Запускаем сервер PostgreSQL

service postgresql start
chkconfig postgresql on

    Изменяем пароль пользователю postgres

cat <<'EOF' | psql -U postgres
ALTER ROLE postgres PASSWORD 'ваш пароль';
EOF

    В качестве альтернативного варианта последнему пункту можно предложить создать отдельного пользователя с правами суперпользователя

cat <<'EOF' | psql -U postgres
CREATE ROLE 'usr1c' WITH SUPERUSER INHERIT CREATEROLE CREATEDB LOGIN PASSWORD 'ваш пароль';
EOF

    На этом описание UNIX части закачивается и повествование переходит к настройке оснастки 1C. Этот этап в полном объеме изложен в параграфе «Создание сервера предприятия» статьи «Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами)».

Сегодня, 29 января, обнаружил еще одно руководство «Установка 1С:Предприятия 8.1 на Red Hat Enterprise Linux 5 (RHEL 5, CentOS 5)».

3 thoughts on “Сервер 1C:Предприятие 8.1 и Linux-сервер CentOS

  1. Спасибо за статью!!!

    Сегодня промучался с дебианом, пок не понял что че-та сервер 1с преприятия никак не может корректно добавить базу постгре

    ща качаю центос, надеюсь все будет гут…

Добавить комментарий

Ваш e-mail не будет опубликован.