Развертывание http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

Публикация № 794882

Разработка - Языки и среды - OneScript

43
В статье описан процесс настройки сервера, а также процесс развертывания http-сервиса (web-приложения) OneScript на Ubuntu Server 16.04

Введение

В достаточно компактном виде, информация о настройке и развертывании http-сервисов OneScript в среде Linux описана в соответствующем разделе на сайте проекта (http://oscript.io/docs/page/http). Как правило ее достаточно для развертывания. Тем не менее, настоящая статья, являясь пошаговым руководством, имеет своей целью детализировать существующую документацию.

Развертывание ASP.NET приложений в среде Linux возможно в несколькких вариантах. В настоящей статье рассмотрен вариант установки на web-сервер Apache с модудем mod-mono-server, как наиболее распространенный.

В статье предполагается, что Вы имеете web-приложение OneScript, созданное на основе этой или этой статьи, либо же каким-либо другим способом. Автор использовал для размещения приложение, созданное в этой публикации.

 

Система

В качестве тестовой системы используется виртуальная машина, размещенная в среде Hyper-V. В качестве исходного дистрибутива для установки использовался дистрибутив Ubuntu Server 16.04.4, который Вы можете скачать с сайта Ubuntu (https://www.ubuntu.com/).

В процессе установки была добавлена поддержка русской клавиатуры, а также установлен OpenSSH сервер для удаленного доступа к серверу.

Также, был создан пользователь с логином onescript и паролем - 123456.

 

Необходимые утилиты

Для удаленного доступа к серверу и копирования файлов, использовался SSH-клиент PuTTY (https://www.putty.org/). Для удаленного доступа и копирования файлов, достаточно скачать putty.exe и pscp.exe.

 

Настройка системы

 

Подключаемся к серверу

Подключаемся к серверу при помощи putty.exe и вводим логин и пароль.

 

Обновляем список доступных пакетов и устанавливаем новые версии

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

sudo apt-get update


sudo apt-get upgrade

 

Устанавливаем утилиту распаковки zip файлов

В командной строке выполним нижеследующую команду:

sudo apt-get install unzip

 

Устанавливаем mono

Поскольку http-сервисы OneScript по сути являются ASP.NET приложениями, для того, чтобы они выполнялись на ОС Linux, необходимо установить среду Mono, которая является аналогом .NET Framework для ОС Linux. Детальная информация об установке находится на сайте проекта Mono https://www.mono-project.com/ в разделе загрузки.

В соответствии с приведенными инструкциями, последовательно выполняем в командной строке нижеследующие команды:

Подключаем репозитарий Mono

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF


echo "deb http://download.mono-project.com/repo/ubuntu stable-xenial main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list

sudo apt-get update 

Устанавливаем Mono

sudo apt-get install mono-complete

 

Устанавливаем и настраиваем web-сервер

Как было указано ранее, в качестве web-сервера используется Apache с модулем mod-mono-server.

Устанавливаем Apache

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

sudo apt-get install apache2 -y 

Тестируем работоспособность сервера

Проверить работоспособность web-сервера можно обратившись к нему из браузера.

Устанавливаем mod-mono-server4

Этот компонент необходим для выполнения ASP.NET приложений в среде Apache.

Детальная документация по продукту, установке и настройке можно найти по ссылке:

http://www.mono-project.com/docs/web/mod_mono/

https://medium.com/@shrimpy/configure-apache2-mod-mono-to-run-asp-net-mvc5-application-on-ubuntu-14-04-314a700522b9

Для установки данного компонента, выполним нижеследующую команду:

sudo apt-get install libapache2-mod-mono mono-apache-server4

Настраиваем mono-mod-server

Для простоты, используем режим AutoHosting. Для активации режима выполним нижеследующую команду:

sudo a2enmod mod_mono_auto

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

sudo service apache2 restart

Тестируем работоспособность ASP.NET

По умолчанию, корневая папка документов Apache расположена по нижеследующему пути: /var/www/html

Создадим в этой папке файл test.aspx следующего содержания:
 

<%@ Page Language="C#" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html> <head> <title>ASP Test Page</title> </head> <body> <form id="form1" runat="server"> <asp:label id="lbl1" runat="server">ASP Test Page</asp:label> </form> </body> </html>

Для этого используем редактор vi (основные команды редактора можно посмотреть здесь https://kb.iu.edu/d/adxz ):

sudo vi /var/www/html/test.aspx

Вставляем текст страницы и сохраняем файл (нажимаем ESC, затем Shift + Z + Z).

Тестируем работоспособность, для этого, из браузера обращаемся к созданной странице.

 

Настраиваем обработку расширений для *.os файлов

Для того, чтобы web-сервер рассматривал файлы OneScript (*.os), как файлы ASP.NET, аналогично файлам *.aspx и обрабатывал их соответствующим образом, добавим расширение .os к списку ASP.NET файлов.

Для этого, отредактируем строку Add-Type application/x-asp-net, добавив туда расширение .os, в файле /etc/mono-server4/mono-server4-hosts.conf

Открываем файл

sudo vi /etc/mono-server4/mono-server4-hosts.config

Нажимаем Insert для включения редактированния, затем добавляем расширение .os в строку с Add-Type

Сохраняем файл (Нажимаем ESC, затем Shift + Z + Z).

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

sudo service apache2 restart

 

Развертывание приложения

 

Копируем приложение на сервер

Для копирования, воспользуемся утилитой pscp.exe. Основные команды можно посмотреть перейдя по ссылке ( https://the.earth.li/~sgtatham/putty/0.60/htmldoc/Chapter5.html )

Предположим, что архив нашего приложения (application.zip) расположен в папке E:\Putty. Запустим командную строку Windows и выполним нижеследующую команду:

E:\Putty>pscp E:\Putty\application.zip onescript@192.168.1.199:/tmp/application.zip

После завершения копирования, файл с архивом приложения появится в папке /tmp

Разархивируем приложение

Разархивируем application.zip в папку /var/www/html. Для этого, в командной строке выполним нижеследующую команду:

sudo unzip /tmp/application.zip -d /var/www/html/

Переходим в папку /var/www/html и проверяем содержимое

cd /var/www/html


ls

Удаляем файл Web.config так как он используется для ОС Windows и переименовываем файл Web.config.linux в Web.config. Для этого выполним нижеследующие команды:

sudo rm ./Web.config


sudo mv ./Web.config.linux ./Web.config

Тестируем работоспособность

Обратимся из браузера к развернутому web-приложению. Если все настроено правильно, увидим примерно такой результат (зависит от приложения, которое Вы размещали).

 

Заключение

Надеюсь эта статья поможет Вам в развертывании http-сервисов OneScript на ОС Linux.

В качестве примера, Вы также можете скачать vhdx файл с развернутым приложением и использовать его для тестов.

43

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо
1. Evil Beaver 6286 04.03.18 23:51 Сейчас в теме
Статья уже сама по себе хороша для настройки ASP под Linux, даже и без OneScript. А уж с ним - и вообще прекрасно! :)
CSiER; nixel; binex; JohnyDeath; +4 Ответить
2. CSiER 27 05.03.18 05:16 Сейчас в теме
Дело привычки - для работы с scp под Windows мне больше нравится WinSCP.
4. nixel 794 07.03.18 08:22 Сейчас в теме
(2) так он графический же :) а pscp - консольный
5. CSiER 27 07.03.18 09:24 Сейчас в теме
(4), есть такое ) просто мне удобнее ввести реквизиты и уже интерактивно работать с каталогами на удаленном хосте, чем прописывать руками весь путь. Также с vi - nano, mc проще в работе для начинающих GNU/Linux пользователей, imho. Как и писал выше - это дело привычки :)
6. nixel 794 07.03.18 09:28 Сейчас в теме
(5) за nano и mc неистово плюсую
3. binex 262 05.03.18 10:06 Сейчас в теме
7. binex 262 10.03.18 17:50 Сейчас в теме
скачать vhdx файл с развернутым приложением и использовать его для тестов


Чего файл такой огромный? 1,2 гига.

П.С.: Видимо, это нормально. )) Прогуглил "vhdx"
8. blackhole321 1039 10.03.18 18:08 Сейчас в теме
(7)это архив, сам файл ~5. Это же уже готовый виртуальный диск с системой.
9. quick 572 16.03.18 12:18 Сейчас в теме
Большего садомазо чем писать скрипты на 1С подобном языке придумать невозможно. Тем более под linux.
10. blackhole321 1039 16.03.18 13:14 Сейчас в теме
12. Evil Beaver 6286 18.04.18 18:04 Сейчас в теме
16. quick 572 19.04.18 17:58 Сейчас в теме
(12) Надеюсь что когда нибудь наступят времена когда смогу сказать. "Как же я заблуждался, 1С язык действительно удобней того что использую сейчас".
Без сарказма, правда хочу что бы они сделали его выразительней.
17. Evil Beaver 6286 19.04.18 19:54 Сейчас в теме
(16) Ну ок, держите нас в курсе того, что вы используете. А мы используем 1С.
Оставьте свое сообщение

См. также

Автоматическое сравнение-объединение баз данных с мини-конфигурацией 1

Статья Программист Компонента, плагин (dll, vbs,..) v8 Windows Бесплатно (free) OneScript

Представляю вашему вниманию скрипт на OneScript для автоматического сравнения-объединения по правилам ("мержевания") конфигураций нескольких баз с мини-конфигурацией.

вчера в 11:34    183    artkor    1       

АИТП. Подсистема взаимодействия с рабочими серверами OneScript 20

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

В статье описан механизм взаимодействия конфигурации АИТП с рабочими серверами OneScript.

22.05.2019    2896    blackhole321    33       

1Script.Web. Интернет-приложения на языке 1С 119

Статья Программист Нет файла v8 Бесплатно (free) WEB OneScript

Запросы рынка таковы, что любое современное клиент-серверное приложение должно иметь веб-интерфейс. Почему бы не писать такие приложения на языке 1С? Андрей Овсянкин расскажет о возможностях разработки веб-приложений на базе 1Script, рассмотрит перспективы этого направления и в качестве демонстрации покажет «боевое» веб-приложение на новом движке – кроссплатформенную консоль администрирования парка кластеров 1С.

20.05.2019    11526    Evil Beaver    32       

Создание высокодоступной фермы рабочих серверов OneScript в ОС Centos 7 12

Статья Системный администратор Программист Нет файла Linux Бесплатно (free) OneScript

В статье описана методика создания высокодоступной фермы рабочих серверов OneScript, для конфигурации АИТП.

14.05.2019    2501    blackhole321    0       

Разворачиваем рабочий сервер OneScript для конфигурации АИТП 26

Статья Системный администратор Программист Нет файла v8 Linux Бесплатно (free) OneScript

В статье описана методика развертывания рабочего сервера OneScript для конфигурации АИТП, на ОС CentOS 7.

09.05.2019    3609    blackhole321    0       

Хостим OneScript.Web приложение (heroku) 18

Статья Программист Нет файла Бесплатно (free) OneScript

Развертывание oscript.web в heroku.

19.12.2018    3916    pallid    4       

Хостим OneScript.Web приложение 28

Статья Программист Нет файла Бесплатно (free) OneScript

Удобная возможность для размещения своего OneScript.Web приложение, это завернуть его в docker. Остается вопрос: где разместить контейнер, сделать это можно на vscale или DO, но хочется упростить и не делать установку самого docker на хосте. Один из вариантов - это сервис now https://zeit.co/.

04.07.2018    5667    pallid    3       

Добавляем онлайн-чат в web-приложение OneScript 16

Статья Программист Нет файла v8 Бесплатно (free) OneScript

В статье рассмотрено подключение онлайн-чата к web-приложению на основе http-сервисов OneScript

24.06.2018    5318    blackhole321    1       

Сказ про то, как я DevOps-ом занимался (OneScript, Deployka, Jenkins) 112

Статья Системный администратор Программист Нет файла v8 1cv8.cf ИТ-компания Бесплатно (free) OneScript DevOps Jenkins

Решаем задачу: автоматизировать обновление тестовых баз 1С из хранилища конфигурации при появлении в нём новых изменений. Данная статья родилась в муках хождения по граблям и поиска безопасного форватора среди подводных камней. Изложение постарался представить в виде инструкции для новичка, в которой собрал всё, с чем пришлось столкнуться. Сам я не DevOps-ер, ни на что не претендую, просто делюсь опытом :)

17.06.2018    14810    stas_ganiev    33       

Макеты в http-сервисах OneScript 10

Статья Программист Нет файла v8 Бесплатно (free) OneScript

В статье описана библиотека, реализующая механизм макетов в http-сервисах OneScript, аналогично платформе 1С:Предприятие.

03.06.2018    5766    blackhole321    1       

Перечисления в http-сервисах OneScript 7

Статья Программист Нет файла v8 Бесплатно (free) OneScript

В статье описывается библиотека, реализующая механизм перечислений в http-сервиах OneScript, аналогичный механизму платформы 1С:Предприятие

03.06.2018    5404    blackhole321    13       

Обработки в http-сервисах OneScript 11

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript

В статье описана библиотека, реализующая механизм обработок в http-сервисах OneScript.

25.05.2018    5582    blackhole321    0       

Расширенные методы загрузки внешних библиотек в http-сервисах OneScript 5

Статья Программист Нет файла Бесплатно (free) OneScript

В статье описаны расширенные методы загрузки внешних библиотек в http-сервисах OneScript на примере механизма фоновых заданий.

25.05.2018    5375    blackhole321    0       

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci 33

Статья Программист Нет файла v8 1cv8.cf Бесплатно (free) OneScript

Сборка, тестирование, доставка приложения на onescript с помощью gitlab-ci на примере портирования на onescript функции daСклонение.

14.05.2018    9438    pallid    3       

OneScript в облаке или Развертываем http-сервис OneScript на хостинге 23

Статья Программист Нет файла Бесплатно (free) OneScript

В статье описан процесс развертывания web-приложения, созданного на базе http-сервисов OneScript на бесплатном хостинге.

05.05.2018    7160    blackhole321    0       

TMSSQL - работа с базами данных MS SQL Server в скриптах на OneScript и из командной строки 56

Статья Системный администратор Программист Нет файла v8 Windows Бесплатно (free) OneScript

Представляю вашему вниманию библиотеку TMSQL для работы с базами данных на MS SQL Server. Библиотека подключается в качестве модуля или класса в скрипты, написанные на OneScript, а также может работать как независимое консольное приложение.

26.04.2018    11146    Tavalik    22       

Развертывание http-сервиса OneScript на Raspberry Pi 26

Статья Системный администратор Нет файла Бесплатно (free) OneScript

В статье описан процесс настройки, а также процесс развертывания http-сервиса (web-приложения) OneScript на Raspbian (Raspberry Pi 2).

23.04.2018    8350    blackhole321    10       

Создаем свою библиотеку для OneScript 147

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

Как упаковать свою библиотеку в пакет? Что такое загрузчик и зачем он нужен? Как вообще создать свою библиотеку? Разбираемся на примере.

06.03.2018    16740    nixel    35       

Обзор имеющихся библиотек OneScript 298

Статья Системный администратор Программист Нет файла v8 Бесплатно (free) OneScript

Экосистема OneScript активно развивается. Количество пользователей данного интерпретатора и имеющихся библиотек неуклонно растет, количество решаемых проблем - тоже. Однако остро встает вопрос некоторой разобщенности и размазанности информации по имеющимся библиотекам, их функциональности и проблемам, которые они решают. Данная статья призвана навести порядок в этой теме.

14.11.2017    30612    nixel    85       

Начало работы с OneScript 135

Статья Системный администратор Программист Нет файла Бесплатно (free) OneScript

Краткая инструкция по установке и начале работы с OneScript. Пишу потому что сам много шишек набил, пока нашел все инструменты. В статье рассмотрены: 1) Установка OneScript. 2) Установка редактора кода. 3) Настройка редактора кода под OneScript. 4) Запуск скриптов из редактора кода 5) Полезные ссылки

18.10.2017    30279    DmitrySinichnikov    50       

С чего начать разработку скриптов на OneScript? Первые шаги 154

Статья Программист Нет файла Бесплатно (free) OneScript

После моего доклада на INFOSTART 2017 EVENT COMMUNITY ко мне многие обращались с таким вопросом: с чего начать разработку скриптов на OneScript? В этой статье привожу набор ссылок и некий порядок действий (как его вижу я) для людей, не знакомым с этим инструментом.

11.10.2017    21613    Tavalik    12       

Вебинтерфейс для OneScript и 1С 27

Статья Программист Нет файла v8 Россия Windows Бесплатно (free) OneScript

Пример создания вебинтерфейса для OneScript с использованием библиотеки UfaScript.osb

30.06.2017    11140    andreosh    7       

OneScript и Ajax. POST-запрос и мои дальнейшие планы с фантазиями о будущем 11

Статья Программист Нет файла v8 Россия Бесплатно (free) OneScript

Моя библиотека для OneScript (версия 3.0 от 09.06.2017 см.GitHab UfaScript) https://github.com/andreosh/UfaScript теперь позволяет посылать POST-запросы на сервер без использования сторонних библиотек типа jquery.

09.06.2017    15693    andreosh    3       

Как сделать OneScript объектно-ориентированным 10

Статья Программист Нет файла Россия Бесплатно (free) OneScript

Описание метода создания объектов на OneScript и метода передачи функции в качестве параметра.

16.04.2017    6772    andreosh    7