2016-01-17 8 views
-2

Я хочу создать простую форму PHP (псевдоним и имя пользователя), чтобы пользователи могли регистрировать новую учетную запись jabber на сервере через веб-сайт. Я использую просодию в качестве сервера XMPP, и я могу создавать новые учетные записи с помощью таких клиентов, как Pidgin и т. Д., Но, хотя я читал об этом, я обнаружил, что использовать XMPP через http я должен включить bosh-сервер, но я не знаю, может помочь мне найти решение для моей проблемы, и несколько библиотек, которые я нашел в XMPP на PHP, не имеют никакой функции для создания новых учетных записей на сервере (или если я не видел никакой функции ...). И я не хочу использовать функцию exec из-за того, что команда для регистрации новых пользователей запрашивает у меня права sudo. Если кто-то может научить меня, как с этим справиться, я буду очень благодарен.Создайте php-форму, чтобы разрешить создавать новые учетные записи XMPP.

+0

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

+0

Я не хочу спама. Я попытался объяснить, что я пытался решить свою проблему. Я хочу простую форму в php, где любой пользователь может ввести псевдоним и пароль и зарегистрировать его на сервере xmpp. Сначала я попытался сделать это непосредственно через функцию exec php, но это не работает из-за того, что у www-data нет правильных прав, и я спрашиваю, нужно ли мне активировать сервер bosh, и если да, то как я могу создать нового пользователя через форму php? Я не знаю, хорошо ли я объяснил мне или нет. @CharlotteDunois –

+0

Добро пожаловать в SO. Пожалуйста, прочитайте [Какие темы я могу задать] (http://stackoverflow.com/help/on-topic) и [Как задать хороший вопрос] (http://stackoverflow.com/help/how-to -ask) И [идеальный вопрос] (http://codeblog.jonskeet.uk/2010/08/29/writing-the-perfect-question/) SO ** - не бесплатное кодирование или учебная служба * * Вы должны показать, что вы приложили некоторые усилия для решения своей проблемы. – RiggsFolly

ответ

0

Хотя ваш вопрос может быть поставлен лучше, одно решение, похоже, будет запускать сервер просодии с учетной записью без полномочий (что, вероятно, является хорошей идеей). Либо с www-данными, либо с другим пользователем/группой, которые позволят пользователю www-data иметь достаточно привилегий. Тогда PHP exec не должен иметь проблемы.

Также существовал модуль для просодии, который позволял управлять через XMLRPC. Документы показывают, что он устарел в текущих версиях, но, возможно, он все еще находится в источнике? Если этот модуль все еще доступен для использования, вы можете использовать XMLRPC, чтобы разговаривать с сервером просодии с PHP.

+0

Спасибо за ваш ответ, правильно, что я не очень хорошо объяснил мне ... Извините за это, это была моя вина. Я видел модуль XMLRPC, но как он устарел, я думал, что он несовместим с последними версиями или есть еще одна проблема ... Безопасно ли использовать просодию в качестве www-данных? Если это так, как я могу это сделать? Добавляем строку к моему сценарию? 'www-data ALL = (ALL) NOPASSWD:/usr/bin/prosody' –

+0

Нет проблем, мы все изучаем и улучшаем наши навыки :-) – ruhnet

+0

Запуск Просодия как www-данных, безусловно, безопаснее, чем запуск его как root :-) В качестве альтернативы, sudo может быть настроен для разрешения определенных команд без запроса пароля. Я не знаком с Просоди, поэтому я не могу вам точно сказать, как запустить его как пользователя, которого вы хотите. Я считаю, что это зависит от вашего дистрибутива, так как сценарии инициализации и т. Д. Меняются. – ruhnet