======LaboM Yunohost sur raspberrypi====== **Cette page est obsolète:** Pour l'installation de Yunohost voir [[installation_de_yunohost_sur_raspberry_pi|Yunohost 3.1 ou +]] ===== LaboM ===== Le but est d'installer un ensemble d'applications et de services Internet (via Yunohost) sur une Raspberry Pi équipée d'une carte wifi, et de faire en sorte que ces services soient consultables sans que la raspberry soit connectée au net. ça permet de constituer un serveur ressources autonome dans lequel on peut retrouver des PADs, un wiki, un owncloud, une piratebox et [[https://yunohost.org/#/apps_fr|toutes les applications proposées via yunohost]] ===== Installation de base ===== Je me suis appuyé sur ce tutoriel avec quelques modifications (merci à son auteur !) http://avignu.wiki.tuxfamily.org/doku.php?id=documentation:yunohost-jessie Formatage de la carte SD et y copier les fichiers raspbian Il est nécessaire de : * formater la carte SD en FAT 32 * identifier la partition, le nom de la carte SD df /dev/sdb1           15232464   2188800   13043664  15% /media/b01/GNURADIO c'est sdb1 sudo umount /dev/sdb1 sudo mkfs.vfat -n 'PBKey' -I /dev/sdb1 * télécharger le fichier zip de la dernière version de raspbian jessie ou jessie lite si vous ne comptez pas utiliser l'interface graphique https://www.raspberrypi.org/downloads/raspbian/ * possible également d'installer raspbian-ua-netinst une version encore plus minimale via https://github.com/debian-pi/raspbian-ua-netinst/releases/tag/v1.0.8.1 ==== Raspbian jessie light ==== Installer l'image sur la carte SD as usual : https://www.raspberrypi.org/documentation/installation/installing-images/README.md Il convient ensuite d'installer l'image sur une carte SD (classe 10) 16 Gbits c'est pas mal, pour installer, une fois identifié le périphérique correspondant à la carte SD avec la commande mount chez moi c'est /dev/sdb1, donc ça donne umount /dev/sdb1 sudo dd bs=4M if=2016-05-27-raspbian-jessie-lite.img of=/dev/sdb ! **ne pas mettre le 1 de sdb1 pour la commande dd** Dans un autre terminal, pour suivre l'avancée de dd, taper : sudo pkill -USR1 -n -x dd ou utiliser dcfdd qui montre la progression sudo dcfldd statusinterval=10 bs=4M if=/mnt/diskimages/ISOs/Raspberry\ Pi/2015-11-21-raspbian-jessie-lite.img of=/dev/sdb ==== Suite de l'installation pour Raspbian Jessie lite ligne droite ==== Une fois la raspi branchée lancée (ça clignote vert), il faut ensuite trouver la raspi sur le réseau, plusieurs techniques : sudo ifconfig ou hostname -I donne l'adresse IP de son ordi type 192.168.1.101, on va scanner ce réseau avec nmap sudo apt-get install nmap sudo nmap -sn 192.168.1.0/24 Nmap scan report for raspberrypi.local (192.168.1.102) Host is up (0.0031s latency). MAC Address: 0C:D2:92:86:01:EB (Raspberry Pi Fondation) Faire alors ssh pi@192.168.1.102 si pas trouver, tenter un truc du genre (à adapter en fonction de son domaine) ssh pi@raspberry.local ça permet de rentrer en ssh dans la raspberry et de taper des commandes, on commence par sudo raspi-config étendre la partition (mais plus besoin avec jessie light car automatique(ne focntionne pas sur clé USB, le faire dans gparted)), adapter les Locales, rebooter, une fois cela fait, rebelote en suivant ces indications https://yunohost.org/#/install_manually_fr : dpkg-reconfigure locales dpkg-reconfigure tzdata Advanced Option : Hostname : changer pi en YunoHost Le grand ménage des packets sudo apt-get update sudo apt-get upgrade Installez git sudo apt-get install git Clonez le dépôt du script d’installation de YunoHost git clone [[https://github.com/YunoHost/install_script| https://github.com/YunoHost/install_script]]  /tmp/install_script L’utilisateur root doit avoir un mot de passe, si ce n’est pas le cas, créez-en un (sinon le script d’installation échoue) : sudo passwd root Lancez le script d’installation en root su cd /tmp/install_script && ./install_yunohost Répondre oui à l'écrasement des fichiers de config de metronome et +, si tout va bien : {{media_13:yunohostpostinstallno.png?660|fig:Yunohostpostinstallno.png}}\\ Répondre NON au lancement de la post install, regarder le log d'installation pour voir si tout va bien cat /var/log/yunohost-installation.log sudo apt-get -f install sudo apt-get autoclean && apt-get autoremove sudo reboot J'ai fait 2 installations successives pour être sur ... yunohost tools postinstall Il faudra renseigner votre Nom De Domaine et définir un mot de passe d'administration, si vous n'avez pas de domaine ou sous-domaine, choisir un domaine du type mondomaine.nohost.me L'adresse d'administration de votre YunoHost est https://monserveur.org/yunohost/admin/ et l'adresse du portail de votre YunoHost est https://monserveur.org/. Si l'erreur "utilisateur admin inconnu" s'affiche au début de la postinstallation en la faisant avorter, il n'y a pas de solutions simples à votre problème ! Recommencez la procédure du formatage de la carte SD, ma quatrième installation ce fut la bonne (Ale)... ===== Nom de domaine ===== ==== Si on dispose d'un nom de domaine ==== === Chez Gandi === [[LaboM_Yunohost_sur_raspberrypi:_Gandi|La page détaillée de la configuration du domaine chez Gandi]] L'interface des fichiers de zones est très confuse !! === Chez OVH === Créer un sous-domaine : https://www.ovh.com/fr/g1332.attacher-domaine-ou-sous-domaine-a-mon-hebergement-web#ajouter_un_sous-domaine_vers_votre_hebergement_web Création d'un DynHost : https://www.ovh.com/fr/g2024.mutualise_dynhost La création du DynHost prend 24H, j'ai du refaire la manipulation, car le DynHost ne s'affichait pas. Suite à la création d'une DNS dynamique, il reste néanmoins l'adresse du sous-domaine chez OVH. Dans l'onglet Zone DNS, il faut supprimer les différentes occurrences du sous-domaines concerné en cliquant sur les corbeilles de chaque champ. Mettre à jour l'IP * Script pour mettre à jour l'IP dynamique de la box : http://zwindler.fr/wordpress/2014/09/22/mise-a-jour-de-votre-dns-chez-ovh-avec-dynhost/ Pour que les script fonctionne de manière optimale, modifier la ligne suivante comme suit : OLDIP=`dig +short @dns17.ovh.net $HOST`  Pour forcer à regarder le serveur DNS d'OVH. Explication de crontab pour modifier la temporalité des mises à jour de l'adresse : https://openclassrooms.com/courses/reprenez-le-controle-a-l-aide-de-linux/executer-un-programme-a-une-heure-differee * ddclient : https://doc.ubuntu-fr.org/ddclient * Ipcheck http://ipcheck.sourceforge.net ==== Si on ne dispose pas de nom de domaine > nohost.me ==== Se connecter avec son navigateur à l'adresse https://mondomaine.nohost.me/, mais pour que cela marche : * Il faut **configurer sa box internet pour que les ports 80 et 443 soient routés vers l'ip de la raspberry**, ça se passe en général à travers l'interface web de gestion de la box === Sur Free-box === {{media_11:pi_freebox.png?500|fig:PI_freebox.png}}\\ * OU modifier le fichiers hosts de SON ordinateur comme cela : sudo nano /etc/hosts 127.0.0.1       localhost 127.0.1.1       db.ultimedia    db 192.168.1.88 labominable.nohost.me === Sur Livebox === Se connecter chez soi à la livebox, taper dans un navigateur : 192.168.1.1 Il faut s'identifier. Le mot de passe d’administration de la Livebox est initialisé avec les 8 premiers caractères de la clé de sécurité WiFi par défaut inscrite sur la Livebox. Cliquer sur l'onglet Configuration avancée. Puis sur l'onglet PAT/NAT Pour ajouter une règle personnalisée, choisir les configurations suivantes : {{media_11:pi_livebox.png?660|fig:PI_livebox.png}} Il n'est pas possible de se connecter sur le serveur en étant sur le même réseau que celui-ci car la LIvebox ne possède pas de fonction de loopback. Pour y accéder utilisez en un autre ou un smartphone pour les tests. ===== Une fois rentré à la maison ===== ==== Modifier son fichier /etc/hosts ==== Regarder depuis votre ordinateur quelle adresse IP la raspberry a pris sur votre réseau local (type 192.168.1.%%**%%* par exemple) sudo nmap -sP 192.168.1.0/24 doit donner l'adresse de la pi, disons 192.168.1.101 L'interface de votre Box internet peut aussi vous donner l'adresse IP de la Pi directement (voir la partie DHCP) ensuite, il faut dire à yunohost que le domaine enregistré a changé d'IP publique, se connecter en ssh à la pi : ssh pi@192.168.1.101 et taper, une fois loggué sur la Pi en ssh : yunohost domain dns-conf mondomaine.nohost.me Vérifier que vous avez fait le routage des ports sur votre box internet pour qu'à minima, les ports 80 et 443 soient routés vers l'adresse de la pi soit 192.168.1.101 Au final, votre box doit être désormais visible de l'extérieur, pour être sur, il faut enlever la ligne du fichier hosts de votre ordinateur : sudo nano /etc/hosts === Exemple de fichier /etc/hosts === 127.0.0.1 localhost ::1 localhost ip6-localhost ip6-loopback ff02::1 ip6-allnodes ff02::2 ip6-allrouters #127.0.1.1 Yunohost #192.168.1.18 mondomaine.nohost.me ==== Administrer son yunohost ==== Se rendre sur l'interface via l'adresse du domaine yunohost en ajoutant /admin à la fin de l'adresse (exemple:[[https://tondomaine/yunohost/admin| https://tondomaine/yunohost/admin]]), puis y saisir le mot de passe qui a été personnalisé pour le root. === La Moulinette === La Moulinette permet d'administer, configurer Yunohost: * https://yunohost.org/#/moulinette Des détails [[LaboM_Yunohost_sur_raspberrypi:_Moulinette| **Moulinette**]] === Se connecter à sa pi à distance via un terminal === Quand on est loin de sa raspberry pi (mettons que vous êtes aux Tongas, et que votre Pi se trouve au 108 rue de Bourgogne à Orléans), et que l'on veut avoir accès à sa pi via un terminal, comme quand on est près de cette pi, rien de plus simple. Il suffit de se souvenir de l'identifiant d'utilisateur que l'on a indiqué lors de l'installation, et du mot de passe, et de taper la commande suivante, dans un terminal, en adaptant à votre situation (en remplaçant monnomutilisateur, mondomainecheri.cheri.cheri et monmotdepasse), en acceptant le certificat, et en saississant le mot de passe quand c'est demandé: ssh monnomdutilisateur@mondomaincheri.cheri.cheri ===== Installer des applications Yunohost / La Brique ===== * Commencer par créer un utilisateur, puis installer des applications (en se rendant sur l'interface administrateur) * Un post recensant **les applications compatibles avec la version 2.4 de Yunohost** : https://forum.yunohost.org/t/list-of-apps-working-with-yunohost-2-4/1604/1 ==== Owncloud ==== [[LaboM_Yunohost_sur_raspberrypi:_owncloud|La page détaillée de l'installation de Owncloud]] ==== Etherpad ==== Pour l'instant l'appli etherpad n'est pas prête pour yunohost 2.4, installation à la main en suivant ce tutoriel qui a fonctionné pour debian jessie, pas le passage sur le port 80 pour lequel il doit plutot falloir adopter la méthode proposée par le deuxième tuto * http://wiki.dane.ac-versailles.fr/index.php?title=Installer_un_serveur_Etherpad-Lite_interne_sous_Debian pour revenir en arrière sur le port 80 et rétablir le port 9001 : setcap 'cap_net_bind_service=-ep' /usr/bin/nodejs changer le port dans nano /home/etherpad/etherpad-lite/settings.json * http://framacloud.org/cultiver-son-jardin/installation-detherpad/ voir également la liste des plug-ins installés dans les commentaires Il faut décommenter la partie concernant le compte admin sinon, pas d'admin ! donc enlever les : /* \\ */ ==== Installer une interface graphique type XFCE, MATE ou LXCE ==== * Voir ce tuto https://www.raspberrypi.org/forums/viewtopic.php?f=66&t=133691 ===== Troubleshootings ===== === Votre sd card déconne === [[Raspberry_Pi_Installation_sur_Carte_SD_ou_disque_USB|Installer sur une clé USB]] === Metronome === * Sur Raspberry B+ : erreur sur installation de metronome: compiler avec ce [[http://avignu.wiki.tuxfamily.org/doku.php?id=documentation:yunohost-jessie|tuto]] == Ressources == Doc: * https://lightwitch.org/metronome Pour l'installation: * https://github.com/jappix/jappix/wiki/XmppServer A voir: * https://www.guillaume-leduc.fr/installation-du-serveur-xmpp-jabber-metronome.html * http://www.cypouz.com/article/130919/installation-serveur-xmpp-metronome === Version de noyau === Mise à jour du noyau avec: sudo rpi-update en particulier si raspbian est sur une clé usb, la sd card n'est pas mise à jour lors d'une nouvelle install sur la clé. ===== Bonus ===== ==== Lignes de commande utiles ==== * Changer le mot de passe root sudo passwd root * Changer le mot de passe pi sudo passwd pi * Eteindre la pi sudo shutdown now === Ajouter une passerelle === Si problème du type SIOCADDRT: Le réseau n'est pas accessible ajouter sa propre adresse ip comme passerelle et ensuite celle du routeur sudo route add default gw 192.168.0.2 sudo route add default gw 192.168.1.254 ==== hotspot wifi ==== === Les différents type de hotspot : "normal", via vpn, via TOR === Pour installer la brique internet (hotspot wifi), se rendre dans l'espace d'administration de Yunohost puis Applications / Installer / Installer une application personnalisée et coller ce lien : [[https://github.com/labriqueinternet/hotspot_ynh| https://github.com/labriqueinternet/hotspot_ynh]] Une fois installé vous avez un réseau sans accès internet (une Pirate box). Pour avoir un réseau internet VPN, il faut répéter la même opération avec ce lien [[https://github.com/labriqueinternet/vpnclient_ynh| https://github.com/labriqueinternet/vpnclient_ynh]] Si, en revanche, vous souhaitez un réseau TOR : [[https://github.com/labriqueinternet/torclient_ynh| https://github.com/labriqueinternet/torclient_ynh]] === Troubleshooting === Dans mon cas, hostapd ne voulait pas démarrer, sudo service hostapd status sudo hostapd -dd  /etc/hostapd/hostapd.conf donne : nl80211: Failed to set interface 3 to mode 3: -16 (Device or resource busy) il a fallu trouver le service à désactiver : sudo apt-get install aircrack-ng sudo airmon-ng check sudo airmon-ng check kill : pour tout tuer en mode bourin le processus coupable était là wpa_supplicant sudo nano /etc/network/interfaces et commenter les 2 lignes appelant wpa_suppli #    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf a priori pas besoin de désactiver wpa2 dans l'admin du wifi ... **Pour rendre Internet accessible via le wifi**, il m'a fallu : sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE   sudo iptables -A FORWARD -i eth0 -o wlan0 -m state --state RELATED,ESTABLISHED -j ACCEPT   sudo iptables -A FORWARD -i wlan0 -o eth0 -j ACCEPT et rendre tout ça pérenne : sauvegarder les régles sudo sh -c "iptables-save > /etc/iptables.ipv4.nat" to save the rules to the file /etc/iptables.ipv4.nat  sudo nano /etc/rc.local and just above the line exit 0, add the following line: iptables-restore < /etc/iptables.ipv4.nat   * https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/ === Ressources complémentaires === * https://forum.yunohost.org/t/probleme-ssl-lors-de-la-post-installation-sur-raspberry/1593<<< * http://superuser.com/questions/761029/tl-wn725n-access-point-on-archlinux-hostapd * http://elinux.org/RPi_USB_Wi-Fi_Adapters ==== Rendre les services accessibles via le hotspot wifi sans connexion au net ==== **1) modifier le fichier /etc/resolvconf.conf** pour indiquer à LaboM que le serveur DNS à utiliser est lui-même sudo nano /etc/resolvconf.conf # If you run a local name server, you should uncomment the below line and # configure your subscribers configuration files below. name_servers=10.0.242.1 **2) modifier le fichier /etc/dnsmasq.conf** pour indiquer au service dnsmasq la correspondance entre l'IP le domaine labom.lobotomie.org # Add domains which you want to force to an IP address here. # The example below send any host in double-click.net to a local # web-server. address=/labom.lobotomie.org/10.0.242.1 **3) modifier le fichier /etc/hosts** au cas où mais à priori pas nécessaire, en ajoutant la ligne : 10.0.242.1 labom.lobotomie.org **4) modifier l'IP du DNS Resolver du réseau Wifi de LaboM** dans l'interface utilisateur de Yunohost, ouvrir l'app Wifi HotSpot (par défaut [[https://domain.tld/wifiadmin/1| https://domain.tld/wifiadmin/1]] ). Dans l'onglet "IPv4" du réseau Wifi utilisé pour se connecter à la Brique (à priori le Hotspot 1), modifier l'adrese IP des champs "First DNS Resolver" en indiquant 10.0.242.1 et "Second DNS resolver" en indiquant 80.67.169.12 **5) redémarrer dnsmasq** sudo service dnsmasq restart * D'après la configuration décrite ici : https://forum.yunohost.org/t/utiliser-la-brique-en-equipe-dans-un-lan-serveur-dns-local-connexion-internet-faible-inexistante/1440 ==== Installer Letsencrypt pour avoir de jolis certificats https ==== **Ajouter jessie-backports pour installer certbot** sudo nano /etc/apt/sources.list ajouter : deb [[http://ftp.debian.org/debian| http://ftp.debian.org/debian]]  jessie-backports main puis sudo apt-get update sudo apt-get install certbot -t jessie-backports cd /etc/yunohost sudo cp -r certs certs.bak sudo service nginx stop **on utilise la méthode standalone** qui implique que les dns choisis (paramètre -d) pointent bien vers la raspberry (port 80 et 443) et donc votre box internet doit être configurée pour router ces ports vers l'ip de la raspberry sudo certbot certonly --standalone -d labom.lobotomie.org -d labompad.lobotomie.org Congratulations! Your certificate and chain have been saved at /etc/letsencrypt/live/labom.lobotomie.org/fullchain.pem Your cert will expire on 2016-12-25 ... **Il faut ensuite relier ces certificats générés avec la config** (btw, j'ai du recommencer le certbot pour le deuxième domaine, don't know why) : cd /etc/yunohost/certs/labom.lobotomie.org sudo ln -sf /etc/letsencrypt/live/labom.lobotomie.org/privkey.pem key.pem sudo ln -sf /etc/letsencrypt/live/labom.lobotomie.org/fullchain.pem crt.pem cd /etc/yunohost/certs/labompad.lobotomie.org sudo ln -sf /etc/letsencrypt/live/labompad.lobotomie.org-0001/privkey.pem key.pem sudo ln -sf /etc/letsencrypt/live/labompad.lobotomie.org-0001/fullchain.pem crt.pem sudo chown root:metronome /etc/letsencrypt/live /etc/letsencrypt/archive sudo chmod g+rx /etc/letsencrypt/live /etc/letsencrypt/archive sudo service nginx start **Automatiser le renouvellement des certificats** sudo nano /etc/systemd/system/letsencrypt.service [Unit] Description=Renews letsencrypt certificates with certbot After=network.target [Service] Type=oneshot WorkingDirectory=/etc/letsencrypt ExecStart=/usr/bin/certbot renew sudo nano /etc/systemd/system/letsencrypt.timer [Unit] Description=letsencrypt timer [Timer] OnCalendar=daily Persistent=true Unit=letsencrypt.service [Install] WantedBy=basic.target sudo mkdir /etc/systemd/system/letsencrypt.service.d sudo nano /etc/systemd/system/letsencrypt.service.d/nginx.conf [Service] ExecStartPost=/bin/systemctl reload nginx **Test** date systemctl restart letsencrypt.service journalctl -xn done : sudo systemctl status letsencrypt.service ● letsencrypt.service - Renews letsencrypt certificates with certbot Loaded: loaded (/etc/systemd/system/letsencrypt.service; static) Drop-In: /etc/systemd/system/letsencrypt.service.d └─nginx.conf Active: inactive (dead) sept. 26 17:54:43 raspberrypi certbot[4681]: ------------------------------------------------------------------------------- sept. 26 17:54:43 raspberrypi certbot[4681]: ------------------------------------------------------------------------------- sept. 26 17:54:43 raspberrypi certbot[4681]: Processing /etc/letsencrypt/renewal/labompad.lobotomie.org-0001.conf sept. 26 17:54:43 raspberrypi certbot[4681]: ------------------------------------------------------------------------------- sept. 26 17:54:43 raspberrypi certbot[4681]: The following certs are not due for renewal yet: sept. 26 17:54:43 raspberrypi certbot[4681]: /etc/letsencrypt/live/labompad.lobotomie.org-0001/fullchain.pem (skipped) sept. 26 17:54:43 raspberrypi certbot[4681]: /etc/letsencrypt/live/labom.lobotomie.org/fullchain.pem (skipped) sept. 26 17:54:43 raspberrypi certbot[4681]: /etc/letsencrypt/live/labompad.lobotomie.org-0001/fullchain.pem (skipped) sept. 26 17:54:43 raspberrypi certbot[4681]: No renewals were attempted. sept. 26 17:54:43 raspberrypi systemd[1]: Started Renews letsencrypt certificates with certbot. Pour que cela marche, j'ai du copier le contenu de /etc/letsencrypt/renewal $ sudo nano labompad.lobotomie.org-0001.conf dans /etc/letsencrypt/renewal $ sudo nano labompad.lobotomie.org.conf * voir le post : https://forum.yunohost.org/t/how-to-install-let-s-encrypt-certificates/1075/83?u=benjamin j'ai fini par générer le certificat en standalone et à nettoyer les 2 fichiers de confs du début du post car le serveur nginx n'arrivait pas à aller chercher les fichiers temporaires tels qu'indiqués dans le tuto * Pour avoir en plus un joli A+ au test ssllab : https://forum.yunohost.org/t/yunohost-let-s-encrypt-a-au-ssllabs/1855 **Si le renouvellement automatique n'a pas fonctionné:**\\ Si le renouvellement automatique n'a pas fonctionné, et que vous avez choisi l'installation ci-dessus en mode "standalone", connectez vous sur votre raspberry pi en mode console, puis lancez la commande indiquée dans les détails de recommandations de Certbot (). Dans votre terminal, tapez la commande suivante et le certificat se renouvelle:\\ sudo certbot renew --pre-hook "service nginx stop" --post-hook "service nginx start" Cette commande vous renvoie l'information de renouvellement du certificat (bien sûr, ce n'est pas mon.nomdedomaine.afterix qui va apparaître dans le texte généré, mais votre nom de domaine à vous):\\ Saving debug log to /var/log/letsencrypt/letsencrypt.log ------------------------------------------------------------------------------- Processing /etc/letsencrypt/renewal/mon.nomdedomaine.afterix.conf ------------------------------------------------------------------------------- Cert is due for renewal, auto-renewing... Starting new HTTPS connection (1): acme-v01.api.letsencrypt.org Running pre-hook command: service nginx stop Renewing an existing certificate Performing the following challenges: tls-sni-01 challenge for mon.nomdedomaine.afterix Waiting for verification... Cleaning up challenges Generating key (2048 bits): /etc/letsencrypt/keys/0001_key-certbot.pem Creating CSR: /etc/letsencrypt/csr/0001_csr-certbot.pem ------------------------------------------------------------------------------- new certificate deployed without reload, fullchain is /etc/letsencrypt/live/mon.nomdedomaine.afterix/fullchain.pem ------------------------------------------------------------------------------- Congratulations, all renewals succeeded. The following certs have been renewed: /etc/letsencrypt/live/mon.nomdedomaine.afterix/fullchain.pem (success) Running post-hook command: service nginx start ==== Cloner un site web en utilisant Multi_webapp et wget ==== * Installer https://github.com/YunoHost-Apps/multi_webapp_ynh * en ssh, aller au répertoire créé lors de l'installation de multi_webapp_ynh cd /var/www/webapp_b01/zotero/ sudo wget -r -k -E -np [[https://www.zotero.org/groups/1.camp/items -nd pour ne pas créer l'arborescence de répertoire -np pas remonter dossier parent -p pour prendre les fichiers prérequis associés Faire un lien symbolique pour remplacer le index.html par un lien vers la racine du site aspiré cd /var/www/webapp_b01/zotero/ sudo mv index.html index.bak sudo ln -s www.zotero.org/groups/1.camp/items.html index.html ==== Installer LibViz sous flask nginx python ==== === Installer flask === sudo apt install python-virtualenv cd LibViz virtualenv venv source venv/bin/activate pip install -r requirements.txtt install python-virtualenv cd LibViz virtualenv venv source venv/bin/activate pip install -r requirements.txt === Utiliser uwsgi avec nginx === sudo uwsgi -s /tmp/LibViz.sock --manage-script-name --mount /LibViz=run:app --plugin python et en même temps mais bizar sudo chown www-data:www-data /tmp/LibViz.sock === Configurer nginx === sudo nano /etc/nginx/conf.d/labom.lobotomie.org.d/webapp_LibViz.conf location = /LibViz { rewrite ^ /LibViz/; } location /LibViz { try_files $uri @LibViz; } location @LibViz { include uwsgi_params; uwsgi_pass unix:/tmp/LibViz.sock; } * http://flask.pocoo.org/docs/0.11/deploying/uwsgi/ === Mettre à jour LibViz === * Se logguer sur ArtLabo en ssh - le dépot : https://github.com/JulienParis/LibViz cd ~/www/libviz.artlabo.org/LibViz git status git pull git checkout app/static/data/1camp_network.json git checkout app/static/data/substances_network.json git pull Redémarrer Apache2 su systemctl reload apache2 ===== Ressources ===== * https://yunohost.org/#/build_arm_image_en * https://yunohost.org/#/admindoc_fr * https://yunohost.org/#/moulinette_fr * https://yunohost.org/#/regenerate_certificate_fr * https://yunohost.org/#/change_admin_password_fr * https://yunohost.org/#/dns_fr * https://forum.yunohost.org/t/point-sur-mon-installation-yunohost-sur-raspberry3/1588 Vous pouvez aussi contribuer à ce projet ici https://doc.yunohost.org/#/contribute_fr. Voir aussi un projet concourant : https://github.com/indiehosters/libre.sh ===== Mettre en place un atelier ===== ==== Chaque participant doit se munir de ==== - une Raspberry Pi\\ - une carte SD ou mini sd d'au moins 10 Go et rapide ( au moins pour démarrer le GRUB )\\ - une alim de 5 volts\\ - clavier (USB)\\ - une souris (USB)\\ - un ordinateur\\ ==== Celui qui donne l'atelier doit se munir de ==== - un écran HDMI (pour brancher directement la Pi en cas de problème)\\ - un dépôt local de Debian type proxy cash\\ - un switch RJ45 (chaque participant y branchera son ordi et sa Raspberrypi)\\ - 2 câbles ethernets par participants\\ ===== Projets concourants / concurrents ===== * FreedomBox orienté boîte prêt à l'emploi mais évolutions du projet quelque peu chaotique http://freedomboxfoundation.org/ * Cloudrion orienté cloud serveur Amazon / OVH / ... mais peut s'installer sur un serveur normal https://cloudron.io * SandStorm les applis peuvent être hébergées sur leur serveur ou sur un serveur autohébergé https://sandstorm.io/ * EthicBox https://ethibox.fr/ * La liste des projets d'autohébergement : https://yunohost.org/#/selfhosting * Un témoignage de quelqu'un qui a décidé de "reprendre le contrôle de ses données" https://www.joffredolebrun.fr/mathonautes/comment-jai-repris-en-main-ma-vie-numerique/ {{tag>micro_ordinateur atelier bj yunohost raspberry_pi}}