| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
| owncloud_raspberry_pi [2013/05/16 20:52] – [Une installation automatique de owncloud] tbruyere | owncloud_raspberry_pi [2017/02/04 15:11] (Version actuelle) – wap |
|---|
| ====== Installation de ownCloud sur un raspberry pi ! ====== | ~~NOCACHE~~ |
| | ~~REVEAL theme=sky&transition=convex&controls=1&show_progress_bar=1&build_all_lists=1&open_in_new_window=1~~ |
| | |
| | ====== Installation de ownCloud sur un Raspberry Pi ! ====== |
| |
| Nous allons voir comment installer [[http://owncloud.org/|ownCloud]] sur le Raspberry Pi. On utilisera Nginx au lieu de Apache comme serveur web (([[http://www.hebergement-magento.net/2010/10/13/magento-apache-ou-nginx-part1 | Apache vs Nginx]])). Il est préféré ici car moins gourmand mais un peu plus difficile à optimiser que son homologue. | Nous allons voir comment installer [[http://owncloud.org/|ownCloud]] sur le Raspberry Pi. On utilisera Nginx au lieu de Apache comme serveur web (([[http://www.hebergement-magento.net/2010/10/13/magento-apache-ou-nginx-part1 | Apache vs Nginx]])). Il est préféré ici car moins gourmand mais un peu plus difficile à optimiser que son homologue. |
| Nous verrons aussi comment mettre ownCloud en https, la version sécurisée du protocole web http. | Nous verrons aussi comment mettre ownCloud en https, la version sécurisée du protocole web http. |
| | |
| | Ce sujet a fait l'objet d'un atelier (20 mai 2013) avec cette présentation :{{:presentation-owncloud-rpi.odp|}} |
| |
| ===== Définition de ownCloud ===== | ===== Définition de ownCloud ===== |
| ===== Installation ===== | ===== Installation ===== |
| |
| **0.** Installer [[http://www.raspbian.org/|Raspbian]] pour votre Raspberry. Vous trouverez la procédure à suivre résumée sur [[raspberry_pi#debian_sur_raspberry_pila_distribution_raspbian|cette page]] ! | ==== 0. Installer Raspbian pour votre Raspberry ==== |
| | Vous trouverez la procédure d'installation de [[http://www.raspbian.org/|Raspbian]] à suivre résumée sur [[raspberry_pi#debian_sur_raspberry_pila_distribution_raspbian|cette page]] ! |
| |
| <note tip>Pour la suite de l'installation, il faut disposer des droits d'administration. Cela se fait soit en appliquant d'abord la commande "sudo su" pour passer en mode "super-utilisateur", soit en faisant précéder de "sudo" toutes les commandes décrites ci-après !. | <note tip>Pour la suite de l'installation, il faut disposer des droits d'administration. Cela se fait soit en appliquant d'abord la commande "sudo su" pour passer en mode "super-utilisateur", soit en faisant précéder de "sudo" toutes les commandes décrites ci-après !. |
| </note> | </note> |
| |
| **1.** On met à jour la base de packages de Raspbian : | ==== 1. On met à jour la base de packages de Raspbian : ==== |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **2.** On installe les packages nécéssaires | ==== 2. On installe les packages nécéssaires==== |
| |
| <code> | <code> |
| <note important>On choisit **sqlite** comme base de donnée. Si on a moins de 10 utilisateurs, c'est largement suffisant.</note> | <note important>On choisit **sqlite** comme base de donnée. Si on a moins de 10 utilisateurs, c'est largement suffisant.</note> |
| |
| **3.** On installe php-apc (optimisation des performances) et php5-fpm (nécéssaire à nginx pour renvoyer le résultat de page PHP en HTML) | ==== 3. On installe php-apc et php5-fpm ==== |
| | php-apc est nécessaire pour l'optimisation des performances et php5-fpm est nécéssaire à nginx pour renvoyer le résultat de page PHP en HTML |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **4.** On configure le système pour que le serveur web [[http://wiki.nginx.org/Main|Nginx]] soit lancé par défaut au boot. On commence par désactiver apache2 actif par défaut : | ====4. Configuration du serveur web ==== |
| | On configure le système pour que le serveur web [[http://wiki.nginx.org/Main|Nginx]] soit lancé par défaut au boot. On commence par désactiver apache2 actif par défaut : |
| <code>update-rc.d -f apache2 remove</code> | <code>update-rc.d -f apache2 remove</code> |
| |
| |
| |
| **5.** On télécharge [[http://owncloud.org/install/|ownCloud]] (tar or zip file) dans le répertoire **/var/www**. En ligne de commande, on peut y arriver comme suit : | ====5. Téléchargement ==== |
| | On télécharge [[http://owncloud.org/install/|ownCloud]] (tar or zip file) dans le répertoire **/var/www**. En ligne de commande, on peut y arriver comme suit : |
| <code> | <code> |
| cd /var/www | cd /var/www |
| wget http://download.owncloud.org/community/owncloud-5.0.5.tar.bz2 | wget http://download.owncloud.org/community/owncloud-5.0.6.tar.bz2 |
| </code> | </code> |
| <note warning>le numéro 5.0.5 correspond à la version disponible le 12/05/2013. Il est à actualiser en consultant le site !</note> | <note warning>le numéro 5.0.6 correspond à la version disponible le 21/05/2013. Il est à actualiser en consultant le site [[https://owncloud.org/]] !</note> |
| |
| **6.** On décompresse l'archive dans **/var/www** | ====6. Décompression==== |
| | On décompresse l'archive dans **/var/www** |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **7.** On change le propriétaire et groupe du répertoire ownCloud | ====7. On change le propriétaire et groupe du répertoire ownCloud==== |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **8.** On crée le répertoire qui va recevoir les certificats pour activer ownCloud en https | ====8. On crée le répertoire qui va recevoir les certificats pour activer ownCloud en https==== |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **9.** On génère les certificats | ====9. On génère les certificats==== |
| |
| <code> | <code> |
| <note important>Attention : Il faut utiliser un mot de passe robuste pour générer le certificat. Le certificat est valable 365 jours. Il faudra en générer un nouveau dans un an :-) </note> | <note important>Attention : Il faut utiliser un mot de passe robuste pour générer le certificat. Le certificat est valable 365 jours. Il faudra en générer un nouveau dans un an :-) </note> |
| |
| **10.** On supprime les fichiers initules | ====10. On supprime les fichiers inutiles==== |
| |
| <code> | <code> |
| </code> | </code> |
| |
| 11. On configure Nginx pour charger ownCloud. On crée le fichier **/etc/nginx/sites-available/owncloud** (([[https://github.com/owncloud/documentation/blob/master/admin_manual/installation/installation_others.rst | Configuration de nginx]])) | ====11. On configure Nginx pour charger ownCloud==== |
| | On crée le fichier **/etc/nginx/sites-available/owncloud** (([[https://github.com/owncloud/documentation/blob/master/admin_manual/installation/installation_others.rst | Configuration de nginx]])) |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **12.** On active le site | ====12. On active le site==== |
| |
| <code> | <code> |
| </code> | </code> |
| |
| **13.** On modifie php pour permettre l'envoi de fichiers de maximum 900M. On modifie **/etc/php5/fpm/php.ini** (([[http://www.php.net/manual/fr/ini.core.php|Description de php.ini]])) | ====13. Paramètres d'envoi de fichiers==== |
| | On modifie php pour permettre l'envoi de fichiers de maximum 900M. On modifie **/etc/php5/fpm/php.ini** (([[http://www.php.net/manual/fr/ini.core.php|Description de php.ini]])) |
| |
| <code> | <code> |
| **post_max_size** : Définit la taille maximale des données reçues par la méthode POST. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize. | **post_max_size** : Définit la taille maximale des données reçues par la méthode POST. Pour charger de gros fichiers, cette valeur doit être plus grande que la valeur de upload_max_filesize. |
| |
| **14.** On relance Nginx et php5-fpm | ====14. On relance Nginx et php5-fpm==== |
| |
| <code> | <code> |
| ===== Configuration ===== | ===== Configuration ===== |
| |
| **1.** On se connecte sur ownCloud. Logiquement Nx va rediriger la requête du port 80 vers le port 443. | ====1. On se connecte sur ownCloud==== |
| | Logiquement Nx va rediriger la requête du port 80 vers le port 443. |
| |
| <code> | <code> |
| |
| |
| **2.** On sélectionne l'onglet administration. | ====2. On sélectionne l'onglet administration==== |
| |
| {{ :artwork:owncloud_install2.png?nolink&800 |}} | {{ :artwork:owncloud_install2.png?nolink&800 |}} |
| Cela permet de faire du nettoyage dans la base de donnée + d'autres choses toutes les 15 minutes. | Cela permet de faire du nettoyage dans la base de donnée + d'autres choses toutes les 15 minutes. |
| |
| **3.** On sélectionne l'onglet utilisateur. | ====3. On sélectionne l'onglet utilisateur.==== |
| |
| {{ :artwork:owncloud_install4.png?nolink&800 |}} | {{ :artwork:owncloud_install4.png?nolink&800 |}} |
| {{ :artwork:owncloud_install5.png?nolink&300 |}} | {{ :artwork:owncloud_install5.png?nolink&300 |}} |
| |
| **4.** On configure l'envoi d'email par ownCloud. | ====4. On configure l'envoi d'email par ownCloud.==== |
| |
| Il faut d'abord installer un client pour envoyer un email. Pour cela on utilise ssmtp. ssmtp permet à des applications d'envoyer des courriels via la commande /usr/sbin/sendmail. Il est beaucoup plus facile à mettre en place que sendmail. | Il faut d'abord installer un client pour envoyer un email. Pour cela on utilise ssmtp. ssmtp permet à des applications d'envoyer des courriels via la commande /usr/sbin/sendmail. Il est beaucoup plus facile à mettre en place que sendmail. |
| |
| [[https://www.youtube.com/watch?v=l0oa_YtVLOc|Démonstration de owncloud]] | [[https://www.youtube.com/watch?v=l0oa_YtVLOc|Démonstration de owncloud]] |
| | |
| | ===== Accès à votre serveur local via internet ===== |
| | Si votre serveur dispose d'une adresse IP dans votre réseau local et est donc facilement accessible localement, la situation est différente si vous souhaitez y accéder par l'extérieur, via internet. |
| | |
| | Il faut : |
| | * pouvoir utiliser un nom de domaine plus pratique que l'adresse IPv4 publique régulièrement modifiée du routeur (cas le plus fréquent avec les FAI) : services du type dyndns ou noip |
| | * s'assurer que les ports serveurs http et https sont ouverts (action à effectuer via le FAI) |
| | * rediriger les ports vers le serveur ownCloud local (configuration du routeur) |
| | |
| | Ces procédures, plus générales pour d'autres serveurs et pas seulement ownCloud sont expliquées [[config_serveur_auto_heberge|ici]] ! |
| |
| =====Problèmes divers===== | =====Problèmes divers===== |
| =====Références :===== | =====Références :===== |
| * [[http://pihomeserver.wordpress.com/2012/12/20/raspberry-pi-home-server-etape-14-installer-owncloud-en-https-avec-nginx/ | owncloud sur raspberry pi]] | * [[http://pihomeserver.wordpress.com/2012/12/20/raspberry-pi-home-server-etape-14-installer-owncloud-en-https-avec-nginx/ | owncloud sur raspberry pi]] |
| | * [[https://github.com/petrockblog/OwncloudPie|Script d'auto-installation de owncloud]] |
| * ... | * ... |
| |