======= OwnCloud Client======= Voici quelques pistes pour bien vous servir d'owncloud : * La version Web d'OwnCloud est assez lente. Vous risquez de vous arracher les cheveux. Préférez utiliser le client. * L'installation du client est simpliste : (sous debian) ''apt-get install owncloud-client''. [[http://owncloud.org/sync-clients/|Pour les autres]] * Pour la configuration, l'URL est simplement : ''https://owncloud.minet.net''. Votre login/mots de passes sont ceux du LDAP. * Vous avez alors à votre racine : - Votre dossier synchronisé avec votre client - Le dossier partagé de MiNET * Pour synchroniser le dossier partagé de MiNET, ajoutez le dossier ''Shared'' à vos dossier à synchroniser sur votre client. Pour cela : - Sur votre client ''ajoutez un dossier ...'' - Sélectionnez le dossier local - Cliquez sur //suivant// - Selectionnez ensuite l'option ''Vers votre owncloud'' - Entrez le repertoire ''Shared'' - Cliquez sur //Terminer// Bravo vous avez maintenant accès au owncloud MiNET ;-) ===== Éditer l'agenda MiNET ===== Pour celà créez un évenement dans le calendrier et partagez le avec le groupe Fichier_Minet. Attention, vous devez être dans le groupe MiNET pour pouvoir voir l'agenda MiNET. ======= Installation du serveur ======= Pour installer owncloud, apt-get install apache2 php5 php5-common php5-gd apt-get install php5-sqlite curl libcurl3 libcurl3-dev php5-curl On installe ainsi **apache2**, **php5** et **SQLite**. apt-get install owncloud Ce qui permet d'obtenir le Owncloud à configurer (http://ADRESSE_IP_VM/owncloud). Tuto avec des trucs inutiles en plus : http://www.it-connect.fr/installation-downcloud-sous-debian/ Il est alors important de donner l'accès aux répertoires utiles d'Owncloud (.../owncloud) au groupe www-data, groupe par défaut d'apache cd /var/www/ chown www-data:www-data -R owncloud/ Remarques : * Ces lignes de commandes partent du principe qu'Owncloud est installé dans /var/www/owncloud (on pourra par exemple éditer le virtual host afin de le faire pointer vers le chemin désiré). Cependant il est probable que le dossier où s'installera Owncloud soit /usr/share/owncloud. * Penser à changer les droits d'accès aux dossiers importants chmod 770 -R owncloud/ Reste alors à s'assurer que les modules **Rewrite** (permettant la réécriture d'URL) et **Headers** (gérant les en-têtes des requêtes et réponses HTTP) d'Apache sont bien démarrés : a2enmod rewrite a2enmod headers Vous pouvez désormais accéder à votre espace de stockage Owncloud à l'adresse http://ADRESSE_IP_VM/owncloud Si vous souhaitez y accéder directement avec http://ADRESSE_IP_VM, il suffit d'écrire dans le fichier /var/www/html/index.html : Mais c'est moche comme adresse, un nom propre tel que pipo.minet.net serait plus joli. On va donc bidouiller encore un peu. Il faut réserver un nom de domaine (pipo.minet.net) et configurer le DNS et le revProxy. Maintenant il faut configurer le serveur Apache pour que quand vous tapez http://pipo.minet.net, vous tombiez sur le /owncloud et pas sur Apache. Parlons un peu sécurité maintenant : il serait dommage que le dossier data (et son précieux contenu :-D) soit ouvert aux quatres vents. Pour éviter ça, il faut définir la directive **AllowOverride** de "None" vers "ALL" dans le fichier de configuration d'Apache(/etc/apache2/sites-enabled/votre_fichier_de_conf.conf). Il faut d'abord s'assurer qu'un fichier .conf (cf [[wiki:hebergement:apache2|]]) **adapté au nom de domaine associé** (c'est plus propre, mais il faudra configurer le [[wiki:services:dns|Serveur DNS]] en conséquence) existe. Modifier le fichier config.php dans le dossier /config d'Owncloud (/usr/share/owncloud/config /config.php) : 'trusted_domains' => array ( 0 => 'site-pipo.minet.net', ), Ainsi que changer le data directory si besoin : 'datadirectory' => '[mettre le chemin absolu ici]' (ex : 'datadirectory' => '/usr/share/owncloud/data') Et enfin, changer l'adressage direct via IP, en passage par un DNS : 'overwrite.cli.url' => http://site-pipeau.minet.net/owncloud', Une fois toutes ces modifications appliquées, il est grand temps de relancer le serveur Apache : service apache2 restart L'accès depuis un navigateur de votre serveur Owncloud peut alors se faire via (selon si passe par le DNS ou pas) : [[https://site-pipeau.minet.net/owncloud|https://site-pipeau.minet.net/owncloud]] ou bien [[http://[IP publique de la vm]/owncloud|http://[IP publique de la vm]/owncloud]] Et finaliser les derniers paramétrages en créant un compte administrateur. Si vous utilisez MySQL, il faudra se rendre en ligne de commande sur l'interface MySQL pour y saisir les lignes de commande qui permettront de créer une base de données et un utilisateur dédié à OwnCloud : CREATE USER "owncloud"@"localhost" IDENTIFIED BY "password"; CREATE DATABASE owncloud; Reste à donner à l'utilisateur les droits sur la base de données : GRANT ALL PRIVILEGES ON owncloud.* TO "owncloud"@"localhost"; FLUSH PRIVILEGES ; Ca se fait aussi très bien sur l'interface Web. ===== interfacer avec le LDAP ===== apt-get install php5-ldap Puis activez le module "LDAP user and group backend". Renseignez correctement le module (chez nous par l'ip, en spécifiant le numéro de port). ===== Accélération des performances ===== * [[ http://forum.owncloud.org/viewtopic.php?f=8&t=10692 | consultez ce lien ]] ===== Réinstallation et migration vers un nouveau owncloud ===== L'ancien Owncloud était pourri à cause de nombreuses migrations effectuées, des modifications à la main de la base de données ... On a décidé de créer un nouveau CT (Debian Jessie) et d'utiliser le dépôt Owncloud stable. En effet, l'équipe Debian a annoncé le drop du support de Owncloud dans la future version car les mises à jours étaient ingérables. La démarche peut être trouvée ici[[https://download.owncloud.org/download/repositories/stable/owncloud/]] On a décidé d'utiliser Nginx par soucis de performance. Il suffit d'installer les paquets suivants: apt-get install nginx php5 php5-fpm php5-ldap php5-mysql Voici la config de /etc/nginx/nginx.conf : upstream php-handler { #server 127.0.0.1:9000; server unix:/var/run/php5-fpm.sock; } #server { # listen 80; # server_name 192.168.103.173; # enforce https #return 301 https://$server_name$request_uri; #} server { listen 80; server_name 192.168.103.173; #ssl_certificate /etc/ssl/nginx/cloud.example.com.crt; #ssl_certificate_key /etc/ssl/nginx/cloud.example.com.key; # Path to the root of your installation root /var/www/owncloud/; # set max upload size client_max_body_size 10G; fastcgi_buffers 64 4K; # Disable gzip to avoid the removal of the ETag header gzip off; # Uncomment if your server is build with the ngx_pagespeed module # This module is currently not supported. #pagespeed off; rewrite ^/caldav(.*)$ /remote.php/caldav$1 redirect; rewrite ^/carddav(.*)$ /remote.php/carddav$1 redirect; rewrite ^/webdav(.*)$ /remote.php/webdav$1 redirect; index index.php; error_page 403 /core/templates/403.php; error_page 404 /core/templates/404.php; location = /robots.txt { allow all; log_not_found off; access_log off; } location ~ ^/(?:\.htaccess|data|config|db_structure\.xml|README){ deny all; } location / { # The following 2 rules are only needed with webfinger rewrite ^/.well-known/host-meta /public.php?service=host-meta last; rewrite ^/.well-known/host-meta.json /public.php?service=host-meta-json last; rewrite ^/.well-known/carddav /remote.php/carddav/ redirect; rewrite ^/.well-known/caldav /remote.php/caldav/ redirect; rewrite ^(/core/doc/[^\/]+/)$ $1/index.html; try_files $uri $uri/ =404; } location ~ \.php(?:$|/) { fastcgi_split_path_info ^(.+\.php)(/.+)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param PATH_INFO $fastcgi_path_info; #fastcgi_param HTTPS on; fastcgi_pass php-handler; fastcgi_intercept_errors on; } # Adding the cache control header for js and css files # Make sure it is BELOW the location ~ \.php(?:$|/) { block location ~* \.(?:css|js)$ { add_header Cache-Control "public, max-age=7200"; # Add headers to serve security related headers add_header Strict-Transport-Security "max-age=15768000; includeSubDomains; preload;"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options "SAMEORIGIN"; add_header X-XSS-Protection "1; mode=block"; add_header X-Robots-Tag none; # Optional: Don't log access to assets access_log off; } # Optional: Don't log access to other assets location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|swf)$ { access_log off; } } La configuration de la base de données se fait dans le fichier /var/www/owncloud/config/config.php Pour l'instant la base de données est locale, mais elle sera rapidement migrée sur sql.minet.net Il faut donner les droits à l'utilisateur www-data sur les fichiers du serveur: chown www-data:www-data -R /etc/www/owncloud La configuration du LDAP se fait depuis l'interface web. Il faut au préalable activer l'application "Connection au LDAP". Dans la partie administration, on configure de cette manière la connection: Host: ldap-master.minet.net Port : 389 Base DN: ou=equipe,dc=minet,dc=net On peut facilement configurer les autres onglets. Dans l'onglet Avancé: Champ "nom d'affichage" de l'utilisateur : cn DN racine de l'arbre utilisateurs : ou=equipe,dc=minet,dc=net Champ "nom d'affichage" du groupe : cn DN racine de l'arbre groupes : ou=groups,dc=minet,dc=net Pour uploader des fichiers de taille importante, il faut regarder les fichiers de configuration de nginx et de php-fpm. Dans /etc/php5/fpm/php.ini post_max_size = 1G upload_max_size = 1G Dans /etc/nginx/nginx.conf : client_max_body_size = 1G Il faut faire la même configuration sur le revproxy s'il est utilisé pour l'accès au site. ===== Migration Owncloud vers une nouvelle machine ====== La migration se fait en 3 étapes: * Copie du fichier owncloud/data sur la nouvelle machine * Export de la base de donnée et import sur le nouveau serveur mysql * Mise à jour de la base de donnée par Owncloud: sudo -u apache php occ upgrade