- Настройка веб-сервера Apache под Linux
- План работ:
- 1. Установка Apache под Linux
- 2. Выпуск самоподписанного сертификата
- 3. Публикация информационной базы
- 4. Проверка публикации
- 1С и Linux
- пятница, 14 сентября 2018 г.
- Ubuntu 16.04.5 1c файловый вариант с вебсервером
- Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux
Настройка веб-сервера Apache под Linux
План работ:
- Установка Apache под Linux.
- Выпуск самоподписанного сертификата (Необязательно).
- Публикация информационной базы.
- Проверка публикации.
В отличие от IIS, веб-сервер Apaсhe доступен как для Windows, так и для Linux и позволяет настроить работу публикаций по шифрованному протоколу HTTP.
1. Установка Apache под Linux
Установка веб-сервера и публикация информационной базы для операционной Linux будет продемонстрирована на базе Ubuntu 18.04 LTS. Все, что касается настроить информационной базы не зависит от конкретной версии дистрибутива Linux. Установка же веб-сервера может отличаться.
В данной статье не рассматривается установка и запуск Apache под всевозможные семейства операционных систем Linux. При использовании операционной системы отличной от указанной в статье следуют руководствоваться официальной документацией конкретного вашего дистрибутива.
Итак, предполагается, что есть только что установленная операционная система Ubuntu 18.04 LTS без графического интерфейса пользователя.
Перед тем как продолжить, нужно проверить доступные версии программного обеспечения дистрибутива. Выполняем команду:
В выводе результата команды можно увидеть, что доступны обновления. Рекомендуются их обновить с помощью команды (подсказка «Run ‘apt list –upgradable’»):
По завершению обновления пакетов приложений можно приступить к установке непосредственно веб-сервера.
После этого нужно выполнить команду:
Необходимо дождаться окончание выполнения команды и убедиться, что в момент установки никаких ошибок не возникло. В данном случае установка прошла без проблем.
Далее нужно проверить, что помимо самой установки, веб-сервер запустился и готов обрабатывать запросы (для данной команды использование sudo не обязательно):
В ответ можно увидеть, что состояние службы active (running). Это значит, что веб-сервер работает в штатном режим и можно переходить к публикации информационной базы с помощью командного интерпретатора bash, либо к генерации самоподписанного сертификата (если в этом есть необходимость).
2. Выпуск самоподписанного сертификата
После установки Apache в операционной системе уже должен быть установлен openssl как зависимость к дистрибутиву. Поэтому можно сразу приступить к генерации сертификата.
Первоначально нужно перейти в директорию хранилища сертификатов с помощью команды:
После чего требуется ввести команду генерации сертификата, где вместо нужно подставить имя компьютера, на котором планируется размещен Apache:
Во время выполнения команды будет задано несколько вопросов. Для «Common Name (e.g. server FQDN or Your bane)» нужно также указать имя сервера. Остальные поля заполняются произвольно (кроме «Country name» — здесь можно оставить по умолчанию).
3. Публикация информационной базы
Так в данной статье идет настройка публикации информационных баз без использования графического интерфейса, то публикация информационной базы будет также производиться из командного интерпретатора.
Если до этого сервер «1С:Предприятие» был уже установлен на данном компьютере, то следующие 2 шага можно пропустить. Иначе в качестве подготовительной работы нужно скачать последний доступный дистрибутив платформы и распаковать его временную директорию с помощью команды:
После разархивирования нужно инициировать процедуру установки пакетов.
Как только все готово, необходимо перейти к публикации информационной базы. Для этого требуется перейти в директорию установленной платформы и выполнить команду:
В директории платформы следом нужно выполнить команду:
где нужно заменить:
ИМЯ ПУБЛИКАЦИИ – на произвольное имя публикации
ИМЯ СЕРВЕРА – на адрес сервера 1С:Предприятие
ИМЯ БАЗЫ – на имя базы, совпадающим с именем базы зарегистрированной в кластере
После этого следует перейти в директорию публикаций:
С помощью любого удобного редактора нужно отредактировать файл 000-default.conf и добавить в самый конец файла следующий текст настройки:
После добавления нужно сохранить и закрыть файл и выполнить команду для включения модуля ssl для Apache:
И после этого нужно перезапустить Apache и убедиться, что ошибок не возникает.
4. Проверка публикации
Для проверки корректной работы нужно открыть страницу в браузере и перейти по ссылке, которая состоит из двух частей:
- Имя вашего сервера (например, server2).
- Имя публикации базы (которое было указано в окне настройки публикации).
Для таких параметров ссылка будет иметь вид:
Источник
1С и Linux
Пишу для себя, чтобы не забыть как делал. 95 % рабочее. На комментарии отвечаю, когда увижу.
пятница, 14 сентября 2018 г.
Ubuntu 16.04.5 1c файловый вариант с вебсервером
$ sudo apt update -y
$ sudo apt upgrade -y
$ sudo dpkg -i aksusbd_7.81-1_amd64.deb
Обязательно!
$ sudo reboot
# установка 1с
mkdir -p /tmp/1ctmp
cd /tmp/1ctmp
#sudo apt install imagemagick -y
sudo apt install -y unixodbc libgsf-1-114 libglib2.0
sudo apt install -y xfonts-utils cabextract
sudo dpkg -i fonts-ttf-ms_1.0-eter4ubuntu_all.deb
#sudo apt -f -y install
Два варианта удаления:
# dpkg -l | grep 1c-enterprise83 | awk -F’ ‘ ‘
# dpkg -l | grep 1c-enterprise83 | cut -d ‘ ‘ -f 3 | xargs dpkg -r
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
$ sudo reboot
$ sudo apt-get install apache2 -y
$ sudo systemctl status apache2
$ sudo usermod -a -G grp1cv8 www-data
$ sudo usermod -a -G user www-data
$ sudo usermod -a -G www-data user
Создаем директории для vrd-файла:
$ sudo mkdir -p /var/www/demo
база zik /home/user/InfoBase :
$ sudo mkdir -p /var/www/zik
база buh /home/user/InfoBase1 :
$ sudo mkdir -p /var/www/buh
права на базу zik /home/user/InfoBase :
$ sudo chown -R usr1cv8:grp1cv8 /home/user/InfoBase
$ sudo chmod -R 777 /home/user/InfoBase
$ sudo chmod -R g+sw /home/user/InfoBase
права на базу buh /home/user/InfoBase1 :
$ sudo chown -R usr1cv8:grp1cv8 /home/user/InfoBase1
$ sudo chmod -R 777 /home/user/InfoBase1
$ sudo chmod -R g+sw /home/user/InfoBase1
#$ sudo chmod -R u=rw,g=rw,o=r,a+X /home/user/InfoBase1
права на базу demo /home/user/InfoBase2 :
$ sudo chown -R usr1cv8:grp1cv8 /home/user/InfoBase2
$ sudo chmod -R 777 /home/user/InfoBase2
$ sudo chmod -R g+sw /home/user/InfoBase2
права на базу demo1 /home/user/InfoBase3 :
$ sudo chown -R usr1cv8:grp1cv8 /home/user/InfoBase3
$ sudo chmod -R 777 /home/user/InfoBase3
$ sudo chmod -R g+sw /home/user/InfoBase3
$ sudo chmod -R u=rw,g=rw,o=r,a+X /home/user/InfoBase3
Можно опубликовать из конфигуратора
$ sudo /opt/1C/v8.3/x86_64/./1cestart
Можно опубликовать из командной строки:
Переходим в каталог со утилитой публикации веб-клиента:
$ cd /opt/1C/v8.3/x86_64/
$ sudo ./webinst -publish -apache24 -wsdir zik -dir /var/www/zik -connstr «File=»»/home/user/InfoBase»»;» -confpath /etc/apache2/apache2.conf
$ sudo ./webinst -publish -apache24 -wsdir buh -dir /var/www/buh -connstr «File=»»/home/user/InfoBase1″»;» -confpath /etc/apache2/apache2.conf
$ sudo ./webinst -publish -apache24 -wsdir demo -dir /var/www/demo -connstr «File=»»/home/user/InfoBase2″»;» -confpath /etc/apache2/apache2.conf
$ sudo ./webinst -publish -apache24 -wsdir demo1 -dir /var/www/demo1 -connstr «File=»»/home/user/InfoBase3″»;» -confpath /etc/apache2/apache2.conf
#$ sudo chown -R www-data:www-data /var/www
$ sudo systemctl restart apache2
Ниже вариант для работы с командной строкой не совместимый с настройкой из конфигуратора (там редактируется /etc/apache2/apache2.conf)
Вариант для сервера!
Проверим http://host_ip/
________________________________________________
Кроме того, мы можем включить поддержку ssl
для нашего веб-сервера.
Для этого выполните:
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
Перезагрузка Apache:
$ sudo systemctl restart apache2
________________________________________________
Создаем директорию для vrd-файла:
$ sudo mkdir -p /var/www/ib/demo
А также файл конфигурации Apache:
$ touch /etc/apache2/conf-available/demo.conf
Переходим в каталог со утилитой публикации веб-клиента:
# cd /opt/1C/v8.3/x86_64/
Запускаем утилиту:
# ./webinst -apache24 -wsdir demo -dir ‘/var/www/ib/demo’ -connstr ‘Srvr=»localhost»;Ref=»demo»;’ -confPath /etc/apache2/conf-available/demo.conf
Backup:
# ./webinst -apache24 -wsdir demo -dir ‘/var/www/ib/demo’ -connstr ‘Srvr=»localhost»;Ref=»demo»;’ -confPath /etc/apache2/conf-available/demo.conf
Где /var/www/ib/demo — директория где будет создан vrd-файл, demo — имя ИБ, localhost — адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/demo.conf — путь до конфигурационного файла Apache.
Подключаем конфигурацию:
# a2enconf demo
Перезагрузка Apache:# systemctl restart apache2
Смотрим:
http://p962_2/demo или https://p962_2/demo ______________________________________________________
Если нужно подключить вторую базу:
Создаем директорию для vrd-файла:
# mkdir -p /var/www/ib/demo1
А также файл конфигурации Apache:
# touch /etc/apache2/conf-available/demo1.conf
Переходим в каталог со утилитой публикации веб-клиента:
# cd /opt/1C/v8.3/x86_64/
Запускаем утилиту:
# ./webinst -apache24 -wsdir demo1 -dir ‘/var/www/ib/demo1’ -connstr ‘Srvr=»localhost»;Ref=»demo1″;’ -confPath /etc/apache2/conf-available/demo1.conf
Backup:
# ./webinst -apache24 -wsdir demo1 -dir ‘/var/www/ib/demo1’ -connstr ‘Srvr=»localhost»;Ref=»demo1″;’ -confPath /etc/apache2/conf-available/demo1.conf
Где /var/www/ib/demo1 — директория где будет создан vrd-файл, demo1 — имя ИБ, localhost — адрес сервера 1С:Предпрятие, а /etc/apache2/conf-available/demo1.conf — путь до конфигурационного файла Apache.
Подключаем конфигурацию:
# a2enconf demo1
Перезагрузка Apache:
# systemctl restart apache2
Источник
Поднимаем сервер 1с с публикацией базы и веб сервисов на Linux
Сегодня я бы хотел рассказать, как поднять сервер 1с на linux debian 9 с публикацией web-сервисов.
Что такое web-сервисы 1с?
Web-сервисы — это один из механизмов платформы, используемых для интеграции с другими информационными системами. Он является средством поддержки SOA (Service-Oriented Architecture) — сервис-ориентированной архитектуры, которая является современным стандартом интеграции приложений и информационных систем. По сути — это возможность создать html страницу с данными, к которой, потом можно обратиться любым другим приложением и забрать их.
Плюсы — работает быстро (даже при достаточно большом объеме данных), относительно удобно.
Минусы — ваш програмист 1с будет много и долго на вас ворчать, пока будет писать веб-сервис для вашей базы. Штука очень своеобразная в написании.
Я не буду рассказывать как написать веб-сервис… я расскажу как его опубликовать на Linux из консоли сервера, а так же немного про установку 1с сервера на Linux.
И так, у нас есть debian 9 netinst, приступаем:
Устанавливаем PostgresPro (Прошу заметить что он не бесплатный, и распространяется, только в рамках ознакомления с возможностями):
Скажем postgresql слушать все адреса а не только localhost
Раскомментируем и поменяем какие адреса слушать:
Далее разрешим авторизоваться пользователям из нашей сети
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.188.0/24 md5
host all all 127.0.0.1/32 md5
Более подробно о различных установках Postgres для 1с можно почитать тут.
Далее ставим 1с сервер.
Заливаем на сервер архив скачанный с сайта 1с (в моем случае deb64_8_3_15_1534.tar.gz)
еще пара мелочей:
Теперь установим Apache2
Через консоль администрирования или через клиент 1с создаем базу и заливаем нашу конфигурацию…
Теперь публикуем базу:
переходим в папку с 1с.
Лезем в var/www/test/ и смотрим что там появилось.
Это схемы которые нужны для запуска веб-клиента 1с… теперь в нашу тестовую базу можно зайти из браузера по адресу «http ://АдресСервера/Test» (регистр важен! это же линукс) или указать в клиенте «тип расположения базы» адрес «http ://АдресСервера/Test», и клиент будет работать с опубликованной базой.
А что же на счет веб-сервисов? (в моей тестовой конфигурации их два: WebBuh для обмена данными с бухгалтерией и toplog интеграция с системой wms одноименной компании).
Что ж, добавим пару строк в наш vrd файлик…
xmlns:xs=«www.w3.org/2001/XMLSchema»
xmlns:xsi=«www.w3.org/2001/XMLSchema-instance»
base=»/TestWeb»
ib=«Srvr=IP_addres;Ref=TestWebServ»>
# Вот тут начинается код который публикует веб-сервисы
alias=»Web_buh.1cws» # Web_buh.1cws — алиас веб-сервиса в браузере
enable=»true» # дальше я думаю строки и так понятны
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
alias=»toplog.1cws» # toplog.1cws
enable=»true»
reuseSessions=»autouse»
sessionMaxAge=»20″
poolSize=»10″
poolTimeout=»5″/>
И теперь наш веб-сервис доступен по адресу «http ://АдресСервера/Test/Web_buh.1cws?»
Зачем надо было делать это руками?
Поскольку наш сервер без графической оболочки, запустить на нем конфигуратор — не получится, и соответственно выполнить публикацию штатными средствами. Удаленный же конфигуратор, который стоит на клиенте не публикует на сервере веб-сервисы. Поэтому нам приходится править конфиг вручную по шаблону описанному выше.
Источник