VPN

Поднимаем сервер 1C 8.x (Ubuntu Server + PostgreSQL) | Заметки сисадмина ~ Sysadmin notes

Материал перенесён из старой базы знаний ATC-IP и оформлен в едином стиле нового сайта.

О сайте
Помощь
Заметки сисадмина ~ Sysadmin notes
Подробные инструкции и руководства по настройке и администрированию Windows Server, Linux, сетевого оборудования. Советы по безопасности.
Комментарии
Записи
железо
сети
wordpress
Windows
Linux
Тест пяти серверов 1С:Предприятие (x64). MSSQL vs PostgreSQL.
Поднимаем сервер 1C 8.x на Linux (Centos + PostgreSQL)
Поднимаем сервер 1C 8.x (Ubuntu Server + PostgreSQL)
Ранее, я уже делал
обзор
посвящённый установке 1С8 на CentoOS, теперь пришла очередь не менее популярной линукс-оси Ubuntu. На момент написания статьи, стабильной версией убунты является
12.04
, ее и будем использовать.
Итак, в данной заметке будем настраивать связку
Ubuntu Server x64
Postgre@Etersoft9
1C 8.2.15.301
. Не будем вдаваться в подробности установки операционной системы, там все предельно понятно, за исключением разве, что возможных граблей с некорректным отображением русских символов в командных диалогах (если во время установки был выбран русский язык). Но решение
имеется
. Так же во время установки, надо не забыть отметить чекбокс напротив устанавливать ssh-сервер (если нужен) и samba-server (нужен 1С-у) :)
1) Подготовка:
Настроем сеть, будем использовать статическую адресацию:
sudo vi /etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.8
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
dns-nameservers 192.168.1.4 192.168.1.6
где, auto eth0 — говорит системе, что интерфейс eth0 необходимо включать автоматически при загрузке системы с нижеуказанными параметрами.
iface eth0 inet static — указывает на то, что eth0 использует статический интерфейс. Если используется DHCP-сервер, то пишем вместо static — dhcp.
С 12.04 за конфигурацию DNS отвечает программа
resolvconf
(вместо файла
/etc/resolv.conf
) поэтому, если не используется DHCP-сервер, DNS-сервера для статических интерфейсов необходимо вносить в
/etc/network/interfaces
используя параметры
dns-nameservers, dns-search и dns-domain,
соответствующие
параметрам
nameserver
search
domain
resolv.conf.
Рестарт службы:
sudo /etc/init.d/networking restart
Обновляемся:
sudo apt-get
update
sudo apt-get dist-upgrade
Ставим Midnight Commander (mc)
sudo apt-get install mc
2. Установка и настройка сервера баз данных PostgreSQL
Для удобства, что бы не набирать каждый раз
sudo
перейдем в режим рута:
sudo
Ставим пакеты необходимые для правильной работы
PostgreSQL
apt-get install libicu-dev libxslt1.1 libxml2 libossp-uuid16 libreadline5
Качаем последнию стабильную версию PostgreSQL
отсюда
Ставим пакеты командой:
dpkg -i *.deb
После этого в системе появится пользователь postgres, будет создан скрипт /etc/init.d/postgresql для старта и остановки СУБД.
После, даем права на папку pgsql пользователю и группе postgres:
chown postgres:postgres /var/lib/pgsql
Задаем пароль пользователю postgres:
passwd postgres
Редактируем /etc/group, где существующий id группы tape:x:26: меняем на какой-нибудь другой, например 27 :). В итоге, должны быть следующие строки:
postgres:x:26:
tape:x:27:
Стартуем сервис командой, указываем значение переменной LANG. Необходимо для первичного создания базы:
LANG=ru_RU.utf—8 service postgresql start
Может ругнутся, что текущее значения Shmmax слишком мало для запуска PostgreSQL и предложить указать своё, но мы поступим умнее и воспользуемся следующим
скриптом
, который посчитает и выведет нужный размер Shmmax и Shmall в байтах.
SHMMAX — это максимальный размер (в байтах) на сегменте shared memory равный половине всей доступной памяти на сервере.
SHMALL — общее количество разделяемой памяти (в страницах), какое все процессы на сервере могут использовать.
Затем пропишем полученные значения с помощью команды:
echo
"kernel.shmmax = 521981952"
>> /etc/sysctl.conf
echo
"kernel.shmall = 127437"
>> /etc/sysctl.conf
Или пропишем в /etc/sysctl.conf вручную. Для того что бы изменения вступили в силу, набираем:
sysctl -p
Авторизуемся под пользователем Postgres и назначим пароль внутреннему пользователю PostgreSQL:
su postgres
psql postgres
alter
user
postgres
with
password
'YOUR_PASSWORD'
Набираем \q что бы выйти из консоли.
Файл /var/lib/pgsql/data/pg_hba.conf приводим к виду:
#IPv4 local connections:
host all postgres 0.0.0.0
/0
md5
Главный конфиг
/var/lib/pgsql/data/postgresql.conf
редактируем в соответствии со следующими данными: Усредненная настройка наиболее важных параметров:
shared_buffers = 1/8 RAM или больше (но не более 1/4)
work_mem = в 1/20 RAM
maintenance_work_mem = в 1/4 RAM
max_fsm_relations = в планируемое кол-во таблиц в базах * 1.5
max_fsm_pages в max_fsm_relations * 2000;
fsync = true

Материал сокращён при переносе в новую базу знаний. Полная версия сохранена в архиве старого сайта.

Позвонить +7 (343) 382-33-16