{{tag>tutoriel}} ====== Installation du Raspberry Pi framboise ====== Installation matérielle : [[materiel:nanopc:raspi:start|]] ===== Mise en place d'un serveur unbound ===== Pour installer **unbound**, tapez : * sudo apt-get install unbound La configuration se fait en créant des fichiers ***.conf** dans le répertoire **/etc/unbound/unbound.conf.d/** Voici un exemple de fichier **local.conf** pour un serveur DNS avec déclaration automatique des sous-domaines : server: #verbosity: 1 # Répondre aux requêtes DNS sur toutes les interfaces réseau. interface: 0.0.0.0 port: 53 # ouverture à tout le monde access-control: 0.0.0.0/0 allow chroot: "" # emplacement du fichier de log logfile: "/var/log/unbound.log" # je ne souhaite pas "pourrir" le syslog use-syslog: no # zone *.chateau.parc local-zone: "chateau.parc." redirect local-data: "chateau.parc. IN A 127.0.0.1" # zone *.framboise.parc local-zone: "framboise.parc." redirect local-data: "framboise.parc. IN A 127.0.0.1" # Utilisation du DNS "normal" (ici, celui de la box) pour tout le reste forward-zone: name: "." forward-addr: 192.168.0.254 Pour tester, lancez : * unbound-checkconf /etc/unbound/unbound.conf.d/local.conf Pour lancer le service, tapez dans un terminal : * sudo systemctl start ubound Pour le relancer : * sudo systemctl restart ubound Pour l'utiliser deppuis un PC du réseau, sur le PC du réseau, sélectionner la modification du réseau : {{:tutoriel:installation:framboise:modif_connexion.png|}} {{:tutoriel:installation:framboise:connexions_reseau.png|}} Onglet **Paramètres IPV4**, choisir : ? Méthode : Adresses automatiques uniquement ? Serveurs DNS : adresse IP locale du serveur unbound {{:tutoriel:installation:framboise:modification_de_connexion.png?600|}} Cliquez sur Enregistrer ===== Changement de version de Raspbian ===== Pour connaître la version en cours, * cat /etc/*-release Pour changer de version, voir [[http://www.journaldulapin.com/2016/03/04/passer-de-wheezy-a-jessie-sur-un-raspberry-pi/]] ===== Serveur FTP ===== Branchez-vous via ssh sur le RPI. ==== Installation ==== Installez **vsftpd** et **db-util** sur le RPI (appuyez sur **o** si on vous le demande) * sudo apt-get install vsftpd db-util Sauvegardez les fichiers **/etc/vsftpd.conf** et /etc/pam.d/vsftpd : * sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.original sudo cp /etc/pam.d/vsftpd /etc/pam.d/vsftpd.original Pour revenir à l'état initial, il suffit de faire l'inverse : * sudo cp /etc/vsftpd.conf.original /etc/vsftpd.conf sudo cp /etc/pam.d/vsftpd.original /etc/pam.d/vsftpd Le serveur est prêt, désormais, vous pouvez vous connecter au RPI par FTP avec les informations suivantes : ? Hôte : Adresse IP ou nom du RPI ? Identifiant : pi ? Mot de passe : mot de passe de l'utilisateur pi sur le RPI Cet utilisateur peut accéder à tout le RPI, selon ses autorisations. ==== Configuration ==== Voici les lignes du fichier **/etc/vsftpd.conf** fourni à l'installation : ++++ fichier /etc/vsftpd.conf| ? listen=NO : Si activé, vsftpd fonctionnera en mode autonome. : __Valeur par défaut__ : **YES** ? listen_ipv6=YES : Si activé, vsftpd s'exécute en mode autonome, mais n'écoute que les sockets IPv6. : __Valeur par défaut__ : **NO** ? anonymous_enable=NO : autorise ou non les connexions anonymes. : Si activé, les utilisateurs ftp et anonyme sont tous deux reconnus comme des connexions anonymes. : __Valeur par défaut__ : **NO** ? local_enable=YES : Autorise ou non les connexions locales. : Si activé, les comptes d'utilisateurs dans /etc/passwd (ou référencés par votre configuration PAM) peuvent être utilisés pour vous connecter. : Doit être activé pour autoriser une connexion non-anonyme, y compris les utilisateurs virtuels. : __Valeur par défaut__ : **NO** ? #write_enable=YES : Autorise ou non si les commandes FTP suivantes : STOR, DELE, RNFR, RNTO, MKD, RMD, APPE et SITE. : __Valeur par défaut__ : **NO** ? #local_umask=022 : Valeur de l'umask (en base 10) pour la création de fichier pour les utilisateurs locaux. : __Valeur par défaut__ : **077** ? #anon_upload_enable=YES : Si YES, les utilisateurs anonymes pourront télécharger des fichiers sous certaines conditions. : Pour que cela fonctionne, l'option write_enable doit être activée et l'utilisateur ftp anonyme doit avoir l'autorisation d'écriture sur les emplacements de téléchargement souhaités. : Ce paramètre est aussi également requis pour permettre aux utilisateurs virtuels de télécharger : Par défaut, les utilisateurs virtuels sont traités avec un privilège anonyme (c'est-à-dire très restreint). : __Valeur par défaut__ : **NO** ? #anon_mkdir_write_enable=YES : Si YES, les utilisateurs anonymes sont autorisés à créer de nouveaux répertoires sous certaines conditions. : Pour que cela fonctionne, l'option write_enable doit être activée et l'utilisateur ftp anonyme doit avoir l'autorisation d'écriture sur le répertoire parent. : __Valeur par défaut__ : **NO** ? dirmessage_enable=YES : Si YES, les utilisateurs du serveur FTP peuvent recevoir des messages lorsqu'ils entrent pour la première fois dans un nouveau répertoire. : __Valeur par défaut__ : **NO** (mais le fichier de configuration exemple le met à YES) ? use_localtime=YES : Si YES, vsftpd affiche les listes de répertoires avec l'heure selon votre fuseau horaire local. : __Valeur par défaut__ : **NO** (afficher GMT). ? xferlog_enable=YES : Si YES, un fichier journal détaillé des téléchargements sera maintenu. : Par défaut, ce fichier sera placé sur /var/log/vsftpd.log, mais cet emplacement peut être changé en utilisant le paramètre de configuration setting vsftpd_log_file. : __Valeur par défaut__ : **NO** (mais le fichier de configuration exemple le met à YES) ? connect_from_port_20=YES : contrôle si les connexions de données de type PORT utilisent le port 20 (ftp-data) sur la machine serveur. Pour des raisons de sécurité, certains clients peuvent insister sur le fait que c'est le cas. À l'inverse, la désactivation de cette option permet à vsftpd de fonctionner avec un privilège légèrement inférieur. : __Valeur par défaut__ : **NO** (mais le fichier de configuration exemple le met à YES) ? #chown_uploads=YES : Si YES, tous les fichiers téléchargés de manière anonyme auront le propriétaire spécifié dans le paramètre chown_username. Utile d'un point de vue administratif, et peut-être plus sécurisé. : __Valeur par défaut__ : **NO** ? #chown_username=whoever : nom de l'utilisateur qui est propriétaire des fichiers téléversés anonymement. Cette option n'est pertinente que si l'option chown_uploads est définie. : __Valeur par défaut__ : **root** ? #xferlog_file=/var/log/vsftpd.log : nom du fichier sur lequel est écrit le journal de transfert du style wuftpd. Le journal de transfert n'est écrit que si l'option xferlog_enable est activée, ainsi que xferlog_std_format. : Sinon, il est écrit si vous avez défini l'option dual_log_enable. : __Valeur par défaut__ : **/var/log/xferlog** ? #xferlog_std_format=YES : Si YES, le fichier journal de transfert sera écrit en format xferlog standard, tel qu'utilisé par wu-ftpd. Utile pour utiliser les générateurs de statistiques de transfert existants. Toutefois, le format par défaut est plus lisible. L'emplacement par défaut pour ce style de fichier journal est /var/log/xferlog mais vous pouvez le modifier avec le paramètre xferlog_file. : __Valeur par défaut__ : **NO** ? #idle_session_timeout=600 : Délai d'attente maximum pour un client distant entre les commandes FTP, en secondes. : Si le délai d'attente se tremine, le client distant est lancé. : __Valeur par défaut__ : **300** ? #data_connection_timeout=120 : Délai d'attente maximum, en secondes, quand les transferts de données s'arrêtent. : S'il se déclenche, le client distant est lancé. : __Valeur par défaut__ : **300** ? #nopriv_user=ftpsecure : nom de l'utilisateur utilisé par vsftpd pour n'avoir aucun privilège. : Notez que cela devrait être un utilisateur dédié, plutôt que nobody. : __Valeur par défaut__ : **personne** ? #async_abor_enable=YES : Si activé, la commande FTP spéciale appelée "async ABOR" sera activée. : Désactivée par défaut car utilisée par des sites malveillants et difficile à gérer. : __Valeur par défaut__ : **NO** ? #ascii_upload_enable=YES : Si activé, les téléversement de données en mode ASCII seront honorés : __Valeur par défaut__ : **NO** ? #ascii_download_enable=YES : Si activé, les téléchargements de données en mode ASCII seront honorés ? #ftpd_banner=Welcome to blah FTP service. : Bannière de bienvenue affichée par vsftpd lors d'une première connexion. : __Valeur par défaut__ : (**aucune** - la bannière vsftpd par défaut s'affiche) ? #deny_email_enable=YES : Si activé, vous pouvez fournir une liste des mots de passe anonyme des réponses email qui provoquent le refus de connexion. : Par défaut, le fichier contenant cette liste est /etc/vsftpd.banned_emails, mais vous pouvez remplacer ceci par le paramètre banned_email_file. : __Valeur par défaut__ : **NO** ? #banned_email_file=/etc/vsftpd.banned_emails : nom du fichier contenant une liste de mots de passe anonymes par e-mail qui ne sont pas autorisés. : __Valeur par défaut__ : /etc/vsftpd.banned_emails ? #chroot_local_user=YES : Si YES, les utilisateurs locaux seront (par défaut) placés dans une prison chroot() dans leur répertoire personnel à la connexion. ? #chroot_list_enable=YES : Si activé, vous pouvez fournir une liste des utilisateurs locaux qui sont placés dans une prison chroot() dans leur répertoire personnel à la connexion. : Si chroot_local_user est à YES, la liste devient une liste d'utilisateurs qui ne sont PAS placés dans une prison chroot(). : Le fichier de cette liste défini par le paramètre chroot_list_file. : __Valeur par défaut__ : **NO** ? #chroot_list_file=/etc/vsftpd.chroot_list : Nom d'un fichier contenant une liste d'utilisateurs locaux qui seront placés dans une prison chroot() dans leur répertoire home. : Cette option n'est pertinente que si l'option chroot_list_enable est activée. : Si l'option chroot_local_user est activée, le fichier de liste devient une liste d'utilisateurs qui ne sont PAS placés dans une prison chroot() : __Valeur par défaut__ : **/etc/vsftpd.chroot_list** ? #ls_recurse_enable=YES : Si activé, ce paramètre permet l'utilisation de 'ls-R'. : __Valeur par défaut__ : **NO** ? secure_chroot_dir=/var/run/vsftpd/empty : Nom d'un répertoire vide qui ne doit pas être écrit par l'utilisateur ftp. : Ce répertoire sert de prison chroot() sécurisée quand vsftpd ne nécessite pas l'accès au système de fichiers. : __Valeur par défaut__ : /var/run/vsftpd/empty ? pam_service_name=vsftpd : nom du service PAM qui sera utilisé parvsftpd. : __Valeur par défaut__ : **vsftpd** ? rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem : emplacement du certificat RSA pour les connexions cryptées SSL. : __Valeur par défaut__ : /usr/share/ssl/certs/vsftpd.pem ? rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key : emplacement de la clé privée RSA pour les connexions cryptées SSL. : Si cette option n'est pas définie, la clé privée devrait être dans le même fichier que la certification. : __Valeur par défaut__ : **(aucun)** ? ssl_enable=NO : Si activé et que vsftpd a été compilé avec OpenSSL, vsftpd prend en charge les connexions sécurisées via SSL. : Ceci s'applique au contrôle de la connexion et aux connexions de données. Vous aurez également besoin d'un client avec un support SSL. REMARQUE!! Prudence en activant cette option. Ne l'activez que si vous en avez besoin. : __Valeur par défaut__ : **NO** ++++ Sur le RPI, ouvrez le fichier **/etc/vsftpd.conf** et ajoutez à la fin les lignes suivantes : (...) # ===== Personnalisation ===== # Pour éviter l'erreur # OOPS: vsftpd: refusing to run with writable root inside chroot() allow_writeable_chroot=YES # Pas de connexion anonyme, rien que des connexions non-anonymes # (cas des utilisateurs virtuels) anonymous_enable=NO local_enable=YES # Pour des raisons de sécurité, on interdit toute action d'écriture write_enable=NO anon_upload_enable=NO anon_mkdir_write_enable=NO anon_other_write_enable=NO # guest_enable active les utilisateurs virtuels # guest_username fait correspondre tous les utilisateurs virtuels # à l'utilisateur d'Apache 2 guest_enable=YES guest_username=www-data # Droits par défaut des fichiers uploadés anon_umask=002 # On enferme les utilisateurs virtuels dans leur dossier chroot_local_user=YES # Nombre maximum de sessions = 100 # Nombre maximum de sessions par IP = 5 max_clients=100 max_per_ip=5 # Nom du service PAM utilisé par vsftpd pam_service_name=vsftpd # Utiliser les configurations individuelles pour chaque utilisateur user_config_dir=/etc/vsftpd # Message d'accueil ftpd_banner=Bienvenue sur ce serveur FTP ! # Autoriser les utilisateurs virtuels # à changer les permissions de leurs fichiers chmod_enable=YES virtual_use_local_privs=YES # Utiliser le temps local et non pas le temps universel (UTC) use_localtime=YES ==== Utilisateurs virtuels ==== L'installation de vsftp a créé l'utilisateur **ftp**, dont le home est **/srv/ftp**. Créez le répertoire pour la configuration des utilisateurs virtuels : * sudo mkdir -p /etc/vsftpd Créez avec les droits d'administration le fichier **/etc/vsftpd/login.txt** pour y écrire les utilisateurs et leurs mots de passe (deux lignes pour chaque utilisateur) : admin mdp1 admiweb mdp2 user raspberry Créez la base de données : * sudo db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db Protégez les fichiers : * sudo chmod 600 /etc/vsftpd/login.* Ouvrez avec les droits d'administration le fichier **/etc/pam.d/vsftpd** pour remplacer son contenu par ceci : auth required pam_userdb.so db=/etc/vsftpd/login account required pam_userdb.so db=/etc/vsftpd/login ===== Serveur LAMP ===== ===== Mise en place d'un NAS ===== ==== Samba ==== Installez **samba** : * sudo apt-get install samba Pour rendre le disque du RPI accessible à tous, ouvrez avec les droits d'administration le fichier **/etc/samba/smb.conf** pour le modifier comme ceci : ^ section ^ remplacer ^ par ^ | [global] | workgroup = WORKGROUP | le groupe de travail voulu | | [homes] | read only = yes | read only = no | Redémarrez samba : * sudo systemctl restart samba-ad-dc.service ==== Utilisateurs Samba ==== Sur un RPI, l'utilisateur **pi** est déjà défini par défaut. Pour qu'il soit un utilisateur **samba**, tapez : * sudo smbpasswd -a pi et fournissez deux fois le mot de passe de **pi** pour **samba** comme demandé. On peut ajouter d'autres utilisateurs pour **samba**. ==== Zone de stockage publique ==== Supposons que le disque soit monté sur **/disk/data** Créez un répertoire pour stocker les fichiers publics : * sudo mkdir /disk/data/public et donnez-lui les droits voulus : - propriétaire : pi, groupe pisudo chown -R pi:pi /disk/data/public - droits : sudo chmod -R ug=rwx,o=rx /disk/data/public Ouvrez avec les droits d'administration le fichier **/etc/samba/smb.conf** et ajoutez à la fin les lignes suivantes : [public] comment = NAS_Data public path = /disk/data/public valid users = @pi force group = pi create mask = 0660 directory mask = 0771 read only = no -> Ce disque sera vu sur le réseau comme //public//. Redémarrez samba : * sudo systemctl restart samba-ad-dc.service Vous pouvez créer de la même façon un autre partage et régler les autorisations d'accès. ==== Accès depuis un PC du réseau ==== Ouvrez **nautilus**. Tapez Ctrl-L et entrez : * smb:// ? : adresse IP ou nom d'hôte du RPi Renseignez : * l'utilisateur (**pi**) * le mot de passe samba de **pi** * cochez //retenir toujours// si vous voulez {{ :tutoriel:reseau:nas-connexion-linux.png?600 |}} et naviguez dans les partages. ===== Problèmes connus ===== ===== Voir aussi ===== * **(en)** [[http://]] * **(fr)** [[http://]] ---- //Basé sur << [[http://|ARTICLE]] >> par AUTEUR.//