Форум русскоязычного сообщества Ubuntu


Автор Тема: [Wiki] [HOWTO] 1С 8.1 на Linux Ubuntu  (Прочитано 58537 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
[Wiki] [HOWTO] 1С 8.1 на Linux Ubuntu
« : 21 Январь 2008, 02:39:39 »
Итак, я надеюсь, вы скачали два файла.  setuplin.rar и setuppln824.rar
Перед началом установки убедитесь, что у вас не установлены пакеты libpq5 и libpq-dev (это оригинальные пакеты из репозитория).
Если они установлены - очень много пакетов зависит от них, например apache2! Поэтому лучше устанавливать базу 1с на отдельный новый сервер. Ну или попробуйте их удалить, если вас устроит то, что будет удалено по зависимостям, то можно продолжать.
В этой статье были использованы материалы
https://forum.ubuntu.ru/index.php?topic=12472.0
http://life.screenshots.ru/the-code-inside/php-platform/linux-1c-setup
http://wiki.etersoft.ru/SELTA/Config
https://forum.ubuntu.ru/index.php?topic=2158.0


Наверняка у вас уже есть файлы
setuplin.rar и setuppln824.rar
Для того чтобы установить 1с нужно поместить эти два архива в одну папку со скриптами convert_*.sh (пользователь от которого запускают скрипт должен иметь право на запись в директорию)
итак, допустим мы в /tmp/1c
cd /tmp/1c

скачаем и распакуем архив со скриптами
wget "ftp://linvinus.ru/1c/converter.tar.gz"
tar zxvf converter.tar.gz

вот что должно быть ls -l

-rwxr--r-- 1 denis denis 10878 2008-05-25 11:52 convert_1c.sh*
-rw-r--r-- 1 denis denis  7881 2008-05-25 12:05 converter.tar.gz
-rwxr--r-- 1 denis denis 17002 2008-05-25 11:59 convert_postgres.sh*
-rw-r--r-- 1 denis denis 50969899 2007-12-25 11:52 setuplin.rar
-rw-r--r-- 1 denis denis 32828832 2007-07-12 11:44 setuppln824.rar

если со временем названия архивов изменятся, то их нужно будет поправить в начале файла convert.sh
в переменной SETUP_FILES
в переменной  ONEC_BASES_DIR скрипта convert_postgres.sh прописана директория где будут базы 1с. (по умолчанию  в /srv/pgsql)
будьте внимательны, в указанной директории у вас должно быть достаточно места, в идеале база должна находиться на отдельном разделе.

Теперь запускаем скрипты конвертации из rpm в deb
сначала
./convert_1c.shзатем
./convert_postgres.shНа все вопросы если вы с ними согласны отвечаем y

сообщения
Warning: Skipping conversion of scripts in package postgresql-server: postinst postrm preinst prerm
Warning: Use the --scripts parameter to include the scripts.
игнорируем
НО на остальные обращаем внимания, я не все возможные ошибки предусмотрел!
В общем по окончанию работы скрипта должны установиться пакеты.

На всякий пожарный поясню:
Конвертация из rpm в deb идёт без скриптов, т.к. скрипты установки rpm пакета в debian/ubuntu работают некорректно.
Но я создаю свои собственные которые выполняют те же действия.
1) Создаются пользователь и группа для запуска 1с сервера
groupadd grp1cv81
useradd -g grp1cv81  usr1cv81
2)создаётся страртовый скрипт для запуска 1с
я взял за основу скрипт из rpm и адаптировал его для запуска в ubuntu
3)создаются пользователь и группа для postgres
groupadd -g 26 -o -r postgres
groupadd -g 26 -o -r postgres -u 26 postgres
4)создаётся страртовый скрипт для запуска postgres
Всё это в скриптах установки deb пакетов, так же как если бы это были оригинальные пакеты для debian|ubuntu :).

Также в пакете postgres-server создаются пара симлинков иначе будут ошибки
postgres@temp1C:/tmp/1c$ initdb -D /bases/pgsql/data                                                                                                                                        
initdb: error while loading shared libraries: libreadline.so.4: cannot open shared object file: No such file or directory                                                                                      

postgres@temp1C:/tmp/1c$ initdb -D /bases/pgsql/data                                                                                                                                        
initdb: error while loading shared libraries: libtermcap.so.2: cannot open shared object file: No such file or directory                                                                                      

Для корректной работы postgres требуется увеличить параметр ядра shmmax
можно выполнить команду  sudo echo 256000000 >/proc/sys/kernel/shmmax
Но для того, чтобы этот параметр был настроен после перезагрузки, нужно его прописать
в конце  файла /etc/sysctl.conf
echo "kernel.shmmax=256000000" >>/etc/sysctl.conf
затем нужно проинициализировать базу
sudo -H -u postgres  /usr/bin/initdb -D /srv/pgsql/data
в каталоге  /srv/pgsql/data появятся файлы и директории.

находим и изменяем занчения следующий переменных в файле sudo gedit /srv/pgsql/data/postgresql.confdefault_with_oids = on
stats_row_level = off
effective_cache_size = 512MB
где 512Мб = половине оперативной памяти на сервере. (у меня было 1Gb)

в файл sudo gedit /srv/pgsql/data/pg_hba.conf добавляем адреса с которых можно подключаться к базе
local   all     postgres        trust                                                                                                                                                                          
host    all         postgres         127.0.0.1/32          trust                                                                                                                                              
host    all         postgres         192.168.1.0/24        trust    
                                                                                                                                       


ну всё! теперь можно запустить базу командой
sudo /etc/init.d/postgresql startдолжно запуститься без ошибок.

и запустить сервер 1c командой sudo /etc/init.d/srv1cv81 start
После этого можно подключаться клиентом и создавать базу на сервере.

для того чтобы сбросить пароль на пользователя postgresql в базе данных, нужно выполнить следующие условия
в файле pg_hba.conf должна быть строчка                                                                                                                                                                                                    
host    all         all         127.0.0.1/32          trust                                                                                                                                                    

и закоментированна                                                                                                                                                                                                                
#host    all         all         0.0.0.0/0             md5                                                                                                                                                    
                                                                                                                                                                                                              
затем sudo psql -h localhost postgres postgres                                                                                                                                                                            
alter user postgres with password 'postgres';
\q  для выхода

Ещё один момент:  убедитесь что в файле /var/lib/locales/supported.d/local
есть локаль en_US ISO-8859-1
если нет, то добавьте и выполните команду sudo dpkg-reconfigure locales
Также выкладываю все конфигурационные файлы и скрипты для ежедневного создания backup-ов
ftp://linvinus.ru/1c/postgres_new_hope.tar.bz2

p.s.
Хотелось бы услышать отзывы о производительности по сравнению с виндовой версией.
Из моих наблюдений, на той же машине с 12Gb оперативной памяти и двумя xeon 3Ghz
операции чтения из bd в два раза быстрее, но вот некоторые большие проводки наоборот в два раза медленнее.
Размер базы 40Gb.
Правда использую postgres для x86_64 а 1c 32х разрядная т.к. ключи только на такую версию.
« Последнее редактирование: 08 Октябрь 2010, 13:34:31 от stmc »
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн begemot

  • Активист
  • *
  • Сообщений: 385
  • Я отказался от наркотического яда - никотина!
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #1 : 21 Январь 2008, 02:52:16 »
Отлично. Жаль только, что они PostgreSQL модифицировали...
Вот ещё бы сервер версии 7.7. научиться в Ubuntu запускать! (:
А то бюджетной конфигурации в восьмёрках до сих пор нет. Будем другие учётные платформы искать.

Спасибо за полезный материал, Денис.

Оффлайн aen

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #2 : 21 Январь 2008, 16:30:45 »
А можешь модифицировать скрипт, чтобы можно было ставить 1с с db2?

Оффлайн begemot

  • Активист
  • *
  • Сообщений: 385
  • Я отказался от наркотического яда - никотина!
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #3 : 22 Январь 2008, 00:50:42 »
aen
А разве 1С поддерживает работу с DB2??? O_o

Оффлайн kuper

  • Новичок
  • *
  • Сообщений: 21
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #4 : 22 Январь 2008, 08:17:41 »
aen
А разве 1С поддерживает работу с DB2??? O_o

Да, поддерживает, причем под ним таблицы не блокируются одним пользователем, как в PostgreSQL. Но DB2 бесплатен на серверах до 2-х процессоров и 4 гигов оперативной памяти, дальше за него нужно платить.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #5 : 22 Январь 2008, 10:23:59 »
А можешь модифицировать скрипт, чтобы можно было ставить 1с с db2?
А зачем такой скрипт? Для pgsql он нужен потом что 1с предоставляет только rpm пакеты.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн aen

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #6 : 22 Январь 2008, 13:48:25 »
Да установка db2 под 1с в документации описана очень плохо. Пока разобрался пару раз переставлял DB2.
Да и не каждый сообразит как преобразовать пакеты самой 1с ;)

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #7 : 23 Январь 2008, 16:18:22 »
на счёт db не обещаю,  а вот сделать возможность отдельно конвертировать 1с сделаю
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Vin_Ghost

  • Гость
Re: 1С 8.1 на Linux Ubuntu
« Ответ #8 : 23 Январь 2008, 21:19:15 »
Отлично. Жаль только, что они PostgreSQL модифицировали...
Вот ещё бы сервер версии 7.7. научиться в Ubuntu запускать! (:
А то бюджетной конфигурации в восьмёрках до сих пор нет. Будем другие учётные платформы искать.

Спасибо за полезный материал, Денис.

Сорри за офтоп, но если вы про бюджетную конфигурацию (Бухгалтерия для бюджетных учреждений), то ее должны выпустить в этом году. Как франч заявляю... И вообще 7.7 активно сворачивать начали...

Оффлайн Sir0p

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #9 : 07 Февраль 2008, 07:26:56 »
sudo -H -u postgres /usr/bin/pg_ctl -D /srv/pgsql/data -l /srv/pgsql/data/postgres.log start



+        sudo -H -u postgres /usr/bin/pg_ctl -D /srv/pgsql/data -l /srv/pgsql/data/postgres.log start
+    ;;
+stop)
+        sudo -H -u postgres /usr/bin/pg_ctl -D /srv/pgsql/data -l /srv/pgsql/data/postgres.log stop

мне кажется в этих строчках ошибка, в /srv/ ничего не ставиться и симоволической ссылки с этого пути на /bases/pgsql в скрипте не создавалось
« Последнее редактирование: 07 Февраль 2008, 13:38:13 от Sir0p »

Оффлайн Sir0p

  • Новичок
  • *
  • Сообщений: 5
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #10 : 07 Февраль 2008, 13:35:01 »
плюс к выше сказанному, не пытайтесь поставить по этому мануалу постгрес на десктопную версю ядра, из-за особенноестей его конфигурации будет в логах писаться ошибка
 LOG:  could not bind IPv4 socket: Address already in use
HINT:  Is another postmaster already running on port 5432? If not, wait a few seconds and retry.
FATAL:  could not create TCP/IP listen socket

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #11 : 07 Февраль 2008, 18:03:00 »
спасибо за замечания! Действительно это приклеилось от конкретной реализации. Исправлю.
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Alfazion

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #12 : 09 Февраль 2008, 14:36:00 »
Народ а возможно ли под Ubuntu запустить 1С7.7 Торговля+Склад. Если да, распишите плз по подробнее как.

Оффлайн Denis Konstantinov

  • Автор темы
  • Активист
  • *
  • Сообщений: 864
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #13 : 09 Февраль 2008, 17:37:35 »
Народ а возможно ли под Ubuntu запустить 1С7.7 Торговля+Склад. Если да, распишите плз по подробнее как.
см в сторону etersoft.ru
AltYo консоль для Gtk3 в стиле консоли quake https://forum.ubuntu.ru/index.php?topic=198594.0

Оффлайн Alfazion

  • Новичок
  • *
  • Сообщений: 10
    • Просмотр профиля
Re: 1С 8.1 на Linux Ubuntu
« Ответ #14 : 09 Февраль 2008, 18:05:12 »
хм, а точнее моно плз :uglystupid2:

 

Страница сгенерирована за 0.065 секунд. Запросов: 24.