пятница, 31 августа 2018 г.

Ubuntu 16.04.5 1С:Предприятие 8.3.13.1472 PostgreSQL, версия 10.3-2.1C

Установка 1С 8.3.13.1472 СУБД PostgreSQL, версия 10.3-2.1C ubuntu 16.04.5

данной статье опишем установку сервера и клиента 1С 8.3.13.1472 с СУБД PostgreSQL, версия 10.3-2.1C  на ubuntu 16.04.5 на virtualbox.
Нам потребуется (все 64 бит):
1. ubuntu 16.04.5
2. 1С берем на сайте 8.3.13.1472 при наличии договора ИТС
3. PostgreSQL, версия 10.3-2.1C  при наличии договора ИТС 
4.  Фонты берем etersoft по кнопке получить (после бесплатной регистрации wine.local для ubuntu 16.04 64 бит)
5. Драйверы hasp берем etersoft

1. Устанавливаем ubuntu 16.04.5 desktop без swap файла, т.е. размечаем вручную весь диск ext4 root.
Настройки виртуальной машины - RAM (32GB)
Сеть - сетевой мост.

Проще всего пробросить в виртуальную машину лицензии 1С:Предприятия 8 посредством локального hasp.


Настройки ubuntu пользователь (привязка в скриптах) user пароль 12345, имя компьютера любое, позже мы его сменим скриптом, как и ip адрес.

После установки, Ctrl +Alt + T (окно терминала)
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo apt install mc ssh samba -y

Возможно sudo apt upgrade -y не пройдет из за блокировки, тогда sudo reboot и повторите с начала.

$ lsusb
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

Пробросить hasp средствами VirtualBox

$ lsusb
Bus 001 Device 004: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 003: ID 0529:0001 Aladdin Knowledge Systems HASP copy protection dongle
Bus 001 Device 002: ID 80ee:0021 VirtualBox USB Tablet
Bus 001 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

2. Настройка сети скриптом.
Узнаем ip и имя адаптера
$ ip a
2: enp0s3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:53:b6:81 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.169/24 brd 192.168.0.255 scope global enp0s3

Откроем firefox (в ubuntu), откроем эту страничку  и скопируем в буфер скрипт настройки сети:

$ nano network.sh

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

#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="ufo"
# real computer
#_iface="enp0s31f6"
# kvm iface
#_iface="ens3"
# virtualbox iface
_iface="enp0s3"
#_iface="enp1s0"
_address="192.168.0.101"
_gateway="192.168.0.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
#add a swap file to an Ubuntu 16.04
sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo cp /etc/fstab /etc/fstab.bak
sudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
# отключим сетевой менеджер
#sudo systemctl stop NetworkManager.service
#sudo systemctl disable NetworkManager.service
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#auto $_iface
#iface $_iface inet dhcp
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network
#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1       localhost
$_address       $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# отключим ip6
sudo /bin/su -c "echo 'net.ipv6.conf.all.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.default.disable_ipv6 = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'net.ipv6.conf.lo.disable_ipv6 = 1' >> /etc/sysctl.conf"
#sudo /bin/su -c "echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf"
sudo /bin/su -c "echo 'vm.swappiness=0' >> /etc/sysctl.conf"
#sudo /bin/su -c "echo 'vm.vfs_cache_pressure = 50' >> /etc/sysctl.conf"
sudo sysctl -p
# перезагрузим сеть
sudo systemctl restart networking.service
#sudo systemctl start networking.service
#sudo systemctl enable networking.service
# Настройка sudo journalctl -b sudo journalctl -b -1 sudo journalctl --list-boots
sudo sed -i 's/#Storage=auto/Storage=persistent/' /etc/systemd/journald.conf
# Отключение уведомлений службы Apport (/var/crash)
sudo sed -i 's/enabled=1/enabled=0/' /etc/default/apport
# Настройка ftp пользователь: test пароль: test
sudo apt install pure-ftpd -y
sudo groupadd ftpgroup
sudo usermod -aG ftpgroup user
sudo ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
sudo mkdir /home/user/test
sudo chown -R user:ftpgroup /home/user/test
#sudo pure-pw useradd test -u user -d /home/user/test
# Заведем пользователя ftp test с паролем test
sudo echo -e "test\ntest\n" | sudo pure-pw useradd test -u user -d /home/user/test
sudo pure-pw mkdb
sudo service pure-ftpd restart
# ubuntu
# Отключим службу ondemand
# (для разгона cpu)
# cat /proc/cpuinfo | grep MHz
# systemctl status ondemand
sudo systemctl stop ondemand
sudo systemctl disable ondemand
# shutdown -r now

Сохраним файл network.sh

------------------------------------------
Сделаем исполняем
$ chmod +x network.sh

Выполним:

$ ./network.sh
------------------------------------------
или так:
$  sudo sh network.sh
------------------------------------------

Перезагрузимся

$ sudo reboot

3. Установка СУБД PostgreSQL, версия 10.3-2.1C и 1c скриптом:

После перезагрузки по сети можно подключиться любым ftp клиентом к ftp серверу на нашей виртуальной машине (по ip или или имени ud1604) пользователь test пароль test и загрузить файлы установки:

Файлы необходимые для установки (предварительно нужно скачать по указанным в начале статьи ссылкам):
postgresql_10.3_2.1C_amd64_deb.tar.bz2postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2
client_8_3_13_1472.deb64.tar.gz
deb64_8_3_13_1472.tar.gz
deb64.tar.gz  #переименуем так 64 битный сервер для deb
client.deb64.tar.gz #переименуем так 64 битный клиенте для deb
fonts-ttf-ms_1.0-eter4ubuntu_all.deb
aksusbd_7.81-1_amd64.deb
Исправим bug
Several regex warnings when installing latest postgres update

sudo nano /usr/sbin/pam_getenv
строка 78 заменить
$val =~ s/(?<!\\)\${([^}]+)}/$ENV{$1}||""/eg;
на
$val =~ s/(?<!\\)\$\{([^}]+)\}/$ENV{$1}||""/eg;


Install PostgreSQL 10 on Ubuntu
Xenial-pgdg

Откроем firefox (в ubuntu), откроем эту страничку  и скопируем в буфер скрипт установки СУБД PostgreSQL версия 9.6.5-4.1С и 1c:

$ nano install_post103_2.sh

Скопируем из буфера следующий скрипт:

#!/bin/sh
sudo apt-get install libicu55  -y
wget --quiet -O - https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo apt-key add -
sudo sh -c 'echo "deb http://apt.postgresql.org/pub/repos/apt/ xenial-pgdg main" >> /etc/apt/sources.list.d/postgresql.list'
sudo apt update -y
sudo apt-get install postgresql-common libtcl8.6 -y
#sudo cp /usr/share/hunspell/ru_RU.aff  /usr/share/hunspell/ru_RU.aff.copy
#sudo sed -e '1s/^\xef\xbb\xbf//' /usr/share/hunspell/ru_RU.aff
mkdir -p /tmp/post
cp /home/user/test/postgresql_10.3_2.1C_amd64_deb.tar.bz2 /tmp/post/
cp /home/user/test/postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2 /tmp/post/
cd /tmp/post
tar -xvf postgresql_10.3_2.1C_amd64_deb.tar.bz2
cd  postgresql-10.3-2.1C_amd64_deb
sudo dpkg -i *.deb
cd /tmp/post/
tar -xvf postgresql_10.3_2.1C_amd64_addon_deb.tar.bz2
cd postgresql-10.3-2.1C_amd64_addon_deb
sudo dpkg -i *.deb
sudo -u postgres psql -U postgres -c "alter user postgres with password 'pass';"
sudo cp /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak
sudo rm /etc/apt/sources.list.d/postgresql.list
sudo apt update  -y
#Делаем проверки
#sudo systemctl status postgresql.service
#ss -tunpl | grep 5432

# установка 1с
mkdir -p /tmp/1ctmp
cd /tmp/1ctmp
sudo apt install imagemagick -y
sudo apt install -y unixodbc libgsf-1-114 libglib2.0
#ubuntu
#sudo apt install ttf-mscorefonts-installer -y
#debian
#wget  http://ftp.ru.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb
sudo  apt install -y xfonts-utils cabextract
#sudo dpkg -i ttf-mscorefonts-installer_3.6_all.deb
# фонты от Etersoft
#ubuntu
cp /home/user/test/fonts-ttf-ms_1.0-eter4ubuntu_all.deb /tmp/1ctmp
sudo dpkg -i fonts-ttf-ms_1.0-eter4ubuntu_all.deb
#sudo apt -f -y install
#debian
#cp /home/user/Загрузки/fonts-ttf-ms_1.0-eter4debian_all.deb /tmp/1ctmp
#sudo dpkg -i fonts-ttf-ms_1.0-eter4debian_all.deb
cp /home/user/test/deb64_8_3_13_1472.tar.gz /tmp/1ctmp/deb64.tar.gz
cp /home/user/test/client_8_3_13_1472.deb64.tar.gz /tmp/1ctmp/client.deb64.tar.gz
tar xvzf deb64.tar.gz
tar xvzf client.deb64.tar.gz
sudo dpkg -i 1c*.deb
sudo apt -f -y install
sudo chown -R usr1cv8:grp1cv8 /opt/1C
sudo echo -e "pass\npass\n" | sudo passwd usr1cv8
sudo service srv1cv83 start
#sudo service srv1cv83 status
mkdir /tmp/hasp
cd /tmp/hasp
cp /home/user/test/aksusbd_7.81-1_amd64.deb  /tmp/hasp
sudo dpkg -i aksusbd_7.81-1_amd64.deb

sudo dpkg -i *.deb
#sudo apt-get install -f -y

Сохраним файл install_post103_2.sh

Сделаем исполняем
$ chmod +x  install_post103_2.sh

Выполним:

$ ./install_post103_2.sh

или
$ sudo sh install_post103_2.sh

Не встал скриптом imagemagick?
Без строчки ниже будет ругаться при входе в 1с
$ sudo apt-get install imagemagick  -y

$ sudo reboot

$ sudo systemctl status postgresql.service
● postgresql.service - PostgreSQL RDBMS
   Loaded: loaded (/lib/systemd/system/postgresql.service; enabled; vendor preset: enabled)
   Active: active (exited) since Ср 2018-03-14 16:45:43 MSK; 7min ago
  Process: 1430 ExecStart=/bin/true (code=exited, status=0/SUCCESS)
 Main PID: 1430 (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0
   CGroup: /system.slice/postgresql.service

мар 14 16:45:43 kamin systemd[1]: Starting PostgreSQL RDBMS...
мар 14 16:45:43 kamin systemd[1]: Started PostgreSQL RDBMS.
user@kamin:~$

$ sudo ss -tunpl | grep 5432
tcp    LISTEN     0      128       *:5432                  *:*                   users:(("postgres",pid=1269,fd=6))
  
$ sudo systemctl start postgresql.service
$ sudo systemctl restart postgresql.service
$ sudo systemctl stop postgresql.service

$ sudo systemctl status srv1cv83.service
● srv1cv83.service - LSB: Starts and stops the 1C:Enterprise daemons
   Loaded: loaded (/etc/init.d/srv1cv83; bad; vendor preset: enabled)
   Active: active (exited) since Ср 2018-03-14 16:45:46 MSK; 11min ago
     Docs: man:systemd-sysv-generator(8)
  Process: 1215 ExecStart=/etc/init.d/srv1cv83 start (code=exited, status=0/SUCCESS)
    Tasks: 0
   Memory: 0B
      CPU: 0

мар 14 16:45:41 kamin systemd[1]: Starting LSB: Starts and stops the 1C:Enterprise daemons...
мар 14 16:45:41 kamin su[1267]: Successful su for usr1cv8 by root
мар 14 16:45:41 kamin su[1267]: + ??? root:usr1cv8
мар 14 16:45:41 kamin su[1267]: pam_unix(su:session): session opened for user usr1cv8 by (uid=0)
мар 14 16:45:46 kamin srv1cv83[1215]: Starting 1C:Enterprise 8.3 server: OK
мар 14 16:45:46 kamin systemd[1]: Started LSB: Starts and stops the 1C:Enterprise daemons.




$ sudo ss -tlnp | grep :15
LISTEN     0      128          *:1560                     *:*                   users:(("rphost",pid=1402,fd=23))
LISTEN     0      128          *:1540                     *:*                   users:(("rphost",pid=1402,fd=15),("ragent",pid=1305,fd=15))
LISTEN     0      128          *:1541                     *:*                   users:(("rmngr",pid=1325,fd=12))
LISTEN     0      128         :::1560                    :::*                   users:(("rphost",pid=1402,fd=22))
LISTEN     0      128         :::1540                    :::*                   users:(("rphost",pid=1402,fd=14),("ragent",pid=1305,fd=14))
LISTEN     0      128         :::1541                    :::*                   users:(("rmngr",pid=1325,fd=11))

sudo service aksusbd status
● aksusbd.service - Sentinel LDK Runtime Environment (aksusbd daemon)
   Loaded: loaded (/etc/systemd/system/aksusbd.service; enabled; vendor preset: enabled)
   Active: active (running) since Пт 2018-08-31 19:02:54 MSK; 5min ago
  Process: 856 ExecStart=/usr/sbin/aksusbd_x86_64 (code=exited, status=0/SUCCESS)
 Main PID: 858 (aksusbd_x86_64)
    Tasks: 3
   Memory: 544.0K
      CPU: 2ms
   CGroup: /system.slice/aksusbd.service
           └─858 /usr/sbin/aksusbd_x86_64

авг 31 19:02:54 ufo systemd[1]: Starting Sentinel LDK Runtime Environment (aksusbd daemon)...
авг 31 19:02:54 ufo aksusbd[858]: loaded, daemon version: 7.81.1.80357, key API (USB) version: 3.88 (parallel driver not avail
авг 31 19:02:54 ufo systemd[1]: Started Sentinel LDK Runtime Environment (aksusbd daemon).
      

$ sudo poweroff

Здесь полезно сделать "консервы".
До подключения базы 1с легко менять ip адрес и название сервера.
Сделаем выгрузку post10.ova

Перезагрузимся, если не делали выгрузку или просто загрузим виртуалку.


Можно подключать базу 1С postgres пароль pass
(вместо astra имя своего сервера)




Для 32 Gb RAM иначе не запустится!!!

sudo cp  /etc/postgresql/10/main/postgresql.conf /etc/postgresql/10/main/postgresql.conf.bak 
sudo nano  /etc/postgresql/10/main/postgresql.conf

Заменить:


Сохранить.

$ sudo systemctl restart postgresql.service
$ sudo systemctl restart srv1cv83.service 
.
$ nano changeip.sh

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

#!/bin/bash
# настройка ip и hostname
#----------------------------------------------------------------------
_hostname="kamin"
# real computer
#_iface="enp0s31f6"
# kvm iface
#_iface="ens3"
# virtualbox iface
#_iface="enp0s3"
_iface="enp1s0"
_address="192.168.1.95"
_gateway="192.168.1.1"
_netmask="255.255.255.0"
_nameserver="8.8.8.8"
#----------------------------------------------------------------------
# настроим статический ip
sudo cat > /tmp/interfaces <<EOF
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
#auto $_iface
#iface $_iface inet dhcp
iface $_iface inet static
address $_address
netmask $_netmask
gateway $_gateway
dns-nameservers $_nameserver
auto $_iface
EOF
sudo cp /tmp/interfaces /etc/network#sudo rm /etc/resolv.conf
#sudo /bin/su -c "echo 'nameserver $_nameserver' > /etc/resolv.conf"
# изменим hostname и ip
sudo cat > /tmp/hosts <<EOF
127.0.0.1       localhost
$_address       $_hostname
EOF
sudo cp /tmp/hosts /etc
# изменим hostname
sudo hostname $_hostname
sudo /bin/su -c "echo $_hostname > /etc/hostname"
# перезагрузим сеть
sudo systemctl restart networking.service

Сохраним файл changeip.sh

Сделаем исполняем
$ chmod +x changeip.sh

Выполним:

$ ./changeip.sh

Комментариев нет:

Отправить комментарий