Pydio on Ubuntu 14.04, NGINX, PHP, MYSQL

I’m having issues with getting my Pydio install to work. I’ve uploaded the files to my droplet /var/www/my_site/public_html and I have configured the nginx host file using their recommended settings but it will not load.

Has anyone used this before?

server {
        listen 80;
        rewrite ^ https://$server_name$request_uri? permanent;
server {
        root /var/www/localhost/htdocs/pydio6;
        index index.php;
        listen 443 ssl;
        keepalive_requests    10;
        keepalive_timeout     60 60;
        access_log /var/log/nginx/access_pydio6_log;
        error_log /var/log/nginx/error_pydio6_log;

        client_max_body_size 15M;
        client_body_buffer_size 128k;

        rewrite ^/dashboard|^/settings|^/welcome|^/ws- /index.php last;
        if ( !-e $request_filename ) {
                # WebDAV Rewrites
                rewrite ^/shares /dav.php last;
                # Sync client
                rewrite ^/api /rest.php last;
                # External users 
                rewrite ^/user ./index.php?get_action=user_access_point last;
                # Public shares
                rewrite ^/data/public/([a-zA-Z0-9_-]+)\.php$ /data/public/share.php?hash=$1?;
        rewrite ^/data/public/([a-zA-Z0-9_-]+)--([a-z]+)$ /data/public/share.php?hash=$1&lang=$2?;
        rewrite ^/data/public/([a-zA-Z0-9_-]+)$ /data/public/share.php?hash=$1?;

        # Prevent Clickjacking
        add_header X-Frame-Options "SAMEORIGIN";

        # Only allow these request methods and do not accept DELETE, SEARCH and other methods
        if ( $request_method !~ ^(GET|HEAD|POST|PROPFIND|OPTIONS)$ ) {
                return 444;

        location ~* ^/(?:\.|conf|data/(?:files|personal|logs|plugins|tmp|cache)|plugins/editor.zoho/agent/files) {
                deny all;
        # Enables PHP
        location ~ \.php$ {
                # for ^/(index|plugins) request_uri should be changed
                set $request_url $request_uri;
                if ( $uri ~ ^/(index|plugins) ) {
                        set $request_url /;
                include fastcgi.conf;
                fastcgi_param  REQUEST_URI $request_url;
                try_files $uri =404;
                fastcgi_pass unix:/tmp/php5-fpm.sock;

       # Enables Caching
        location ~* \.(ico|css|js)$ {
                 expires 7d;
                add_header Pragma public;
                add_header Cache-Control "public, must-revalidate, proxy-revalidate";

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.


Unless you have modified values to hide your actual domain name and root path, your configuration needs to be updated with actual values instead of the example values. Often when someone is providing a guide, they cannot know what values you will need for certain things. To help understand the format, they set examples.

You can see these in your setup with

root /var/www/localhost/htdocs/pydio6;

These are examples, and need to be updated to the right values for your setup. Since you gave us your root directory, you can change that one to

root /var/www/mysite/publichtml;

For the server_name values, you will want to change them from to whatever your domain is. Make sure to change both server_name values to your domain.

Once this is done, restart nginx with

sudo service nginx stop
sudo service nginx start

Can you try this and let me know how it works?