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]] |
* ... | * ... |
| |