Как заставить мой скрипт smartThings python3 работать на apache веб-сервере как файл cgi - PullRequest
0 голосов
/ 01 мая 2020

Мы с отцом делаем веб-сервер, чтобы Графана могла получить доступ к нескольким python скриптам; Grafana позволяет только добавлять ссылки к кнопкам. Ранее сегодня мы создали веб-сервер. Затем я начал работать с двумя python файлами: «smartThingy.py» и «printLight.cgi». После того, как они были созданы, я поместил их на сетевой жесткий диск, и мой папа перенес их на машину Centos 8, на которой работал apache. Сработало после того, как файлы не были в формате DOS. В настоящее время мы получаем небольшую ошибку https://pastebin.com/TXhXFPwm. Может кто-нибудь, пожалуйста, помогите отладить код, чтобы мы могли включить и выключить свет, перейдя к http://PrivateIpOfTheServer/cgi-bin/printLight.cgi

Вот мой код. Он пропускает только те биты, которые позволяют выводить текст на страницу.

https://pastebin.com/qn2EMYhZ - smartThingy.py (модуль, так что будет проще создавать больше файлов cgi )

https://pastebin.com/9J8HMYS7 - printLight.cgi (управляет светом над 3d-принтерами)

Редактировать: я использую https://pypi.org/project/pysmartthings/ для smartThings

1 Ответ

0 голосов
/ 01 мая 2020
SELinux is preventing /usr/libexec/platform-python3.6 from name_connect access on the tcp_socket port 443.

*****  Plugin catchall_boolean (47.5 confidence) suggests   ******************

If you want to allow httpd to can network connect
Then you must tell SELinux about this by enabling the 'httpd_can_network_connect' boolean.

Do
setsebool -P httpd_can_network_connect 1

SE Linux только для нас было подло.

...