Как автоматически запустить собственный веб-сервер на BeagleBone Black?

Я хочу, чтобы мой BeagleBone Black запускался и запускал веб-обслуживание с пользовательским веб-сервером без необходимости входа в систему и настройки/запуска/изменения чего-либо.

Я полагаю, что этот вопрос двоякий:

  • Как удалить все стандартные, избыточные или конфликтующие варианты поведения веб-сервера при запуске? У меня стоковый Angstrom, 3.8.13.

  • Предполагая, что у меня есть собственный исполняемый файл веб-сервера (в моем случае это веб-сервер Twistd), как мне настроить его для автоматического запуска при запуске платы?

Большое спасибо за любую помощь, которую вы можете мне оказать.


person Dave    schedule 25.06.2013    source источник
comment
См. yaler.net/beaglebone › Включение веб-доступа в качестве примера   -  person tamberg    schedule 16.11.2013


Ответы (6)


bbb использует systemd и служебные файлы для управления запуском служб — на вашем bbb в /etc/init.d есть README, в котором содержится некоторая информация и ссылки. Есть также несколько хороших страниц по systemd по адресу http://fedoraproject.org/wiki/Systemd. Многие сервисы настроены по умолчанию. Попробуйте ввести: systemctl list-units Это даст вам список служб и некоторую минимальную информацию о состоянии. Каждая из перечисленных служб настраивается (обычно) простыми служебными файлами, которые сообщают systemd, как запускаться, и эти файлы по большей части находятся в /lib/systemd/system. Я не совсем уверен, что вы спрашиваете в своем первом вопросе, но похоже, что вы хотите избавиться от «встроенного» веб-сервера — я сам новичок в bbb, и я не знаю ответьте точно, но если я узнаю больше, я опубликую это здесь.

person B.McCready    schedule 26.06.2013

вступление

Я думаю, вы пытаетесь сделать то же, что и я, т. е. изменить веб-страницу, которую вы видите в браузере, когда вы переходите к IP-адресу BBB, со страницы по умолчаниюbone101 на вашу собственную пользовательскую веб-страницу, написанную в HTML или что-то еще.

Частично основываясь на ответах на этой странице, а также на собственных пробах и ошибках, я придумал, как это сделать, и ниже я даю полный и исчерпывающий ответ.

Разъяснение непонятных моментов в других ответах

Но сначала, чтобы прояснить некоторые непонятные моменты в других ответах на этой странице:

  • Когда вы подключаете BBB к компьютеру через USB и переходите в браузере к IP-адресу BBB (по умолчанию 192.168.7.2), вы получаете стандартную страницуbone101, расположенную (по умолчанию) в /usr/share/bone101/index.html.

  • Если вы подключите BBB напрямую к маршрутизатору через Ethernet (или настроите соединение Wi-Fi), вы сможете перейти к IP-адресу BBB в сети, и вы получите ту же веб-страницу.

  • Если вы затем настроите переадресацию портов на своем маршрутизаторе для перенаправления входящего http-трафика на BBB, а затем получите доступ к внешнему IP-адресу вашей сети (либо напрямую, либо через ваш домен (www.example.com), который указывает на этот IP-адрес), то вы также получите ту же веб-страницу.

В конечном счете, это то, что я и, я считаю, ОП пытаются изменить. Я хочу использовать свой BBB в качестве веб-сервера для обслуживания моего собственного веб-сайта, и я не хочу, чтобы люди, заходящие на www.my-website.com, видели стандартные материалыbone101.

Решение

Примечание. Я использую последний образ Debian ARM, а не angstrom, поэтому расположение по умолчанию может отличаться.

Сначала отключите и остановите существующий материалbone101, согласно ответу Баса Вейнена:

systemctl disable bonescript.socket
systemctl disable bonescript.service
systemctl stop bonescript.socket
systemctl stop bonescript.service

Затем отредактируйте конфигурацию веб-сервера Apache. Начните с редактирования конфигурации прослушивания портов:

sudo vim /etc/apache2/ports.conf

и измените эту строку:

Listen 8080

к этому:

Listen 80

поскольку порт 80 является портом по умолчанию для http-трафика. В противном случае людям пришлось бы заходить на www.your-website.com:8080, что просто глупо.

Затем, как указано в приведенном выше файле, вам также придется отредактировать включенную конфигурацию сайтов:

sudo vim /etc/apache2/sites-enabled/000-default.conf

Отредактируйте первую строку отсюда:

<VirtualHost *:8080>

к этому:

<VirtualHost *:80>

Затем либо поместите свой контент в каталог, указанный в поле DocumentRoot (это каталог, который будет использоваться в качестве корня вашего веб-сайта), который по умолчанию имеет значение /var/www/html, либо измените поле DocumentRoot, чтобы оно указывало на каталог, который вы хотите использовать. В моем случае я оставил его как /var/www/html, но затем сделал символическую ссылку на каталог в репозитории git, где находится содержимое моего веб-сайта.

Или, если вы просто хотите выполнить быстрый тест, создайте символическую ссылку или скопируйте тестовую страницу apache по умолчанию в каталог DocumentRoot или измените поле, чтобы оно указывало на каталог, в котором находится тестовая страница apache по умолчанию (по умолчанию /usr/share/apache2/default-site/index.html)

Затем перезапустите apache, и вуаля:

sudo /etc/init.d/apache2 restart
person Biggsy    schedule 16.03.2017

HTML-страницы на устройствах хранения BBB доступны только вам, когда вы подключены через USB-кабель.

Это не относится к BBB здесь. Хотя веб-страницы по умолчанию «/support/bone101» действительно доступны через USB по адресу 192.168.7.2 на интерфейсе USB0, они также отображаются по динамическому IP-адресу BBB через обычный сетевой интерфейс eth0, например, 192.168.1.132 в моей локальной сети. .

Работает «Linux beaglebone 3.8.13 #1 SMP Вт, 18 июня, 02:11:09 по восточному поясному времени 2013 armv7l GNU/Linux», так что YMMV на других выпусках, конечно.

Я рассматриваю возможность настройки «Bone» в качестве удаленного концентратора мониторинга, который обслуживается по базовому IP-адресу, поиск которого и привел меня сюда. Со всем одним днем ​​работы на BBB путешествие только начинается ...

person user2602612    schedule 20.07.2013

Я установил lighttpd с помощью opkg. Файл lighttpd.conf заканчивается в /etc, где вы можете указать порт:

 --> cat lighttpd.conf | grep port
## bind to port (default: 80)
server.port                = 2080

и тому подобное:

server.document-root        = "/www/pages/"
server.errorlog             = "/www/logs/lighttpd.error.log"
accesslog.filename          = "/www/logs/access.log"

www/pages — это место, где вы найдете index.html. Оно работает!

Вам вообще не нужно отключать старый исходный веб-интерфейс для начала работы, просто добавьте свой собственный и сделайте его своим по умолчанию.

person ken klein    schedule 20.07.2013

Порт 80 занят «bonescript.socket», который используется «bonescript.service». Чтобы отключить его, выполните следующие действия:

systemctl disable bonescript.socket
systemctl disable bonescript.service
systemctl stop bonescript.socket
systemctl stop bonescript.service

Первые две строки предназначены для того, чтобы убедиться, что он не запускается при загрузке системы, а последние две — для остановки текущей запущенной версии.

person Bas Wijnen    schedule 31.07.2015
comment
На самом деле вам не нужен порт 80 для веб-сервера. Это просто стандартный порт для http-связи. На BBB вы можете настроить HTTP-связь, работающую на других портах; вы бы просто установили коммуникационный порт, добавив его к адресу. Например, если вы хотите общаться по номеру 10114, вы можете позвонить по номеру 192.168.1.30:10114 (или по другому адресу), чтобы получить доступ к индексной странице сервера. - person cirrusio; 02.08.2017
comment
@cirrusio Хотя ваш комментарий фактически верен, ОП спрашивает, как удалить конфликтующий веб-сервер. - person MerlinTheMagic; 26.01.2018

Во-первых, вам нужно разобраться с веб-интерфейсом, который появляется на BBB, когда вы обращаетесь к нему как к простому флэш-устройству, как и к любому другому флэш-накопителю, в отличие от запуска веб-сервера в операционной системе BBB с чем-то как Апач. Когда вы «начинаете работать» с BBB, вы можете получить доступ к html-файлам и большому количеству DOC, просто щелкнув ссылки, которые вы видите на BBB, но это всего лишь файлы, к которым вы обращаетесь, как если бы вы получали доступ с вашего собственного жесткого диска. Если вы загрузите дистрибутив Angstrom Linux, который вы загрузите, просто включив его, вы сможете войти в терминальную сессию, и весь мир станет вашей устрицей. С BBB вы можете загружать пакеты (например, веб-сервер) и создавать сайты любого типа. В этот момент вы можете ввести URL-адрес вашего нового веб-сервера на своем главном рабочем столе (ПК или что-то еще), добавить его в избранное (закладки), и он должен «запуститься автоматически». HTML-страницы на устройствах хранения BBB доступны только вам, когда вы подключены через USB-кабель. HTML-страницы, которые может обслуживать веб-сервер, доступны любому, кто имеет доступ к вашей сети из любой точки мира, при наличии правильного URL-адреса. ХТН.

person ken klein    schedule 20.07.2013
comment
С помощью веб-сервера OP намеревается предоставлять доступ к данным и информации через HTTP-вызовы. - person cirrusio; 02.08.2017