This commit is contained in:
kload 2015-10-04 00:58:48 +02:00
commit 85578fe0aa
60 changed files with 1201 additions and 597 deletions

View file

@ -1,17 +1,43 @@
# <img src="https://yunohost.org/images/XMPP_logo.png" width=100>
#Chat, VoIP et réseau social avec <img src="https://yunohost.org/images/XMPP_logo.png" width=100>
<abbr title="Extensible Messaging and Presence Protocol">XMPP</abbr> est un protocole de communication de messagerie instantanée, de VoIP (Voix sur IP) et de visioconférence.
Yunohost est installé avec un serveur de messagerie instantanée <abbr title="Extensible Messaging and Presence Protocol">XMPP</abbr> (metronome).
YunoHost fournit :
* [Metronome](http://www.lightwitch.org/metronome) : un serveur XMPP
* [Jappix](/apps_fr) : un client web XMPP
Vous pouvez discuter simplement avec des contacts XMPP/Jabber en installant l'application [Jappix](https://jappix.com/) depuis l'interface d'administration.
## Client XMPP lourd
[XMPP](https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) est un protocole ouvert et extensible qui permet également de créer des salons de discussions, de partager des statuts et des données, de passer des appels en VoIP et de faire de la visioconférence.
Vous pouvez utiliser un client XMPP lourd comme [Pidgin](http://pidgin.im/), [Gajim](http://gajim.org/index.fr.html), [Jitsi](http://jitsi.org/) ou [Adium](https://adium.im/).
Toutes les applications basées sur XMPP sont compatibles entre-elles : lorsque vous utilisez un client XMPP vous pouvez discuter avec n'importe quel possesseur.e d'un compte XMPP/Jabber. Ce protocole est déjà utilisé par des millions de personnes dans le monde.
Voici la liste des clients XMPP : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP
### Compte XMPP/Jabber
Vous aurez besoin de votre JID (correspondant à votre adresse mail principale) et de votre mot de passe.
Un compte XMPP/Jabber est basé sur un identifiant sous la forme 'utilisateur@domaine.tld', ainsi qu'un mot de passe.
Sous yunohost, cet identifiant correspond simplement à l'adresse courriel principale d'un utilisateur. Le mot de passe est celui du compte de l'utilisateur.
### Utiliser un autre client XMPP
En plus de Jappix, il existe d'autres clients web orientés réseau social, comme [Movim](https://pod.movim.eu) ou [Libervia/Salut à Toi](http://salut-a-toi.org/).
Vous pouvez également utiliser un client desktop comme [Pidgin](http://pidgin.im/) (multiplateforme), [Gajim](http://gajim.org/index.fr.html) (Linux), [Jitsi](http://jitsi.org/) (multiplateforme) ou [Adium](https://adium.im/) (Mac OS).
... ou un client smartphone
* [Xabber](http://xabber.com) (Android)
* [Movim sous Android](https://movim.eu)
* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS)
Voici une liste plus exhaustive des clients XMPP : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP
### Chiffrer ses conversations avec OTR
Il est possible de chiffrer ses conversations XMPP à l'aide de [OTR](https://otr.cypherpunks.ca/index.php#downloads), notamment en utilisant Pidgin ou Gajim.
### Salon de discussion
Pour créer un salon de discussion (Multi-user chat) sur votre serveur utilisez l'identifiant nomsalon@muc.domaine.tld (ou domaine.tld est le domaine principal de votre serveur).
Si vous utilisez un nom de domaine personnel, il est nécessaire d'[ajouter une redirection de type A pour le sous domaine muc.](dns_config_fr) au niveau de votre serveur DNS.
### VoIP et visioconférence
Un moyen pratique d'appeler un contact XMPP, en VoIP ou en appel vidéo, est d'utiliser le client [Jitsi](http://jitsi.org/).
<img src="https://yunohost.org/images/Pidgin-add-acount.png" width=500>

View file

@ -3,7 +3,6 @@
<a class="btn btn-lg btn-default" href="/apps">Official apps</a> <a class="btn btn-lg btn-default disabled" href="/apps_in_progress">Apps in progress</a> <a class="btn btn-lg btn-default" href="/apps_wishlist_en">Apps wishlist</a>
The following applications are being packaged on by a growing number of packagers.
<div class="alert alert-danger">These applications are **NOT** validated by the packaging team, and as such, **no official support is provided** for them.<br>
You can test and use them, **at your own risk**.
</div>

View file

@ -6,21 +6,25 @@ The following list is a compiled wishlist of applications that would be nice-to-
[Edit this list](/write_documentation) to add your own favorite app, or learn to [package apps](/packaging_apps) yourself.
* [List of awesome selfhosted apps](https://github.com/Kickball/awesome-selfhosted)
* [10er10](https://github.com/dready92/10er10)
* [adminer](http://www.adminer.org/)
* [Ajenti](http://ajenti.org/)
* [Autoblog](https://github.com/mitsukarenai/Projet-Autoblog)
* [Bolt](http://bolt.cm)
* [Bootstrap](http://getbootstrap.com/)
* [Browsepass](http://techualization.blogspot.de/2013/09/introducing-browsepass-keepass-on-web.html)
* [Caliopen](https://www.caliopen.org/)
* [CardDavMate](https://www.inf-it.com/open-source/clients/carddavmate/)
* [cgit](http://git.zx2c4.com/cgit/about/)
* [Commafeed](https://github.com/Athou/commafeed)
* [CumulusClips](http://cumulusclips.org/)
* [DemocracyOS](http://democracyos.org/)
* [Discourse](http://discourse.org/)
* [Dotclear](http://dotclear.org/)
* [Dolibarr](http://www.dolibarr.fr/)
* [Ethersheet](https://ethersheet.org/)
* [Fail2web](https://github.com/Sean-Der/fail2web)
* [FileTea](https://filetea.me)
* [Flarum](http://flarum.org/)
* [Fossil](http://www.fossil-scm.org)
* [Git-annex](http://git-annex.branchable.com/)
* [Gitit](http://gitit.net/)
@ -37,6 +41,7 @@ The following list is a compiled wishlist of applications that would be nice-to-
* [Inbox](https://www.inboxapp.com/)
* [InfCloud](https://www.inf-it.com/open-source/clients/infcloud/)
* [Jitsi Meet](https://github.com/jitsi/jitsi-meet)
* [Joomla!](https://www.joomla.org/)
* [jsFiddle](http://jsbin.com/help/2-second-setup)
* [Kaiwa](http://getkaiwa.com/)
* [Known](https://withknown.com/)
@ -46,14 +51,17 @@ The following list is a compiled wishlist of applications that would be nice-to-
* [MaidSafe](http://maidsafe.net/)
* [Mailman](https://www.gnu.org/software/mailman/)
* [Mailpile](https://www.mailpile.is)
* [MPD](http://www.musicpd.org/)
* [MediaCrush](https://mediacru.sh/)
* [MediaGoblin](http://mediagoblin.org/)
* [MatterMost](https://github.com/mattermost/platform)
* [MediaCrush](https://imgrush.com/)
* [Mini Jappix](https://github.com/jappix/jappix/wiki/JappixMini)
* [MinigalNano](https://github.com/sebsauvage/MinigalNano)
* [Mirakel](http://mirakel.azapps.de/taskwarrior.html)
* [Modoboa](http://modoboa.org/)
* [Mopidy](https://www.mopidy.com/)
* [Movim](http://www.movim.eu/)
* [MPD](http://www.musicpd.org/)
* [Nibbleblog](http://www.nibbleblog.com)
* [Only Office](http://onlyoffice.org/)
* [Paperwork](http://paperwork.rocks)
* [pdfy](https://github.com/joepie91/pdfy)
* [Pelican](http://blog.getpelican.com/)
* [PHPList](http://www.phplist.com/)
@ -61,6 +69,7 @@ The following list is a compiled wishlist of applications that would be nice-to-
* [Pico](http://picocms.org/)
* [Pix](http://pix.toile-libre.org/)
* [PPTP VPN](https://packages.debian.org/sv/squeeze/pptpd)
* [Protonmail](https://protonmail.ch/)
* [Pulse](https://ind.ie/pulse/)
* [Pump.io](http://pump.io)
* [racktables](http://racktables.org/)
@ -70,11 +79,12 @@ The following list is a compiled wishlist of applications that would be nice-to-
* [Scramble, Browser-based PGP web mail](https://github.com/dcposch/scramble)
* [Scribbleton](https://scribbleton.com/)
* [scrumblr](http://scrumblr.ca/)
* [ShareLatex](https://www.sharelatex.com/)
* [Shleuder](http://schleuder2.nadir.org/)
* [SIP](https://en.wikipedia.org/wiki/List_of_SIP_software#Free_and_open-source_license)
* [Sonerezh](https://github.com/Sonerezh)
* [Streisand](https://github.com/jlund/streisand)
* [SVG-Edit](https://code.google.com/p/svg-edit/)
* [SVG-Edit](https://github.com/SVG-Edit/svgedit)
* [Sympa](http://www.sympa.org/)
* [Syncthing](http://syncthing.net/)
* [Taiga](https://taiga.io/)
@ -83,10 +93,12 @@ The following list is a compiled wishlist of applications that would be nice-to-
* [Twister](http://twister.net.co/)
* [Unvis](https://github.com/phixofor/unvis.it)
* [Vaultier](http://www.vaultier.org/)
* [Weblate](http://weblate.org/)
* [Webmpc](https://github.com/ushis/webmpc)
* [WebODF](http://webodf.org/)
* [webSync](http://furier.github.io/websync/)
* [WebTorrent](https://github.com/feross/webtorrent)
* [Wisemapping](http://www.wisemapping.com/)
* [YellowCMS](http://datenstrom.se/yellow/)
* [Zone-project](https://github.com/descl/ZONE)
* [ZNC](http://wiki.znc.in/ZNC)
* [ZNC](http://wiki.znc.in/ZNC)

View file

@ -1,19 +1,21 @@
# Formulaires de retrait de liste noire
Il peut arriver que votre serveur (son adresse IP) soit ajoutée à la liste noire de certains fournisseurs d'adresse de courrier électronique ou de services anti-spam. Les courriels envoyés à ces adresses sont alors filtrés et n'arrivent pas à destination.
#### Testez votre serveur
Pour tester si votre serveur est sur une liste noire, vous pouvez utiliser les outils suivant :
* https://www.mail-tester.com/ (test en envoyant un mail)
* http://whatismyipaddress.com/blacklist-check (test à partir de l'adresse IP)
Il peut arriver que votre IP soit ajoutée à la liste noire de certains fournisseurs d'adresse de courrier électronique ou de services anti-spam.
Le cas échéant, voici certains des formulaires vous permettant de retirer votre adresse IP de ces listes:
Voici certains des formulaires vous permettant de retirer votre adresse IP de ces listes.
## Fournisseurs Email
##### Fournisseurs Email
* Hotmail : https://support.live.com/eform.aspx?productKey=edfsmsbl3&ct=eformts&scrx=1
* GMail : https://support.google.com/mail/contact/msgdelivery
## Services anti-spam
##### Services anti-spam
* SpamHaus : http://www.spamhaus.org/lookup/
## Tester votre serveur
Si le fournisseur vous concernant n'apparaît pas dans la liste, cherchez le formulaire adéquat, il existe probablement.
* https://www.mail-tester.com/
* http://whatismyipaddress.com/blacklist-check

View file

@ -72,12 +72,12 @@ Depends on the CA, intermediate certificates and root have to be downloaded.
Intermediate certificates and root must be merged with certificates obtained to create a unified chain certificates.
If you use a root certificate (StartSSL) :
If you use a root certificate (Cacert):
```bash
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem```
If you use only an intermediate certificate.
If you use only an intermediate certificate (StartSSL).
```bash
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem | sudo tee crt.pem```

View file

@ -72,12 +72,12 @@ En fonction de lautorité denregistrement, des certificats intermédiaires
Les certificats intermédiaires et root doivent être réunis avec le certificat obtenu pour créer une chaîne de certificats unifiés.
En cas dutilisation dun certificat racine (StartSSL, Cacert) :
En cas dutilisation dun certificat racine (Cacert) :
```bash
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem ae_certs/ca.pem | sudo tee crt.pem```
En cas dutilisation du certificat intermédiaire seulement.
En cas dutilisation du certificat intermédiaire seulement (StartSSL).
```bash
cat ae_certs/ssl.crt ae_certs/intermediate_ca.pem | sudo tee crt.pem```

View file

@ -7,7 +7,7 @@ Core:
* ✔ Migrate YunoHost to Debian Jessie
* ✔ Update Metronome to v3.6 and make a more Debian-friendly package *(jerome)*
* ✔ Update of Nginx, Postfix and Dovecot regarding the late Poodle attack
* ✔ Add Dnsmasq next to Bind9 *(kload)*
* ✔ Migrate Bind9 to Dnsmasq *(kload)*
* ✔ Add email quota *(beudbeud, jerome)*
* ✔ Implement a simple backup and restore system *(jerome, kload)*
* ✔ Add logging to the moulinette for each action *(jerome)*

45
check_logfile_fr.md Normal file
View file

@ -0,0 +1,45 @@
## Consulter les fichiers de log du système
### Accéder à un fichier de log
#### Via linterface dadministration
[Administration web](admin_fr)
#### En ligne de commande
Un fichier de log est un simple fichier texte utilisé par certains programmes du système (et notamment les services) pour inscrire lhistorique de leur fonctionnement. Consulter un fichier de log consiste donc à afficher son contenu pour lire les messages qui s'y trouve.
Pour accéder aux fichiers de log, la méthode traditionnelle consiste à [se connecter au serveur en ligne de commande via SSH](ssh_fr). Un fois connecté, utilisez la commande `tail` qui affiche uniquement la fin du fichier, car les fichiers de log sont très long et quuniquement lhistorique récent nous intéresse.
### Services
#### Courriel
* Postfix
* Dovecot
* mail.log
* amavis
#### Serveur web
* Nginx
* php5-fpm
#### Serveur XMPP metronome
* Metronome
#### Surveillance du serveur
* Glances
#### Bases de données
* MySQL
* Postgrey
#### SSH
#### yunohost-api
#### Torrents
* transmission-daemon
#### LDAP
* slapdStatut
#### DNS
* Dnsmasq
* Bind9

7
conf_fr.md Normal file
View file

@ -0,0 +1,7 @@
# Conférences
* [PSES 2015 - La Brique Internet](http://www.youtube.com/watch?v=NCRn0yRfkIE)
* [THSF 2015](https://vimeo.com/128055751)
* [RMLL 2014 - Hébergez-vous !]()
* [Capitole du libre 2013 - Lauto-hébergement pour tous avec YunoHost - par Adrien Beudin](http://2013.capitoledulibre.org/conferences/internet-libre/lauto-hebergement-pour-tous-avec-yunohost.html)
* [FOSDEM 2013](https://www.youtube.com/watch?v=siN1OLAgGJk)

View file

@ -97,20 +97,6 @@ Seed (share) YunoHost images with Torrent system: [live](http://build.yunohost.o
---
<div class="row">
<div class="col col-md-3 lead">
<span class="glyphicon glyphicon-usd"></span>&nbsp;&nbsp; Donation
</div>
<div class="col col-md-8" markdown="1">
You can now send us Bitcoins at the address `1PySSS56bxnRzTv4RzYx1aQr9sJeBQwddf`
</br>
<a href="bitcoin:1PySSS56bxnRzTv4RzYx1aQr9sJeBQwddf?label=Yunohost"><img src="https://yunohost.org/images/bitcoin.png" /></a>
<br>
<br>
or use Flattr: <a href="http://flattr.com/thing/3164470/YunoHost-web-site" target="_blank"><img src="https://yunohost.org/images/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>
</div>
</div>
<br>
<p class="lead" markdown="1">In any case, please [come to our chatroom](/support) to say how enthusiast you are :-)</p>

View file

@ -93,20 +93,5 @@ Seedez (partagez) avec le système de Torrent les images de YunoHost : [live](ht
</div>
---
<div class="row">
<div class="col col-md-3 lead">
<span class="glyphicon glyphicon-euro"></span>&nbsp;&nbsp; Donnez
</div>
<div class="col col-md-8" markdown="1">
Vous pouvez maintenant nous envoyer des Bitcoins à l'adresse `1PySSS56bxnRzTv4RzYx1aQr9sJeBQwddf`
</br>
<a href="bitcoin:1PySSS56bxnRzTv4RzYx1aQr9sJeBQwddf?label=Yunohost"><img src="https://yunohost.org/images/bitcoin.png" /></a>
<br>
<br>
ou utiliser Flattr : <a href="http://flattr.com/thing/3164470/YunoHost-web-site" target="_blank"><img src="https://yunohost.org/images/flattr-badge-large.png" alt="Flattr this" title="Flattr this" border="0" /></a>
</div>
</div>
<br>
<p class="lead" markdown="1">Dans tous les cas, venez sur notre [salon de discussion](/support_fr) pour exprimer votre enthousiasme :-)</p>

View file

@ -2,7 +2,7 @@
* [How to contribute](/contribute)
* [What is YunoHost](/whatsyunohost)
* Développement
* Developement
* [Roadmap](/roadmap)
* [List of available applications](/apps)
* [Package new applications](/packaging_apps)

View file

@ -36,9 +36,9 @@ sudo dd if=/chemin/vers/votre/.img of=/nom/du/matériel
La commande peut prendre quelques minutes, puis votre carte SD sera prête à être utilisée. **:-)**
## Étendre la partition root <small>(facultatif)</small>
## Étendre la partition root <small>(facultatif, mais conseillé)</small>
Par défaut, la partition root de votre carte SD est très petite.
Par défaut, la partition root installée sur votre carte SD avec la commande `dd` est très petite.
Vous pouvez la redimensionner avec un logiciel comme `resize2fs` (ligne de commande) ou `Gparted` (interface graphique) en étendant la partition ext4 au maximum de façon à utiliser tout lespace non-alloué.
<img src="https://yunohost.org/images/gparted.jpg" style="max-width:100%;border-radius: 5px;border: 1px solid rgba(0,0,0,0.15);box-shadow: 0 5px 15px rgba(0,0,0,0.35);">

39
dkim.md
View file

@ -1,21 +1,17 @@
# DKIM
##### Note:
* This is the 2nd revision of this Work In Progress How-To activate [DKIM](https://en.wikipedia.org/wiki/DomainKeys_Identified_Mail) and [SPF](https://en.wikipedia.org/wiki/Sender_Policy_Framework) in YunoHost.
* Le DKIM and SPF prevent emails which could be sent with your domain name from a non legitim server. This avoid spam.
* Untill, this is not natively integrated in YunoHost core, it will mean to that Postfix configuration will be blocked (or each time there is a change some configuration lines will need to be added to the end of `/etc/postfix/main.cf`).
* To be fully functionnal DKIM requires a modification of your [DNS zone](/dns_config_en), which propagantion can take up to 24h.
Please note that :
##### Sources:
* This tutorial has been initially based on the DKMI section of: http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ from Drew Crawford.
* This tutorial has been reviewed based on https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin
This is the revision 2 of this Work In Progress How-To.
Until this is natively integrated in YunoHost core apps, it will mean to that Postfix configuration will be blocked (or each time there is a change some configuration lines will need to be added to the end of /etc/postfix/main.cf).
To be fully functionnal DKIM requires a modification of the DNS, which propagantion can take up to 24h.
Source: This tutorial has been initially based on the DKMI section of: http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ from Drew Crawford.
Source: This tutorial has been reviewed based on https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin
Replace DOMAIN.TLD by your own domain name.
Changes in rev 2:
Replace `DOMAIN.TLD` by your own domain name.
Changes in 2n revision:
Much easier to manage more than one DOMAIN.TLD (future proof).
Updated configuration as it seemed that the previous one was based on old software.
@ -153,12 +149,13 @@ sudo service opendkim restart
sudo service postfix restart
```
To test if it is all working well (don't forget that the DNS propagation can take a bit of take…) you can simply send an email to check-auth@verifier.port25.com and a reply will be received. If everything works correctly you should see DKIM check: pass under Summary of Results.
You can also go to http://www.mail-tester.com
Lastly, don't forget to add a SPF key in your DNS such as:
To test if it is all working well (don't forget that the DNS propagation can take a bit of take…) you can simply go to [mail-tester.com](http://www.mail-tester.com) and send an e-mail to the address indicated. Then follow the link and the result will appear.
# SPF
Lastly, don't forget to add a SPF key in your [DNS zone](/dns_config_en) such as:
```bash
DOMAIN.TLD 300 TXT "v=spf1 a:DOMAIN.TLD mx ?all"
```
DOMAIN.TLD 300 TXT "v=spf1 a:DOMAIN.TLD ip4:<server public IPv4> ip6:<server public IPv6> mx ?all"
```
As reminder, the SPF field shows that the only machine using the IP address shows in your DNS zone are authorized to send emails.
If you don't have IPv6 on your email server, simply delete le ip6:<...> section

View file

@ -1,24 +1,24 @@
# DKIM
Veuillez noter les points suivants :
Le protocole SMTP ne prévoit pas de mécanisme de vérification de l'expéditeur. Il est donc possible d'envoyer un courrier avec une adresse d'expéditeur factice ou usurpée. SPF et DKIM sont deux méchanismes d'authentification de l'expéditeur d'un email.
Ceci est la deuxième version de ce travail en cours concernant l'activation de DKIM et SPF dans YunoHost.
En attendant que tout ceci soit intégré nativement dans YunoHost, cela nécessitera une modification de la configuration de Postfix dans /etc/postfix/main.cf.
#### Notes :
Pour fonctionner correctement, DKIM nécessite une modification de vos DNS. N'oubliez pas que la propagation de l'information DNS une fois modifiée peut prendre jusqu'à 24h !
* Ceci est la deuxième version de ce travail en cours concernant l'activation de [DKIM](https://fr.wikipedia.org/wiki/DomainKeys_Identified_Mail) et [SPF](https://fr.wikipedia.org/wiki/Sender_Policy_Framework) dans YunoHost.
* Le DKIM et le SPF empêche le fait que des courriels puissent être envoyer avec votre nom de domaine à partir dun autre serveur que le serveur légitime. Ceci évite le spam.
* En attendant que tout ceci soit intégré nativement dans YunoHost, cela nécessitera une modification de la configuration de Postfix dans `/etc/postfix/main.cf`.
* Pour fonctionner correctement, DKIM nécessite une modification de votre [zone DNS](/dns_config_fr). N'oubliez pas que la propagation de l'information DNS une fois modifiée peut prendre jusqu'à 24h !
Source : ce document a été initialement basé sur : http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ from Drew Crawford
#### Sources :
* Ce document a été initialement basé sur : http://sealedabstract.com/code/nsa-proof-your-e-mail-in-2-hours/ de Drew Crawford.
* Cette 2ème révision s'appuie beaucoup sur : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin
Source : cette 2ème révision s'appuie beaucoup sur : https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-dkim-with-postfix-on-debian-wheezy from Popute Sebastian Armin
Dans la suite de ce document, replacez `DOMAIN.TLD` par votre propre nom de domaine.
Dans la suite de ce document, replacez DOMAIN.TLD par votre propre nom de domaine.
Changement dans la 2nd révision :
Changement dans la rev 2 :
La config s'adapte très facilement à plusieurs noms de domaines simultanés.
Mise à jour des paramètres de configuration avec la dernière version de opendkim disponible dans Debian 7.
* La configuration s'adapte très facilement à plusieurs noms de domaines simultanés.
* Mise à jour des paramètres de configuration avec la dernière version de OpenDKIM disponible dans Debian 7.
Rentrons maintenant dans le cœur du sujet :
### Avec un script
@ -155,4 +155,14 @@ sudo service opendkim restart
sudo service postfix restart
```
Pour tester que tout fonctionne bien (n'oubliez pas que la propagation DNS peut prendre jusqu'à 24h...) vous pouvez tout simplement envoyer un email à check-auth@verifier.port25.com . Vous recevrez une réponse automatiquement. Si tout se passe bien, vous verrez DKIM check: pass dans la section Summary of Results.
Pour tester que tout fonctionne bien (n'oubliez pas que la propagation DNS peut prendre jusqu'à 24h...) vous pouvez tout simplement vous rendre sur [mail-tester.com](http://www.mail-tester.com/), envoyer un courriel à l'adresse indiquée et cliquer pour voir le résultat.
# SPF
Enfin, n'oubliez pas d'ajouter une clé SPF dans votre [zone DNS](/dns_config_fr) (ou un champ TXT si SPF n'est pas disponible) :
```bash
DOMAIN.TLD 1800 TXT "v=spf1 a:DOMAIN.TLD ip4:<IPv4 publique du serveur> ip6:<IPv6 publique> mx ?all"
```
Pour rappel, le champ SPF indique que seule la machine utilisant l'adresse IP indiquée dans votre zone DNS est autorisée à envoyer des courriels.
Si vous n'avez pas d'IPv6 sur votre serveur, supprimez simplement la section ip6:<…>

2
dns.md
View file

@ -26,7 +26,7 @@ You have several choices here. Note that you can mix and match solutions if you
**This is the recommended option if you are just starting out with self-hosting.**
2. You can use the DNS service offered by your **registrar** (Gandi, NameCheap, BookMyName or others) to configure your domain name. Here is the [standard DNS configuration](/dns_config).
You can also check out these pages for specific registrar documentation: [OVH](/OVH), [Gandi](/Gandi), [BookMyName](/BookMyName)
You can also check out these pages for specific [registar](/registar_en) documentation: [OVH](https://www.ovh.co.uk/index.xml), [Gandi](http://gandi.net), [NameCheap](http://namecheap.com) or [BookMyName](http://bookmyname.com).
**Warning**: If you choose this option, you will have more configuration possibilities, but nothing will be done for you. For example, if you want to use `webmail.my-server.org`, you must add it manually to the DNS records with your registrar.

View file

@ -5,7 +5,9 @@ Sample DNS config for domain.tld
```bash
#### IPv4 & IPv6
@ 900 IN A 111.222.333.444 (Minimal)
* 900 IN A 111.222.333.444 (wildcard)
@ 900 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788
* 900 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788
#### Handle www subdomain
www 1800 IN CNAME @
@ -26,4 +28,4 @@ vjud 1800 IN CNAME @
<div class="alert alert-info"><b>To begin:</b> lines with "(Minimal)" are the minimal required DNS entries to make works web, email and XMPP.</div>
<div class="alert alert-warning"><b>Warning:</b> <b>@</b> is the default domain name currently defined, some registrar (like OVH) does not accept it, so replace @ by your domain name (domain.tld).</div>
<div class="alert alert-warning"><b>Warning:</b> <b>@</b> is the default domain name currently defined, some registrar (like OVH) does not accept it, so replace @ by your domain name (domain.tld**.**) with a dot at the end.</div>

View file

@ -5,7 +5,9 @@ Exemple de configuration DNS pour domain.tld
```bash
#### IPv4 & IPv6
@ 900 IN A 111.222.333.444 (Minimum)
* 900 IN A 111.222.333.444 (wildcard)
@ 900 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788
* 900 IN AAAA 2001:AABB:CCDD:EEFF:1122:3344:5566:7788
#### Gestion du sous-domaine www
www 1800 IN CNAME @
@ -27,4 +29,4 @@ vjud 1800 IN CNAME @
<div class="alert alert-info"><b>Pour débuter :</b> les lignes avec « (Minimum) » sont les entrées DNS minimales requises pour que le web, le courrier électronique et XMPP fonctionnent.</div>
<div class="alert alert-warning"><b>Attention :</b> <b>@</b> représente le nom de domaine par défaut que lon est en train de définir, certains bureaux denregistrement ne lacceptent pas (ex : OVH). Il faut donc remplacer le « @ » par votre nom de domaine (domain.tld).</div>
<div class="alert alert-warning"><b>Attention :</b> <b>@</b> représente le nom de domaine par défaut que lon est en train de définir, certains bureaux denregistrement ne lacceptent pas (ex : OVH). Il faut donc remplacer le « @ » par votre nom de domaine (domain.tld**.**) sans oublier un point à la fin.</div>

View file

@ -31,7 +31,7 @@ Plusieurs choix soffrent à vous. Notez que vous pouvez cumuler ces solutions
**Cest la méthode recommandée si vous débutez.**
2. Vous pouvez utiliser le service de DNS de votre **registar** (Gandi, OVH, BookMyName ou autre) pour configurer vos noms de domaine. Voici la [configuration DNS standard](/dns_config_fr).
Vous pouvez également consulter les documentations spécifiques à ces différents registrar : [OVH](/OVH_fr), [Gandi](/Gandi_fr), [BookMyName](/BookMyName_fr).
Vous pouvez également consulter les documentations spécifiques à ces différents [bureaux denregistrement](/registar_fr) : [Gandi](http://gandi.net), [OVH](/OVH_fr) ou [BookMyName](http://bookmyname.com).
**Attention** : Si vous choisissez ce mode de fonctionnement, vous aurez plus de flexibilité, mais rien ne sera automatique. Par exemple si vous souhaitez utiliser `webmail.mon-serveur.org`, vous devrez lajouter manuellement chez votre registar.

View file

@ -1,44 +1,15 @@
#Email
# Email
YunoHost provides:
### Summary
* [Configure email client](email_configure_client_en)
* [MX DNS zone](/dns_config_en)
* [Open ports on the router](/isp_box_config_en)
* [Migrate emails](email_migration_en)
* [Forms to remove blacklisting of your IP address](blacklist_forms_en)
* [Use DKIM](dkim_en)
#### YunoHost provides
* [Postfix](http://www.postfix.org/): a SMTP email server
* [Dovecot](http://www.dovecot.org/): a IMAP and a POP3 email server
* [Dovecot](http://www.dovecot.org/): an IMAP email server
* [Amavis](http://amavis.org/): an antispam
* [RoundCube](/apps): a webmail
### Desktop email client
You can access your emails via desktop email clients such as Mozilla Thunderbird or Evolution.
You will need your email address and your password.
**Caution:** your login is your SSO username and not your email address
#####Settings:
`IMAP | 993 | SSL/TLS`
`SMTP | 465 | SSL/TLS`
#### Mozilla Thunderbird
The automatic detection tool of Thunderbird does not work with YunoHost. You will need to set it up manually. To do so, add the account information, then select SSL/TLS for IMAP and SMTP. Afterwards select 'Normal Password' for Authentication and click on 'Advanced Config'. You will need to accept the certificate exceptions for fetching mails and after you send your first mail. Remove dot before domain name.
<img src="https://yunohost.org/images/thunderbird-config.png" width=900>
* [Manage alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
####For Android
[K-9 Mail](https://en.wikipedia.org/wiki/K-9_Mail) application works.
### Migration
Emails can be migrated with [Larch](https://github.com/rgrove/larch/):
* on your client install Larch:
```bash
sudo gem install larch
```
* Proceed to the transfert between two YunoHost servers:
```bash
larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org
```
For other type of tranfers refer you to Larch documentation.
* [RoundCube](/apps): a webmail

26
email_configure_client.md Normal file
View file

@ -0,0 +1,26 @@
## Configuration desktop email client
*[Documentation linked to YunoHost email](/email_fr)*.
You can access your emails via desktop email clients such as Mozilla Thunderbird.
#### Requirements
* Email address
* Password of the user account
##### Settings
| Protocol | Port | Encryption |
| :--: | :-: | :--: |
| IMAP | 993 | SSL/TLS |
| SMTP | 465 | SSL/TLS |
#### Mozilla Thunderbird
The automatic detection tool of Thunderbird does not work with YunoHost. You will need to set it up manually. To do so, add the account information, then select SSL/TLS for IMAP and SMTP. Afterwards select 'Normal Password' for Authentication and click on 'Advanced Config'. You will need to accept the certificate exceptions for fetching mails and after you send your first mail. Remove dot before domain name.
<img src="https://yunohost.org/images/thunderbird-config.png" width=900>
* [Manage alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
#### For Android
[K-9 Mail](https://en.wikipedia.org/wiki/K-9_Mail) application works.

View file

@ -0,0 +1,25 @@
## Configuration client email de bureau
*[Documentation en rapport avec lemail de YunoHost](/email_fr)*.
Il est possible daccéder à ses emails grâce à un client lourd de messagerie électronique tel que Mozilla Thunderbird.
#### Prérequis
* Adresse email principal
* Mot de passe du compte utilisateur
#### Réglages génériques
| Protocole | Port | Chiffrement |
| :--: | :-: | :--: |
| IMAP | 993 | SSL/TLS |
| SMTP | 465 | SSL/TLS |
#### Mozilla Thunderbird
Lutilitaire de détection automatique de Thunderbird ne fonctionne pas avec le serveur email de YunoHost. Il faut donc passer en configuration manuelle. Noubliez pas denlever le point devant le nom de domaine.
<img src="https://yunohost.org/images/thunderbird-config.png" width=900>
* [Gestion des alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
#### Pour Android
Lapplication [K-9 Mail](https://github.com/k9mail) fonctionne.

View file

@ -1,46 +1,40 @@
#Messagerie électronique
# Messagerie électronique
YunoHost fournit :
* [Postfix](http://www.postfix.org/) : un serveur de messagerie électronique SMTP
* [Dovecot](http://www.dovecot.org/) : un serveur de messagerie électronique IMAP et POP3
* [Amavis](http://amavis.org/) : un antispam
* [RoundCube](/apps) : un webmail
### Relever ses courriels
#### Le webmail Rouncube
Pour relever simplement ses [courriels](https://fr.wikipedia.org/wiki/Courrier_%C3%A9lectronique), le client webmail [Rouncube](https://roundcube.net/) est proposé dans YunoHost. Il est installable depuis linterface dadministration :
###Client lourd de messagerie électronique
Il est possible daccéder à ses courriels grâce à un client lourd de messagerie électronique comme Mozilla Thunderbird ou Évolution.
<img src="https://yunohost.org/images/mailview.jpg" width=650>
Ladresse mail principale et ton mot de passe sont nécessaire.
#### Client de messagerie alternatif
Vous pouvez également configurer un [client de messagerie indépendant](email_configure_client_fr), pour par exemple relever les messages de plusieurs adresses de courriels simultanément ou [relever vos courriels depuis un smartphone](email_configure_client_fr#Android)<!-- proposer plus de clients et rendre plus verbeux -->.
**Attention:** votre login est votre nom dutilisateur SSO et non votre adresse mail ou la partie avant le @
#### Transférer ou migrer ses mails vers un autre serveur
Suivez [ce guide](email_migration_fr)<!-- à clarifier --> pour transférer vos mails sur votre serveur YunoHost en utilisant le protocole IMAP.
#####Réglages :
### Configurations supplémentaires pour la messagerie
#### Configurer les DNS MX
Si vous avez opté pour un nom de domaine personnel, il est nécessaire de [configurer votre serveur DNS](/dns_config_fr)<!-- explication spécifique des DNS MX à ajouter sur cette page--> pour faire fonctionner la messagerie électronique.
`IMAP | 993 | SSL/TLS`
#### Ouverture des ports
Vérifiez également que les ports correspondant à la messagerie (n° 25, 465 et 993) sont bien ouverts au niveau de votre box ou de votre routeur. [Tutoriel douverture des ports de la box](/isp_box_config_fr).
`SMTP | 465 | SSL/TLS`
#### Configurer lauthentification DKIM/SPF (facultatif)
Le protocole SMTP ne prévoit pas de mécanisme de vérification de lexpéditeur. Il est donc possible denvoyer un courrier avec une adresse dexpéditeur factice ou usurpée. SPF et DKIM sont deux mécanismes possible dauthentification de lexpéditeur dun email. [Tutoriel pour configurer DKIM/SPF](dkim_fr).<!-- compliqué, à clarifier ? -->
####Mozilla Thunderbird
Lutilitaire de détection automatique de Thunderbird ne marche pas correctement avec YunoHost. Il faut donc passer en configuration manuelle. Noubliez pas denlever le point devant le nom domaine.
### Résolution de problèmes
#### Votre serveur est sur une liste noire…
Si les courriels envoyés à un type dadresse spécifique (par exemples les adresses Gmail) narrivent pas à destination, votre serveur (son adresse IP) a peut être été ajouté à la liste noire du fournisseur dadresse courriel en question. Pour résoudre ce problème voici les [formulaires de retrait de liste noires](blacklist_forms_fr).
<img src="https://yunohost.org/images/thunderbird-config.png" width=900>
#### Consulter les fichiers de log pour identifier le problème
De nombreux messages permettant didentifier les problèmes se trouvent enregistrés dans les fichiers de log du système. [Apprenez à les consulter](check_logfile_fr), pour pouvoir mieux comprendre ce qui cloche et trouver de laide sur le forum ou le salon de support.
* [Gestion des alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
<!-- ajouter une doc pour consulter ses logs des services mail -->
####Pour Android
Lapplication [K-9 Mail](https://github.com/k9mail) fonctionne.
### Aller plus loin
La messagerie électronique est basée sur les protocoles SMTP pour lenvoi de mail et IMAP (ou anciennement POP3) pour la récupération des messages depuis un serveur. En arrière plan, YunoHost fournit :
* [Postfix](http://www.postfix.org/) en tant que serveur SMTP.
* [Dovecot](http://www.dovecot.org/) pour le serveur IMAP.
* [Amavis](http://amavis.org/) logiciel antispam, filtrant les messages indésirables.
###Migration
Les emails peuvent être migrés avec [Larch](https://github.com/rgrove/larch/) :
* sur votre client installez Larch :
```bash
sudo gem install larch
```
* Procédez au transfert ente deux serveurs YunoHost :
```bash
larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org
```
Pour dautres types de transferts référez-vous à la documentation de Larch.
####Aller plus loin
* [Conférence de Benjamin Sonntag - Lemail](http://www.iletaitunefoisinternet.fr/lemail-par-benjamin-sonntag/)
Pour approfondir votre compréhension du courriel et de ses protocoles, voici une [conférence éclairante](https://www.youtube.com/watch?v=f_ORZDNHMXM)<!-- le site iletaitunefoisinternet est inaccessible. S'il revient virer ce youtube.--> (en français).

37
email_migration.md Normal file
View file

@ -0,0 +1,37 @@
# Migrate his emails
*[Documentation linked to YunoHost email](/email_fr)*.
Migration of his emails from a server to an other can be done with two recommended tools: ImapSync or Larch.
This tool must be installed on your desktop computer. The transfer method looks at this schema:
**`Old email server > desktop computer with ImapSync or Larch > new email server`**
### ImapSync
[ImapSync site](http://imapsync.lamiral.info/)
Install ImapSync on your client computer by following this [guide](http://imapsync.lamiral.info/INSTALL):
```bash
sudo dnf install imapsync # Under Fedora
```
Transfer emails from a server to an other:
```bash
imapsync --host1 <domain/IP> --port1 993 --ssl1 --user1 <user> --password1 <password> \
--host2 <domain/IP> --port2 993 --ssl2 --user2 <user> --password2 <password>
```
Note that transfer settings `--port 993` and `--ssl` are specific to YunoHost email server.
### Larch
[Larch site](https://github.com/rgrove/larch/)
After beforehand installed `gem`, install `larch` on your client computer:
```bash
sudo gem install larch
```
Transfer emails from a server to an other:
```bash
larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org
```
For other type of tranfer refer you to Larch documentation.

37
email_migration_fr.md Normal file
View file

@ -0,0 +1,37 @@
# Migration de ces emails
*[Documentation en rapport avec lemail de YunoHost](/email_fr)*.
La migration des emails dun serveur à un autre peux se faire via deux outils recommandés : ImapSync ou Larch.
Cet outil doit être installé sur votre ordinateur de bureau. La procédure de transfert est comme sur le schéma :
**`Ancien serveur email > ordinateur client avec ImapSync ou Larch > nouveau serveur email`**
### ImapSync
[Site dImapSync](http://imapsync.lamiral.info/)
Installez ImapSync sur votre ordinateur client en suivant ce [guide](http://imapsync.lamiral.info/INSTALL) :
```bash
sudo dnf install imapsync # Sous Fedora
```
Transferez les mails dun serveur à lautre :
```bash
imapsync --host1 <domaine/IP> --port1 993 --ssl1 --user1 <utilisateur> --password1 <mdp> \
--host2 <domaine/IP> --port2 993 --ssl2 --user2 <utilisateur> --password2 <mot de passe>
```
Notez que les paramètres de transfert `--port 993` et `--ssl` sont spécifique à un serveur de mail YunoHost.
### Larch
[Site de Larch](https://github.com/rgrove/larch/)
Après avoir préalablement installé `gem`, installez `larch` sur votre ordinateur client :
```bash
sudo gem install larch
```
Transferez les mails dun serveur à lautre :
```bash
larch -a -f imaps://serveur_d'origine.org -t imaps://serveur_de_destination.org
```
Pour dautres types de transferts référez-vous à la documentation de Larch.

14
faq.md Normal file
View file

@ -0,0 +1,14 @@
# Frequently asked questions
#### YunoHost ported on Ubuntu?
YunoHost team does not have energy to port and maintain YunoHost on Ubuntu.
#### YunoHost is distributed under which license?
YunoHost packages are under free licenses GNU AGPL v.3.
YunoHost is based on Debian, so on licenses of Debian based elements.
Applications and applications packages have there respectives licenses.
#### Can we host many independents websites with differents domain names?
We can host many websites cause YunoHost is multi-domain and that some applications for websites management, like *WordPress* or *Web App Multi Custom*, are multi-instances, which means that the application can be installed many times.

14
faq_fr.md Normal file
View file

@ -0,0 +1,14 @@
# Foire aux questions
#### Es-ce que YunoHost est porté sous Ubuntu ?
Léquipe de YunoHost na pas lénergie de porter ni de maintenir YunoHost sur Ubuntu.
#### YunoHost est distribuée sous quelle licence ?
Les paquets qui composent YunoHost sont sous licence libre GNU AGPL v.3.
YunoHost est basé sur Debian, donc sur les licences des éléments sur lequels Debian est basé.
Les applications et les packages dapplications ont leurs licences respectives.
#### Peut-on héberger plusieurs sites indépendants avec des nom de domaines différents ?
On peut tout à fait héberger plusieurs sites web car YunoHost est multi-domaine et que certaines applications de gestion de sites web, comme *WordPress* ou *Web App Multi Custom*, sont multi-instances, cest-à-dire que lapplications peut-être installée plusieurs fois.

View file

@ -29,10 +29,6 @@ This page lists few installation guides.
<div class="row">
<div class="col col-md-3 text-center">
<a href="/install_brick"><img src="https://yunohost.org/images/thisisinternet.png" height=150 style="vertical-align:bottom"><b><p>On the Internet brick</p></b></a>
</div>
<div class="col col-md-3 text-center">
<a href="/install_on_raspberry"><img src="https://yunohost.org/images/Raspberry_Pi_2_Model_B_v1.1_front_angle_new.jpg" height=150 style="vertical-align:bottom"><b><p>On a Raspberry Pi</p></b></a>
</div>
@ -93,7 +89,7 @@ This page lists few installation guides.
<h1 style="font-weight: 100">On Debian</h1>
If you have already installed **Debian 7** (wheezy) on a server, you are able to **[install YunoHost via script](/install_on_debian)**.
If you have already installed **Debian 7** (Wheezy) or **8** (Jessie) on a server, you are able to **[install YunoHost via script](/install_on_debian)**.
<a href="/install_on_debian"><img width=100 src="https://yunohost.org/images/debian-logo.png"></a>

View file

@ -1,56 +0,0 @@
# Introduction
Installation instructions for the "brique" written in live during the General Meeting "FFDN" of 2015. To be completed.
## VPN reservation
This step is specific to your internet provider. Get the required certificates and/or password for VPN connection to the client, as well as specific OpenVPN directives if necessary.
For example, Neutrinet needs the `topology subnet` directive (for Windows compatibility \o/)
## Download ISO
Go to http://repo.labriqueinter.net/
(get latest http://repo.labriqueinter.net/labriqueinternet_latest.img.tar.gz)
Save ISO to to SD card using `dd`:
```bash
sudo dd if=labriqueinternet_latest.img of=/dev/sdX
```
Insert SD card into the box, plug in ethernet cable (to connect to local network) and turn it on.
## Post-configuration
Connect to `yunohost.local` or through SSH, using the IP adress and update packages.
* user: root
* password: olinux
```bash
apt-get update && apt-get dist-upgrade
```
Then connect using https and accept the self signed certificate. Then follow instructions and proceed to [postinstall](/postinstall).
* Choose domain name
* Choose administrator password
You will be redirected to the admin panel, where you will be able to add your first user.
Then, you can install applications using "applications -> install" or fill the bottom field with a Github repository URL:
* [HotSpot](https://github.com/labriqueinternet/hotspot_ynh)
* [VPNCient](https://github.com/labriqueinternet/vpnclient_ynh)
* [TorClient](https://github.com/labriqueinternet/torclient_ynh)
* [PirateBox](https://github.com/labriqueinternet/piratebox_ynh)
Go to `http://monurl.com/vpnadmin` (or the custom value you picked):
(neutrinet) Fill with `vpn.neutrinet.be`
copy/paste the generated vpn conf into "advanced" section
(Note that IPv6 script isn't ready yet so don't try to configure it... If you're wreckless, you can get it at https://vpn.neutrinet.be:8000)
```bash
scp auth client.crt client.key ca.crt dans /etc/openvpn/
```

View file

@ -1,58 +0,0 @@
# Introduction
Instructions d'installation de la brique écrite en temps réel lors de l'AG FFDN 2015, à compléter.
## Réservation VPN
Cette étape est propre à chaque FAI. Récupérez les certificats et/ou mot de passe nécessaire à la connexion du client VPN, ainsi que les directives OpenVPN spécifiques si besoin.
Chez Neutrinet, nous avons par exemple besoin de la directive `topology subnet` (pour la compatibilité Windows \o/).
## Télécharger limage
Sur http://repo.labriqueinter.net/
(prendre la latest http://repo.labriqueinter.net/labriqueinternet_latest.img.tar.gz)
Faire un `dd` de l'image sur la carte SD a destination :
```bash
sudo dd if=labriqueinternet_latest.img of=/dev/sdX
```
Mettre la carte SD dans la boîte, puis la lancer et l'ayant branché sur le réseau locale avec un câble ethernet.
## Post-configuration
Ensuite, aller sur `yunohost.local` ou l'ip en ssh et mettre à jours les pkgs.
* user : root
* password : olinux
```bash
apt-get update && apt-get dist-upgrade
```
Puis y aller en http et accepter le certificat auto-signé, puis suivre les instructions de [postinstall](/postinstall).
* choisir le nom de domaine
* choisir un mot de passe administrateur
Vous êtes redirigé sur l'interface d'admin et là, créer un nouvel utilisateur avec son mot de passe et co.
Puis, installer les applications ("applications -> installer" et tout en bas mettre l'url vers le dépot GitHub) :
* [HotSpot](https://github.com/labriqueinternet/hotspot_ynh)
* [VPNCient](https://github.com/labriqueinternet/vpnclient_ynh)
* [TorClient](https://github.com/labriqueinternet/torclient_ynh)
* [PirateBox](https://github.com/labriqueinternet/piratebox_ynh)
Ensuite, aller sur `http://monurl.com/vpnadmin` (ou ce que vous avez choisi). Là :
(pour neutrinet) mettre `vpn.neutrinet.be`
copier/coller la conf généré pour le vpn dans l'endroit "advanced"
(pour l'instant pas configurer l'ipv6 pour neutrinet, le script doit être fini pour l'obtenir ou aller le chercher sur https://vpn.neutrinet.be:8000)
```bash
scp auth client.crt client.key ca.crt dans /etc/openvpn/
```

View file

@ -30,7 +30,7 @@ Cette page liste plusieurs types d'installations, classés par catégories.
<div class="row">
<div class="col col-md-3 text-center">
<a href="/install_brick_fr"><img src="https://yunohost.org/images/thisisinternet.png" height=150 style="vertical-align:bottom"><b><p>Sur la Brique Internet</p></b></a>
<a href="/installation_brique_fr"><img src="https://yunohost.org/images/thisisinternet.png" height=150 style="vertical-align:bottom"><b><p>Sur la Brique Internet</p></b></a>
</div>
<div class="col col-md-3 text-center">
@ -93,6 +93,6 @@ Cette page liste plusieurs types d'installations, classés par catégories.
<h1 style="font-weight: 100">Sur Debian</h1>
Si vous disposez déjà d'un serveur ou d'un ordinateur sous **Debian 7** (wheezy), suivez l'**[installation par script](/install_on_debian_fr)**.
Si vous disposez déjà d'un serveur ou d'un ordinateur sous **Debian 7** (Wheezy) ou **8** (Jessie), suivez l'**[installation par script](/install_on_debian_fr)**.
<a href="/install_on_debian_fr"><img width=100 src="https://yunohost.org/images/debian-logo.png"></a>

View file

@ -15,7 +15,7 @@ You can reuse any computer with **256MB RAM or more**.
* A **USB key** of at least 1GB capacity **OR** a standard **blank CD**
* One of the latest **YunoHost ISO images**, available here (take the 32 bits one if you don't know which one to choose):
<div>
<b>Torent:</b>
<b>Torrent:</b>
<ul>
<li>[32 bits](http://build.yunohost.org/yunohostv2-latest-i386.iso.torrent)</li>
<li>[64 bits](http://build.yunohost.org/yunohostv2-latest-amd64.iso.torrent)</li>

View file

@ -16,7 +16,12 @@ sudo apt-get install git
git clone https://github.com/YunoHost/install_script /tmp/install_script
```
3. Execute the installation script
3. The root user must have a password set, if it isn't the case, set it (whithout the install script failed):
```bash
sudo passwd root
```
4. Execute the installation script
```bash
cd /tmp/install_script && sudo ./install_yunohostv2
```

View file

@ -16,7 +16,12 @@ sudo apt-get install git
git clone https://github.com/YunoHost/install_script /tmp/install_script
```
3. Lancez le script dinstallation
3. 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):
```bash
sudo passwd root
```
4. Lancez le script dinstallation
```bash
cd /tmp/install_script && sudo ./install_yunohostv2
```

View file

@ -1,4 +1,4 @@
# Install YunoHost on CubieBoard
# Install YunoHost on Cubieboard
*Find other ways to install YunoHost **[here](/install)**.*
@ -8,42 +8,32 @@
<img src="https://yunohost.org/images/micro-sd-card.jpg">
* CubieBoard 1, 2 or CubieTruck.
* A micro-SD card: **8GB** capacity (or more) and **class10** speed rate are highly recommended
* An other computer to read this guide and access to your Cubieboard
* A screen and a keyboard are recommended to control your Cubieboard if a problem occurs
* A micro SD card: **4GB** capacity (or more) and **class10** speed rate are highly recommended
* A [reasonable ISP](/isp), preferably with a good and unlimited upstream bandwidth
* The **YunoHost Cubieboard image**, available here (to **unzip**):
* [For Cubieboard 2](http://build.yunohost.org/yunohost-cubieboard-a20-2014-10-14.img.zip)
---
## Installation steps
## Installation
* Download the latest **[image of ARMbian Jessie for Cubieboard](http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/)**
<a class="btn btn-lg btn-default" href="/copy_image">1. Copy image to the SD card</a>
<a class="btn btn-lg btn-default" href="/copy_image">Copy image to the SD card</a>
Before putting SD card on Cubieboard create repository nginx:
```bash
mkdir media/cubieboard/var/log/ngnix
```
<a class="btn btn-lg btn-default" href="/plug_and_boot">Plug & boot</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot">2. Plug & boot</a>
* Connect via [SSH](ssh): **root@exemple.tld/ip_address** with the password: **1234**.
<a class="btn btn-lg btn-default" href="/postinstall">4. Post-install</a>
<a class="btn btn-lg btn-default" href="/install_manually">Install YunoHost</a>
<a class="btn btn-lg btn-default" href="/postinstall">Post-install</a>
---
## Recommended after post-installation
#### Recommended after post-installation
* Use [SSH authentication via key](security)
* Connect via [SSH](ssh): **root@expemple.tld** (password: **yunohost**)
* Change root password: `passwd root` or use [SSH authentication via key](security)
* Upgrade system: `apt-get update && apt-get dist-upgrade && cubian-update`
---
### Create a YunoHost image for Cubieboard 1, 2 or 3
* **[Scripts for Cubian](https://github.com/M5oul/Yunocubian)**
* A Cubieboard Debian 7/8 image compatible with YunoHost:
* [ARMbian](http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/)
#### See also
* [Scripts to install YunoHost on Cubian](https://github.com/M5oul/Yunocubian)
* Images of Cubieboard Debian 7/8 compatible with YunoHost:
* [Cubian](http://cubian.org/)
* [Cubieez](http://www.cubieforums.com/index.php?topic=442.0)

View file

@ -6,42 +6,33 @@
<img src="https://yunohost.org/images/micro-sd-card.jpg">
* Une Cubieboard 1, 2 ou une CubieTruck
* Une carte micro-SD de capacité minimale de **8GB** et vitesse **class10** fortement recommandée
* Un autre ordinateur pour parcourir ce guide et accéder à votre Cubieboard
* Un écran et un clavier sont recommandés pour pouvoir contrôler votre Cubieboard si un problème apparaît
* Une carte micro SD de capacité minimale de **4 GB** et de vitesse **class10**
* Un [fournisseur daccès correct](/isp_fr), de préférence avec une bonne vitesse dupload
* L**image YunoHost pour Cubieboard**, disponible ici (à **dézipper**) :
* [Pour Cubieboard 2](http://build.yunohost.org/yunohost-cubieboard-a20-2014-10-14.img.zip)
## Étapes dinstallation
## Installation
<a class="btn btn-lg btn-default" href="/copy_image_fr">1. Copier limage sur une carte SD</a>
* Télécharger la dernière **[image dARMbian Jessie pour Cubieboard](http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/)**.
Avant de mettre la carte dans la Cubieboard créer le dossier nginx :
```bash
mkdir media/cubieboard/var/log/ngnix
```
<a class="btn btn-lg btn-default" href="/copy_image_fr">Copier limage sur une carte SD</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">2. Brancher & démarrer</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">Brancher & démarrer</a>
<a class="btn btn-lg btn-default" href="/postinstall_fr">4. Post-installation</a>
* Se connecter en [SSH](ssh_fr) : **root@exemple.tld/adresse_ip** avec le mot de passe : **1234**.
<a class="btn btn-lg btn-default" href="/install_manually_fr">Installation de YunoHost</a>
<a class="btn btn-lg btn-default" href="/postinstall_fr">Post-installation</a>
---
## Recommandé après la post-installation
#### Recommandé après la post-installation
* Utilisez l[authentification SSH par clé](security_fr)
* Se connecter en [SSH](ssh_fr) : **root@exemple.tld** (mot de passe : **yunohost**)
* Changer le mot de passe root : ```passwd root``` ou utilisez l[authentification SSH par clé](security_fr)
* Mettre à jour le système dexploitation : ```apt-get update && apt-get dist-upgrade && cubian-update```
---
### Créer une image YunoHost pour Cubieboard 1, 2 ou 3
* **[Scripts pour Cubian](https://github.com/M5oul/Yunocubian)**
* Une image Debian 7/8 pour Cubieboard compatible avec YunoHost :
* [ARMbian](http://www.igorpecovnik.com/2013/12/24/cubietruck-debian-wheezy-sd-card-image/)
* [Cubian](http://cubian.org/)
* [Cubieez](http://www.cubieforums.com/index.php?topic=442.0)
#### Annexes
* [Scripts dinstallation de YunoHost pour Cubian](https://github.com/M5oul/Yunocubian)
* Images Debian 7/8 pour Cubieboard compatible avec YunoHost :
* [Cubian](http://cubian.org/)
* [Cubieez](http://www.cubieforums.com/index.php?topic=442.0)
---

View file

@ -8,7 +8,7 @@
An ARM box, a VPS, a dedicated server, a standard x86 computer, an old Macintosh, ...
* with **Debian 7** (Wheezy, Raspbian, Cubian, etc.) installed
* with **Debian 8** (Jessie) or **7** (Wheezy) installed
* connected to the Internet
* with a **root access** directly or via SSH

View file

@ -8,7 +8,7 @@
Sur une plateforme ARM, un VPS, un serveur dédié, un ordinateur x86 standard, un vieux Macintosh, ...
* avec **Debian 7** (Wheezy, Raspbian, Cubian, etc…) dinstallé
* avec **Debian 8** (Jessie) ou **7** (Wheezy) dinstallé
* connecté à Internet avec un câble RJ-45
* avec un **accès root** directement ou par SSH

View file

@ -7,7 +7,7 @@
<img src="https://yunohost.org/images/vps.png" width=250>
* A dedicated server **OR** a VPS with at least **256MB** RAM
* A **Debian 7** OS up and running on it
* A **Debian 8** or **7** OS up and running on it
---

View file

@ -7,7 +7,7 @@
<img src="https://yunohost.org/images/vps.png" width=250>
* Un serveur dédié **OU** un VPS avec au moins **256MB** de RAM
* Une installation **Debian 7** fonctionnelle
* Une installation **Debian 8** ou **7** fonctionnelle
---

View file

@ -6,8 +6,8 @@
<img src="https://yunohost.org/images/digitalocean.png" width=250>
* A DigitalOcean account
* A **Debian 7.0 x64** droplet with at least **512MB** RAM
* A [DigitalOcean](https://www.digitalocean.com/) account
* A **Debian 7.x or 8.x 64bits** droplet with at least **512MB** RAM
<div class="alert alert-warning">
<b>Note :</b> The `root` user **must** have a password properly set. Run `sudo passwd root` to ensure this.

View file

@ -6,8 +6,8 @@
<img src="https://yunohost.org/images/digitalocean.png" width=250>
* Un compte DigitalOcean
* Un conteneur **Debian 7.0 x64** avec au moins **512MB** de RAM
* Un compte [DigitalOcean](https://www.digitalocean.com/)
* Un conteneur **Debian 7.x ou 8.x 64 bits** avec au moins **512MB** de RAM
<div class="alert alert-warning">
<b>Attention :</b> lutilisateur `root` doit posséder un mot de passe. Exécutez `sudo passwd root` pour être sûr quil est configuré correctement.

View file

@ -1,60 +1,180 @@
# Introduction
# Installation dune Brique Internet
Instructions d'installation de la brique écrite en temps réel lors de l'AG FFDN 2015, à compléter.
<div class="alert alert-info" markdown="1">
Cette documentation s'adresse à des personnes qui ont **quelques notions d'informatique** et qui souhaitent installer eux-même leur Brique Internet.
## Réservation VPN
Pour obtenir une **Brique clé-en-main** et pouvoir l'utiliser directement sans avoir besoin de connaissances particulières, il faut se rapprocher d'une association locale qui fournit des Briques Internet à leurs adhérents, comme celles référencées sur [le site de FFDN](http://db.ffdn.org).
Cette étape est propre à chaque FAI. Récupérez les certificats et/ou mot de passe nécessaire à la connexion du client VPN, ainsi que les directives OpenVPN spécifiques si besoin.
Site du projet *La Brique Internet* : http://labriqueinter.net
</div>
Chez Neutrinet, nous avons par exemple besoin de la directive `topology subnet` (pour la compatibilité Windows \o/).
![brique](https://yunohost.org/images/thisisinternet.png)
## Télécharger limage
## Prérequis
Sur http://repo.labriqueinter.net/
( prendre la latest http://repo.labriqueinter.net/labriqueinternet_latest.img.tar.gz )
Une **Brique Internet complète**, soit :
* Un mini-serveur [A20-OLinuXino-LIME](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME/open-source-hardware) ou [A20-OLinuXino-LIME2](https://www.olimex.com/Products/OLinuXino/A20/A20-OLinuXino-LIME2/open-source-hardware).
* Une carte micro-SD (des [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO) pour des raisons de performance/stabilité).
* Une antenne WiFi [MOD-WIFI-R5370-ANT](https://www.olimex.com/Products/USB-Modules/MOD-WIFI-R5370-ANT/) (non-libre) ou [AR9271](http://fr.aliexpress.com/item/Atheros-AR9271-Chip-150Mbps-Mini-USB-Wifi-Adapter-with-5dBi-Antenna/32344771975.html) (libre, mais limitée à 7 connexions simultanées maximum).
* Un adaptateur secteur [européen](https://www.olimex.com/Products/Power/SY0605E/) pour alimenter la brique. Lalimentation via USB semble peu stable.
* Un câble Ethernet/RJ-45 pour brancher la Brique à son routeur.
Faire un `dd` de l'image sur la carte SD a destination :
Et évidemment, **un ordinateur sous UNIX (e.g. GNU/Linux).**
---
Lordre des étapes est important.
## Étapes préliminaires
1. Télécharger limage ( [lime1](http://repo.labriqueinter.net/labriqueinternet_A20LIME_latest_jessie.img.tar.xz) ou [lime2](http://repo.labriqueinter.net/labriqueinternet_A20LIME2_latest_jessie.img.tar.xz) ), la valider son *checksum MD5*, puis la décompresser :
```bash
sudo dd if=labriqueinternet_latest.img of=/dev/sdX
% cd /tmp/
% wget http://repo.labriqueinter.net/labriqueinternet_A20LIME_latest_jessie.img.tar.xz
% wget http://repo.labriqueinter.net/MD5SUMS
% md5sum -c MD5SUMS
% tar -xf labriqueinternet_*.img.tar.xz
% mv labriqueinternet_*.img labriqueinternet.img
```
Mettre la carte SD dans la boîte, puis la lancer et l'ayant branché sur le réseau locale avec un câble ethernet.
## Post-configuration
Ensuite, aller sur `yunohost.local` ou l'ip en ssh et mettre à jours les pkgs.
- user : root
- password : olinux
2. Identifier le nom de la carte micro-SD (SDNAME) en tapant la commande `ls -1 /sys/block/`, en insérant la carte micro-SD (éventuellement à l'aide d'un adaptateur) dans son ordinateur, puis en retapant la commande `ls -1 /sys/block/`. Le nom de la carte micro-SD (SDNAME) correspond à la ligne qui apparaît en plus après la seconde saisie (e.g. *sdb* ou *mmcblk0*).
3. Copier l'image sur la carte (remplacer *SDNAME* par le nom trouvé lors de l'étape précédente) :
```bash
apt-get update && apt-get dist-upgrade
sudo dd if=/tmp/labriqueinternet.img of=/dev/SDNAME bs=1M
```
Puis y aller en http et accepter le certificat auto-signé, puis suivre les instructions de [postinstall](/postinstall).
4. Mettre la carte micro-SD dans une Brique, connecter la brique à votre routeur avec le câble Ethernet, puis brancher lalimentation. La brique démarre normalement toute seule, et les LEDs du port Ethernet se mettent à clignoter au bout de 10 secondes maximum.
<div class="alert alert-warning" markdown="1">
Le premier démarrage peut mettre une grosse minute car la partition est redimensionnée et le serveur est redémarré automatiquement.
</div>
- choisir le nom de domaine
- choisir un mot de passe administrateur
Vous êtes redirigé sur l'interface d'admin et là, créer un nouvel utilisateur avec son mot de passe et co.
## Installation des applications de la briqueinternet
Puis, installer les applications ("applications -> installer" et tout en bas mettre l'url vers le dépot GitHub) :
- [HotSpot](https://github.com/labriqueinternet/hotspot_ynh) (https://github.com/labriqueinternet/hotspot_ynh)
- [VPNCient](https://github.com/labriqueinternet/vpnclient_ynh) (https://github.com/labriqueinternet/vpnclient_ynh)
- [TorClient](https://github.com/labriqueinternet/torclient_ynh) (https://github.com/labriqueinternet/torclient_ynh)
- [PirateBox](https://github.com/labriqueinternet/piratebox_ynh) (https://github.com/labriqueinternet/piratebox_ynh)
Ensuite, aller sur `http://monurl.com/vpnadmin` (ou ce que vous avez choisi). Là :
(pour neutrinet) mettre `vpn.neutrinet.be`
copier/coller la conf généré pour le vpn dans l'endroit "advanced"
(pour l'instant pas configurer l'ipv6 pour neutrinet, le script doit être fini pour l'obtenir ou aller le chercher sur https://vpn.neutrinet.be:8000)
5. Récupérer ladresse IP locale de la Brique :
<ul>
<li>soit avec une commande comme `arp-scan --local | grep -P '\t02'`,</li>
<li>soit via l'interface du routeur listant les clients DHCP,</li>
<li>soit en branchant un écran en HDMI à la Brique, et en exécutant `ifconfig`.</li>
</ul>
<div class="alert alert-info" markdown="1">
Pour les commandes suivantes, nous admettons que ladresse IP locale de la Brique est **192.168.4.2**. Remplacer par l'adresse IP précédement déterminée.
</div>
6. Se connecter en SSH en root à la Brique, le mot de passe est **olinux** par défaut :
```bash
scp auth client.crt client.key ca.crt dans /etc/openvpn/
% ssh root@192.168.4.2
```
À la première connexion, il sera demandé de changer le mot de passe : entrer à nouveau **olinux**, puis saisir deux fois votre nouveau mot de passe.
7. Mettre à jour le système (environ 15 minutes) :
```bash
% sudo apt-get update && sudo apt-get dist-upgrade
```
## Étapes de configuration
<div class="alert alert-info" markdown="1">
Nous installons ici la Brique de **michu.nohost.me**. Remplacer ce nom par le nom de domaine choisi (et comme précédemment l'IP 192.168.4.2 par celle de la brique)
</div>
1. Mettre à jour le fichier `/etc/hosts` de son ordinateur client pour pouvoir accéder à la Brique en local via **michu.nohost.me**, en ajoutant à la fin :
```bash
192.168.4.2 michu.nohost.me
```
2. Procéder à la [postinstallation](/postinstall_fr) en se connectant à la Brique sur https://michu.nohost.me (accepter l'exception de sécurité du certificat).
<div class="alert alert-info" markdown="1">
**Note :** il est également possible de réaliser cette étape en ligne de commande via SSH en exécutant `yunohost tools postinstall`.
</div>
3. **Créer le premier utilisateur** : se rendre dans linterface dadministration YunoHost (ici https://michu.nohost.me/yunohost/admin), entrer le mot de passe dadministration puis se rendre dans **Utilisateurs** > **Nouvel utilisateur**.
<div class="alert alert-info" markdown="1">
Il faudra entrer un **nom dutilisateur** sans majuscule/espace/tiret, un **nom/prénom/pseudo** en deux parties (obligatoires, merci LDAP) qui correspondra au nom qui apparaîtra sur les futurs emails de lutilisateur, ainsi qu'un **quota demail** éventuel et un **mot de passe** (*à ne pas confondre avec le mot de passe dadministration dans ce cas*).
</div>
4. **Installer lapplication VPN Client** : se rendre dans **Applications** > **Installer**, et entrer `https://github.com/labriqueinternet/vpnclient_ynh` dans le champs **URL** du formulaire **Installer une application personnalisée** tout en bas de la page. L'adresse du serveur peut être configurée plus tard (utiliser par exemple `dummy.vpn`).
5. **Restreindre laccès à lapplication VPN Client** (optionnel) : se rendre dans **Applications** > **VPN Client** > **Accès** et sélectionner lutilisateur précédemment créé, de sorte que les futurs potentiels nouveaux utilisateurs ne puissent pas modifier les paramètres daccès VPN.
6. **Configurer lapplication VPN Client** : se connecter à l**interface utilisateur** (ici https://michu.nohost.me/yunohost/sso/) et entrer les identifiants de lutilisateur précédemment créé. Vous devriez voir apparaître **VPN Client** dans votre liste dapplication :
<div><a title="screenshot_vpnclient" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png">
<img style="border-radius: 5px; border: 5px solid #eee; max-width: 800px" src="https://raw.githubusercontent.com/labriqueinternet/vpnclient_ynh/master/screenshot.png" />
</a></div>
De manière générale, il convient bien sûr déditer les paramètres en fonction de son fournisseur daccès VPN. Ce dernier devra vous fournir des certificats et/ou des identifiants ainsi qu'un préfixe délégué IPv6.
<div class="alert alert-info" markdown="1">
Pour Neutrinet, dans **Advanced**, il faudra également ajouter trois directives spécifiques :
<pre><code>resolv-retry infinite
ns-cert-type server
topology subnet</code></pre>
</div>
<div class="alert alert-warning" markdown="1">
**Attention** : le redémarrage du service, déclenché par le bouton **Save and reload**, peut mettre quelques minutes.
</div>
7. **Installer lapplication Hotspot** : s'assurer que lantenne WiFi est bien branchée, et répéter les étapes **4**, **5** et **6** en installant à laide de l'URL `https://github.com/labriqueinternet/hotspot_ynh` :
<div><a title="screenshot_hotspot" target="_blank" href="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png">
<img style="border-radius: 5px; border: 5px solid #eee; max-width: 800px" src="https://raw.githubusercontent.com/labriqueinternet/hotspot_ynh/master/screenshot.png" />
</a></div>
8. **TESTER** : la Brique devrait être accessible via lIP publique que sa connexion VPN lui procure. Si lutilisateur a opté pour un nom de domaine en **.nohost.me**, patienter quelques minutes que son IP se propage sur le serveur DNS de YunoHost. Si lutilisateur a opté pour son propre nom de domaine, cest le moment de [configurer ses enregistrements DNS](/dns_config_fr) correctement chez son registrar.
Si tout se passe bien côté **hotspot**, un réseau WiFi du nom choisi par lutilisateur à létape 7 devrait être visible, et devrait vous router tout bien vers lInternet.
Il est possible de regarder lIP avec laquelle on sort sur Internet ([IPv4](http://ip.yunohost.org) / [IPv6](http://ip6.yunohost.org)) :
```bash
% host $(wget -qO- ip.yunohost.org)
% host $(wget -qO- ip6.yunohost.org)
```
Si le retour des deux commandes précédentes contient le nom du fournisseur d'accès VPN, c'est que la Brique fait bien accéder à Internet via le VPN.
# Étapes supplémentaires <small>(pour une Brique idéale)</small>
Ces étapes ne sont pas obligatoires mais peuvent améliorer considérablement l'**expérience de la Brique** (*fap fap fap*).
* **Supprimer le CRON DynDNS** : si lutilisateur a opté pour un nom de domaine en **.nohost.me**, YunoHost a configuré automatiquement un client DynDNS sur la Brique qui va avertir le serveur DNS dun potentiel changement dIP publique. Or, lIP fournie par la connexion VPN **est fixe**. Il convient donc de supprimer ce client, qui pourrait malencontreusement mettre à jour lIP dans les DNS si la connexion VPN venait à tomber :
```bash
rm /etc/cron.d/yunohost-dyndns
```
* **Sassurer du nom de linterface WiFi** : lors du changement dantenne WiFi (même si le modèle reste le même), il peut arriver que le nom de linterface WiFi change, typiquement de `wlan0` à `wlan1`. Pour continuer à utiliser lapplication **hotspot**, il faut se rendre sur linterface web de configuration de lapplication (étape 10) et mettre à jour le **Device**.
* **Ajouter un CRON de restart du service VPN** : selon les paramètres VPN client et serveur, il peut arriver que la connexion soit instable, et que le client VPN tombe de temps en temps. Pour sassurer quil redémarrera automatiquement, une bonne méthode *quick'n'dirty* et de tester que le service tourne et de le redémarrer dans le cas contraire :
```bash
echo "* * * * * root /sbin/ifconfig tun0 > /dev/null 2>&1 || systemctl restart ynh-vpnclient" > /etc/cron.d/restart-vpn
```
* **Arrêter le service Amavis** :
Amavis est un antivirus qui soccupe de regarder si les pièces jointes des emails ne sont pas vérolées. Il est très lourd et tombe souvent en panne sur des petites machines comme la Brique. Pour arrêter Amavis, éditer le fichier `/etc/postfix/main.cf` et commenter la ligne 90 (normalement) :
```bash
#content_filter = amavis:[127.0.0.1]:10024
```
Éditer également le fichier `/etc/postfix/master.cf` pour y commenter les lignes relatives à Amavis, vers les lignes 119-122:
```bash
#amavis unix - - - - 2 smtp
# -o smtp_data_done_timeout=1200
# -o smtp_send_xforward_command=yes
# -o smtp_tls_note_starttls_offer=no
```
Une fois ces éditions effectuées, redémarrer le service postfix et arrêter le service amavis :
```bash
systemctl restart postfix
systemctl stop amavis
systemctl disable amavis
```
* **Mettre à jour la configuration SSH** : par défaut, la connexion en tant que **root** est possible sur la Brique. Pour ne garder que la connexion en tant qu**admin** (qui est sudoer), il convient déditer le `/etc/ssh/sshd_config` et de passer **PermitRootLogin** à **without-password**.
* **Configurer le reverse DNS** : pour sassurer du bon fonctionnement du serveur email, il est recommandé de configurer un reverse DNS pour son IP. Il faut s'adresser au fournisseur de VPN. En tant que FAI associatif, cest un service faisable, autant le demander !
* **Configurer le DKIM** : avec un SPF et un PTR bien configurés dans les DNS, les emails envoyés par la Brique ne devraient pas être considérés comme spam. Ceci dit, GMail et dautres dégraderont considérablement le spamscore si le DKIM nest pas configuré également.
Cette opération est longue mais à considérer pour avoir un serveur email irréprochable en production. Plus de renseignement sur [la page de documentation appropriée](/dkim_fr).
* **Installer Roundcube** via linterface dadministration YunoHost et tester lenvoi/réception demail.
* **Installer dautres applications** et les découvrir.
---
## Notes
* **Attention à la RAM** : sur le modèle A20-OLinuXino-LIME, les **512 Mo** partent vite. Les applications PHP ne sont pas très gourmandes, mais Searx et Etherpad Lite sont par exemple à installer avec des pincettes. Ce sont Amavis et mySQL qui consomment le plus de RAM. Amavis sera bientôt remplacé par rspamd qui est moins gourmand en ressources. Toutes les apps officielles fonctionnent sans problème de RAM avec le A20-OLinuXino-LIME2 (qui a 1Go de RAM).

View file

@ -1,29 +1,31 @@
#Configuration box/router
# Configuration box/router
####Access to box/routeur administration
#### Access to box/routeur administration
In the URL bar of your web navigator put:
```bash
192.168.0.1 or 192.168.1.1
```
Then you will need to authentificate.
####Opening ports
#### Opening ports
Opening following ports are necessary to make works differents services.
TCP : 22, 25, 53, 80, 443, 465, 993, 5222, 5269, 5290
**TCP:**
* Web: 80, 443
* [SSH](/ssh_en): 22
* [XMPP](/XMPP_en): 5222, 5269
* [Email](/email_en): 25, 465, 993
* [DNS](/dns_en): 53
#####UPnP
##### UPnP
UPnP permit opening automatically ports.
LUPnP permit opening automatically ports.
In some case, after changing your box configuration (ex: add IPv6, or unlock SMTP ... ) and a reboot. It happens that ports are no onger opened. So you have to reload your firewall configuration :
In some case, after changing your box configuration (ex: add IPv6, or unlock SMTP ... ) and a reboot. It happens that ports are no onger opened. So you have to reload your firewall configuration:
```sudo yunohost firewall reload```
#####Manual opening ports
##### Manual opening ports
In the case that UPnP doesnt works, manual opening ports are necessary.
#####Email
##### Email
Internet service porviders blocks port 25 to avoid spam. To send mails, youll need to open port 25.

View file

@ -3,15 +3,20 @@
### Accès à ladministration de la box/routeur
Allez à ladresse suivante : http://192.168.0.1 (ou celle-ci http://192.168.1.1). Puis authentifier-vous.
### Tutoriel
* [Tutoriel pour les ouvrir les ports sur les boxs dOrange, Free, SFR, Dartybox, Belgacom et sur les routeurs Netgear](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html).
### Ouverture des ports
Louverture des ports suivants est nécessaire au fonctionnement des différents services.
**TCP :**
* Web : 80, 443
* Web : 80 <small>(HTTP)</small>, 443 <small>(HTTPS)</small>
* [SSH](ssh_fr) : 22
* [XMPP](XMPP_fr) : 5222, 5269
* [Courriel](email_fr) : 25, 465, 993
* [XMPP](XMPP_fr) : 5222 <small>(clients)</small> , 5269 <small>(serveurs)</small>
* [Courriel](email_fr) : 25, 465 <small>(SMTP)</small>, 993 <small>(IMAP)</small>
* [DNS](dns_fr) : 53
**UDP :**
* [DNS](dns_fr) : 53
---

View file

@ -8,23 +8,28 @@ Un « **non** » peut entraîner des problèmes dutilisation de votre serve
### France
Tous les fournisseurs daccès à Internet [membres de la Fédération French Data Network](http://www.ffdn.org/fr/membres) ont une politique favorable à lauto-hébergement.
Tous les fournisseurs daccès à Internet [membres de la Fédération French Data Network](http://www.ffdn.org/fr/membres) ont une politique favorable à lauto-hébergement.
* ✔ : oui
* ✘ : non
| Fournisseur d'accès | Box (modem/routeur) | uPnP activable | [Port 25 ouvrable](email_fr) | [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | Reverse DNS personnalisable | IP fixe |
| --- | --- | --- | --- | --- | --- | --- |
| **[Free](/isp_free_fr)** | Freebox | oui (activé) | oui (fermé) | oui (désactivé) | oui | oui |
| **[SFR](/isp_sfr_fr)** | Neufbox | oui (activé) | oui (fermé) | oui et **non** | … | oui et **non** |
| **[Orange](/isp_orange_fr)** | Livebox | oui | **non** | **non** | **non** | **non** (Professionel uniquement) |
| **Bouygues Télécom** | Bbox | oui (activé) | oui | oui | **non** | oui |
| **Numéricable** | … | oui | oui | … | **non** | **non** (Pro uniquement ?) |
| **Darty** | Dartybox | oui (activé) | oui | oui | **non** | oui |
| Fournisseur daccès | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues<br>Télécom | Darty |
| :---: | :---: | :---: | :---: | :---: | :---: |
| **Box/routeur** | Freebox | Neufbox | Livebox | Bbox | Dartybox |
| **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ |
| **[Port 25 ouvrable](email_fr)**<br> (fermé par défaut) | ✔ | ✔ | ✘ | ✔ | ✔ |
| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)<br>personnalisable ** | ✔ | … | ✘ | ✘ | ✘ |
| **[IP fixe](/dns_dynamicip_fr)** | ✔ | ✔/✘ | ✘ | ✔ | ✔ |
| **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | … | … |
Pour une liste plus complète et précise, référez-vous à la très bonne documentation de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai).
**Astuce** : [FDN](http://www.fdn.fr) fournit des [VPN](http://www.fdn.fr/-VPN-.html) permettant de rapatrier une (ou plusieurs sur demande) IPv4 fixe et un /48 en IPv6 et ainsi “nettoyer” votre connexion si vous êtes chez lun des FAI *limitants* du tableau ci-dessus.
### Belgique
| Fournisseur d'accès | Box (modem/routeur) | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | Reverse DNS personnalisable | IP fixe |
| --- | --- | --- | --- | --- | --- | --- |
| **Belgacom** | BBox2 | oui (activé) | oui | **non** | **non** | **non** |
| Fournisseur daccès | Box/ routeur | uPnP activable | [Port 25 ouvrable](email_fr)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe |
| :---: | :---: | :---: | :---: | :---: | :---: | :---: | :---: |
| **Proximus** | BBox2 | oui (activé) | oui | **non** | **non** | **non** |
| | BBox3 | oui (activé) | oui | **non** | **non** | **non** |
| **Scarlet** | BBox2 | oui (activé) | oui | **non** | **non** | **non** |
**Proximus** ne serait pas ouvert à l'auto-hébergement. L'ouverture des ports serait plus difficile afin d'éviter tout SPAM. Il serait préférable de passer par [Neutrinet](http://neutrinet.be), un des [membres de la Fédération French Data Network](http://www.ffdn.org/fr/membres).

View file

@ -1,3 +1,3 @@
# News
The news are now available on [our blog](http://news.yunohost.org/).
The news are now available on [our forum](https://forum.yunohost.org/), in the [announcement category](https://forum.yunohost.org/c/announcement).

View file

@ -1,3 +1,3 @@
# Actualités
Les actualités sont maintenant disponibles sur [notre blog](http://news.yunohost.org/).
Les actualités sont maintenant disponibles sur [notre forum](https://forum.yunohost.org/), dans la [catégorie "announcement"](https://forum.yunohost.org/c/announcement).

View file

@ -1,16 +1,23 @@
# App packaging
There are few things you need to know if you want to package an application for YunoHost.
This document aimed to learn you how to package an application for YunoHost.
### Requirements
To package an application, here are the requirements:
* An account on a git server as [GitHub](https://github.com/) to publish the application;
* Control a minimum `git`, Shell and other programming stuffs;
* A testing [virtual machine or a distant server](/install_en) to package and test the package.
### Content
A YunoHost package is composed of:
* A JSON file `manifest.json`
* A `scripts` directory, which contains the `install`, `remove` and `upgrade` scripts
* Optional other directories, like `sources` or `conf` if you need them
An example package is available here: https://github.com/opi/example_ynh, feel free to use it as a framework.
* A `manifest.json` file
* A `scripts` directory, which contains five Shell scripts: `install`, `remove`, `upgrade`, `backup` and `restore`
* Optional directories, containing `sources` or `conf` files
* A `LICENSE` file containing the license of the package
* A presentation page of your package in a `README.md` file
**[A basic package](https://github.com/YunoHost/example_ynh)**: feel free to use it as a framework.
### Manifest
The `manifest.json` file defines the app's constants, a bunch of values that YunoHost needs to identify the app and install it correctly. It looks like this :
@ -23,7 +30,7 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun
"fr": "Webmail Open Source"
},
"license": "GPL-3",
"developer": {
"maintainer": {
"name": "kload",
"email": "kload@kload.fr",
"url": "http://kload.fr"
@ -51,24 +58,23 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun
}
```
* **name**: The name of the app. It does not have to be unique, but it should be, since it is the name shown to all the YunoHost administrators in the app list.
* **name**: the app name. It does not have to be unique, but it should be, since it is the name shown to all the YunoHost administrators in the app list.
* **id**: The unique ID of the app. You have to ensure that this ID is unique before submit an app integration request.
* **id**: the unique ID of the app. You have to ensure that this ID is unique before submit an app integration request.
* **description**: The complete description of the app. You can make it as detailed as you feel it should be. Only `en` is required right now, but you can translate the description by prepending the locale prefix.
* **description**: the complete description of the app. You can make it as detailed as you feel it should be. Only `en` is required right now, but you can translate the description by prepending the locale prefix.
* **license**: The license under which the app is distributed. Please use the short name of the license, e.g. `GPL-3` for the GNU General Public License v3. You can find a list of standard abbreviations here: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-short-name
* **license**: the license under which the app is distributed. Please use the short name of the license, e.g. `GPL-3` for the GNU General Public License v3. Here is a [list of standard abbreviations](https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-short-name).
* **developer**: Some information about the app maintainer (you!).
* **maintainer**: informations about the app maintainer.
* **multi_instance**: This defines your app's ability to be installed multiple times. When YunoHost tries to install a second instance of your app, it will replace the `id` in your scripts by an `id__2`. It means that, if you want to be `multi_instance`, you have to put all the identifiers in the scripts.
<br><br>**E.g.** In my roundcube script, I have to call my database `roundcube`, my install directory `roundcube` and my nginx configuration `roundcube`. This way, the second instance of roundcube will not conflict, and will be installed in the `roundcube__2` database, in the `roundcube__2`directory, and with the `roundcube__2` nginx configuration.
* **multi_instance**: this defines your app's ability to be installed multiple times. When YunoHost tries to install a second instance of the app, it will replace the `id` in the scripts by an `id__2`. It means that, if you want to be `multi_instance`, you have to put all the identifiers in the scripts.
<br><br>**E.g.** in the roundcube script, database is called `roundcube`, the install directory `roundcube` and the Nginx configuration `roundcube`. This way, the second instance of roundcube will not conflict with the first one, and will be installed in the `roundcube__2` database, in the `roundcube__2`directory, and with the `roundcube__2` Nginx configuration.
* **arguments**: The settings for the YunoHost's administrator to enter at installation. You have to set a `name` (for argument identification), and a question in `ask` (at least in `en`) that you can translate like the description above. You can also set a `default` value and an `example` to help administrator to fill the input.
* **arguments**: the settings for the YunoHost's administrator to enter at installation. You have to set a `name` (for argument identification), and a question in `ask` (at least in `en`) that you can translate like the description above. You can also set a `default` value and an `example` to help administrator to fill the input.
## Scripts
For now, a YunoHost package must contain 3 bash scripts: `install`, `remove`, and `upgrade`.
For now, a YunoHost package must contain five Shell scripts: `install`, `remove`, `upgrade`, `backup` and `restore`.
These scripts will be executed as `admin` on the YunoHost instances.
Here is an example:
@ -122,14 +128,14 @@ sudo yunohost app ssowatconf
```
### Usage
You have to put everything in the script in order for the app to install without issue. It means that you have to install dependencies, create required repositories, initialize potential databases, copy sources and configure everything in the single `install` script (and of course do the reverse process in the `remove` script).
You have to put everything in the `install` script in order to get the app to install without issue. It means that you have to install dependencies, create required repositories, initialize potential databases, copy sources and configure everything in the single `install` script (and of course do the reverse process in the `remove` script).
**Be careful**: For security reasons, the script is executed as the **admin** user in YunoHost. Be sure to test it as **admin** and prepend `sudo` to commands that require it.
**Be careful**: for security reasons, the script is executed as the **admin** user in YunoHost. Be sure to test it as **admin** and prepend `sudo` to commands that require it.
### Architecture and arguments
Since YunoHost has a unified architecture, you will be able to guess most of the settings you need. But if you need variable ones, like the domain or web path, you will have to ask the administrator at installation (see `arguments` section in the manifest above).
**Note**: The arguments will be passed in the order that they appear in the manifest. For example for **roundcube**, the `domain` argument will be referenced as `$1` in the script, and `path` as `$2`.
**Note**: the arguments will be passed in the order that they appear in the manifest. For example for **roundcube**, the `domain` argument will be referenced as `$1` in the script, and `path` as `$2`.
### Hooks
YunoHost provides a hook system, which is accessible via the packager's script callbacks in moulinette (CLI).
@ -187,7 +193,7 @@ sudo yunohost app checkurl <domain><path> -a <id>
<blockquote>
This helper is useful for web apps and allows you to be sure that the web path is not taken by another app. If not, it "reserves" the path.
<br><br>
**Note**: Do not prepend `http://` or `https://` to the `<domain><path>`.
**Note**: do not prepend `http://` or `https://` to the `<domain><path>`.
</blockquote>
<br>
@ -214,7 +220,7 @@ In order to test your package, you can execute your script standalone as `admin`
su - admin -c "/bin/bash /path/to/my/script my_arg1 my_arg2"
```
Or you can use moulinette:
Or you can use [moulinette](/moulinette_en):
```bash
yunohost app install /path/to/my/app/package
```
@ -222,8 +228,21 @@ Note that it also works with a Git URL:
```bash
yunohost app install https://github.com/author/my_app_package.git
```
### Add your application to the work in progress list of applications
You can add your application to the [_Work in progress_ list](https://yunohost.org/#/apps_en).
### Ask integration of your application to the official list
If you want, you can ask integration of your application to officials applications. To do so, use button "New App Request" on http://app.yunohost.org.
### Enhance package
You will find points to verify quality of your scripts:
* scripts should use `sudo cp -a ../sources/. $final_path` instead of `sudo cp -a ../sources/* $final_path`;
* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and `trap`;
* install script should use command line method instead of curl call through web install form;
* install script should save install answers;
* application sources should be checked with a control sum (sha256, sha1 or md5) or a PGP signature;
* scripts had been tested on Debian Wheezy and Jessie as well as 32 bits, 64 bits and ARM architectures;
* backup and restore scripts are present and functional.
### Publish and ask for testing your application
* Publishing a [post on the Forum](https://forum.yunohost.org/) with the `App integration` category, to ask tests and returns on your application.
* [Add](/write_documentation_en) your application to the [non-officials list of application](https://yunohost.org/#/apps_in_progress_en) with the state of the package: `Ready`, `In progress` or `Not working`.
### Officalization of an application
To become an official application, it must be enough tested, stable and should works on 64 bits, 32 bits et ARM processors architectures and on Debian Wheezy and Jessie. If you think thoses conditions are gather, ask for [official integration](http://app.yunohost.org) of your application.

View file

@ -1,19 +1,26 @@
# Packaging dapplications
Il y a quelques petites choses à connaître si vous voulez packager une application pour Yunohost.
Ce document a pour but de vous apprendre à packager une application pour YunoHost.
### Prérequis
Pour packager une application, voici les prérequis :
* Un compte sur un serveur git comme [GitHub](https://github.com/) pour pouvoir ensuite publier lapplication ;
* Maîtriser un minimum `git`, le Shell et dautres notions de programmation ;
* Une [machine virtuelle ou sur un serveur distant](/install_fr) pour packager et tester son paquet.
### Contenu
Un paquet YunoHost est composé de :
Un paquet YunoHost est composé :
* un fichier JSON `manifest.json`
* un répertoire `scripts`, qui contient les scripts `install`, `remove` et `upgrade`
* d'autres répertoires optionnels, comme `sources` ou `conf` si nécessaire
Un exemple d'application est disponible ici : https://github.com/opi/example_ynh, n'hésitez pas à vous en servir comme base de travail.
* dun `manifest.json`
* dun dossier `scripts`, composé de cinq scripts Shell `install`, `remove`, `upgrade`, `backup` et `restore`
* de dossiers optionnels, contenant les `sources` ou de la `conf`
* dun fichier `LICENSE` contenant la licence du paquet
* dune page de présentation du paquet contenu dans un fichier `README.md`
**[Paquet de base](https://github.com/YunoHost/example_ynh)** : n'hésitez pas à vous en servir comme base de travail.
### Manifeste
Le fichier `manifest.json` définit les constantes de l'application, un ensemble de valeurs dont YunoHost a besoin pour identifier l'application et l'installer correctement. Ça ressemble à ça :
Le fichier `manifest.json` définit les constantes de l'application, un ensemble de valeurs dont YunoHost a besoin pour identifier l'application et l'installer correctement. Voici un exemple :
```json
{
"name": "Roundcube",
@ -23,7 +30,7 @@ Le fichier `manifest.json` définit les constantes de l'application, un ensemble
"fr": "Webmail Open Source"
},
"license": "GPL-3",
"developer": {
"maintainer": {
"name": "kload",
"email": "kload@kload.fr",
"url": "http://kload.fr"
@ -51,23 +58,23 @@ Le fichier `manifest.json` définit les constantes de l'application, un ensemble
}
```
* **name** : le nom de l'application. Il n'a pas besoin d'être unique, mais c'est conseillé puisque c'est le nom qui apparaît dans la liste des applications pour tous les administrateurs de serveurs YunoHost.
* **name** : le nom de l'application. Son unicité n'est pas nécessaire. Il est tout de même conseillé étant donné que c'est le nom qui apparaît dans la liste des applications pour les administrateurs de serveurs YunoHost.
* **id** : lidentifiant unique de l'application. Vous devez vous assurer qu'il est unique avant de soumettre une demande d'intégration de l'application.
* **id** : lidentifiant unique de l'application. Vous devez vous assurer de son unicité.
* **description** : la description complète de l'application. Vous pouvez la détailler comme bon vous semble. Seulement `en` (English) est requis, mais vous pouvez la traduire en `fr` :)
* **description** : la description complète de l'application. Vous pouvez la détailler comme bon vous semble. Uniquement le champs `en` (English) est requis, mais vous pouvez tout de même ajouter la traduction en français :)
* **license** : la licence avec laquelle l'application est distribuée. Veuillez utiliser le nom abrégé de la licence, par exemple `GPL-3` pour la GNU General Public License version 3. Vous pouvez trouver une liste des abréviations standards ici : https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-field
* **license** : la licence avec laquelle l'application est distribuée. Il ne sagit pas de la license du paquet qui, elle, doit être mise dans le fichier `LICENSE`. Veuillez utiliser le nom abrégé de la licence, par exemple `GPL-3` pour la GNU General Public License version 3. Voici une [liste des abréviations standards](https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/#license-field).
* **developer** : quelques informations à propos du mainteneur du paquet de l'application.
* **maintainer** : informations à propos du mainteneur du paquet de l'application.
* **multi_instance** : définit la possibilité de votre application à être installée plusieurs fois. Quand YunoHost essaie d'installer une seconde fois votre application, il remplaçera `id` dans votre script par un `id__2`. Cela signifie que si voulez être `multi_instance`, vous devez mettre toutes les valeurs identifiantes dans les scripts.
<br><br>**Par exemple** : dans mon script roundcube, je dois nommer ma base de donnée `roundcube`, mon répertoire d'installation `roundcube` et ma configuration Nginx `roundcube`. De cette manière, la seconde installation de roundcube ne rentrera pas en conflit, et sera installée dans la base de donnée `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`.
* **multi_instance** : définit la possibilité de votre package à être installée plusieurs fois. Quand YunoHost essaie d'installer une seconde fois votre application, il remplaçera l`id` dans votre script par `id__2`. Cela signifie que si voulez être `multi_instance`, vous devez mettre toutes les valeurs identifiantes dans les scripts.
<br></br>**Par exemple** : dans le script roundcube, il faut nommer la base de donnée `roundcube`, le dossier d'installation `roundcube` et la configuration Nginx `roundcube`. De cette manière, la seconde installation de roundcube ne rentrera pas en conflit avec la première, et sera installée dans la base de donnée `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`.
* **arguments** : les paramètres à demander aux administrateurs du serveur lors de l'installation. `name` est l'identifiant du paramètre, et `ask` la question à poser (au minimum en Anglais -- `en`) que vous pouvez traduire de la même manière que la description ci-dessus. Vous pouvez aussi proposer une valeur par défaut (`default`) et un exemple (`example`) pour aider l'administrateur à remplir le formulaire dinstallation.
## Les scripts
Pour le moment, un paquet YunoHost doit contenir trois scripts bash : `install`, `remove`, et `upgrade`.
Un paquet YunoHost doit contenir cinq scripts Shell : `install`, `remove`, `upgrade`, `backup` et `restore`.
Ces scripts seront exécutés en tant qu'`admin` sur les serveurs YunoHost.
Voici un exemple de script d'`install`:
@ -120,18 +127,18 @@ sudo service nginx reload
sudo yunohost app ssowatconf
```
### Usage
Vous devez tout mettre dans le script pour que votre application soit entièrement installée. Cela signifie que vous devez installer les dépendances, créer les répertoires requis, initialiser les bases de donnés nécessaires, copier les sources et configurer tout dans l'unique script `install` (et bien sûr faire la procédure inverse dans le script `remove`).
### Utilisation
Vous devez tout mettre dans le script d`install` pour que votre application soit entièrement installée. Cela signifie que vous devez installer les dépendances, créer les répertoires requis, initialiser les bases de donnés nécessaires, copier les sources et configurer tout dans l'unique script `install` (et bien sûr faire la procédure inverse dans le script `remove`).
**Attention** : pour des raisons de sécurité, le script est exécuté en tant qu'**admin** dans YunoHost. Assurez-vous de l'essayer en tant qu'**admin** et de préfixer `sudo` aux commandes requises.
### Architecture et arguments
Comme les instances de YunoHost possèdent une architecture unifiée, vous serez capable de deviner la plupart des réglages nécessaires. Mais si vous avez besoin de réglages spécifiques, comme le nom de domaine ou un chemin web pour configurer lapplication, vous devrez les demander aux administrateurs lors de l'installation (voir la section `arguments` dans **manifeste** ci-dessus).
Comme les instances de YunoHost possèdent une architecture unifiée, vous serez capable de deviner la plupart des réglages nécessaires. Mais si vous avez besoin de réglages spécifiques, comme le nom de domaine ou un chemin web pour configurer lapplication, vous devrez les demander aux administrateurs lors de l'installation (voir la section `arguments` dans le § **Manifeste** ci-dessus).
**Remarque** : les arguments seront passés au script dans l'ordre du manifeste. Par exemple pour **roundcube**, l'argument `domain` sera passé en tant que `$1` dans le script, et `path` en tant que `$2`.
### Commandes pratiques
La CLI [moulinette](/moulinette) fournit quelques outils pour rendre le packaging plus facile :
La CLI [moulinette](/moulinette) fournit quelques outils pour faciliter le packaging :
<br>
@ -139,7 +146,7 @@ La CLI [moulinette](/moulinette) fournit quelques outils pour rendre le packagin
sudo yunohost app checkport <port>
```
<blockquote>
Cette commande vérifie le port et retourne une erreur si le port déjà utilisé.
Cette commande vérifie le port et retourne une erreur si le port est déjà utilisé.
</blockquote>
<br>
@ -164,7 +171,7 @@ Il existe aussi `skipped_regex`, `protected_regex`, `unprotected_uris`, `unprote
**Attention** : il est nécessaire de lancer `yunohost app ssowatconf` pour appliquer les effets. Les uris seront alors converties en urls et écrites dans le fichier /etc/ssowat/conf.json.<br><br>
Exemple:<br>
Exemple :<br>
```yunohost app setting myapp unprotected_urls -v "/"```<br>
```yunohost app ssowatconf```<br>
Ces commandes vont désactiver le SSO sur la racine de l'aplication soit domain.tld/myapp, ceci est utile pour une application publique.
@ -176,7 +183,7 @@ Ces commandes vont désactiver le SSO sur la racine de l'aplication soit domain.
sudo yunohost app checkurl <domain><path> -a <id>
```
<blockquote>
Cette commande est utile pour les applications Web et vous permet d'être sûr que le chemin n'est pas utilisé par une autre application. Si le chemin est inutilisé, elle le « réserve ».
Cette commande est utile pour les applications web et vous permet d'être sûr que le chemin n'est pas utilisé par une autre application. Si le chemin est inutilisé, elle le « réserve ».
<br><br>
**Remarque** : ne pas préfixer par `http://` ou par `https://` dans le `<domain><path>`.
</blockquote>
@ -206,8 +213,8 @@ sudo yunohost app ssowatconf
Cette commande régénère la configuration du SSO. Vous devez l'appeler à la fin des scripts lorsque vous packagez une application Web.
</blockquote>
### Essais
Afin d'essayer votre packaging d'application, vous pouvez exécuter votre script en tant qu'`admin` (n'oubliez pas d'ajouter les arguments requis) :
### Tests
Afin de tester votre paquet, vous pouvez exécuter votre script en tant qu'`admin` (n'oubliez pas d'ajouter les arguments requis) :
```bash
su - admin -c "/bin/bash /répertoire/de/mon/script my_arg1 my_arg2"
```
@ -220,8 +227,21 @@ Remarque : ça fonctionne aussi avec une URL Git :
```bash
yunohost app install https://github.com/auteur/mon_paquet.git
```
### Ajoutez votre application à la liste des applications en cours davancement
Vous pouvez ajouter votre application à [la liste _Work in progress_](https://yunohost.org/#/apps_en).
### Demander lintégration de son application à la liste officielle
Si vous le souhaitez vous pouvez proposer l'inclusion de l'application dans les applications officielles. Pour ce faire, il faut utiliser le bouton "New App Request" sur http://app.yunohost.org.
### Améliorer la qualité du paquet dinstallation
Vous trouverez ci-dessous une liste des point à vérifier concernant la qualité de vos scripts :
* Vos scripts utilisent bien `sudo cp -a ../sources/. $final_path` plutôt que `sudo cp -a ../sources/* $final_path` ;
* Votre script dinstallation contient une gestion en cas derreurs du script pour supprimer les fichiers résiduels à l'aide de `set -e` et de `trap` ;
* Votre script dinstallation utilise une méthode dinstallation en ligne de commande plutôt qu'un appel curl via un formulaire web dinstallation ;
* Votre script dinstallation enregistre les réponses de l'utilisateur ;
* Vous avez vérifié les sources de lapplication avec une somme de contrôle (sha256, sha1 ou md5) ou une signature PGP ;
* Vos scripts ont été testé sur Debian Wheezy et Jessie ainsi que sur les architectures 32 bits, 64 bits et ARM ;
* Les scripts backup et restore sont présents et fonctionnels.
### Publiez et demandez des tests de votre application
* Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) avec la catégorie `App integration`.
* [Ajoutez](/write_documentation_fr) votre application à [la liste des apps non officielles](https://yunohost.org/#/apps_in_progress_en) avec létat du paquet : `Ready`, `In progress` ou `Not working`.
### Officialisation dune application
Pour quune application devienne officielle, elle doit être suffisamment testée, stable et fonctionner sous les architectures 64 bits, 32 bits et ARM sur Debian Wheezy et Jessie. Si ces conditions vous paraissent réunies, demandez l[intégration officielle](http://app.yunohost.org) de votre application.

View file

@ -4,12 +4,19 @@
## v2.4
Core:
* Add tools in moulinette to manage certificate (add, remove, update) *(ljf, Moul)*
* ✔ Helpers for app maintainer *(ju, opi, jerome)*
* ✔ Bug fixed on SSOwat when no HTTP referer sent *(Émile, opi)*
* ✔ Install script refactored *(ju)*
* Add tools in moulinette to manage certificate (add, remove, update), Lets Encrypt *(ljf, Moul)*
* Run automatic tests on moulinette *(kload)*
* Use templates to (re)generate configurations instead of packages *(beudbeud, jerome)*
* Add proper upgrade/remove scripts and comment Debian scripts in packages *(beudbeud)*
* Complete and improve backup and restore system *(jerome)*
Web interface:
* ✔ Use Gulp for administration and user web interfaces *(opi)*
* User avatar *(opi)*
* Plugin system for the admin panel *(ljf)*
* Plugin system for the admin panel *(ljf)*
Other:
* ✔ Add licenses on YunoHost repositories *(Moul)*

View file

@ -81,7 +81,7 @@ Ensuite redémarrez le firewall iptables et fermez lancien port dans iptables
```bash
yunohost firewall reload
yunohost firewall disallow <votre numéro de port> # port par défaut 22
yunohost firewall disallow --ipv6 <votre numéro de port> # pour ipv6
yunohost firewall disallow --ipv6 TCP <votre numéro de port> # pour ipv6
```
**Pour les prochaines connexions SSH** il faudra ajouter loption -p suivie du numéro de port SSH.

View file

@ -7,17 +7,17 @@
* [Documentation](/docs)
* Try YunoHost
* [With demo](/try)
* [With live usb](/try_at_home)
* [With the demo](/try)
* [With a live USB stick](/try_at_home)
* [Administrator guide](/admindoc)
* [Self-hosting](/selfhosting_en)
* [Hardware compatible](/hardware)
* [Installation guide](/install)
* [On the Internet Brick](/install_brick_en)
* [On the Internet Cube](/install_brick_en)
* [On a Raspberry Pi](/install_on_raspberry)
* [On a Cubieboard](/install_on_cubieboard)
* [From ISO](/install_iso)
* [From an ISO](/install_iso)
* [On Debian](/install_on_debian)
* [On VirtualBox](/install_on_virtualbox)
* [On Docker](/docker)
@ -31,33 +31,42 @@
* [Manual instalation](/install_manually)
* [Plug and boot your server](/plug_and_boot)
* [Post-instalation](/postinstall)
* [Diagnostic](/diagnostic)
* [DNS Settings](/dns)
* Access to YunoHost server: DNS, domain name, `hosts` file
* [Diagnostic the access to YunoHost server](/diagnostic)
* [DNS Settings](/dns)
* [Registrar](registar)
* [DNS Configuration](/dns_config)
* [Use the YunoHost DNS resolver](/dns_resolver_en)
* [Configure a dynamic DNS with a dynamic IP address](dns_dynamicip_en)
* [Dynamic IP address: configure DynDNS](dns_dynamicip_en)
* [Access his server on his local network](/dns_local_network_en)
* [Official applications](/apps)
* [Update aplications](app_update_en)
* [Internet service provider](/isp)
* [Main configuration box](/isp_box_config)
* [Web administration](/admin)
* [Generic configuration of the ISP router](/isp_box_config)
* Applications
* [Official applications](/apps_en)
* [Non-official applications](/apps_in_progress_en)
* [Update applications](app_update_en)
* Administration
* Command-line
* [Connect to your server with SSH](/ssh)
* [Command line administration](/moulinette)
* [Web administration](/admin)
* [Change administration password](/change_admin_password)
* [Email](email_en)
* [Configure email client](email_configure_client_en)
* [Migrate emails](email_migration_en)
* [Forms to remove blacklisting of your IP address](blacklist_forms_en)
* [Use DKIM](dkim)
* Certificates
* [Add a certificate certified by an authority](/certificate)
* [Regenerate self-signed certificate](/regenerate_certificate_en)
* [Security](/security)
* [Connect to your server with SSH](/ssh)
* [Command line administration](/moulinette)
* [Change administration password](/change_admin_password)
* Email:
* [Forms to remove blacklisting of his IP address](blacklist_forms_en)
* [DKIM](dkim)
* [Certificates](/certificate)
* [Regenerate certificate](/regenerate_certificate_en)
* [Troubleshooting guide](/troubleshooting_guide_en)
* [YunoHost Tor Hidden Servicer](/torhiddenservice)
* [Unblock an IP address with Fail2ban](/fail2ban_en)
* [User guide](/userdoc)
* [User interface](user_interface)
* [Configure an email client](/email)
* [Configure email client](email_configure_client_en)
* [Instant messaging usage](/XMPP)
* [Official applications](/apps)
* [Baikal](/app_baikal_en)
@ -70,11 +79,11 @@
* [Contributor guide](/contribute)
* Developement
* [Package new application](/packaging_apps)
* [Packages in progress](/apps_in_progress_en)
* [Applications wishlist](/apps_wishlist_en)
* [Applications in progress](/apps_in_progress_en)
* [Wishlist of applications](/apps_wishlist_en)
* [Creation of system packages](/build_system_en)
* [Creation of Debian packages](/build_packages_en)
* [Create live usb](/create_live_usb)
* [Create a live USB image](/create_live_usb)
* [Build Openresty](/build_openresty)
* Documentation
* [Write documentation](/write_documentation)
@ -85,6 +94,7 @@
* [Changelog v.2.0](/changelog_2_0_en)
* [Changelog v.2.2](/changelog_2_2_en)
* [Roadmap](/roadmap)
* [Frequently asked questions](/faq_en)
* [Contributors](contribs)
* [Support](/support_en)
* [Art Works](artworks_en)

View file

@ -31,37 +31,46 @@
* [Installation manuelle](/install_manually_fr)
* [Brancher et démarrer votre serveur](/plug_and_boot_fr)
* [Post-installation](/postinstall_fr)
* [Diagnostic du bon fonctionnement du YunoHost](/diagnostic_fr)
* [DNS - Système de nom de domaine](/dns_fr)
* [Bureaux denregistrements de nom de domaine - Registrar](registar_fr)
* Accès au serveur YunoHost : DNS, nom de domaine, fichier `hosts`
* [Diagnostic dun bon accès au serveur YunoHost](/diagnostic_fr)
* [DNS - Système de nom de domaine](/dns_fr)
* [Configuration du DNS chez son registar](/dns_config_fr)
* [Chez OVH](/OVH_fr)
* [Bureaux denregistrements de nom de domaine — Registrar](registar_fr)
* [Utiliser le résolveur DNS de YunoHost](/dns_resolver_fr)
* [Configurer un DNS dynamique avec une adresse IP dynamique](dns_dynamicip_fr)
* [Avec OVH](/OVH_fr)
* [Accéder à son domaine depuis le réseau local](/dns_local_network_fr)
* [Applications officielles](/apps_fr)
* [Mettre à jour ses applications](app_update_fr)
* [Adresse IP dynamique : configuration dun DynDNS](dns_dynamicip_fr)
* [Accéder à son serveur dans son réseau local](/dns_local_network_fr)
* [Fournisseurs daccès à Internet](/isp_fr)
* [Configuration générale box](/isp_box_config_fr)
* [Configuration générique de la box ou du routeur](/isp_box_config_fr)
* [Free](/isp_free_fr)
* [SFR](/isp_sfr_fr)
* [Orange](/isp_orange_fr)
* [Free](/isp_free_fr)
* [Administration web](/admin_fr)
* Applications
* [Applications officielles](/apps_fr)
* [Applications non officielles](/apps_in_progress_en)
* [Mise à jour des applications](app_update_fr)
* Administration
* En ligne de commande
* [Connexion à son serveur avec SSH](/ssh_fr)
* [Administration avec la Moulinette](/moulinette_fr)
* [Administration web](/admin_fr)
* [Changer le mot de passe d'administration](/change_admin_password_fr)
* [Courrier électronique](email_fr)
* [Configuration dun client email](email_configure_client_fr)
* [Migration emails](email_migration_fr)
* [Formulaires pour enlever son adresse IP des listes noires](blacklist_forms_fr)
* [Mettre en place DKIM](dkim_fr)
* Certificats
* [Ajouter un certificat dune autorité](/certificate_fr)
* [Régénérer le certificat auto-signé](/regenerate_certificate_fr)
* [Sécurité](/security_fr)
* [Connexion à son serveur en ligne de commande avec SSH](/ssh_fr)
* [Administration en ligne de commande avec la Moulinette](/moulinette_fr)
* [Changer le mot de passe d'administration](/change_admin_password_fr)
* [Courier électronique](email_fr)
* [Formulaires pour enlever son IP des listes noires](blacklist_forms_fr)
* [DKIM](dkim_fr)
* [Gestion du certificat](/certificate_fr)
* [Régénérer un certificat](/regenerate_certificate_fr)
* [Guide de dépannage](/troubleshooting_guide_en)
* [YunoHost service caché Tor](/torhiddenservice_fr)
* [Débloquer une IP avec Fail2ban](/fail2ban_fr)
* [Guide de l'utilisateur](/userdoc_fr)
* [Interface utilisateur](user_interface)
* [Configurer un client email](/email_fr)
* [Configurer un client email](email_configure_client_fr)
* [Utiliser la messagerie instantanée XMPP](/XMPP_fr)
* [Applications officielles](/apps_fr)
* [Baïkal](/app_baikal_fr)
@ -79,7 +88,7 @@
* [Liste de proposition d'applications](/apps_wishlist_fr)
* [Création de paquets système](/build_system_fr)
* [Création de paquets Debian](/build_packages_fr)
* [Créer une live usb](/create_live_usb_fr)
* [Créer une image live USB](/create_live_usb_fr)
* [Builder Openresty](/build_openresty_fr)
* Documentation
* [Création dun compte pour lédition de la documentation](/accounting_fr)
@ -90,9 +99,11 @@
* [Journal des modifications v.2.0](/changelog_2_0_en)
* [Journal des modifications v.2.2](/changelog_2_2_en)
* [Feuille de route](/roadmap_en)
* [Foire aux questions](/faq_fr)
* [Contributeurs](contribs_fr)
* [Entraide - support](/support_fr)
* [Blog](https://forum.yunohost.org/c/announcement)
* [Conférences](/conf_fr)
* [Communication extérieure](communication_fr)
* [Travail artistique](artworks_fr)
* [Aide](/help_fr)

View file

@ -2,7 +2,13 @@
Le **SSH** permet de commander à distance son serveur en ligne de commande (CLI).
##### Pour se connecter à son serveur :
```bash
ssh admin@mon-serveur.org
```
Ensuite, il est demandé le mot de passe administrateur, celui créé à [létape de post-installation](postinstall_fr).
`ssh admin@mon-serveur.org`
Puis il faut entrer le mot de passe administrateur, celui créé à [létape de post-installation](postinstall_fr).
##### Se connecter à un port différent du port par défaut 22
Éditer la ligne `Port 22` du fichier `/etc/ssh/sshd_config`, puis connectez-vous :
```bash
ssh -p <port> admin@mon-serveur.org
```

345
troubleshooting_guide.md Normal file
View file

@ -0,0 +1,345 @@
# YunoHost troubleshooting guide
You can consider this as some kind of administrator guide for troubleshooting or what to check when there is something wrong with your YunoHost server. It's not a step by step guide to make your YunoHost work but more of a list of things to check to help diagnose the issue you may have. This can also be useful for debug when packaging a new application or trying to understand YunoHost architecture.
## General notes
### Do not break YunoHost
Best way to troubleshoot is to not have to troubleshoot because you have tested everything before deploying it on your server.
That means everytime you want to try a new thing (non-official app, new specific config, package an app…) try it on a development or testing server not on your production one. For this, use whatever way you think appropriate, you can use YunoHost on a [DigitalOcean droplet](install_on_digitalocean_en) for 1 cent/hour, locally with [Docker](/docker_en) or a VM for example.
Also: https://wiki.debian.org/DontBreakDebian
### Use non-official apps with caution
While it's tempting to install every [non-official apps](https://yunohost.org/#/apps_in_progress_en) please don't. Even if the app is marked as ready. Before testing an app you should read at least part of the package source code. Install, remove and upgrade script should be present.
Keep in mind that when you install an app, you execute code on your server with root privileges.
From my experience, some packaging are excellent and others can break some part of your YunoHost instance. Some packages are unmaintained. So before install check package issues, the [Forum](http://forum.yunohost.org/) and the [YunoHost support room](support_en) to see if other have problem with the app.
### Check the official documentation
Answer to your question may be already in [the documentatioon](https://yunohost.org/#/sitemap_en).
### Check the command line help
Learn how to use the [YunoHost commands](https://yunohost.org/#/moulinette_en) like a pro.
## Upgrade
Problems oftenly occurs after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en).
**Check if some processes are using old librairies**
You are probably familiar with:
```bash
sudo apt-get update && sudo apt-get dist-upgrade
```
Most of the time it's enough. But in some cases it's possible that some process are still using old versions of upgraded files (such as libraries), that can cause bug. In rare cases that can lead to security concern (ex: upgrade OpenSSL because of a security bug, Nginx will continue to use the version it has in memory). The utility Checkrestart will help you to find and restart them.
```bash
sudo apt-get install debian-goodies
sudo checkrestart
Found 0 processes using old versions of upgraded files
```
If some process are running with old librairies versions checkrestart will tell you and propose you a way to restart them. In some cases checkrestart can't find a way to restart them.
<img src="https://yunohost.org/images/checkstart.png" width=600>
Easier way is to reboot if you can.
You can also use [this script](https://github.com/octopuce/octopuce-goodies/blob/master/checkrestart/checkrestart.octopuce) to automaticaly restart some services if needed. More info in French [here](https://www.octopuce.fr/checkrestart-outil-pratique-de-debian-goodies-et-version-octopuce/).
**Force an upgrade on a community app**
/!\ Always check if there is a upgrade script and read it if you can /!\
```bash
sudo yunohost app upgrade
Warning: You must provide an URL to upgrade your custom app app_name
Error: No app to upgrade
sudo yunohost app upgrade -u https://github.com/user/someapp_ynh app_name
```
## Services
YunoHost uses a bunch of software to accomplish its purpose. Most of theses software are registered as service in Debian. [More info](https://yunohost.org/#/whatsyunohost_fr).
### Check services status
When something doesn't work on your YunoHost, one of the first things to do is to check that all services used by YunoHost are running.
YunoHost include a helper to see the status of all services used by YunoHost:
```bash
sudo yunohost service status
```
Sample result:
<img src="https://yunohost.org/images/services_status.png" width=210>
All services should be enabled and running. Except glances (optional). If some are not, try to restart them. Here is a short description of what they do:
- **Amavis**: anti-spam/virus/malwares, used when receiving email
- **Avahi-daemon**: system which facilitates service discovery on a local network via DNS
- **DNSmasq**: DNS server, you are not forced to use it
- **Dovecot**: IMAP email server, used to receive email
- **Glances**: optional, used by web administration to display server status
- **Metronome**: XMPP instant messaging server, used by Jappix and some external client
- **MySQL**: database, used by some app
- **Nginx**: web server, used by all web app
- **php5-fpm**: PHP service, used by all app written in PHP
- **Postfix**: SMTP email server, used to send email
- **Postgrey**: greylisting policy server, if you use YunoHost email, you should [learn more about greylisting](http://en.wikipedia.org/wiki/Greylisting)
- **Slapd**: LDAP server, used for authentification (SSO and apps)
- [**SSH**](/ssh_en): Secure Shell
- [**SSOwat**](https://github.com/Kloadut/SSOwat/): an simple sign-on
- **YunoHost-API**: YunoHost web administration
Others services installed by applications can also be present. For instance, `seafile-serve` which serves Seafile app and `uwsgi` which serve Python apps such as Searx.
##### Start or stop a service which is registered with YunoHost:
```bash
sudo yunohost service start <servicename>
sudo yunohost service stop <servicename>
```
You can also use the generic Debian command:
```bash
sudo service <servicename> start/stop/restart/reload
```
After a launch attempt, always check that the service is running.
**Note**: Debian Jessie now uses `systemd` instead of `upstart`, but, for now it's fully compatible with Debian Wheezy way to handle services. [Useful resource on systemd](https://fedoraproject.org/wiki/SysVinit_to_Systemd_Cheatsheet).
### Logs
If a service won't start you have to check the logs to see what's wrong. There is no generic way for services to store their logs, but there are mainly stocked in:
```bash
/var/log/
```
Here are the some useful logs files for YunoHost:
##### auth.log
Contains connections or attempt of connection to your server. It includes every web, ssh, cron job connection. It also stockes all the failed (hopefully) attempts to connect by a potential intruders connections.
##### fail2ban.log
When someone tries to connect to your server and fails multiple times, Fail2ban bans the IP address to avoid bruteforce and (D)DOS attacks. Here you can see if some IP have been banned.
##### mail.err, mail.info, mail.log, mail.warn
These are Postfix (the mail server) logs, check theses if you have issues with email.
##### metronome/metronome.err, metronome/metronome.log
XMPP chat server logs.
##### mysql.err, mysql.log, mysql/error.log
MySQL database logs, these should be empty unless you have trouble with MySQL.
##### php5-fpm.log
Generic logs for PHP apps.
##### yunohost.log
This is the log created at the YunoHost install. If you have issue installing YunoHost, check this file.
This list is not exhaustive. Furthermore, some app may put their logs in `/var/log` too. Slapd logs are unfortunately in `/var/log/syslog`.
## RAM usage
Issues can be caused by a lack of RAM. To check your memory usage, do the following command:
```bash
free -m
```
<img src="https://yunohost.org/images/free_m.png" width=600>
5-10% of free memory is fine but it's good to have margin (especially for upgrade). Since most of the time you can't upgrade your physical RAM, alternative it to use a swap file. Keep in mind that swap it's a memory 100.000 times slower, so you may to use it only if you got no other choice.
##### Create a swap file:
If `free -m` indicate that you have 0 total for swap line, you may want to add a swap file.
```bash
sudo install -o root -g root -m 0600 /dev/null /swapfile
dd if=/dev/zero of=/swapfile bs=1k count=512k
mkswap /swapfile
swapon /swapfile
echo "/swapfile swap swap auto 0 0" | sudo tee -a /etc/fstab
sudo sysctl -w vm.swappiness=10
echo vm.swappiness = 10 | sudo tee -a /etc/sysctl.conf
```
Change 512 with the quantity of swap memory you want, 512Mb should be enough for YunoHost. After that, check with `free -m` that you swap is activated.
[Source with more explanation](https://meta.discourse.org/t/create-a-swapfile-for-your-linux-server/13880).
## Disk space
One other common issue on a server is lack of disk space. You can check your filesystem are not full with the command:
```bash
df -h
```
This will show you disk usage, if one file-system is near to be full you could encounter issues. You should take appropriate actions to free space or extend your file-system.
<img src="https://yunohost.org/images/df_h.png" width=400>
## Nginx
Nginx play a big part in YunoHost since it serve all the web applications. YunoHost have a specific way to handle its configuration since there are multiple domain and multiple applications.
### Configuration
##### General configuration structure
```bash
# Main nginx configuration, you don't want to touch this file
/etc/nginx/nginx.conf
# Directory where all YunoHost, domain and app config are located
/etc/nginx/conf.d/
# Configuration of web administration
/etc/nginx/conf.d/yunohost_admin.conf
# Per domain configuration (one per domain)
/etc/nginx/conf.d/example.com.conf
```
##### Application configuration
For each application on a given domain there is a Nginx conf file located in:
```bash
/etc/nginx/conf.d/example.com.d/appname.conf
```
Application configuration file usually follow this type of pattern
```bash
location YNH_WWW_PATH { # path to access the app in browser
alias YNH_WWW_ALIAS ; # Path to source, usually /var/www/app_name
# Specific configuration for the application according to its programming language and deployment option
...
...
# Include SSOWAT user panel in bottom right
include conf.d/yunohost_panel.conf.inc;
}
```
### Logs
Nginx logs files are located in the directory:
```bash
/var/log/nginx/
```
#### Generic logs
##### access.log
Generic access logs, you will find here all the accesses to the YunoHost administration and sometimes intrusion tentative.
##### error.log
Should be empty with a correct Nginx config. If Nginx doesn't start, error are probably located in this log.
#### For each domain name
##### example.com-access.log
All accesses to the domain, including all apps.
##### example.com-error.log
All error regarding app installed on the domain.
Sometime application may have their logs located here too.
## SSOwat
[SSowat](https://github.com/Kloadut/SSOwat) is the software that connect the web server nginx to the LDAP server. His purpose is to authentificate users to the YunoHost portal to switch easily between apps.
### Configuration
You can view (don't edit it, it is oftently overwritten) your current SSOwat config in the file:
```bash
/etc/ssowat/conf.json
```
Which is generated with the command:
```bash
sudo yunohost app ssowatconf
```
Protip: if you want to add a personalized rule for SSOwat, do it in this file:
```bash
/etc/ssowat/conf.json.persistent
```
### Logs
There is no specific logs for SSOwat. There are are located in Nginx logs files. If you see some line with `lua` in it, it's probably SSOwat.
## YunoHost
### Configuration
YunoHost configuration is located in:
```bash
/etc/yunohost/
```
If you want to keep a custom service configuration use this file:
```bash
/etc/yunohost/yunohost.conf
```
For all the service you pass `yes`, YunoHost will not upgrade the config of the specified service. Do this only if you know what you're doing.
All apps configurations are located in:
```bash
/etc/yunohost/apps/app_name/
```
In each app packages you will find:
* **manifest.json**: manifest of the app
* **scripts/**: directory containing five Shell scripts to manage apps
* install
* upgrade
* remove
* backup
* restore
* **config/**: config directory
* **settings.yml**: config of the app, also accessible with:
```bash
sudo yunohost app setting appname settingname
```
### Logs
There is no logfile for application install so when you install an app, keep the log. There is some log about the command line usage in:
```bash
/var/log/yunohost/
```
## Applications
This part is more for packager or to understand the link between Nginx and webapps. First, you should know [how to package a new app](https://yunohost.org/#/packaging_apps_en).
When troubleshooting an application issue can occur at several levels. There is a wide variety of applications and their deployment to YunoHost will depending on the programming language of the app. We will deal here with the most commons cases.
Applications configurations are not treated because it completely differs according to the application.
##### Oversimplified schema
Web browser > Nginx < (web server) < runtime (PHP, Python, Node.js,...) < app
App is interpretated by the runtime, runtime provide or not a webserver, if not a webserver can be added, webserver or runtime communicate with Nginx, Nginx serve webpage to the web browser.
The purpose of this configuration is to have multiple application on one server with only the https port (443) open to the whole Internet.
### PHP apps
##### Deployment option
PHP works natively with Nginx.
##### Communication with Nginx
The PHP interpreter communicate with Nginx through [PHP-FPM](http://php-fpm.org/) which is a [FastCGI](http://en.wikipedia.org/wiki/FastCGI) implementation.
##### Logs
```bash
/var/log/php5-fpm.log
```
**YunoHost package example**: [Owncloud](https://github.com/Kloadut/owncloud_ynh).
### Python apps
##### Deployment option
A Python webapp should run with it's own Python interpreter with and it's own dependencies, for this, the tool `virtualenv` is used.
Usually, a light web server will be used to serve the app behind Nginx. [Uwsgi](https://uwsgi-docs.readthedocs.org/en/latest/) is a good example.
##### Communication with Nginx
Nginx can talk to Python server via three ways:
- [proxy_pass](http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass)
- Websocket
- Native uwsgi: uwsgi_pass: [for instance](https://github.com/abeudin/searx_ynh/blob/master/conf/nginx.conf#L9-L10)
##### Logs
Specific to the app and/or the webserver used, for instance uwsgi:
```bash
/var/log/uwsgi/
```
##### Ressources
[Great resource in french on Python virtualenv](http://sametmax.com/les-environnement-virtuels-python-virtualenv-et-virtualenvwrapper/)
**YunoHost package example**: [Searx](https://github.com/abeudin/searx_ynh)
### Node.js apps
##### Deployment option
A Node.js app have it's own web server integrated in node runtime, usually Node will expose the app to a TCP port.
##### Communication with Nginx
The http endpoint will be passed locally to Nginx via proxy_pass.
##### Logs
This will be specific to the app.
**YunoHost app example:** [Etherpad-Lite](https://github.com/abeudin/etherpadlite_ynh).
**Note**: Node process can use **lot** of memory compared to other app processes, make sure you have enough.
### Other (Go, Java...)
Webapp can take multiple form an can be deployed in many way. Go app have usually an integrated webserver, Java can be deployed with Tomcat or equivalent… There is no way to be exhaustive here, but most of the time your deployment option will expose an http endpoint that you can pass to Nginx via proxy_pass.
##### Note on Apache
Never install Apache or a package withe Apache as dependency, this will probably break your YunoHost intance.
##### Note on https
Sometimes the webserver integrated with the app is capable to serve https on its own, it's right to use this when you have one application on one server and you don't want to install Nginx for intance. But in YunoHost case, Nginx who serve https and it simplify configuration. So when passing the local URL to Nginx via proxy_pass, use http, nginx will https the thing to the open world later.

View file

@ -1,8 +1,8 @@
# Documentation utilisateur
* [Interface utilisateur](user_interface)
* [Configurer un client email](/email_fr)
* [Utiliser la messagerie instantanée XMPP](/XMPP_fr)
* [La messagerie électronique (email)](/email_fr)
* [Messagerie instantanée et réseaux sociaux XMPP](/XMPP_fr)
* [Applications officielles](/apps_fr)
* [Firefox Sync](/app_ffsync_fr)
* [Jappix](/app_jappix_fr)

View file

@ -18,28 +18,18 @@ mkdir YunoHost
cd YunoHost
```
The following command will initialize the project with a Debian Wheezy base image
The following command will initialize the project with a Yunohost image based on Debian Jeesie
```bash
vagrant init chef/debian-7.7
vagrant init yunohost/stable8
```
<blockquote>
<span class="text-warning">/!\</span> You must have a working image call `chef/debian-7.7`. If not, just do
`vagrant box add chef/debian-7.7 https://vagrantcloud.com/chef/boxes/debian-7.7/versions/1.0.0/providers/virtualbox.box`
<span class="text-warning">/!\</span> You must have a working image call `yunohost/stable8`. If not, just do
`vagrant box add yunohost/stable8 https://atlas.hashicorp.com/yunohost/boxes/stable8/versions/1.0.0/providers/virtualbox.box`
</blockquote>
Uncomment (remove the leading #) the following line in the newly created Vagrantfile to get access from the host system
```bash
config.vm.network "private_network", ip: "192.168.33.10"
```
Clone the Yunohost install script repository
```bash
git clone https://github.com/YunoHost/install_script
```
---
## Installation
## Run a vm
Start the virtual machine
```bash
@ -51,27 +41,29 @@ Connect to the started virtual machine
vagrant ssh
```
The root user must have a password
```bash
sudo passwd
```
Upgrade the system
```bash
sudo apt-get update && sudo apt-get upgrade
```
Execute the installation script
```bash
cd /vagrant/install_script && sudo ./install_yunohostv2
```
<br>
<p class="text-center">
<img src="https://yunohost.org/images/install_script.png">
</p>
You can access to your vm with the ip 192.168.33.80
---
*Once the installation is finished, you may want to proceed to post-installation: **[yunohost.org/postinstall](/postinstall)** *
## Boxes with wheezy or testing/unstable repository
If you need a vm to test something with wheezy or testing/unstable version of Yunohost. There is a Vagrantfile and 5 other boxes in preparation. For the moment, you can build the boxes by following instructions on these repo: https://github.com/zamentur/yunohost-vagrant
| Box | IP |
| --- | --- |
| stable8 | 192.168.33.80 |
| testing8 | 192.168.33.81 |
| unstable8 | 192.168.33.82 |
| stable7 | 192.168.33.70 |
| testing7 | 192.168.33.71 |
| unstable7 | 192.168.33.72 |
The IP addresses related to the boxes are set by default but can be changed in the network settings.

View file

@ -20,18 +20,12 @@ cd YunoHost
La commande suivante va initialiser le projet avec une image Debian Wheezy de base
```bash
vagrant init chef/debian-7.4
```
Décommenter (supprimer le # devant la ligne) la ligne suivante dans le fichier Vagrantfile nouvellement créé afin davoir un accès depuis le système hôte
```bash
config.vm.network "private_network", ip: "192.168.33.10"
```
Clonez le dépôt du script dinstallation de YunoHost
```bash
git clone https://github.com/YunoHost/install_script
vagrant init yunohost/stable8
```
<blockquote>
<span class="text-warning">/!\</span> Vous devez avoir une box `yunohost/stable8`. Si ce n'est pas le cas, ajoutez-la
`vagrant box add yunohost/stable8 https://atlas.hashicorp.com/yunohost/boxes/stable8/versions/1.0.0/providers/virtualbox.box`
</blockquote>
---
@ -47,27 +41,31 @@ Se connecter à la machine virtuelle démarrée
vagrant ssh
```
Il est nécessaire de donner un mot de passe à lutilisateur root
```bash
sudo passwd
```
Mettre à jour le système.
```bash
sudo apt-get update && sudo apt-get upgrade
```
Lancez le script dinstallation
```bash
cd /vagrant/install_script && sudo ./install_yunohostv2
```
<br>
<p class="text-center">
<img src="https://yunohost.org/images/install_script.png">
</p>
Vous pouvez accéder à votre vm via l'ip 192.168.33.80
---
*Une fois linstallation terminée, vous pouvez procéder à la post-installation : **[yunohost.org/postinstall](/postinstall_fr)** *
## Image avec wheezy or testing/unstable repository
Si vous avez besoin d'une vm pour tester quelque chose avec wheezy ou la version testing/unstable de Yunohost. Il y a un Vagrantfile et 5 autres box en préparation. Pour le moment, vous pouvez construire les images en suivant les instructions sur ce dépôt: https://github.com/zamentur/yunohost-vagrant
| Box | IP |
| --- | --- |
| stable8 | 192.168.33.80 |
| testing8 | 192.168.33.81 |
| unstable8 | 192.168.33.82 |
| stable7 | 192.168.33.70 |
| testing7 | 192.168.33.71 |
| unstable7 | 192.168.33.72 |
Les adresses IPs sont assignées par défaut mais peuvent être changées dans les paramètres réseau du Vagrantfile.

View file

@ -87,6 +87,6 @@ Tous les efforts ont été déployés pour sécuriser YunoHost, et **chiffrer to
Même si YunoHost est multi-domaine et multi-utilisateur, il reste **inapproprié pour un usage mutualisé**.
Premièrement parce que le logiciel est trop jeune, donc non-testé et non-optimisé pour être mis en production pour des centaines d'utilisateurs en même temps. Et quand bien même, ce n'est pas le chemin que l'on souhaite faire suivre à YunoHost. La virtualisation se démocratise, et c'est un usage bien plus étanche et sécurisé de faire de la mutualisation.
Premièrement parce que le logiciel est trop jeune, donc non-testé et non-optimisé pour être mis en production pour des centaines d'utilisateurs en même temps. Et quand bien même, ce n'est pas le chemin que l'on souhaite faire suivre à YunoHost. La virtualisation se démocratise, et c'est une façon bien plus étanche et sécurisée de faire de la mutualisation.
Vous pouvez héberger vos amis, votre famille ou votre entreprise sans problème, mais vous devez **avoir confiance** en vos utilisateur, et ils doivent de la même façon avoir confiance en vous. Si vous souhaitez tout de même fournir des services YunoHost à des inconnus, **un VPS entier par utilisateur** sera la meilleure solution (et nous vous fournissons le [panel de déploiement](https://github.com/YunoHost/Kremlin) !)
Vous pouvez héberger vos amis, votre famille ou votre entreprise sans problème, mais vous devez **avoir confiance** en vos utilisateur, et ils doivent de la même façon avoir confiance en vous. Si vous souhaitez tout de même fournir des services YunoHost à des inconnus, **un VPS entier par utilisateur** sera la meilleure solution.