Есть очень очень хороший пример установки сервера приложений 1С 8 на Linux, советую всем кто собирается заняться этим прочитать: Установка Сервера 1С:Предприятия 8.1 на Linux-сервер (со скриншотами).

Хотелось бы сказать большое спасибо автору, без его статьи у меня бы ничего не получилось. Со своей стороны хотелось бы дополнить его описание своими заметками.

Итак, целевой системой для установки системы был сервер под управлением Linux Fedora 8 64-bit, гетерогенная сеть с компьютерами Windows XP Home и той же Fedora 8,  сервер 1С:Предприятия 8.1 релиз 8.1.11.67, СУБД PostgreSQL 8.1.5-14.1C.

Первый вопрос, который озадачил меня, когда я собрался поднимать сервер: а где брать эти самые *.rpm пакеты, кот орые перечислены в статье? На сайте 1С есть раздел, посвященный rpm-пакетам для установки на Linux, доступный по следующей ссылке http://v8.1c.ru/overview/postgres_patches_notes.htm , но это всего лишь патчи к оригинальным пакетам PostgreSQL, а на то,чтобы наложить патчи, не было ни времени, ни желания (хотя дело нужное и полезное, в будущем я надеюсь рассмотреть и этот вопрос).

Оказалось, что требуемые пакеты находятся на диске ИТС, который нам любезно положили в коробочку с 1С:Управление производственным предприятием, приобретенным не за долго до этого, в папке \1CIts\EXE\V8\PLATFORM.

В общем разобравшись с пакетами я стал действовать по алгоритму, описанному в вышеуказанной статье. Первый подводный камень, на который я наткнулся, это была инициализация базы данных командой:

LANG=ru_RU.utf-8 /etc/init.d/postgresql start

Никак не хотел postgres инициализировать базу данных. После непродолжительного похода в Google, было решено преобразовать команду к виду:

su postgres -c 'LANG=ru_RU.UTF-8 initdb /var/lib/pgsql/data'

то есть инициализировать базу данных не от имени root'а, как было описано в этой статье, а от имени пользователя postgres.

Если postres будет ругаться на то, что конечный католог не пустой, то нужно просто очистить содержимое /var/lib/pgsql/data.

Второй проблемой, которая возникла в процессе инициализации базы, было ругательство на то, что параметр SHMMAX,  который стоит по умолчанию в ядре (значение, равное 33554432, его можно узнать выполнив в консоли команду cat /proc/sys/kernel/shmmax) не соответсвует тому, который нужен PostgreSQL для нормальной работы. Проблема решилась просто, добавлением в файл /etc/sysctl.conf следующей строчки:

kernel.shmmax = новое_значение, которое я просто увеличил в два раза от дефолтного.

Третьей серьезной проблемой, с которой я столкнулся в процессе установки, было выполнение команды:

psql -h localhost postgres postgres

после которой следовал запрос пароля пользователя postgres, который по идее создавался при установке самих пакетов PostgreSQL и должем был совпадать с именем пользователя.. Но не тут то было. Честно скажу, какой там был пароль я не знаю до сих пор.. Поступил следующим образом: поправил файл /var/lib/pgsql/data/pg_hba.conf, изменив там в строке

host all all 0.0.0.0/0 md5

md5 на trust.

После этого выполение команды входа в консоль postgres не потребовало ввода пароля, и я спокойно смог задать новый пароль с помощью команды:

ALTER USER postgres PASSWORD 'новый_пароль'

Хочу заметить, что команда вводится вместе с апострофами. И не забывайте потом обратно поменять на md5.

Дальше все было так как в статье. Все прекрасно поднялось, и вот уже 4-ре дня как работает. Не без проблем и косяков конечно, но это уже мелочи, все выправится.

Еще хочу заметить, что когда только собирались ставить всю эту систему, то от ребят из компании Etersoft (и некоторых других "специалистов" в области Linux и 1С) получили такую информацию, что для установки 1С 8.1 на Linux в клиент-серверном варианте обязательно надо WINE@Etersoft SQL. Сейчас у меня работает сервер приложений на Fedora 8, 5-6 клиентов под Windows и порядка 20 клиентов на Linux с установеленым WINE@Etersoft Network (цена SQL версии порядка 49000, цена Network - 7500). Хочу задать себе вопрос: что я сделал не так?

Вот в общем и все, что хотел рассказать. Прошу не судить строго, это моя первая запись в этом блоге да и в каком либо вообще. Если хотя бы одному человеку она поможет, значит я старался не зря.

1 коммент.:

Анонимный комментирует...

огромное спасибо тебе за твой блог, при установке с 1С именно с этим столкнулся. Дай Бог как говорится здоровьица :)