Aujourd'hui, je voudrais vous expliquer comment mettre en place un serveur 1c sur Linux Debian 9 avec la publication de services web.
Que sont les services Web 1C ?
Avantages - cela fonctionne rapidement (même avec une quantité de données assez importante) et est relativement pratique.
Inconvénients - votre programmeur 1C se plaindra beaucoup et pendant longtemps pendant qu'il écrit un service Web pour votre base de données. La chose est très particulière dans l’écriture.
Je ne te dirai pas comment écrire
Et voilà, nous avons Debian 9 Netinst, commençons :
Installez PostgresPro (Veuillez noter qu'il n'est pas gratuit et qu'il est distribué uniquement dans le cadre de la familiarisation avec les fonctionnalités) :
# apt-get update -y
# apt-get install -y wget gnupg2 || apt-get install -y gnupg
# wget -O - http://repo.postgrespro.ru/keys/GPG-KEY-POSTGRESPRO | apt-key add -
# echo deb http://repo.postgrespro.ru/pgpro-archive/pgpro-11.4.1/debian stretch main > /etc/apt/sources.list.d/postgrespro-std.list
# apt-get update -y
# apt-get install -y postgrespro-std-11-server
# /opt/pgpro/std-11/bin/pg-setup initdb
# /opt/pgpro/std-11/bin/pg-setup service enable
# service postgrespro-std-11 start
# su - postgres
# /opt/pgpro/std-11/bin/psql -U postgres -c "alter user postgres with password 'ВашПароль';"
Disons à postgresql d'écouter toutes les adresses et pas seulement localhost
# nano /var/lib/pgpro/std-11/data/postgresql.conf
Décommentons et modifions les adresses à écouter :
...
#listen_addresses = 'localhost'
...
Sur
...
listen_addresses = '*'
...
Ensuite, permettons aux utilisateurs de notre réseau de se connecter
# nano /var/lib/pgpro/std-11/data/pg_hba.conf
Changeons:
# Connexions locales IPv4 :
héberger tous tous 127.0.0.1/32 md5
sur
héberger tous tous 192.168.188.0/24 md5
héberger tous tous 127.0.0.1/32 md5
Vous pouvez en savoir plus sur les différentes installations de Postgres pour 1c
Ensuite, nous installons le serveur 1c.
Téléchargez l'archive téléchargée depuis le site Web 1c sur le serveur (dans mon cas, deb64_8_3_15_1534.tar.gz)
# tar -xzf deb64_8_3_15_1534.tar.gz
# dpkg -i *.deb
encore quelques petites choses :
# apt install imagemagick unixodbc libgsf-bin
Maintenant, installons Apache2
# apt install apache2
Via la console d'administration ou via le client 1c, nous créons une base de données et téléchargeons notre configuration...
Maintenant, nous publions la base de données :
allez dans le dossier avec 1s.
# cd /opt/1C/v8.3/x86_64/
./webinst -publish -apache24 -wsdir Test -dir /var/www/test/ -connstr "Srvr=10.7.12.108;Ref=test;" -confPath /etc/apache2/apache2.conf
Allons sur var/www/test/ et voyons ce qui y apparaît.
# cd /var/www/test
# nano default.vrd
«
v8.1c.ru/8.2/virtual-resource-system"
href=”http://www.w3.org/2001/XMLSchema”>www.w3.org/2001/XMLSchema”
href=”http://www.w3.org/2001/XMLSchema-instance”>www.w3.org/2001/XMLSchema-instance”
base = "/Test"
ib="Srvr=192.168.188.150;Ref=Test;">
<standardOdata activer="false"
réutilisationSessions="utilisation automatique"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
«
Ce sont les schémas nécessaires pour lancer le client web 1c... vous pouvez désormais accéder à notre base de données de test depuis un navigateur à l'adresse « http://ServerAddress/Test » (la casse est importante ! c'est Linux) ou préciser dans le client, l'adresse « type d'emplacement de base de données » « http://ServerAddress/Test", et le client travaillera avec la base de données publiée.
MAIS
Qu'en est-il des services Web ? (dans ma configuration de test il y en a deux : WebBuh pour l'échange de données avec comptabilité et l'intégration de toplog avec le système wms de la société du même nom).
Eh bien, ajoutons quelques lignes à notre fichier VRD...
v8.1c.ru/8.2/virtual-resource-system"
href=”http://www.w3.org/2001/XMLSchema”>www.w3.org/2001/XMLSchema”
href=”http://www.w3.org/2001/XMLSchema-instance”>www.w3.org/2001/XMLSchema-instance”
base = "/TestWeb"
ib="Srvr=adresse_IP;Ref=TestWebServ">
<standardOdata activer="false"
réutilisationSessions="utilisation automatique"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
# Вот тут начинается код который публикует веб-сервисы
<point name="WebBuh" # Имя веб-сервиса в конфигураторе
alias="Web_buh.1cws" # Web_buh.1cws - алиас веб-сервиса в браузере
enable="true" # дальше я думаю строки и так понятны
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
<point name="TopLog" # второй веб сервис
alias="toplog.1cws" # toplog.1cws
enable="true"
reuseSessions="autouse"
sessionMaxAge="20"
poolSize="10"
poolTimeout="5"/>
gardons-le.
Et maintenant, notre service Web est disponible sur « http://ServerAddress/Test/Web_buh.1cws ?
Pourquoi as-tu dû le faire à la main ?
Notre serveur ne disposant pas de shell graphique, il ne sera pas possible d'y exécuter le configurateur, et donc de publier par des moyens standards. Le configurateur distant, situé sur le client, ne publie pas de services web sur le serveur. Par conséquent, nous devons modifier la configuration manuellement selon le modèle décrit ci-dessus.
Source: habr.com