Вот мой небольшой вклад для многоуважаемого сообщества, делал недавно, все работает на 10.04.1 LTS, 10.04.2 LTS
Естественно данный труд пренадлежит не мне, я только как говориться с миру по нитке....ссылки на копи-паст присутствуют.
# HASP драйвер под 10.04 лучше ставить отсюда.
http://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/10.04/haspd_3.2-eter3ubuntu_i386.deb# Готовые собранные пакеты PostgreSQL под Ubuntu_10.04_x86_64 можно взять здесь.
Отдельное огромное спасибо Игорю Вершинину за проделанную работу.
ftp://ftp.ailant.com.ru/pub/soft/postgresql-8.4.4-1C-ubuntu/bin/Кстати вот тут можно посмотреть как пропатчить самому postgres. Честно говоря, данный "FAQ" оттуда и слизан.
http://www.opennet.ru/tips/info/2384.shtml?skip=-5Установка 1С Сервера 8.1 и PostgreSQL 8.4.4 на Ubuntu_Server_x86_64_10.04.1 LTS.
Первым делом устанавливаем сам Ubuntu Server при установке выбираем русский язык, дабы потом не мудрить с локалью при инициализации баз данных и OpenSSH Server для удобства удаленного управления. После установки sudo apt-get update, sudo apt-get upgrade (обновляем сисетму). Теперь необходимо установить пакеты нужные для postgresql сервера, менеджера HASP и 1с сервера.
# Устанавливаем пакеты необходимые для PostgreSQL
sudo apt-get install ia32-libs
sudo apt-get install libicu42
sudo apt-get install libossp-uuid16
sudo apt-get install postgresql-common
sudo apt-get install postgresql-client-common
sudo apt-get install libxslt1.1 (необходим для пакета postgresql-contrib)
# Устанавливаем PostgreSQL, postgres собран собственно ручно, как это сделать в самом конце.
dpkg -i libpq5_18.4.4-ailant-0ubuntu10.04_amd64.deb
dpkg -i libpgtypes3_18.4.4-ailant-0ubuntu10.04_amd64.deb
dpkg -i postgresql-client-8.4_18.4.4-ailant-0ubuntu10.04_amd64.deb
dpkg -i postgresql-8.4_18.4.4-ailant-0ubuntu10.04_amd64.deb
dpkg -i postgresql-contrib-8.4_18.4.4-ailant-0ubuntu10.04_amd64.deb
# На всякий случай делаем
update-rc.d postgresql-8.4 defaults
# Делаем сим-линки, некоторые утверждают, что без них СУБД не сможет работать с 1С.
ln -s /usr/lib/locale/en_US.utf8 /usr/lib/locale/en_US
ln -s /usr/share/locale/en /usr/share/locale/en_US
# Разрешаем доступ к СУБД
vi /etc/postgresql/8.4/main/pg_hba.conf исправим
в строке "host all all 0.0.0.0/0" md5 на trust.
А также раскомментируем:
host all all 127.0.0.1/32 ident
# Устанавливаем 1С Сервер.
dpkg -i 1c-enterprise-common_8.1.15-14_amd64.deb
dpkg -i 1c-enterprise-server_8.1.15-14_amd64.deb
# На всякий случай
update-rc.d src1cv81 defaults
У меня вышло вот так:
update-rc.d: warning: /etc/init.d/srv1cv81 missing LSB information
update-rc.d: see <http://wiki.debian.org/LSBInitScripts>
Adding system startup for /etc/init.d/srv1cv81 ...
/etc/rc0.d/K20srv1cv81 -> ../init.d/srv1cv81
/etc/rc1.d/K20srv1cv81 -> ../init.d/srv1cv81
/etc/rc6.d/K20srv1cv81 -> ../init.d/srv1cv81
/etc/rc2.d/S20srv1cv81 -> ../init.d/srv1cv81
/etc/rc3.d/S20srv1cv81 -> ../init.d/srv1cv81
/etc/rc4.d/S20srv1cv81 -> ../init.d/srv1cv81
/etc/rc5.d/S20srv1cv81 -> ../init.d/srv1cv81
Фик его знает, как это отразится на сервере в будущем, а пока продолжаем.
# Правим /etc/passwd, исправляем домашний каталог с /opt/1C/v8.1/x86_64/ на /home/usr1cv81
# Создаем каталог пользователя
mkdir -p /home/usr1cv81
# Даем права пользователю
chown usr1cv81:grp1cv81
# Запускаем 1С сервер
invoke-rc.d srv1cv81 start
После этого в домашнем каталоге пользователя usr1cv81 создаться еще один каталог .1cv81 и сервер стартанет.
Кстати не все службы сервера могут стартануть после этого
root@c1server:~# ps -ax | grep 1C
Warning: bad ps syntax, perhaps a bogus '-'? See
http://procps.sf.net/faq.html 1172 ? Ssl 0:00 /opt/1C/v8.1/x86_64/ragent -daemon
1174 ? Sl 0:00 /opt/1C/v8.1/x86_64/rmngr -port 1541
1184 ? Sl 0:00 /opt/1C/v8.1/x86_64/rphost -range 1560:1591 -reghost c1server -regport 1541 -pid 7babfd0a-4ae0-11e0-d59e-0025900be618
1402 pts/0 S+ 0:00 grep --color=auto 1C
Если у Вас не так, то - попробуйте сначала shutdown -r now, авось сработает, если же нет, тогда
1) invoke-rc.d srv1cv81 stop
2) эрэм эрэф /home/usr1cv81/.1cv81
3) invoke-rc.d srv1cv81 start
3) shutdown -r now
После этого все должно получиться.
# Устанавливаем hasp драйвер.
# dpkg -i haspd_3.2-eter5ubuntu_amd64.deb
Выбор ранее не выбранного пакета haspd.
(Чтение базы данных ... на данный момент установлено 44417 файлов и каталогов.)
Распаковывается пакет haspd (из файла haspd_3.2-eter5ubuntu_amd64.deb)...
Настраивается пакет haspd (3.2-eter5ubuntu) ...
Adding system startup for /etc/init.d/haspd ...
/etc/rc0.d/K20haspd -> ../init.d/haspd
/etc/rc1.d/K20haspd -> ../init.d/haspd
/etc/rc6.d/K20haspd -> ../init.d/haspd
/etc/rc2.d/S20haspd -> ../init.d/haspd
/etc/rc3.d/S20haspd -> ../init.d/haspd
/etc/rc4.d/S20haspd -> ../init.d/haspd
/etc/rc5.d/S20haspd -> ../init.d/haspd
Обрабатываются триггеры для ureadahead ...
ureadahead will be reprofiled on next reboot
Обрабатываются триггеры для man-db ...
----------------------------------------------
Как видим все прошло без проблем.
Если кому нужны логи 1С, я лично не делал)))), то создаем
#mkdir -p /var/log/1c
#chown usr1cv81:grp1cv81 /var/log/1c
#mkdir -p /opt/1C/v8.2/x86_64/conf/
#touch /opt/1C/v8.2/x86_64/conf/logcfg.xml
#chown usr1cv81:grp1cv81 /opt/1C/v8.1/x86_64/conf/logcfg.xml
Копи-пaстим следующие строки:
<?xml version="1.0" encoding="UTF-8"?>
<config xmlns="
http://v8.1c.ru/v8/tech-log">
<log location="/var/log/1c/" history="168">
<event>
<eq property="name" value="EXCP"/>
</event>
<property name="all"/>
</log>
</config>
--------------------------------
Теперь вместо PS. Версия postgresql-8.4 для меня не подошла, она прекрасно работала, но когда пришло время закрывать месяц, квартал и год вылетала ошибка с следующим содержанием :
#########################################
Ошибка СУБД
ERROR: relation "tt44" does not exist at character 13
#########################################
причем вот этот самый tt мог выдаваться через минуту с другим значением 148, 512 и тд...
Путем примитивного гугления выяснилось, что это связанно с временными таблицами, толи с временными файлами в таблицах...я не админ бд, так что попытавшись вникнуть в эти временным таблицы, ничего не понял, заскучал и забил. Так же при гуглении был выявлен любопытный факт, что версия postgresql 8.3.8 работает без гемора, проверил на "Венде", ошибка исчезла, хотя есть у меня подозрение, в связи с тем, что раньше такой ошибки на 8.4 не возникало, что данная фигня произошла из за автоматических операций VACOOM, так что если вдруг поставите и будет все работать, то отключите AVTOVACOOM и юзайте в ручном варианте, когда пользователей нет в базе. Так вот, после "вЕнды" стал искать нормальный postgresql для UBUNTU x86_64, в связи с отсутсвием времени, скачал etersoft_овский postgresql для ubuntu 9_10, скачал ubuntu 9_10 и настроил все на ней. Единственное, что красивости уже не вышло, пришлось гуглить на наличие правильных скриптов, нашел, делюсь.
#!/bin/sh
DATADIR=/var/lib/pgsql/data
PGCTL=/usr/bin/pg_ctl
PGUSER=postgres
case $1 in
start)
sudo -u $PGUSER -H $PGCTL -D $DATADIR start
;;
stop)
sudo -u $PGUSER -H $PGCTL -D $DATADIR stop
;;
restart)
sudo -u $PGUSER -H $PGCTL -D $DATADIR stop
sudo -u $PGUSER -H $PGCTL -D $DATADIR start
;;
*)
echo start|stop|restart
return 1;
;;
esac
------------------------------
Еще хотелось бы отметить очень полезную утилиту pgtune. Под 10.04 набираем просто apt-get install pgtune.
Для более ранних версий - гуглим, скачиваем tar.bz_шник, рапаковываем в какой нибудь каталог, в остальном все тоже самое, за исключением того, что в последнем варианте надо будет выполнять все действия с каталога, где лежит pgtune (ну и не забываем о правильности запуска ./pgtune)
Вот выдержка из мана:
Автоматическое создание оптимальных
настроек: pgtune
Для оптимизации настроек для PostgreSQL Gregory Smith создал ути-
литу pgtune7 в расчете на обеспечение максимальной производительности
для заданной аппаратной конфигурации. Утилита проста в использова-
нии и в многих Linux системах может идти в составе пакетов. Если же
нет, можно просто скачать архив и распаковать. Для начала:
-----------------------------------------------------
http://pgtune.projects.postgresql.org/-----------------------------------------------------
pgtune −i $PGDATA/ p o s t g r e s q l . c o n f −o $PGDATA/ p o s t g r e s q l . c o n f . pgtune
опцией −i, −−input−config указываем текущий файл postgresql.conf, а
−o, −−output−config указываем имя файла для нового postgresql.conf.
Есть также дополнительные опции для настройки конфига.
• −M, −−memory Используйте этот параметр, чтобы определить об-
щий объем системной памяти. Если не указано, pgtune будет пытать-
ся использовать текущий объем системной памяти.
• −T, −−type Указывает тип базы данных. Опции: DW, OLTP, Web,
Mixed, Desktop.
• −c, −−connections Указывает максимальное количество соединений.
Если он не указан, это будет братся взависимости от типа базы дан-
ных.
Хочется сразу добавить, что pgtune не панацея для оптимизации на-
стройки PostgreSQL. Многие настройки зависят не только от аппаратной
конфигурации, но и от размера базы данных, числа соединений и слож-
ность запросов, так что оптимально настроить базу данных возможно учи-
тывая все эти параметры.