Статистика

Участников проекта 105
Опубликовано статей 78
Отчет по карме. Топ 20

Новости блога

1 29.11.2013  Сегодня самым активным участникам newblog'а был выплачен доход с sape.
7 02.11.2012  Ура! Свешилось, нашему сайту дали тИЦ 10. Спасибо всем кто принимает участие в развитии нашего блога.
8 21.08.2012  Интеграция с sape.ru. Теперь каждый автор статей на newblog автоматически зарабатывает на рекламе.
Все новости

Топ 5 категорий

Программирование 46
Операционные системы 9
Базы данных 4
Туризм 2
Заметки 2

Последние 5 заметок (90)

gullyar - Закладки gullyar
gullyar - Ваша первая закладка
osadchaya - Закладки osadchaya
Ira0231188 - Закладки Ira0231188
Ira0231188 - Закладки Ira0231188

Ссылки

www.freedev.asia
sbabkin.com

Установка 1С 8.2 и PostgreSQL на сервер Ubuntu 10.04

22.08.2012 10:13 | Просмотров: 3872 | Доход: 118.35 руб. | Комментариев: 14
[Администрирование ] 
Рейтинг: 5/6

Установка PostgreSQL от Etersoft:

Почему я взял postgresql именно от etersoft ответ простой, дистрибудив уже адаптирован под 1С и требует минимальной настройки.
1. Во время установки постгреса нам потребуются права рута, потому переходим в режим рута:
 
sudo -i
2. Рассмотрим пример установки на версии от Etersoft 8.4.4. Переходим в папку postgres:
 
cd /opt/1cinstall/postgres
Проверяем что есть в папке:
ls ./
 
 
Должно быть четыре пакета:
 
libpq5.2-8.4eter_8.4.4-eter1.1ubuntu_i386.deb
postgresql-8.4eter-contrib_8.4.4-eter1.1ubuntu_i386.deb
postgresql-8.4eter-server_8.4.4-eter1.1ubuntu_i386.deb
postgresql-8.4eter_8.4.4-eter1.1ubuntu_i386.deb
3. Меняем параметр ядра linux SHMMAX на 128Мб:
 
echo "kernel.shmmax = 134217728" >> /etc/sysctl.conf
echo "kernel.shmall = 134217728" >> /etc/sysctl.conf
Применяем изменения:
 
sysctl -p
4. Далее нам необходимо добавить группу postgres, но проблема в том, что необходимый нам id -26, занят группой tape. В данном случае я решил назначить группе postgres необходимый id и сделать ее первичной, а группу tape сделать вторичной. Итак, приступим:
 
 
Находим строку:
 
tape:x:26:
 
Приводим ее к виду:
 
postgres:x:26:tape
5. Для нормально работы PostgreSQL, требуется библиотека libreadline.so.5. Но у нас будет установлена более новая библиотека. Просмотрим библиотека какой версии стоит у нас:
 
ls -l /lib
 
Ниже приведу часть выхлопа, который нам необходим:
...
lrwxrwxrwx  1 root root      18 2012-01-22 15:39 libreadline.so.6 -> libreadline.so.6.2
-rw-r--r--  1 root root  204856 2011-02-24 06:53 libreadline.so.6.2
...

Итак мы выяснили, что у нас стоит библиотека версии 6.2. На нее то мы и будем создавать сим-линк:
 
cd /lib
ln -s libreadline.so.6.2 libreadline.so.5

6. Устанавливаем дополнительные библиотеки:

apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16
 

7. Переходим в папку с дистрибутивом постгреса:

cd /opt/1cinstall/postgres
8. Устанавливаем постгрес:
 
dpkg -i *.deb
9. Даем права на папку pgsql пользователю и группе postgres:
 
chown postgres:postgres /var/lib/pgsql
Кто не уверен, проверьте сменился ли владелец папки:
 
ls -l /var/lib
В выведенном на экран списке найдите папку pgsql, ее свойства должны быть примерно такими (на дату создания папки не обращайте внимания smile ):
 
drwxr-xr-x 4 postgres    postgres    4096 2011.02.18 10:09
10. Запускаем постгрес:
 
service postgresql start
Если постгрес уставлен правильно, то вы увидите сообщение:
 
Initializing database:                                                                   DONE
Starting postgresql service:                                                             DONE

11. Задаем пароль пользователю postgres:

passwd postgres
12. Задаем пароль внутреннему пользователю PostgreSQL, предварительно авторизировавшись под пользователем postgres:
 
su -l postgres
psql
alter user postgres with password 'YOUR_PASSWORD';
\q
exit
 
Где YOUR_PASSWORD - пароль который вы хотите задать для внутреннего пользователя постгрес.

13. Также нам необходимо настроить pg_hba.conf. Но перед этим сделаем бэкап этого файла:

cp /var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf.default
Открываем pg_hba.conf:
vim /var/lib/pgsql/data/pg_hba.conf
Находим следующие строки:
 
#IPv4 local connections:
#host    all         all         127.0.0.1/32          ident

 

Раскомментируем вторую строку и приведем к следующему виду:

#IPv4 loca connections:
host    all        postgres         127.0.0.1/32          md5
 

Этой правкой мы дали разрешение пользователю postgres коннектиться с любой базой с локального хоста, при этом требуется пароль.

14. Теперь рассмотрим значения параметров в файле postgresql.conf, файл расположен в той же папке, что и pg_hba.conf. Параметры зависят от многих факторов, настраиваются индивидуально и служат для обеспечения максимальной производительности. Хотя и по умолчанию база будет работать (не забывайте перед правкой делать бэкап):

  • listen_addresses = ‘127.0.0.1′ – если соединения с базой будут только с локального хоста, то надежнее сделать именно так, чтобы порт 5432 слушался только на адресе 127.0.0.1.

  • fsync = off – значение on сильно снижает производительность, поскольку все транзакции непосредственно пишутся на жесткий диск без использования кэширования, но повышается надежность. Значение off есть смысл устанавливать, когда установлены надежные диски и надежный же UPS.

  • effective_cache_size = 2048MB – на моем сервере 4Гб ОЗУ, поэтому я предположил, что этот параметр надо выставить в половину ОЗУ, как рекомендует 1С для PosgreSQL.

  • work_mem = 16MB – насколько я понимаю, этот параметр зависит от среднего размера таблиц, в любом случае, для тонкой настройки надо тестировать на конкретном сервере с конкретной базой.

Более подробно о настройках pg_hba.conf и postgresql.conf можно погуглить или дождать еще одной статьи на эту тему ;)

15. Перезагружаем постгрес:

service postgresql restart
 

Вы должны получить примерно следующее сообщение:
Stopping postgresql service:                                                             DONE
Starting postgresql service:                                                             DONE

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

 

Установка сервера приложений 1С: 

1. Теперь нам предстоит установка 1С сервера. Переходим в из папки postgres в папку 1c:

cd ../1c
 

2. Устанавливаем пакеты:

dpkg -i 1c*.deb

 

3. Устанавливаем дополнительные пакеты, которые необходимы для нормальной работы сервера:

apt-get install imagemagick libglib2.0-dev libgsf-1-114 texlive-base ttf-mscorefonts-installer unixodbc
 

4. Далее нам необходимо проверить, все ли пакеты необходимые для корректной работы сервера 1С установлены. Сделать это можно с помощью утилиты config_server, которая входит в комплект дистрибутива сервера 1С. Переходим в каталог утилиты:

cd /opt/1C/v8.2/i386/utils
 

Где i386 - разрядность системы. Для 32-битных системы надо указывать - i386, а для 64-битных систем указывать - x86_64
Запускаем config_server:
 
./config_server
 

Утилита минут на пять задумалась... Это значит, что сервер 1С настроен правильно и больше ничего не нужно для нормального функционирования.

5. Теперь добавим локаль. Переходим в папку locale:

cd /usr/lib/locale
ln -s en_US.utf8 en_US
cd /usr/share/locale
ln -s en en_US
 

6. Даем пользователям 1С сервера права на запись:

 
chown -R usr1cv82:grp1cv82 /opt/1C
 

7. Добавляем сервер 1С в автозапуск:

update-rc.d srv1cv82 defaults
 

Вы должны получить следующий выхлоп:

  Adding system startup for /etc/init.d/srv1cv82 ...
  /etc/rc0.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc1.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc6.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc2.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc3.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc4.d/K20srv1cv82 -> ../init.d/srv1cv82
  /etc/rc5.d/K20srv1cv82 -> ../init.d/srv1cv82
 

Это означает что вы добавили 1С сервер в автозагрузку. Если вы не получили этого сообщения, значит что то сделали неправильно. Точно следуйте инструкции и все получится.

8. Перезагружаем сервер. Проверяем запускаются ли при старте системы постгрес и сервер 1С:

netstat -atn|grep 0.0.0.0:15

Вы должны получить примерно следующий выхлоп:

tcp           0         0 0.0.0.0:1560                  0.0.0.0:*                  LISTEN
tcp           0         0 0.0.0.0:1561                  0.0.0.0:*                  LISTEN
tcp           0         0 0.0.0.0:1562                  0.0.0.0:*                  LISTEN
tcp           0         0 0.0.0.0:1563                  0.0.0.0:*                  LISTEN
tcp           0         0 0.0.0.0:1540                  0.0.0.0:*                  LISTEN
tcp           0         0 0.0.0.0:1541                  0.0.0.0:*                  LISTEN

9. Так же для профилактики можно проверить, все ли процессы сервера запущены нормально:

ps aux|grep 1c
 

От имени пользователя usr1cv82 должно быть запущено три процесса: ragent, rmngr и rphost. После имен процессов идут номера портов, на которых они работают:

usr1cv82   762  0.0  2.3 104408 12080 ?        Ssl  14:41   0:01 /opt/1C/v8.2/i386/ragent -daemon
usr1cv82   765  0.0  3.5 147068 18068 ?        Sl   14:41   0:04 /opt/1C/v8.2/i386/rmngr -port 1541
usr1cv82   785  0.0 13.9 312112 70828 ?        Sl   14:41   0:03 /opt/1C/v8.2/i386/rphost -range 1560:1591 -reghost 1cserver -regport 1541 -pid 0277dd48-5d08-11e0-bb9c-0800273075f1

 

10. Также нам необходим веб-сервер apache, без него нельзя реализовать новые возможности 1С:Предприятия 8.2. У меня apache был установлен вместе с пакетом LAMP, еще на этапе установки ОС. Если же у вас его нет, установим его:

apt-get install apache2
 

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


© Tiger
| Комментировать статью |
  • saratan +16 (22.08.2012 11:56)
    Фига се гемора! Оракл на красную шляпу и то проще встаёт. А то что бубунта такая старая пользуется это фича или по другому просто не получиться?
    | Ответить |
    • Tiger +458 (22.08.2012 13:08)
      на 12 убунту пробовал еще больше гемора и так толком и не заработала, а убунту 10.04 на поддержке до 2017 года, так что она еще долго будет жить
      | Ответить |
      • GM +2587 (22.08.2012 16:52)
        2017.. не хило : )))
        | Ответить |
        • Tiger +458 (22.08.2012 17:00)
          вообще не кисло!
          | Ответить |
  • GM +2587 (22.08.2012 12:04)
    А репов нету у Etersoft с PostgreSQL?
    | Ответить |
    • Tiger +458 (22.08.2012 13:08)
      не встречал
      | Ответить |
  • Аноним 0 (25.08.2012 14:30)
    "необходимо добавить группу postgres, но проблема в том, что необходимый нам id -26, занят группой tape." 
    для чего 26 id? groupadd postgres и делов, tape лучше не трогать
    | Ответить |
    • пыщь +6 (25.08.2012 14:40)
      p.s.: мда.. соглашение при регистрации на сайте - жесть :)
      | Ответить |
    • Аноним 0 (27.08.2012 10:48)
      Чем лучше? Данный способ проверен, все прекрасно работает, никто не запрещает делать самому, можешь даже свою статью забацать...
      | Ответить |
      • Tiger +458 (27.08.2012 12:57)
        Это tiger, забыл залогинится :) Может запретить анонимам писать?
        | Ответить |
        • GM +2587 (27.08.2012 14:35)
          Большинству влом будет регаться, чтобы прокомментировать :( Сделаю на днях чтобы автор статьи мог модерировать комментарии к своей статье.
          | Ответить |
  • master +2 (30.08.2012 21:37)
    как сделать тоже самое, только с постгри на отдельном сервере?
    сменил в параметре listen_addresses на ip сервера, постгри извне пропал
    | Ответить |
    • Tiger +458 (03.09.2012 10:57)
      точно так же как описано здесь, просто потом когда базу в кластере 1С будешь создавать укажешь на каком серваке искать
      | Ответить |
    • Tiger +458 (03.09.2012 10:58)
      здесь же нет привязки 1С к серверу PostgreSQL
      | Ответить |