Can't access API

Hi,

I have upgrade my install from 6.06 to 8.0.1-3 (debian install with apt-get).
Everything seems fine except API access.
When I go on http://10.19.0.250/api/ I get an XML page:

<tree><message type="ERROR">Could not find any endpoint for this URI</message></tree>
After some research, I think it’s a rewrite URL problem but I can’t find the reason.

My .htaccess:

<IfModule mod_rewrite.c>

# Make sure to enable RewriteRule on your server, and the the RewriteBase is correctly set.
# If your install is accessible on https://yourdomain.tld/pydio, RewriteBase should be /pydio.
# If your install is accessible on https://yourdomain.tld/, RewriteBase should be /.

RewriteEngine on
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule (.*) index.php [L]
#Following lines seem to be necessary if PHP is working
#with apache as CGI or FCGI. Just remove the #
#See http://doc.tiki.org/WebDAV#Note_about_Apache_with_PHP_as_fcgi_or_cgi

RewriteCond %{HTTP:Authorization} ^(.*)
RewriteRule ^(.*) - [E=HTTP_AUTHORIZATION:%1]

#Following lines may be necessary for a PHP-FPM setup
# to make sure that authorization is transmitted.
# Just remove the # at the beginning of the line

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1

</IfModule>

AddType application/json .json

My apache pydio.conf:
<VirtualHost *:80>

LogLevel alert rewrite:trace6

    ServerAdmin contact@mydomain.fr
    ServerName my.domain.name
    DocumentRoot /usr/share/pydio

    <Directory "/usr/share/pydio">
      Options FollowSymLinks
      AllowOverride All Limit FileInfo
      Order allow,deny
      Allow from all
      Require all granted
    </Directory>

Rewritelog:

[Wed Nov 15 10:58:23.059751 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] add path info postfix: /usr/share/pydio/api -> /usr/share/pydio/api/
[Wed Nov 15 10:58:23.059787 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] strip per-dir prefix: /usr/share/pydio/api/ -> api/
[Wed Nov 15 10:58:23.059796 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] applying pattern ‘(.)’ to uri ‘api/’
[Wed Nov 15 10:58:23.059807 2017] [rewrite:trace4] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] RewriteCond: input=’/usr/share/pydio/api’ pattern=’!-f’ => matched
[Wed Nov 15 10:58:23.059828 2017] [rewrite:trace4] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] RewriteCond: input=’/usr/share/pydio/api’ pattern=’!-d’ => matched
[Wed Nov 15 10:58:23.059834 2017] [rewrite:trace2] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] rewrite ‘api/’ -> ‘index.php’
[Wed Nov 15 10:58:23.059839 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] add per-dir prefix: index.php -> /usr/share/pydio/index.php
[Wed Nov 15 10:58:23.059845 2017] [rewrite:trace2] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] trying to replace prefix /usr/share/pydio/ with /
[Wed Nov 15 10:58:23.059850 2017] [rewrite:trace5] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] strip matching prefix: /usr/share/pydio/index.php -> index.php
[Wed Nov 15 10:58:23.059854 2017] [rewrite:trace4] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] add subst prefix: index.php -> /index.php
[Wed Nov 15 10:58:23.059858 2017] [rewrite:trace1] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f40a0/initial] [perdir /usr/share/pydio/] internal redirect with /index.php [INTERNAL REDIRECT]
[Wed Nov 15 10:58:23.059909 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] strip per-dir prefix: /usr/share/pydio/index.php -> index.php
[Wed Nov 15 10:58:23.059916 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] applying pattern '(.
)’ to uri ‘index.php’
[Wed Nov 15 10:58:23.059924 2017] [rewrite:trace4] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] RewriteCond: input=’/usr/share/pydio/index.php’ pattern=’!-f’ => not-matched
[Wed Nov 15 10:58:23.059928 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] strip per-dir prefix: /usr/share/pydio/index.php -> index.php
[Wed Nov 15 10:58:23.059932 2017] [rewrite:trace3] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] applying pattern ‘^(.)’ to uri ‘index.php’
[Wed Nov 15 10:58:23.059939 2017] [rewrite:trace4] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] RewriteCond: input=’’ pattern=’^(.
)’ => matched
[Wed Nov 15 10:58:23.059944 2017] [rewrite:trace5] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] setting env variable ‘HTTP_AUTHORIZATION’ to ‘’
[Wed Nov 15 10:58:23.059949 2017] [rewrite:trace1] [pid 19875] mod_rewrite.c(477): [client 10.19.254.6:38149] 10.19.254.6 - - [10.19.0.250/sid#7f49bb2190c8][rid#7f49bb0f0028/initial/redir#1] [perdir /usr/share/pydio/] pass through /usr/share/pydio/index.php

Diagnostic:

Client : Mozilla/5.0 (Windows NT 10.0; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0
Command Line Available : Yes
DOM Enabled : Yes
Exif Enabled : Yes
GD Enabled : Yes
Upload Max Size : 2000M
Memory Limit : 256M
Max execution time : 1200
Safe Mode : 0
Safe Mode GID : 0
Xml parser enabled : 1
MCrypt Enabled : Yes
Server OS : Linux
Session Save Path : /var/lib/php5/sessions
Session Save Path Writeable : Yes
PHP Version : 5.6.17-0+deb8u1
Locale : fr_FR.UTF-8
Directory Separator : /
PHP APC extension loaded : Yes
PHP Output Buffer disabled : Yes
Magic quotes disabled : Yes
Upload Tmp Dir Writeable : Yes
PHP Upload Max Size : 2097152000
PHP Post Max Size : 2621440000
Users enabled : Yes
Guest enabled : No
Writeable Folders : [cache:true,
data:true]
Zlib Enabled : Yes

In pydio administration i have theses settings:

  • Basic Http by Server:
    • order: 1
    • protocol type: Session-based or Rest
  • Basic Http Frontend:
    • order: 10
    • protocol type: Session-based or Rest

Apache modules activated:

apache2ctl -M
Loaded Modules:
core_module (static)
so_module (static)
watchdog_module (static)
http_module (static)
log_config_module (static)
logio_module (static)
version_module (static)
unixd_module (static)
access_compat_module (shared)
alias_module (shared)
auth_basic_module (shared)
auth_digest_module (shared)
authn_core_module (shared)
authn_file_module (shared)
authz_core_module (shared)
authz_host_module (shared)
authz_user_module (shared)
autoindex_module (shared)
deflate_module (shared)
dir_module (shared)
env_module (shared)
filter_module (shared)
mime_module (shared)
mpm_prefork_module (shared)
negotiation_module (shared)
php5_module (shared)
reqtimeout_module (shared)
rewrite_module (shared)
session_module (shared)
setenvif_module (shared)
socache_shmcb_module (shared)
ssl_module (shared)
status_module (shared)

Php modules installed:

[PHP Modules]
apc
apcu
bz2
calendar
Core
ctype
curl
date
dom
exif
fileinfo
filter
ftp
gd
gettext
hash
iconv
imap
json
ldap
libxml
mbstring
mysqli
mysqlnd
openssl
pcntl
pcre
PDO
pdo_mysql
pdo_pgsql
pdo_sqlite
pgsql
Phar
posix
radius
readline
Reflection
session
shmop
SimpleXML
sockets
SPL
sqlite3
ssh2
standard
sysvmsg
sysvsem
sysvshm
tokenizer
wddx
xml
xmlreader
xmlwriter
xsl
Zend OPcache
zip
zlib

[Zend Modules]
Zend OPcache

Can you help me find why i can’t access api please ?
I think I must have an auth popup when I try to access to http://10.19.0.250/api/ but nothing happend (except error message).

Regards.

I, can you check in the settings what values are set in the “Public URI” and “Shares URI” ? it’s in the “Application Core” options. If they are empty, that may lead to wrong rewrites.
-c

Hi,

I think everything is ok as you can see on this screenshot (sorry in french, i haven’t find the langages settings).

Regards.

Hi,

Make sure Settings >> Authenticaton >> General options >> Multiple Auth Chooser is disable
And test with following api

http://10.19.0.250/api/workspaceID/command
for example: http://10.19.0.250/api/my-files/ls

Hi,

I think it’s disabled. I’m right ?
Screenshot-2017-11-16 Pydio - --- Authentification

The error with your link is the same.

Could not find any endpoint for this URI

Regards.

Hi, in fact I think it’s normal… There is nothing registered directly on /api/, you must use an actualy api query.
Try yourpydio.com/api/my-files/ls/
-c

Hi Charles,

I’ve got the same error:

Could not find any endpoint for this URI

Regards.

Nobody get an idea?

Regards.

I can provide access to the test server if you want.

Regards.

Hi @Oyabi sorry for the late answer - you can PM me an access, i’ll try to have a look when I have time.