====== Installer Owncloud sur Raspberry Pi ======
===== Prérequis =====
* avoir une Raspberry Pi en Raspbian raccordée en filaire à la box ou au routeur ;
* La Rasberry doit disposer d'une adresse IP fixe ;
* Pour accéder à votre Owncloud depuis internet, vous devez disposer d'un nom de domaine pointant vers l'adresse IP publique de votre Box/routeur. (cf no-ip.org, dyndns, ...).
//**/!\ pour les cartes SD, il est nécessaire d'étendre la partition :**//
sudo raspi-config
expand_rootfs
//Avec l'éditeur nano, pour enregistrer : Ctrl+O et pour quitter Ctrl+X.//
* Il est également important que la Raspberry soit à jour :
sudo apt-get update
sudo apt-get upgrade
===== Configuration de SSH =====
Editer /etc/ssh/sshd_config avec nano par exemple :
sudo nano /etc/ssh/sshd_config
Il est plutôt conseillé de changer le numéro de port d'écoute qui par défaut est le 22.
Il est possible de le changer.
Dans ce cas, en choisir un au delà du numéro 1024, par exemple : 12345.
A la ligne PermitRootLogin pour changer yes en no afin d'éviter de se retrouver root à distance tant en local qu'à travers internet.
Ajoutez aussi à la fin du fichier la ligne AllowUsers pi, pour n'autoriser que pi (votre utilisateur par défaut sur une Raspberry Pi) à se connecter à SSH.
Sur le NAT de votre box ou routeur, faire que votre ip publique de type xxx.xxx.xxx.xxx sur le port 12345 soit renvoyée vers le port 22 de votre adresse ip privée de type 192.168.xxx.xxx:22 (l'adresse IP statique de la Raspberry Pi). De la sorte nous disposons d'un accès SSH à la Raspberry Pi sur le port 12345 de l'adresse IP publique du routeur/box.
Il faut également rediriger les ports sources 80 et 443 respectivement vers les port 80 et 443 de la Raspberry Pi afin de permettre l'accès à l'interface web Owncloud.
Soit au niveau du NAT dans la box ou le routeur :
* xxx.xxx.xxx.xxx:12345 vers 192.168.xxx.xxx:22
* xxx.xxx.xxx.xxx:80 vers 192.168.xxx.xxx:80
* xxx.xxx.xxx.xxx:443 vers 192.168.xxx.xxx:443
Pour finir :
sudo service ssh restart
===== Configuration de l'interface réseau =====
Il faut éditer le fichier /etc/network/interfaces en commentant tout avec un # devant chaque ligne puis en rectifiant comme suit :
sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
iface eth0 inet static
address 192.168.xxx.xxx
gateway 192.168.xxx.yyy
netmask 255.255.255.0
===== Installation d'Apache2 et php5 =====
sudo apt-get install apache2 php5 libapache2-mod-php5
===== Installation de MySQL: =====
sudo apt-get install mysql-server mysql-client php5-mysql
**/!\ L'identifiant sera par défaut root, et le mot de passe choisi seront ceux à recopier plus tard lors de la finalisation de l'installation d'owncloud.
**
sudo service apache2 restart
===== Installation de fail2ban : =====
Cela permet de bannir les adresses ip essayant de se connecter "furieusement".
sudo apt-get install fail2ban
Ensuite, il faut éditer le fichier de configuration afin de donner une adresse mail afin d'envoyer les rapports de ban.
sudo nano /etc/fail2ban/jail.conf
destemail = votre@email.com
Toujours dans ce même fichier, rechercher la ligne qui commence par action = afin de rajouter mwl après le _ afin d'avoir un rapport complet.
action =%(action_mwl)s
Ensuite, toujours dans le même fichier, afin d'avoir les rapports sur les principaux services, il faut remplacer false par true dans les parties suiavntes :
* ssh ;
* ssh-ddos ;
* apache ;
* apache-noscript ;
* apache-overflows.
===== Installation de sendmail =====
C'est pour pouvoir envoyer, entre autres, les rapports de fail2ban.
sudo apt-get install sendmail
===== Installation de owncloud =====
sudo apt-get install owncloud
Ensuite, se connecter à l'interface de owncloud via un navigateur web :
- en local (avec votre ip privée) :
http://192.168.xxx.yyy/owncloud
ou depuis le net (avec votre ip publique) :
http://xxx.xxx.xxx.xxx/owncloud
afin de compléter les champs suivants :
* choisir un nom pour le compte administrateur d'owncloud avec son mot de passe associé ;
* redonner le couple utilisateur/mot de passe de mysql (par défaut : root/le mot de passe que vous avez choisi lors de l'installation de mysql) ;
* donner un nom pour la base sql d'owncloud (owncloud fera l'affaire).
===== Activer le support SSL =====
Editer le fichier /etc/owncloud/config.php pour y forcer le ssl et
ainsi passer automatiquement de http vers https lors de la connection à owncloud.
sudo nano /etc/owncloud/config.php
ajouter dans les différentes options la ligne suivante :
"forcessl" => true,
Arrêter Apache2 :
sudo /etc/init.d/apache2 stop
==== Activer le mode ssl dans Apache2 ====
sudo a2enmod ssl
Créer un fichier owncloud.https :
sudo nano /etc/apache2/sites-available/owncloud.https
Dans lequel vous entrerez ces lignes :
NameVirtualHost *:443
SSLEngine On
SSLOptions +FakeBasicAuth +ExportCertData +StrictRequire
SSLCertificateFile /etc/ssl/certs/owncloud.crt
SSLCertificateKeyFile /etc/ssl/private/owncloud.key
==== Activer le site owncloud en https ====
sudo a2ensite owncloud.https
Par défaut, le serveur Apache2 écoute à priori le port 443.
Si ça n'était pas le cas, ajouter Listen 443 dans le fichier
/etc/apache2/ports.conf.
sudo nano /etc/apache2/ports.conf
Listen 443
Se positionner dans le répertoire /etc/ssl afin d'y générer clés et
certificat nécessaires. Les certificats ne seront pas protégés par une
"passe-phrase" et ne seront pas validés par une autorité. Mais cela
fonctionnera quand même et suffira pour son nuage personnel.
cd /etc/ssl/
==== Générer les clés ====
sudo openssl genrsa -out owncloud.key 2048
sudo openssl req -new -key owncloud.key -out owncloud.csr
Compléter ensuite, par exemple et à personnaliser, les renseignements
relatifs au certificat comme suit :
Country Name (2 letter code) [AU]: FR
State or Province Name (full name) [Some-State]: France
Locality Name (eg, city) []: Avignon
Organization Name (eg, company) [Internet Widgits Pty Ltd]:AviGNU
Organizational Unit Name (eg, section) []:owncloud
Common Name (eg, YOUR name) []:avignu.tuxfamily.org
Email Address []:avignu@mon.domaine.ndd
==== Générer le certificat ====
sudo openssl x509 -req -days 365 -in owncloud.csr -signkey owncloud.key -out owncloud.crt
Copier clé et certificat dans le répertoire qui a été précisé dans le
fichier owncloud.https :
sudo cp owncloud.crt /etc/ssl/certs
sudo cp owncloud.key /etc/ssl/private
Redémarrer Apache2 :
sudo /etc/init.d/apache2 start
**PouetPouetRatatouille dit merci @Flo|va_nu_pied ;-)**
//p.s. : un lien pour réaliser l'installation sans passer par les dépôts (non testé)//
http://robindavid.comli.com/raspberry-pi-first-config-and-services-configuration/