Pydio v7 versus v8 s3 requirements

ubuntu

#1

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


#2

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.


#3

@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}


#4

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 … !


#5

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


#6

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