Tutoriels

Tuto : Pydio sur Debian avec nginx

Header Pydio

Pydio vous permet de créer votre cloud personnel. Les fonctionnalités de l’application sont similaires à ce que peut proposer Nextcloud notamment. L’application ayant subit un gros lifting dernièrement, je vous propose un tutoriel pour le mettre en place sur votre serveur.

Pré-requis

  • Un serveur sous Debian/Ubuntu
  • LEMP en place et configuré (voir ce tuto)
  • Un peu de patience…

Création de la base de données

On se connecte à notre base de données en ligne de commande avec l’utilisateur root :

mysql -u root -p

On va maintenant créer une base de données pydio ainsi que l’utilisateur associé. Pensez à modifier le mot de passe par celui de votre choix.

CREATE DATABASE pydio;
GRANT ALL PRIVILEGES ON pydio.*
TO 'pydio'@'localhost'
IDENTIFIED BY 'mot_de_passe';
FLUSH PRIVILEGES;
exit;

Retenez bien les informations indiquées car elles seront nécessaires lors de la mise en route de votre installation Pydio.

Configuration de nginx

Nous allons partir du principe que la configuration de base de votre serveur nginx est faite. Voici donc un exemple de vhost pour Pydio pour l’installer sur un sous-domaine pydio.domain.tld avec un certificat généré via Let’s Encrypt.

nano /etc/nginx/sites-enabled/pydio.conf
server {
	listen 80;
	server_name pydio.domain.tld;
	return 301 https://$server_name$request_uri;
}

server {
	listen 443 ssl;
	server_name pydio.domain.tld;

	## SSL CONFIG ON ##
	ssl_certificate /etc/letsencrypt/live/pydio.domain.tld/fullchain.pem;
	ssl_certificate_key /etc/letsencrypt/live/pydio.domain.tld/privkey.pem;
	include /etc/nginx/ssl/params.conf;
	## SSL CONFIG OFF ##

	access_log /var/log/nginx/pydio.access.log combined;
	error_log /var/log/nginx/pydio.error.log error;

	root /var/www/pydio;
	index index.php;

	keepalive_requests    10;
	keepalive_timeout     60 60;

	client_body_buffer_size 128k;
	if (!-e $request_filename){
		rewrite ^(.*)$ /index.php last;
	}

	add_header X-Frame-Options "SAMEORIGIN";

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

	location ~ \.php$ {

			fastcgi_param  GATEWAY_INTERFACE  CGI/1.1;
			fastcgi_param  SERVER_SOFTWARE    nginx;
			fastcgi_param  QUERY_STRING       $query_string;
			fastcgi_param  REQUEST_METHOD     $request_method;
			fastcgi_param  CONTENT_TYPE       $content_type;
			fastcgi_param  CONTENT_LENGTH     $content_length;
			fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;
			fastcgi_param  SCRIPT_NAME        $fastcgi_script_name;
			fastcgi_param  REQUEST_URI        $request_uri;
			fastcgi_param  DOCUMENT_URI       $document_uri;
			fastcgi_param  DOCUMENT_ROOT      $document_root;
			fastcgi_param  SERVER_PROTOCOL    $server_protocol;
			fastcgi_param  REMOTE_ADDR        $remote_addr;
			fastcgi_param  REMOTE_PORT        $remote_port;
			fastcgi_param  SERVER_ADDR        $server_addr;
			fastcgi_param  SERVER_PORT        $server_port;
			fastcgi_param  SERVER_NAME        $server_name;

			try_files $uri =404;
			fastcgi_pass unix:/run/php/php7.0-fpm.sock;
	}

	location ~* \.(ico|css|js)$ {
			 expires 7d;
			add_header Pragma public;
			add_header Cache-Control "public, must-revalidate, proxy-revalidate";
	}
}
#source : https://github.com/pydio/pydio-core/blob/d25f110904b62d337f823ccd30ce2b2f99f5099f/dist/docker7/conf/pydio

Sans oublier de redémarrer nginx pour prendre en compte les modifications :

service nginx restart

Installation de Pydio

Nous allons maintenant passer à l’installation de Pydio. On va se placer dans le répertoire /var/www, télécharger l’archive de la dernière version et l’extraire. Pensez à vérifier si une nouvelle version est disponible et adaptez les commandes en conséquence.

cd /var/www
wget https://download.pydio.com/pub/core/archives/pydio-core-7.0.1.tar.gz
tar -xvzf pydio-core-7.0.1.tar.gz
mv pydio-core-7.0.1 pydio
chown -R www-data:www-data pydio

Vous pouvez maintenant vous rendre à https://pydio.domain.tld pour lancer le setup d’installation de Pydio. La première page sur laquelle vous allez atterrir va analyser si tous les pré-requis sont bien en place sur le serveur. Vous pouvez ignorer l’erreur concernant SSL.

Pydio Setup

Vous allez ensuite accéder au wizard qui vous permettra de créer le premier utilisateur qui sera l’administrateur de Pydio. Vous devrez ensuite indiquer les paramètres de la base de données que nous avons créée plus haut. Enfin, il vous faudra spécifier quelques paramètres optionnels.

Une fois toutes les étapes terminées, l’installation de Pydio va se terminer et la page se recharger. Vous arriverez alors sur la page de login où vous pourrez indiquer les identifiants que vous venez de créer. Félicitations, votre Pydio est maintenant installé et fonctionnel !

Pydio Login Page

Related posts

Tuto : Codiad, un IDE en ligne simple et efficace

Edouard Patout

Répliquer sa sauvegarde Time Machine vers Backblaze

Julien Doclot

Tuto : LibreNMS sur Debian avec nginx

Edouard Patout

1 comment

Camaalot 20 février 2019 at 16 h 37 min

Bonjour,

serait-il possible de mettre à jour les liens que vous donnez dans ce tuto.

Merci beaucoup et bonne continuation.

Camaalot

Reply

Leave a Comment

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More