Установка 1С сервера PostgreSQL + web мордочка

1) Ставим и обновляем систему (в моём примере ubuntu ибо на ней разрабы тестируют в первую очередь)

sudo apt update && sudo apt upgrade

2) ОБЯЗАТЕЛЬНО в /etc/hosts добавляем хостнейм сервера и его ip и серверу и клиентам (в виндовзз путь такой: C:\Windows\System32\drivers\etc\hosts ну у них всё не как у людей)

sudo nano /etc/hosts

или
Блокнот от имени админа и страдания у виндоразов
3) Устанавливаем патченый postgre от конторы Postgres PROFESSIONAL

sudo sh -c 'echo "deb http://1c.postgrespro.ru/deb/ $(lsb_release -cs) main" > /etc/apt/sources.list.d/postgrespro-1c.list'
wget --quiet -O - http://1c.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO-1C | sudo apt-key add - && sudo apt-get update 
sudo apt-get install postgresql-pro-1c-9.6
sudo apt install -f

4) Устанавливаем 1С (сервер и клиент нужно ставить вместе, не ставим только тонкий клиент ибо он конфликтует с толстым клиентом) и шрифты мелкомягких

sudo apt install ttf-mscorefonts-installer
sudo dpkg -i ./OdinAssDebs/*.deb
sudo apt install -f

5) Прописываем ip адрес сервера лицензий (про него возможно будет отдельная статья)

sudo mkdir /opt/1C/v8.3/x86_64/conf
sudo nano /opt/1C/v8.3/x86_64/conf/nethasp.ini

в виде

[NH_COMMON]
NH_TCPIP = Enabled
[NH_TCPIP]
NH_SERVER_ADDR = 192.168.10.20

6) Далее перезагружаем службы или весь сервер и создаём базу обычным способом
Делай раз
Делай дыдва
Делай тры
Делай ЩЕТыре
7) ставим апач и делаем вебмордочку 1С

sudo apt install apache2
sudo touch /etc/apache2/sites-enabled/testdb.conf
sudo /opt/1C/v8.3/x86_64/webinst -apache24 -wsdir testdb -dir /var/www/testdb -connstr "Srvr=192.168.80.248;Ref=testdb;" -confPath /etc/apache2/sites-enabled/testdb.conf
sudo systemctl restart apache2

9) Делаем скрипты для бэкапа и оптимизации базы данных:
9.1) редактируем /etc/postgresql/9.6/main/pg_hba.conf для того чтобы получать локально безпарольный доступ

local   all             all                                     trust
sudo systemctl restart postgresql

9.2) устанавливаем pigz (это gzip на стероидах (умеет при архивации нагружать все ядра))

sudo apt install pigz

9.3) Создаём скрипт бэкапа

#!/bin/sh

# Устанавливаем дату
DATA=`date +"%Y-%m-%d_%H-%M"`

# Записываем информацию в лог с секундами
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start backup testdb" >> /var/log/odinass-backup.log

# Бэкапим базу данных base1c и сразу сжимаем
/usr/bin/pg_dump -U postgres testdb | pigz > /mnt/data/backup/$DATA-testdb.sql.gz

echo "`date +"%Y-%m-%d_%H-%M-%S"` End backup testdb" >> /var/log/odinass-backup.log

# Удаляем в папке с бэкапами архивы старше 30-ти дней
/usr/bin/find /mnt/data/backup/ -type f -mtime +30 -exec rm -rf {} \;

9.4) Создаём скрипт для оптимизации базы

#!/bin/sh

# Записываем информацию в лог
echo "`date +"%Y-%m-%d_%H-%M-%S"` Start vacuum testdb" >> /var/log/odinass-service.log
# Выполняем очистку и анализ базы данных
/usr/bin/vacuumdb --full --analyze --username postgres --dbname testdb
echo "`date +"%Y-%m-%d_%H-%M-%S"` End vacuum testdb" >> /var/log/odinass-service.log

sleep 5

echo "`date +"%Y-%m-%d_%H-%M-%S"` Start reindex testdb" >> /var/log/odinass-service.log
# Переиндексирвоать базу
/usr/bin/reindexdb --username postgres --dbname testdb
echo "`date +"%Y-%m-%d_%H-%M-%S"` End reindex testdb" >> /var/log/odinass-service.log

9.5) Создаём скрипт для запуска этих скриптов кроном

#!/bin/sh

#Запуск бэкапа
/bin/bash /opt/scripts/backup-psql-odinass.sh

sleep 5

#Запуск оптимизации
/bin/bash /opt/scripts/service-psql-odinass.sh

9.7 Делаем скрипты исполняемыми

sudo chmod +x /opt/scripts/*.sh

9.6) Добавляем в крон на удобное нам время
Для создания задач в кроне мне нравится пользовать сайт crontab-generator.org

0 3 * * 6 /bin/bash /opt/scripts/odinass-night-service.sh >/dev/null 2>&1

P.S.: Не забываем менять ip адреса, имена баз данных и прочее.
P.P.S.: За скрипты бэкапа и оптимизации спасибо вот этому чуваку.