Vesta Control Panel - Forum

Community Forum

Skip to content

Advanced search
  • Quick links
    • Main site
    • Github repo
    • Google Search
  • FAQ
  • Login
  • Register
  • Board index Language specific forums Russian (Русский) Веб-интерфейс панели
  • Search

API регистрации пользователей

Вопросы по работе Веб-интерфейса панели
GUI
Post Reply
  • Print view
Advanced search
13 posts
  • 1
  • 2
  • Next
A1ex
Posts: 22
Joined: Mon Mar 18, 2013 9:39 am

API регистрации пользователей
  • Quote

Post by A1ex » Mon Mar 18, 2013 9:42 am

Подскажите, есть ли ли API для регистрации пользоателей?
Last edited by A1ex on Tue Mar 19, 2013 6:46 am, edited 1 time in total.
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: API регистрации пользователей
  • Quote

Post by skid » Mon Mar 18, 2013 2:53 pm

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

В папке /usr/local/vesta/bin расположены скрипты, которые одновременно являются функциями API. Если нужно создать пользователя, нужен скрипт v-add-user, если нужно удалить базу данных, это сделает скрипт v-delete-database и так далее по аналогии. Другими словами, если вы сделаете ls /usr/local/vesta/bin, то сможете получить представление о доступных функциях.

Если запустить скрипт без параметров, он выдает краткую справку об использовании:

Code: Select all

[root@v-test ~]# v-add-user
Error: not enought arguments
Usage: v-add-user USER PASSWORD EMAIL [PACKAGE] [FNAME] [LNAME]
Каждый скрипт возвращает return_code. Если return_code равен 0, значит операция заверишалсь успешно. Любая другая цифра будет обозначать ошибку. Актуальную таблицу кодов возврата всегда можно найти в файле /usr/local/vesta/func/main.sh

Code: Select all

OK=0
E_ARGS=1
E_INVALID=2
E_NOTEXIST=3
E_EXISTS=4
E_SUSPENDED=5
E_UNSUSPENDED=6
E_INUSE=7
E_LIMIT=8
E_PASSWORD=9
E_FORBIDEN=10
E_DISABLED=11
E_PARSING=12
E_DISK=13
E_LA=14
E_FTP=15
E_SSH=16
E_DB=17
E_RRD=18
E_UPDATE=19
E_RESTART=20
API вдохновлено идеями UNIX и поэтому вся информация хранится в простых текстовых файлах. Каждый скрипт решает только одну задачу. В случае успешного завершения скрипта, на экран ничего не выводится. Если произошла ошибка, то скрипт сразу завершает свою работу и выводит сообщение на экран.

Вернемся к созданию пользователя и проверим код возврата.

Code: Select all

[root@v-test ~]# v-add-user
Error: not enought arguments
Usage: v-add-user USER PASSWORD EMAIL [PACKAGE] [FNAME] [LNAME]
[root@v-test ~]# echo $?
1
По таблице выше 1 это E_ARGS, что означает недостаточное количество аргументов. Необязательные параметры заключены в квадтратные скобки. Для успешного создания пользователя нужно азадть всего 3 аргумента - имя пользователя, пароль и почтовый адрес. Если пакет не указан, то будет подставлен пакет по умолчанию, который называется default.

Code: Select all

[root@v-test ~]# v-add-user demo d3mo0p4ssw0rd [email protected]
[root@v-test ~]# echo $?
0
Помимо категории скриптов для создания и изменения, есть категория для отображения, такие срипты попадают под шаблон v-list-*. Скрипты могут отображать информацию в нескольких форматах. На данный момент поддерживается 3 формата: shell, plain и json. Первые два удобны для работы в командной строке.

Code: Select all

[root@v-test ~]# v-list-users shell
USER       PACKAGE    U_DISK     U_BANDWIDTH  SUSPENDED  DATE
---------  ---------  ---------  ---------    ---------  ---------
admin      default    3          0            no         2013-02-11
test       default    1          0            no         2013-03-10
demo       default    0          0            no         2013-03-18
Третий формат используется для работы веб-интерфейса, который для работы использует то же самое API. Для работы веб-интерфейса в систему устанавливается дополнительный веб-сервер nginx и php-fpm, для обработки php. Все запросы интерфейса выполняются под пользователем admin, которому разрешено выполнять функции api через sudo.

Теперь попробую конкретнее ответить на ваш вопрос по поводу создания пользователей. Тут возможны 2 варианта:
1) Можно ипользовать api напрямую, выполняя скрипты в /usr/local/vesta/bin, как это делает веб-интерфейс
2) Можно воспользоваться wrapper-ом веб-интерфейса для доступа к api.

В большинстве случаев, второй вариант будет релевантнее. Дальше про него. Кстати, совсем недавно была реализована интеграция billing системы WHMSC на его wrapper-а. В модуле для whmcs реализованы ключевые функции, которые вероятно и вам интересны. Модуль умеет:
* создавать пользоватей
* удалять пользователей
* менять пароль пользователя
* добавлять web/mail/dns домены

К wrapper-у нужно обращаться POST запросами, передавая имя и пароль пользователя admin. Приведу несколько наиболее всотребованных примеров:

Code: Select all

# Создать пользователя demo
https://server-ip/api/?&user=admin&password=currentpwd&cmd=v-add-domain&arg1=demo&arg2=d3m0p4ssw0rd&[email protected]

# Добавить пользователю домен demo.vestacp.com
https://server-ip/api/?&user=admin&password=currentpwd&cmd=v-add-domain&arg1=demo&arg2=demo.vestacp.com

# Удалить пользователя включая его домены
https://server-ip/api/?&user=admin&password=currentpwd&cmd=v-delete-user&arg1=demo
Top

COLOBOCman
Posts: 2
Joined: Mon Mar 18, 2013 12:54 am

Re: API регистрации пользователей
  • Quote

Post by COLOBOCman » Mon Mar 18, 2013 5:02 pm

Ухты, очень интересовал етот вопрос, хочется связать сие чудо с билингом http://www.joonte.com/
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: API регистрации пользователей
  • Quote

Post by skid » Mon Mar 18, 2013 8:05 pm

Ну раз другие панели поддерживаются, то и с добавлением плагина для vesta не должно возникнуть сложностей.
Top

A1ex
Posts: 22
Joined: Mon Mar 18, 2013 9:39 am

Re: API регистрации пользователей
  • Quote

Post by A1ex » Tue Mar 19, 2013 2:22 am

skid, спасибо!
Top

bisobisov
Posts: 2
Joined: Sun Jun 30, 2013 6:23 pm

Re: API регистрации пользователей
  • Quote

Post by bisobisov » Sun Jun 30, 2013 7:42 pm

А как установить модуль WHCMS для работы с vesta
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: API регистрации пользователей
  • Quote

Post by skid » Mon Jul 01, 2013 8:08 am

Вот инструкция по установке

Code: Select all

cd /home/wex/web/billing-whcms-site.ltdr/public_html/modules/servers
mkdir vesta
wget http://c.vestacp.com/0.9.8/rhel/whmcs-module.php -O vesta.php
Top

bisobisov
Posts: 2
Joined: Sun Jun 30, 2013 6:23 pm

Re: API регистрации пользователей
  • Quote

Post by bisobisov » Tue Jul 02, 2013 3:38 am

Спасибо!
Top

rossyban
Posts: 1
Joined: Thu Jan 02, 2014 3:08 pm

Re: API регистрации пользователей
  • Quote

Post by rossyban » Thu Jan 02, 2014 3:13 pm

Обьясните мне) Установил сее чудо себе на сервер. Сразу решил написать микро-билинг)
Сделал регистрацию, авторизацию, покупку. Но вот пользователь не создается(уже 5 дней прошло). Результатом долгих мучений и экспериментов понял что проблема в source(команда на баше аналог include). Соответственно и api из браузера не вызывается. пробовал curl копал ваш скрипт. Но толку нет) Помогите с тем чтобы поднять этот гребанный api и скиньте оригинальный файл v-add-user

Зарание спасибо)
Top

skid
VestaCP Team
Posts: 1476
Joined: Wed Apr 06, 2011 11:12 pm

Re: API регистрации пользователей
  • Quote

Post by skid » Tue Feb 11, 2014 2:23 pm

Не совсем понятно в чем причина. Вы используете POST запросы или запускаете скрипты напрямую?
https://server-ip:8083/api/?&user=admin ... estacp.com
Top


Post Reply
  • Print view

13 posts
  • 1
  • 2
  • Next

Return to “Веб-интерфейс панели”



  • Board index
  • All times are UTC
  • Delete all board cookies
  • The team
Powered by phpBB® Forum Software © phpBB Limited
*Original Author: Brad Veryard
*Updated to 3.2 by MannixMD
 

 

Login  •  Register

I forgot my password