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


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

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

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

Устанавливаем ubuntu 16.04.6 без swap файла, т.е. размечаем вручную весь диск ext4 root. Для корректной отработки скрипта установки рекомендую при установке создать пользователя grif с правами sudo. В дальнейшем создадите своего и удалите пользователя grif, либо придется исправить в скрипте все упоминания о пользователе grif на имя вашего пользователя..

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

cp /home/grif/Downloads/deb64_8_3_13_1513.tar.gz /tmp/1ctmp
cp /home/grif/Downloads/client_8_3_13_1513.deb64.tar.gz /tmp/1ctmp
tar xvzf deb64_8_3_13_1513.tar.gz
tar xvzf client_8_3_13_1513.deb64.tar.gz
sudo dpkg -i 1c-enterprise83-common_8.3.13-1513_amd64.deb
sudo dpkg -i 1c-enterprise83-server_8.3.13-1513_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_13_1513.tar.gz
client_8_3_13_1513.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

Устанавливаем ubuntu 16.04.6 без swap файла, т.е. размечаем вручную весь диск ext4 root. Для корректной отработки скрипта установки рекомендую при установке создать пользователя 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.5_24.1C_amd64_deb.tar.bz2
postgresql_10.5_24.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