- Install nginx mainline
a. http://nginx.org/en/linux_packages.html - Sign up for Pydio 6 Enterprise: https://pydio.com/en/get-pydio
- Add Pydio 6 enterprise repositories: https://pydio.com/en/node/1045
- Install one more item (or 2 if using sqlite)
apt-get install php5-ioncube-loader
apt-get install php5-sqlite
5. Follow instructions for setting up Pydio 6 with Nginx: https://pydio.com/en/docs/kb/system/installing-debiannginx
6. Make some changes to the provided config file:
server {
server_name www.example.com;
listen 80;
rewrite ^ https://$server_name$request_uri? permanent;
}
server {
server_name www.example.com;
root /var/www/localhost/htdocs/pydio6;
index index.php;
listen 443 ssl; //add http2 for better results
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; //Change this to your max file size
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; //THIS NEEDS TO MATCH YOUR NGINX CONFIG
fastcgi_param REQUEST_URI $request_url;
try_files $uri =404;
fastcgi_pass unix:/tmp/php5-fpm.sock; //Check /etc/php5/fpm/pool.d/www.conf for the right socket
}
# Enables Caching
location ~* \.(ico|css|js)$ {
expires 7d;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
}
- Set up letsencrypt for SSL Encryption: https://aaronparecki.com/articles/2015/12/07/1/letsencrypt
- Access your Pydio and follow the instructions
- Not actually a fan of Pydio. Used it for a day. It's way too slow even with a MySQL database. Don't even try it with sqlite. Next stop, www.seafile.com!