Pydio v7 versus v8 s3 requirements

Hello,

I am trying to setup the S3 connector on Pydio and noticing some differences in the documentation for Pydio 7 versus 8.

Pydio 7
Under Plugins requirements is shows:
S3 Access access.s3 AWS Sdk v2 for PHP

And elsewhere it mentions needing to install “pydio-plugin-access.s3” and “pydio-plugin-metastore.s3”

Pydio 8
I only mentsions needing to install “pydio-plugin-access.s3” and “pydio-plugin-metastore.s3”

Does Pydio 8 also need the SDK? If so, is there a proper way to install it. The AWS documentation lists a couple of ways but it is not clear which method should be used with Pydio and where in the Pydio folder structure it should be placed.

Regards,
Ron

Hello,

In P7, the aws sdk is located in access.s3 plugin folder. Since P8 this sdk is move to core folder.
To install this sdk, you will use composer. Enter pydiosource/core folder and type “composer install”.
The information of all packages, sdk is in pydiosource/core/composer.json. After installation of composer, you will see pydiosource/core/vendor/aws source.

@c12simple, Thank you for the path information.

In Pydio 8, does the SDK come as part of the package? I already have the folder /var/www/pydio/core/vendor/aws/aws-sdk-php.

Reason I ask is that I am getting an error upon trying to open the bucket.
There was a problem trying to open folder pydio://(*removed), please check your Administrator
#0 /var/www/pydio/core/src/pydio/Core/Controller/Controller.php(392): Pydio\Access\Driver\StreamProvider\FS\FsAccessDriver->switchAction(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#1 /var/www/pydio/core/src/pydio/Core/Controller/Controller.php(259): Pydio\Core\Controller\Controller::handleRequest(Object(DOMElement), Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#2 /var/www/pydio/core/src/pydio/Core/Controller/Controller.php(141): Pydio\Core\Controller\Controller::run(Object(Zend\Diactoros\ServerRequest), Object(DOMElement))
#3 [internal function]: Pydio\Core\Controller\Controller::registryActionMiddleware(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#4 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#5 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#6 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#7 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#8 /var/www/pydio/core/src/pydio/Core/Http/Middleware/SessionRepositoryMiddleware.php(114): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#9 [internal function]: Pydio\Core\Http\Middleware\SessionRepositoryMiddleware::handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#10 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#11 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#12 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#13 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#14 /var/www/pydio/core/src/pydio/Core/Http/Middleware/WorkspaceAuthMiddleware.php(107): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#15 [internal function]: Pydio\Core\Http\Middleware\WorkspaceAuthMiddleware::handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#16 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#17 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#18 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#19 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#20 /var/www/pydio/core/src/pydio/Core/Http/Middleware/AuthMiddleware.php(96): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#21 [internal function]: Pydio\Core\Http\Middleware\AuthMiddleware::handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#22 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#23 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#24 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#25 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#26 /var/www/pydio/core/src/pydio/Core/Http/Middleware/SecureTokenMiddleware.php(73): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#27 [internal function]: Pydio\Core\Http\Middleware\SecureTokenMiddleware::handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#28 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#29 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#30 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#31 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#32 /var/www/pydio/core/src/pydio/Core/Http/Middleware/SessionMiddleware.php(86): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#33 [internal function]: Pydio\Core\Http\Middleware\SessionMiddleware::handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#34 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#35 /var/www/pydio/core/src/pydio/Core/Http/Server.php(145): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#36 [internal function]: Pydio\Core\Http\Server->Pydio\Core\Http{closure}(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#37 /var/www/pydio/core/src/pydio/Core/Http/Server.php(162): call_user_func_array(Object(Closure), Array)
#38 /var/www/pydio/core/src/pydio/Core/Http/Middleware/SapiMiddleware.php(75): Pydio\Core\Http\Server::callNextMiddleWare(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#39 [internal function]: Pydio\Core\Http\Middleware\SapiMiddleware->handleRequest(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response), Object(Closure))
#40 /var/www/pydio/core/src/pydio/Core/Http/Server.php(146): call_user_func_array(Array, Array)
#41 /var/www/pydio/core/src/pydio/Core/Http/Server.php(198): Pydio\Core\Http\Server->nextCallable(Object(Zend\Diactoros\ServerRequest), Object(Zend\Diactoros\Response))
#42 /var/www/pydio/core/src/pydio/Core/Http/Base.php(74): Pydio\Core\Http\Server->listen()
#43 [internal function]: Pydio\Core\Http\Base::handleRoute(’’, ‘/’, Array)
#44 /var/www/pydio/core/src/pydio/Core/Http/TopLevelRouter.php(139): call_user_func(Array, ‘’, ‘/’, Array)
#45 /var/www/pydio/index.php(30): Pydio\Core\Http\TopLevelRouter->route()
#46 {main}

Hello,

If it’s the first time you work with s3, did you check some parameter of php such as allow_url_fopen (should be enable) or other config of firewall … !

Hello @c12simple,

It is the first time setting S3 up with Pydio. I checked allow_url_open and it is set to “on”. Is there a list somewhere documented of all the requirements for this to work?

Ron

Hello,

I have looked through the documentation and have not found anything that clearly states all requirements for php modules or php settings.

I upgraded to the latest version of Pydio 8 and that did not solve the problem either.

Has anyone successfully set up S3 with Pydio?

Ron