Быстрая настройка 1с 8.3 + PostgreSQL 10.9_5.1C + Ubuntu Server 16.04.6


Доброго времени суток.

Сегодня буду настраивать связку 1с 8.3 + PostgreSQL 10.9_5.1C + Ubuntu Server 16.04.6 amd64.

Итак, мы имеем хост ESXi, на котором я разверну 2 виртуалки с Ubuntu 16.04.6 x64.

Для корректной отработки скрипта установки рекомендую при установке создать пользователя grif с правами sudo. В дальнейшем создадите своего и удалите пользователя grif, либо придется исправить в скрипте все упоминания о пользователе grif на имя вашего пользователя..

Скрипт для версии сервера 1с-предприятия 8.3.13.1513 х64. В случае если вы устанавливаете другую версию 1с измените имена файлов в скрипте в следующих строках:.

cp /home/grif/Downloads/deb64_8_3_15_1656.tar.gz /tmp/1ctmp
cp /home/grif/Downloads/client_8_3_15_1656.deb64.tar.gz /tmp/1ctmp
tar xvzf deb64_8_3_15_1656.tar.gz
tar xvzf client_8_3_15_1656.deb64.tar.gz
sudo dpkg -i 1c-enterprise83-common_8.3.15-1656_amd64.deb
sudo dpkg -i 1c-enterprise83-server_8.3.15-1656_amd64.deb

В скрипте автоматически скачиваются с моего сайта и устанавливаются haspd-modules_7.90-eter1ubuntu_amd64.deb и haspd_7.90-eter1ubuntu_amd64.deb.
В случае необходимости установки новых/других версий просто закомментируйте нижеприведенные строки символом # в начале строки и установите самостоятельно нужную версию:

mkdir /tmp/hasp
cd /tmp/hasp
wget https://it-admins.ru/downloads/haspd-modules_7.90-eter1ubuntu_amd64.deb
wget https://it-admins.ru/downloads/haspd_7.90-eter1ubuntu_amd64.deb
sudo dpkg -i hasp*.deb
sudo service haspd start

После окончания установки Ubuntu 16.04.6 открываем Putty и ssh к серверу:

1. Настройка сервера 1с

$ sudo su
# apt dist-upgrade -y
# apt install ssh htop mc samba -y
Проверить синхранизацию NTP synchronized: yes, если нет - настраиваем.
Запросите список доступных поясов: 
$ timedatectl list-timezones
$ sudo timedatectl set-timezone Europe/Astrakhan
$ sudo timedatectl set-ntp on
$ sudo apt install chrony -y

Настроим статический ip и для этого определяем имя сетевого адаптера

# ifconfig -a

У меня он называется ens192. Далее редактируем файл, отвечающий за настройки сети:

# mcedit /etc/network/interfaces

и приводим его к следующему виду (подставляйте свои значения параметров сети):

auto ens192
iface ens192 inet static
address 192.168.0.61
netmask 255.255.252.0
gateway 192.168.0.88
dns-nameservers 192.168.0.4 8.8.8.8 1.1.1.1

Где 192.168.0.61 - адрес сервера предприятия в локальной сети
255.255.252.0 - маска сети
192.168.0.88 - шлюз по умолчанию
192.168.0.4 8.8.8.8 1.1.1.1 - адреса DNS-серверов через пробел (192.168.0.4 - мой DNS-сервер в локалке)

Продолжаем:

$ cd ~
$ mkdir Downloads

В папку /home/grif/Downloads любым привычным вам способом (например, WinSCP) положить файлы 1с (скачать с серверов 1с при наличии подписки ИТС):
deb64_8_3_15_1656.tar.gz
client_8_3_15_1656.deb64.tar.gz
и файл скрипта настройки 1c-SRV-i.sh.

Далее ставим бит исполнения и выполняем скрипт настройки:

$ cd ~
$ cd Downloads
$ sudo chmod +x 1c-SRV-i.sh
$ sudo ./1c-SRV-i.sh

Когда появится окошко с подтверждением при установке шрифтов нужно будет нажать TAB и Enter, на следующем окне тоже TAB и Enter.
После завершения выполнения скрипта сервер автоматически перезагрузится. Теперь переходим к настройке сервера баз данных.

2. Настройка сервера PostgreSQL

Для корректной отработки скрипта установки рекомендую при установке создать пользователя grif с правами sudo. В дальнейшем создадите своего и удалите пользователя grif, либо придется исправить в скрипте все упоминания о пользователе grif на имя вашего пользователя..

После окончания установки Ubuntu 16.04.6 открываем Putty и ssh к серверу:

$ sudo su
# apt dist-upgrade -y
# apt install ssh htop mc samba -y
Проверить синхронизацию NTP synchronized: yes, если нет - настраиваем.
Запросите список доступных поясов: 
$ timedatectl list-timezones
$ sudo timedatectl set-timezone Europe/Astrakhan
$ sudo timedatectl set-ntp on
$ sudo apt install chrony -y

Настроим статический ip и для этого определяем имя сетевого адаптера

# ifconfig -a

У меня он называется ens192. Далее редактируем файл, отвечающий за настройки сети:

# mcedit /etc/network/interfaces

и приводим его к следующему виду (подставляйте свои значения параметров сети):

auto ens192
iface ens192 inet static
address 192.168.0.62
netmask 255.255.252.0
gateway 192.168.0.88
dns-nameservers 192.168.0.4 8.8.8.8 1.1.1.1

Где 192.168.0.62 - адрес сервера предприятия в локальной сети
255.255.252.0 - маска сети
192.168.0.88 - шлюз по умолчанию
192.168.0.4 8.8.8.8 1.1.1.1 - адреса DNS-серверов через пробел (192.168.0.4 - мой DNS-сервер в локалке)

Продолжаем:

$ cd ~
$ mkdir Downloads

В папку /home/grif/Downloads любым привычным вам способом (например, WinSCP) положить файлы (скачать с серверов 1с при наличии подписки ИТС):
postgresql_10.9_5.1C_amd64_deb.tar.bz2
postgresql_10.9_5.1C_amd64_addon_deb.tar.bz2
Также скачиваем скрипт и кладём туда же (/home/grif/Downloads):
1c-SQL-i.sh

Далее ставим бит исполнения и выполняем скрипт настройки:

$ cd ~
$ cd Downloads
$ sudo chmod +x 1c-SQL-i.sh
$ sudo ./1c-SQL-i.sh

После завершения выполнения скрипта сервер автоматически перезагрузится и можно подключать базу 1С: пользователь - postgres, пароль - Gfhjkmqwerty123

Ниже приведу настройки для сервера SQL с 16Gb оперативы. Умножайте значения памяти если у вас на сервере ее больше.
Открываем файл на редактирование

sudo mcedit /etc/postgresql/10/main/postgresql.conf

и добавляем в конец файла:

max_connections = 1000
shared_buffers = 4GB
temp_buffers = 256MB
work_mem = 64MB 
effective_cache_size = 12GB
maintenance_work_mem = 1GB
wal_buffers = 16MB
min_wal_size = 2GB
max_wal_size = 4GB

default_statistics_target = 100 
effective_io_concurrency = 2
random_page_cost = 1.1
autovacuum = on
autovacuum_max_workers = 4
autovacuum_naptime = 20s
bgwriter_delay = 20ms
bgwriter_lru_multiplier = 4.0
bgwriter_lru_maxpages = 400
synchronous_commit = off
checkpoint_completion_target = 0.9
#min_wal_size = 2GB
#max_wal_size = 4GB
ssl = off
fsync = on
commit_delay = 1000
commit_siblings = 5
row_security = off
max_files_per_process = 1000
standard_conforming_strings = off
escape_string_warning = off
max_locks_per_transaction = 256
#log_min_duration_statement = 0
log_line_prefix = '%t [%p]: [%l-1] user=%u,db=%d,client=%h '
log_checkpoints = on
log_connections = on
log_disconnections = on
log_lock_waits = on
log_temp_files = 0
#log_autovacuum_min_duration = 0
lc_messages='C'
#log_duration = on
#log_statement = all
log_destination = stderr
plantuner.fix_empty_table = 'on'
online_analyze.table_type = 'temporary'
online_analyze.verbose = 'off'

Сохраняем, закрываем и перезапускаем сервер.
В результате вы должны получить 2 виртуальные машины на ОС Ubuntu server 16.06.
1с-SRV (192.168.0.61) и 1с-SQL (192.168.0.62). Далее ставим на виндовую тачку виртуалку платформу той же версии и не забываем при установке отметить консоль администрирования и т.д. и т.п. ....

Небольшое отступление:
Порой происходит так, что после "замораживания" виртуальной машины при резервном копировании средствами скриптов GhettoVCB сервис postgresql не стартует.
На этот случай я просто и надёжно добавляю в крон задание проверки статуса службы с ее последующим запуском в случае состояния, отличного от active.

Создаем простенький файл скрипта прямо в домашней папке (переложите по желанию) и добавляем следующее содержимое:

$ cd ~
$ sudo su
# mcedit postgresql_check.sh
sudo ps -A | grep postgresql || /etc/init.d/postgresql

Делаем файл исполняемым и добавляем наше задание в крон с интервалом проверки в 1 минуту:

# chmod ugo+x /home/grif/postgresql_check.sh
# crontab -e
1 * * * * /home/grif/postgresql_check.sh

Вот и всё. Спасибо за внимание.

Надеюсь, что у вас всё получилось.
Если же нет, то добро пожаловать в раздел КОНТАКТЫ

Компонент комментариев CComment

IT-admins

IT-admins

8.00 - 17.00

☎ +7 (8512) 755-888
☎ +7 (905) 480-5470
☎ +7 (917) 199-8113
info@it-admins.ru


IT-admins © 2018