On ne présente plus Owncloud, qui est une alternative a dropbox, google drive et microsoft onedrive. Voici un peu résumé de l’installation de cette outil sur votre raspberry-pi, vps ou dédié tournant sous Debian avec le serveur Nginx, PHP5-FPM et Mariadb.
Petite nouveauté, vous pouvez retrouver un sondage en bas de page, si vous avez 30 secondes a perdre n’hésitez pas !
Installation
Les pré-requis
- Avoir une machine linux avec Debian ou Raspbian,
- avoir mis en place un serveur web avec PHP,
- une base de données,
- un certificat ssl
Avoir installer les paquets suivants:
sudo apt-get update sudo apt-get install php5-gd php5-json php5-mysql php5-curl php5-intl php5-mcrypt php5-imagick
Récupérer les sources
Je ne parlerai pas de l’installation depuis un paquet Debian car il nous aurait fallut un serveur web apache et non Nginx, je vous laisse faire une recherche sur Google pour trouver la procédure.
Première possibilité
Le tout automatique, oui c’est possible !! mais il faut avoir configurer le virtualhost et la base de données. je l’explique un peu plus bas.
se placer dans le répertoire /var/www/ et lancer la seule et unique commande:
wget -N "https://download.owncloud.com/download/community/setup-owncloud.php"
Il vous est possible de créer un répertoire au préalable, mais ce n’est pas obligé car le setup vous proposera si vous le souhaitez car celui-ci le fera à votre place.
[fusion_builder_container hundred_percent= »yes » overflow= »visible »][fusion_builder_row][fusion_builder_column type= »1_1″ background_position= »left top » background_color= » » border_size= » » border_color= » » border_style= »solid » spacing= »yes » background_image= » » background_repeat= »no-repeat » padding= » » margin_top= »0px » margin_bottom= »0px » class= » » id= » » animation_type= » » animation_speed= »0.3″ animation_direction= »left » hide_on_mobile= »no » center_content= »no » min_height= »none »]
setup-owncloud
Welcom
setup-owncloud-step1
Petite erreur de droits sur le répertoire
setup-owncloud-step1-ok
Définition du répertoire courant
setup-owncloud-step2
Download des sources Ok prochaine étape l’installation
Seconde possibilité
Le faire à la main, mais si c’est facile tout est plutôt bien expliqué la documentation.
L’url pour télécharger se trouve sur cette page.
sudo wget https://download.owncloud.org/community/owncloud-7.0.2.tar.bz2
Nous avons donc une archive qu’il va falloir extraire:
sudo tar -xjf owncloud-7.0.2.tar.bz2
Voila rien de plus pour le moment.
Troisième possibilité
Nous allons utiliser Git ce qui permet de mettre à jour les sources plus régulièrement. Avez vous Git ?
Non alors un simple:
sudo apt-get update sudo apt-get install git
et utiliser ces commandes pour obtenir le même résultat que l’archive ci-dessus:
sudo git clone -b stable7 https://github.com/owncloud/core.git owncloud sudo git clone -b stable7 https://github.com/owncloud/3rdparty.git owncloud/3rdparty sudo git clone -b stable7 https://github.com/owncloud/documents.git owncloud/apps/documents sudo git clone -b stable7 https://github.com/owncloud/contacts.git owncloud/apps/contacts sudo git clone -b stable7 https://github.com/owncloud/bookmarks.git owncloud/apps/bookmarks sudo git clone -b stable7 https://github.com/owncloud/calendar.git owncloud/apps/calendar sudo git clone -b stable7 https://github.com/owncloud/gallery.git owncloud/apps/gallery sudo git clone -b stable7 https://github.com/owncloud/updater.git owncloud/apps/updater sudo git clone -b stable7 https://github.com/owncloud/apps.git owncloud/apps2 sudo git clone https://github.com/owncloud/news.git owncloud/apps2/news sudo git clone https://github.com/owncloud/maps.git owncloud/apps2/maps sudo git clone https://github.com/owncloud/mozilla_sync.git owncloud/apps2/mozilla_sync sudo git clone https://github.com/owncloud/notes.git owncloud/apps2/notes
nous avons donc les sources de Owncloud dans le répertoire /var/www/ , si vous suivez cette solution ou la se seconde solution il ne reste plus qu’a:
- Créer un répertoire qui contiendra toute les données,
- donner les droits 770 au répertoire data,
- donner les droits d’écriture au groupe,
- changer le user et le groupe de chaque fichier et dossier de Owncloud.
sudo mkdir owncloud/data sudo chmod 770 owncloud/data sudo chmod g+w owncloud/config sudo chown -R www-data:www-data ./
[poll id= »2″]
Mise en place de owncloud sur le serveur
Cette étape est valable pour les 3 solutions décrites ci-dessus.
Virtualhost de Nginx
Toujours sur la même page d’instruction d’installation l’équipe de Owncloud nous mets à disposition la configuration d’un virtualhost pour Nginx:
upstream php-handler { server 127.0.0.1:9000; #server unix:/var/run/php5-fpm.sock; } server { listen 80; server_name cloud.example.com; return 301 https://$server_name$request_uri; # enforce https } server { listen 443 ssl; server_name cloud.example.com; 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/; client_max_body_size 10G; # set max upload size fastcgi_buffers 64 4K; 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/ index.php; } 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; } # Optional: set long EXPIRES header on static assets location ~* \.(?:jpg|jpeg|gif|bmp|ico|png|css|js|swf)$ { expires 30d; # Optional: Don't log access to assets access_log off; } }
On pense au lien symbolique:
sudo ln -s /etc/nginx/sites-available/cloud.example.com /etc/nginx/sites-enabled/cloud.example.com
PHP
Nous allons faire une petite du php.ini pour autoriser l’upload de gros gros fichiers sur notre cloud.
Les paramètres à modifier sont:
allow_url_fopen = on allow_url_include = on memory_limit = 2048M post_max_size = 20000M upload_max_filesize = 20000M max_input_time = -1 max_execution_time = 0
La base de données
nous allons créer une base, un utilisateur, lui affecter tous les droits sur cette base et recharger les privilèges.
CREATE DATABASE example_cloud; CREATE USER 'user_examplecloud'@'localhost' IDENTIFIED BY 'fdsfedserez54r4ezr7ez'; GRANT ALL PRIVILEGES ON example_cloud.* TO 'user_examplecloud'@'localhost'; FLUSH PRIVILEGES;
La fin de l’installation
Cette partie est commune a toutes les solutions présentées ci-dessus.
install-owncloud
Welcome to install
install-owncloud-1
Les renseignements habituels
install-owncloud-ok
L’installation est OK
Bienvenue sur votre nuage
presentation-owncloud
Les fichiers et page pricipale
presentation-owncloud1
Les applis mises à dispos
presentation-owncloud2-documents
Vos documents
presentation-owncloud2-documents1
Compatible avec Word
presentation-owncloud3-calendriers
Un calendrier avec ajout d’événement
presentation-owncloud4-galerie
Vos albums photos
presentation-owncloud4-galerie1
Les photos de l’album
presentation-owncloud5-contacts
Vos contacts
presentation-owncloud5-contacts1
Ajout d’un contact
presentation-owncloud6-favoris
Vos favoris
presentation-owncloud6-plus-dapps
Les applications disponnibles
presentation-owncloud8-admin
Le panel utilisateur avec le lien pour l’administration
presentation-owncloud8-admin1-users
Les utilisateurs et droits
presentation-owncloud8-admin3
le panel admin un peu plus bas
Configuration
Le cron
un petit :
sudo crontab -e
# minute heure jour mois jour de la semaine # +---------minute (0-59) # | +-------heure (0-23) # | | +-----jour du mois (1-31) # | | | +---mois (1-12) # | | | | +-jour de la semaine (0-7) sunday=0 or 7 # | | | | | # - - - - - # m h d m d # */5 * * * * /usr/bin/php /var/www/owncloud/cron.php
Les mails
J’ai eu ce message d’erreur lorsque j’ai essayé de m’envoyer un mail pour vérifier que tout fonctionne:
Could not instantiate mail function.
Deux jours pour trouver la solution !!! Et ça vient d’une petite bêtise.
En effet lors de l’install de Nginx avec PHP-FPM je n’avais pas renseigné dans le php.ini le smtp, du coup j’ai tenté les différentes possibilités dans Owncloud pour l’envoie de mail (mail fonction PHP, Sendmail et SMTP).
Le truc c’est qu’Owncloud a gardé dans le config.php des valeurs !! Donc même après avoir le php.ini j’avais l’erreur. la solution a été de virer tout ce qui touchait à la config du mail dans le fichier config/config.php.
Voila voila, il ne reste plus qu’a vous amusez, ne vous inquiétez pas d’ici peu il y aura de nouveaux articles sur Owncloud.[/fusion_builder_column][/fusion_builder_row][/fusion_builder_container]