v8: Установка сервера 1с 8.1 и postgresql на машину с OpenSuse linuxК сожалению, 1с и postgresql так просто не устанавливаются в OpenSuse linux. в этой статье я опишу процесс установки и обработки напильником так, чтобы это было понятно и неспециалисту. | | Автор статьи: Fragster | Редакторы: Последняя редакция №12 от 29.01.08 | История URL: http://kb.mista.ru/article.php?id=632 | |
Ключевые слова: 1с, 1c, postgresql, opensuse, установка
Подготовка
Необходимо скачать с интернета или скопировать с диска дистрибутивы 1с сервера и postgresql. Также возможно необходимо удалить и компоненты postgresql, которые могут быть установлены в вашей системе (так как программы все равно возможно не смогут работать с той postgresql, которая поставляется вместе с 1с)
Установка сервера 1с
Заходим как рут и пытаемся установить сервер 1с:
su
пароль:
rpm -Uvh /путь к дистрибутиву 1с/*.rpm
как ни странно, установка проудет почти без ошибок, а те ошибки, которые будут, натолкнут нас на пра
вильное решение:
2:1C_Enterprise-server ########################################### [ 25%]
srv1cv81 0:off 1:off 2:off 3:on 4:off 5:on 6:off
Starting 1C:Enterprise 8.1 server: su: предупреждение: невозможно сменить каталог на /home/usr1cv81: Нет такого файла или каталога
OK
Необходимо создать соттветствующую папку и назначить ей владельца:
md /home/usr1cv81
chown usr1cv81:grp1cv81 /home/usr1cv81
(пользователи уже будут созданы установщиком). Если после этого попытаться запустить сервис 1с, то это должно пройти без ошибок
service srv1cv81 start
Starting 1C:Enterprise 8.1 server: OK
В дальнейшем управлять сервисом можно из yast. к сожалению, в конфиге 1с не описана функция status, по этому в yast она всегда будет отображаться как выключенная. Проверить же можно с помощью команды netstat: если она выдает такой результат, то сервер работает:
netstat -n -a -t | grep 1540
tcp 0 0 0.0.0.0:1540 0.0.0.0:* LISTEN
После всего этого к серверу возможно подсоединиться из консоли кластеров серверов 1с
Установка postgresql
если мы попробуем установить postgresql аналогичным образом, то система выдаст нам сообщение о неудовлетворенных зависимостях:
rpm -Uvh /путь к дистрибутиву postgresql/*.rpm
ошибка: Неудовлетворенные зависимости:
initscripts нужен для postgresql-8.1.5-14.1C.i386
Возможно, при наличии этого пакета все устанавливается из коробки, и сразу работает, но у меня его не было, по этому пришлось идти длинным путем. Для начала установим postgresql несмотря на все зависимости, и посмотрим на ошибки:
rpm -Uvh --nodeps ./*.rpm
Подготовка... ########################################### [100%]
1:postgresql-libs ########################################### [ 10%]
2:postgresql ########################################### [ 20%]
chown: `postgres:postgres': неверный пользователь
3:postgresql-server ########################################### [ 30%]
предупреждение: пользователь postgres не существует - используется root
предупреждение: пользователь postgres не существует - используется root
предупреждение: пользователь postgres не существует - используется root
предупреждение: пользователь postgres не существует - используется root
postgresql: unknown service
4:postgresql-contrib ########################################### [ 40%]
5:postgresql-debuginfo ########################################### [ 50%]
6:postgresql-devel ########################################### [ 60%]
7:postgresql-docs ########################################### [ 70%]
8:postgresql-jdbc ########################################### [ 80%]
9:postgresql-pl ########################################### [ 90%]
10:postgresql-test предупреждение: пользователь postgres не существует - используется root
предупреждение: пользователь postgres не существует - используется root
.........
из всего этого понятно, что по какой-то причине не создался пользователь postgresql. Поможем ему - создадим пользователя в группе postgresql (группа почему-то присутствует), для этого я использовал yast, но useradd никто не отменял ;). Потом необходимо задать владельцем папки с данными postgresql (она должна принадлежать пользователю postgres) и проинициализировать СУБД
chown postgres:postgres -R /var/lib/pgsql
su postgres -c 'LANG=ru_RU.UTF-8 initdb /var/lib/pgsql/data'
Файлы, сопутствующие этой системе баз данных, будут
принадлежать пользователю "postgres". Этот пользователь
также должен быть владельцем процесса сервера.
Кластер баз данных будет инициализирован с локалью ru_RU.UTF-8.
Кодировка базы по умолчанию установлена в UTF8.
исправление прав на существующую директорию /var/lib/pgsql/data ... ок
создание директории /var/lib/pgsql/data/global ... ок
создание директории /var/lib/pgsql/data/pg_xlog ... ок
создание директории /var/lib/pgsql/data/pg_xlog/archive_status ... ок
создание директории /var/lib/pgsql/data/pg_clog ... ок
создание директории /var/lib/pgsql/data/pg_subtrans ... ок
создание директории /var/lib/pgsql/data/pg_twophase ... ок
создание директории /var/lib/pgsql/data/pg_multixact/members ... ок
создание директории /var/lib/pgsql/data/pg_multixact/offsets ... ок
создание директории /var/lib/pgsql/data/base ... ок
создание директории /var/lib/pgsql/data/base/1 ... ок
создание директории /var/lib/pgsql/data/pg_tblspc ... ок
выбирается значение по-умолчанию для max_connections ... 100
выбирается значение по-умолчанию для shared_buffers ... 1000
создание конфигурационных файлов ... ок
создание базы template1 в /var/lib/pgsql/data/base/1 ... ок
initializing pg_authid ... ок
разрешение неограниченного размера строки для системных таблиц ... ок
initializing dependencies ... ок
создание системных представлений ... ок
загрузка pg_description ... ок
создание конверсий ... ок
установка привилегий для встроенных объектов ... ок
создание информационной схемы ... ок
сборка мусора в базе template1 ... ок
копирование template1 в template0 ... ок
copying template1 to postgres ... ок
ВНИМАНИЕ: используется аутентификация "trust" для локальных подсоединений.
Вы можете её поменять, отредактировав pg_hba.conf или используя опцию -A,
при следующем выполнении initdb.
Success. You can now start the database server using:
postmaster -D /var/lib/pgsql/data
or
pg_ctl -D /var/lib/pgsql/data -l logfile start
|