2020

Материал из wiki.nntc.nnov.ru
Перейти к навигации Перейти к поиску

1С Кластер

Установка ОС

Выбрана свержая LTS версия xubuntu 18.04 внутри ProxMoxVE через virt-viewer по протоколу spice

Нюансы установки

ставим в режиме uefi
ставим с авторазметкой
локали уже должны быть готовы для установки postgres (эти шаги по инструкциям можно пропустить)

Установка Postgres 1C

Авторизовываемся на

https://releases.1c.ru

Скачиваем это браузером

https://releases.1c.ru/version_file?nick=AddCompPostgre&ver=10.9-5.1C&path=AddCompPostgre\10_9_5_1C\postgresql_10.9_5.1C_amd64_deb.tar.bz2
https://releases.1c.ru/version_file?nick=AddCompPostgre&ver=10.9-5.1C&path=AddCompPostgre\10_9_5_1C\postgresql_10.9_5.1C_amd64_addon_deb.tar.bz2

Скачиваем и устанавливаем пакет

wget http://security.ubuntu.com/ubuntu/pool/main/i/icu/libicu55_55.1-7ubuntu0.4_amd64.deb
sudo dpkg -i libicu55_55.1-7ubuntu0.4_amd64.deb

Добавляем репозиторий нужной версией postgresql-common, обновляем бд пакетов и устанавливаем postgresql-common

sudo su
echo 'deb http://apt.postgresql.org/pub/repos/apt/ bionic-pgdg main' > /etc/apt/sources.list.d/pgdg.list
exit
sudo apt-get update
sudo apt-get install postgresql-common

Устанавливаем скачанные с сайта 1с пакеты в таком порядке (предварительно перейдя в каталог)

cd Загрузки/postgresql-10.9-5.1C_amd64_deb/
sudo dpkg -i libpq5_10.9-5.1C_amd64.deb
sudo dpkg -i postgresql-client-10_10.9-5.1C_amd64.deb
sudo dpkg -i postgresql-10_10.9-5.1C_amd64.deb


Блокируем обновление пакетов

sudo apt-mark hold libpq5
sudo apt-mark hold postgresql-client-10
sudo apt-mark hold postgresql-10

Настройка Postgres 1C после установки

Меняем параметры первого конфига (именно столько пробелов и табов. Меняем для того, чтобы поменять пароль)

sed -i 's/local   all             postgres                                peer/local   all             postgres                                trust/g' /etc/postgresql/10/main/pg_hba.conf

Меняем параметры второго конфига

sed -i "s/listen_addresses = '\*'/listen_addresses = 'localhost'/g" /etc/postgresql/10/main/postgresql.conf

Рестартуем сервис

sudo service postgresql restart

Меняем пароль

psql -U postgres -d template1 -c "ALTER USER postgres PASSWORD 'SuperSECUREPassw0rd_HERE'"

Меняем параметры первого конфига на md5

sed -i 's/local   all             postgres                                trust/local   all             postgres                                md5/g' /etc/postgresql/10/main/pg_hba.conf

Рестартуем сервис

sudo service postgresql restart

Установка сервера 1С

Устанавливаем необходимые пакеты

sudo apt-get install imagemagick unixodbc ttf-mscorefonts-installer libgsf-1-114 libwebkitgtk-3.0-0

Авторизуемся на сайте 1с и скачиваем пакеты сервера 1с:предприятия по этой ссылке

https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.15.1565&path=Platform\8_3_15_1565\deb64_8_3_15_1565.tar.gz

Распаковываем и переходим в каталог с deb-пакетами

cd /home/administrator/Загрузки/deb64_8_3_15_1565/

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

sudo dpkg -i 1c-enterprise83-common_8.3.15-1565_amd64.deb
sudo dpkg -i 1c-enterprise83-common-nls_8.3.15-1565_amd64.deb
sudo dpkg -i 1c-enterprise83-server_8.3.15-1565_amd64.deb
sudo dpkg -i 1c-enterprise83-server-nls_8.3.15-1565_amd64.deb
sudo dpkg -i 1c-enterprise83-ws_8.3.15-1565_amd64.deb
sudo dpkg -i 1c-enterprise83-ws-nls_8.3.15-1565_amd64.deb

Меняем владельца каталога /opt/1C:

sudo chown -R usr1cv8:grp1cv8 /opt/1C

Запускаем сервер 1С:

sudo service srv1cv83 start

Установка платформы 1С

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

Скачиваем пакеты после авторизации на сайте 1с отсюда:

Толстый клиент

https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.15.1565&path=Platform\8_3_15_1565\client_8_3_15_1565.deb64.tar.gz
cd /home/administrator/Загрузки/client_8_3_15_1565.deb64/
sudo dpkg -i *.deb

Будут ошибки на тему установки thin-client - традиционные многолетние ошибки. Видимо до сих пор воспроизводятся


Тонкий клиент

https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.15.1565&path=Platform\8_3_15_1565\thin.client_8_3_15_1565.deb64.tar.gz

Если уже был установлен толстый клиент, то внутри каталога с deb-пакетами уже имеются пакеты thin.client и установка пакетов из комплекта тонкого клиента будет бессмысленной и вызовет те же традиционные многолетние ошибки.

Сервер

https://releases.1c.ru/version_file?nick=Platform83&ver=8.3.15.1565&path=Platform\8_3_15_1565\deb64_8_3_15_1565.tar.gz

Сервер повторно ставить не нужно, если клиенты устанавливаются на том же хосте (выше по инструкции устанавливался сервер). На клиентской же машине, расположенной отдельно от сервера, все равно нужно будет ставить пакеты от сервера (по крайней мере так было несколько лет назад)

Установка сервиса aksusbd

Сразу спойлер: будет работать только локально. Если нужна сетевая часть - не нужно ставить это. Нужно ставить пакет от этерсофт

Скачиваем отсюда

https://sentinelcustomer.gemalto.com/sentineldownloads/?s=&c=End+User&p=Sentinel+LDK&o=Linux&t=all&l=all#

Распаковываем и устанавливаем

cd /home/administrator/Загрузки/Sentinel_LDK_Ubuntu_DEB_Run-time_Installer/
sudo dpkg -i aksusbd_7.100-1_amd64.deb

ОБЯЗАТЕЛЬНО ПЕРЕЗАГРУЗИТЬСЯ

Проверка работы

sudo service aksusbd status

Проверка открытых портов

sudo netstat -anp | grep hasp

Можно увидеть, что 475 порт не открыт. А это сетевой хасп.

Удаляем

sudo apt-get remove aksusbd


Пакет от этерсофт

Передварительно установить пакет

sudo apt install dkms

Далее скачать пакет отсюда

ftp://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/18.04/dkms-aksparlnx_7.40-alt1ubuntu_all.deb
ftp://download.etersoft.ru/pub/Etersoft/HASP/last/Ubuntu/18.04/haspd_7.90-eter2ubuntu_i386.deb

Установить

sudo dpkg -i haspd_7.90-eter2ubuntu_i386.deb
sudo dpkg -i dkms-aksparlnx_7.40-alt1ubuntu_all.deb

Запуск демона

service haspd start

Проверка открытых портов

sudo netstat -anp | grep hasp

Настройка и включение файрвола

ufw allow 22
ufw allow 80
ufw allow 443
ufw allow 1540
ufw allow 1541
ufw allow 1543
ufw allow 1560:1591/tcp
ufw enable

Грабли

Не стартует сервис srv1c83 после переименования машины

cd /home/usr1cv8/
sed -i 's/nntc-cluster-1c/1c-cluster/g' .1cv8/1C/1cv8/reg_1541/1CV8Clsto.lst
sed -i 's/nntc-cluster-1c/1c-cluster/g' ./.1cv8/1C/1cv8/1cv8wsrv.lst
sed -i 's/nntc-cluster-1c/1c-cluster/g' ./.1cv8/1C/1cv8/reg_1541/1CV8Clst.lst
sed -i 's/nntc-cluster-1c/1c-cluster/g' ./.1cv8/1C/1cv8/reg_1541/4ea34cbe-d925-11e9-909c-fe72f0701b50/1Cv8Log/1Cv8.lgf
sed -i 's/nntc-cluster-1c/1c-cluster/g' ./.1cv8/1C/1cv8/reg_1541/5c6e77fe-d940-11e9-619e-fe72f0701b50/1Cv8Log/1Cv8.lgf
sed -i 's/nntc-cluster-1c/1c-cluster/g' ./.1cv8/1C/1cv8/reg_1541/ba469ee3-e366-4b24-ac85-a921241e5074/1Cv8Log/1Cv8.lgf

ошибка установки или изменения национальных настроек информационной базы

Удаляем старый кластер базы данных

pg_dropcluster --stop 11(версия кластера) main(имя кластера, получить можно pg_lsclusters)

Создаем новый кластер

pg_createcluster --locale ru_RU.UTF-8 --start 11 main

src: https://qna.habr.com/q/86958

Ссылки

Установка postgres

ошибка с локалью из-за точки в начале файла, которую видит только mcedit (ERROR: no ecoding defined in /usr/share/hunspell/ru_RU.aff, ignoring)

HASP

HASP инструкция

Let's Encrypt

zfs


pve

https://pve.proxmox.com/wiki/Nested_Virtualization#Enable_Nested_Hardware-assisted_Virtualization

FFMPEG

Запись видео с камер

#!/bin/bash
#FFBIN="/snap/bin/shotcut.ffmpeg" # <-- для использования этого ffmpeg надо сделать в убунте sudo snap install shotcut --classic
FFBIN="/usr/bin/ffmpeg" # <-- для использование этого ffmpeg надо просто чтобы в системе был ffmpeg (если полный путь отличается, то поправить эту переменную)
CAM1="rtsp://admin:Rfvthfjlby@172.16.17.1:554/RVi/1/1"
CAM2="rtsp://admin:Rfvthfldf@172.16.17.2:554/RVi/1/1"
CAM3="rtsp://admin:Rfvthfnhb@172.16.17.3:554/RVi/1/1"
CAM4="rtsp://admin:Rfvthfxtnsht@172.16.17.4:554/RVi/1/1"
CAMS="$CAM1 $CAM2 $CAM3 $CAM4" # <-- список камер, которые одновременно надо писать (определены выше)
FILE_LENGTH_SEC="20" # <-- регулировка количества секунд каждого ролика

function rec_one_cam(){
cam=$1
cam_name=`echo $cam | awk -F "@" {'print $2'} | sed 's/\./_/g' | sed 's/:/__/g' | awk -F '/' {'print $1'}`
out="rec_"$cam_name"_%Y_%m_%d_%H_%M_%S.mp4"
echo "Rec cam $cam_name started..."
$FFBIN \
-i $cam \
-c:v copy \
-c:a aac \
-strftime 1 \
-segment_time 00:00:$FILE_LENGTH_SEC \
-f segment \
"$out" \
> /dev/null 2>/dev/null &
sleep "$FILE_LENGTH_SEC"s
sleep 1s
kill `ps a | grep ffmpeg | grep $out | grep -v grep | awk {'print $1'}`
echo "Rec cam $cam_name stopped..."
}

echo "Rec started..."

for cam in `echo $CAMS`
do
rec_one_cam "$cam" &
sleep 2s
done

sleep "$FILE_LENGTH_SEC"s
sleep 10s
echo "Rec finished. See files in `pwd`"

exit 0

dd + ftp

монтируем удалённую хранилку

FTP_USER='vasya'
FTP_PASSWORD='passvasya'
FTP_HOST='192.168.1.123'
mkdir /mnt/ftp
curlftpfs ftp://$FTP_USER:$FTP_PASSWD@$FTP_HOST/ /mnt/ftp

клонируем средствами dd

dd if=/dev/sda1 of=/mnt/ftp/homes/vasya/sda_backup.dd bs=128M

отмонтируем

sudo umount /mnt/ftp