Everything posted by Desti
-
Не работает REST API
не работает этот путь. Что с включенным, что с выключенным, не пропускает дальше красной надписи. Лезть в кишочки лень, заработало и хорошо. Этот реврайт вообще кривой, как и весь ipb, у меня два идентичных сервера, на одном админка кажет красную надпись "реврайт не работает, звони бородатому админу", на другом не пишет. Конфиги идентичны вплоть до комментов Но это небезопасно. А конфигурировать в любом случае придется, локации /api/ по умолчанию нет. Не надо будет ставить auth - да.
-
2 ошибки.
репозиторий надо установить. По ссылке выше всё есть.
-
2 ошибки.
типа тут упс.. https://www.chris-shaw.com/blog/installing-php-7.2-on-debian-8-jessie-and-debian-9-stretch
-
2 ошибки.
По моему не требует, а предупреждает, что 7-ка желательна, но работает под 5.6
-
Не работает REST API
Совсем забыл.. Чтобы получилось совсем по феншую, надо передавать в параметрах авторизации не произвольное имя, а ключ API. То есть: $ htpassdw /home/htpasswd <ваш ключ API> Вводим пароль, который будем использовать, чтобы всякие хацкеры не лазили. В поле авторизации вводим ключ, пароль и сразу попадаем в нужное место уже без ключа. Ну или в своем коде делаем запрос в виде $key="ваш api ключ"; $pass = "1234rrr"; var_dump( \IPS\Http\Url::external( $url . "api/core/hello" )->request()->login( $key, "" )->get()->decodeJson() ); Вместо кавычек - $pass. айте мне уже право на редактирование )
-
Не работает REST API
Идем в файл applications/core/modules/admin/applications/api.php Находим catch ( \Exception $e ) { \IPS\Output::i()->title = \IPS\Member::loggedIn()->language()->addToStack('menu__core_applications_api'); \IPS\Output::i()->output = \IPS\Theme::i()->getTemplate( 'api' )->htaccess( isset( \IPS\Request::i()->recheck ), $url ); return; } и комментируем return; После этого грязнейшего хака попадаем в возможность настроить ключи. Идем в конфиг nginx и в блок server{} своего форума добавляем location /api/ { auth_basic "auth"; auth_basic_user_file /home/htpasswd; index index.php; try_files $uri $uri/ /api/index.php?$args; } Затем, используя утилиту htpasswd из apache2-utils (apt-get install apache2-utils) создаем пароль для ограничения доступа. $ htpassdw /home/htpasswd username Вводим пароль, создается файл паролей. Перегружаем nginx. Всё, идем в ACP -> Rest api, создаем ключ, открываем браузер, вводим //site/api/core/hello?key=<ваш API ключ>, наслаждаемся результатом. У меня получилось, чего и вам желаю. Вот правильный ответ сервера на команду hello: { "communityName": "Invision Community", "communityUrl": "http:\/\/dev.microsoft.ru\/", "ipsVersion": "4.3.6" }
-
Не работает REST API
ну как бы RewriteRule .* index.php [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] А это означает, что используется встроенная серверная HTTP авторизация. Я пока не разобрался до конца.
-
Не работает REST API
У мну nginx, предложенный вариант не работает, нет нужной локации с авторизацией. Дальше пока не разбирался.
-
Не работает REST API
Не даст, пока не исчезнет красная надпись об ошибке.
-
Не работает REST API
nginx, наверное? или апач установлен?
-
Nick quote - ник в сообщение
У вас тут установлен (@ около ника) - где такой взять можно?