diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 00000000..18a27402 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,6 @@ +language: bash + +script: + - bash tests/dead_links.sh + - bash tests/unreferenced_pages.sh + - bash tests/check_code_block_syntax.sh diff --git a/OVH_fr.md b/OVH_fr.md index 92df9c1f..303626bd 100644 --- a/OVH_fr.md +++ b/OVH_fr.md @@ -10,16 +10,16 @@ Cliquez sur l'onglet **Zone DNS**, puis sur **Ajouter une entrée**: -Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config_fr). +Il suffit maintenant d'ajouter les redirections DNS comme indiqué dans la [configuration DNS standard](/dns_config). ###IP dynamique -[Tutoriel plus général sur l’IP dynamique](dns_dynamicip_fr). +[Tutoriel plus général sur l’IP dynamique](/dns_dynamicip). Cette partie est à suivre, que si votre IP est dynamique. -Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp_fr). +Pour savoir si votre fournisseur d’accès internet vous fournit une IP dynamique [voir ici](/isp). Commencez par créer un identifiant DynHost. diff --git a/README.md b/README.md index bbdcfc2b..ed5d3ad2 100644 --- a/README.md +++ b/README.md @@ -3,4 +3,8 @@ * [Web Site](https://yunohost.org) * Based on [Simone](https://github.com/YunoHost/Simone) -Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues). \ No newline at end of file +Please report [issues on YunoHost bugtracker](https://github.com/YunoHost/issues/issues). + +You can live test any changes by adding `/edit` to the URL on +[yunohost.org](https://yunohost.org). For example, if you make changes to +[apps.md](./apps.md), you can test them on [yunohost.org/#/apps/edit](https://yunohost.org/#/apps/edit). diff --git a/XMPP.md b/XMPP.md index a3d818a6..f549d01d 100644 --- a/XMPP.md +++ b/XMPP.md @@ -1,53 +1,60 @@ # Chat, VoIP and social network with -YunoHost comes installed with an instant messaging server Metronome which implements the [XMPP protocol](https://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol). +YunoHost comes installed by default with an instant messaging server Metronome which implements the [XMPP protocol](https://en.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (previously known as Jabber). -XMPP is an open and extensible protocol which allows to create chatrooms, to share status and data, to give calls in VoIP and videoconferences. +This protocol is already used by millions of people around the world - it is an open protocol. All applications based on XMPP are compatible with each other: when using an XMPP client, you can interact with anybody who has an XMPP account. -All applications based on XMPP are compatible with each other : when using an XMPP client, you can interact with anybody who has an XMPP/Jabber account. This protocol is already used by millions of people around the world. +XMPP is an extensible protocol - this means users can configure "extensions" to chatrooms, to share messages and files, and to make voice and video calls using XMPP. -### XMPP/Jabber account +## XMPP account -An XMPP/Jabber account is based on an identifier with the structure `user@domain.tld`, and a password. +To use an XMPP account you need a username, which takes the format: `user@domain.tld`, and a password. -In YunoHost, this identifier simply corresponds to the main email address of a user, with his regular password. +With YunoHost, an XMPP account is created for all YunoHost users automatically. The XMPP account credentials corresponds to the user's main email address and password. -### Connecting to XMPP +## Connecting to your YunoHost XMPP account + +You can connect to your YunoHost XMPP account in different ways. + +### Web clients -There are several web client built with social network features : - [Movim](https://pod.movim.eu) - [Libervia/Salut à Toi](http://salut-a-toi.org/). -You can also use a desktop client such as : -- [Pidgin](http://pidgin.im/) (multiplatform), + +### Desktop clients + +- [Pidgin](http://pidgin.im/) (multiplatform), - [Gajim](http://gajim.org/) (Linux, Windows), - [Dino](https://dino.im) (Linux), -- [Thunderbird](https://www.thundebird.net/) (multiplatform), -- [Jitsi](http://jitsi.org/) (multiplatform) +- [Thunderbird](https://www.thundebird.net/) (multiplatform), +- [Jitsi](http://jitsi.org/) (multiplatform) - [Adium](https://adium.im/) (Mac OS). -... or a mobile client -* [Xabber](http://xabber.com) (Android) -* [Conversations](https://conversations.im/) (Android) -* [Movim under Android](https://movim.eu) -* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) +### Mobile clients + +- [Xabber](http://xabber.com) (Android) +- [Conversations](https://conversations.im/) (Android) +- [Movim under Android](https://movim.eu) +- [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) +- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile) Here is an exhaustive list of XMPP clients : https://en.wikipedia.org/wiki/Comparison_of_XMPP_clients -### Encrypt conversations with OMEMO +## Encrypt conversations with OMEMO -XMPP chats can be encrypted with the help of [OMEMO](https://xmpp.org/extensions/xep-0384.html), for instance using Gajim : -* Install `gajim` and the plugin `gajim-omemo` -* Enable the plugin in `Tools > Plugins` -* Enable it -* Enable the encryption in the chat with somebody who also has OMEMO +XMPP chats can be made secure and private using [OMEMO] encryption (https://xmpp.org/extensions/xep-0384.html), for instance using Gajim: +- Install `gajim` and the plugin `gajim-omemo` +- Enable the plugin in `Tools > Plugins` +- Enable it +- Enable the encryption in the chat with somebody who also has OMEMO -### Chatrooms +## Chatrooms To create a chatroom (multi-user chat) on your YunoHost server, use the identifier `chatroomname@muc.yourdomain.tld`. -For this to workm you need to [add the corresponding `muc.` DNS record](dns_config_fr) in the DNS configuration. +For this to work you need to [add the corresponding `muc.` DNS record](/dns_config) in the DNS configuration. -### VoIP and visioconferences +## VoIP and videoconferences A practical tool to call an XMPP client, either with voice or voice+video, is to use the client [Jitsi](http://jitsi.org/). diff --git a/XMPP_es.md b/XMPP_es.md new file mode 100644 index 00000000..76f45f25 --- /dev/null +++ b/XMPP_es.md @@ -0,0 +1,50 @@ +#Chat, VoIP y red local con + +Yunohost está instalado con un servidor de mensajería instantánea Metronome que implementa el [protocolo XMPP](https://es.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol). + +XMPP es un protocolo abierto y extensible que también permite crear salones de discusión, compartir status y datos, echar llamadas en VoIP y hacer videoconferencias. + +Todas las aplicaciones basadas en XMPP son compatibles entre ellas : cuando utilizas un cliente XMPP puedes discutir con cualquier persona que tenga una cuenta XMPP/Jabber. Este protocolo ya es utilizado por millones de personas en el mundo. + +### Cuenta XMPP/Jabber + +Una cuenta XMPP/Jabber está basada en un ID bajo la forma `usuario@dominio.tld`, así como una contraseña. La contraseña es la de la cuenta del usuario de Yunohost. + +### Conectarse a XMPP + +Existen varios clientes web de tipo red social, como : +- [Movim](https://pod.movim.eu) +- [Libervia/Salut à Toi](http://salut-a-toi.org/). + +También puedes utilizar un cliente Desktop como : +- [Pidgin](http://pidgin.im/) (multiplataformas), +- [Gajim](http://gajim.org/index.fr.html) (Linux, Windows), +- [Dino](https://dino.im) (Linux), +- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplataformas), +- [Jitsi](http://jitsi.org/) (multiplataformas) +- [Adium](https://adium.im/) (Mac OS). + +... o un cliente smartphone : +* [Xabber](http://xabber.com) (Android) +* [Conversations](https://conversations.im/) (Android) +* [Movim sous Android](https://movim.eu) +* [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) + +Aquí tienes una lista más exhaustiva de clientes XMPP (fr) : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP + +### Cifrar tu conversaciones con OMEMO : + +Es posible cifrar tu conversaciones XMPP con la ayuda de [OMEMO](https://xmpp.org/extensions/xep-0384.html), por ejemplo utilizando Gajim : +* Instalar `gajim` y el plugin `gajim-omemo` +* Activar el plugin en `Tools > Plugins` +* Activar el cifrado en una conversación con un contacto que también tiene OMEMO activado. + +### Salón de discusión + +Para crear un salón de discusión (Multi-user chat) en tu servidor Yunohost, utiliza el ID nombredelsalon@muc.dominio.tld (donde dominio.tld es el dominio principal de tu servidor). + +Si utilizas un nombre de dominio personal, es necesario [añadir una redirección de tipo CNAME para el subdominio `muc.`](/dns_config) en tu servidor DNS. + +### VoIP y videoconferencias + +Un buen medio de llamar a un contacto XMPP en VoIP o en llamada video, es utilizar el cliente [Jitsi](http://jitsi.org/). diff --git a/XMPP_fr.md b/XMPP_fr.md index f1e663b0..0273219f 100644 --- a/XMPP_fr.md +++ b/XMPP_fr.md @@ -1,53 +1,59 @@ #Chat, VoIP et réseau social avec -Yunohost est installé avec un serveur de messagerie instantanée Metronome qui implémente le [protocole XMPP](https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol). +Yunohost est installé par défaut avec un serveur de messagerie instantanée Metronome qui implémente le [protocole XMPP](https://fr.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol) (anciennement connu sous le nom Jabber). -XMPP 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. +Ce protocole est déjà utilisé par des millions de personnes dans le monde - c'est un protocole ouvert. Toutes les applications basées sur XMPP sont compatibles entre elles : lorsque vous utilisez un client XMPP, vous pouvez interagir avec quiconque possède un compte XMPP. -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 d’un compte XMPP/Jabber. Ce protocole est déjà utilisé par des millions de personnes dans le monde. +XMPP est un protocole extensible - cela signifie que les utilisateurs peuvent configurer des "extensions" pour les salons de discussions, partager des messages et des fichiers, et passer des appels voix et vidéo en utilisant XMPP. -### Compte XMPP/Jabber +## Compte XMPP -Un compte XMPP/Jabber est basé sur un identifiant sous la forme `utilisateur@domaine.tld`, ainsi qu’un mot de passe. +Pour utiliser XMPP, il est nécessaire de disposer d'un compte dont l'identifiant prends 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. +Sous Yunohost, un compte XMPP est créé automatiquement pour chaque utilisateur. Les identifiants XMPP sont simplement l’adresse courriel principale de l'utilisateur ainsi que son mot de passe. -### Se connecter à XMPP +## Se connecter à son compte XMPP YunoHost + +Il existe différents types de clients pour se connecter à XMPP. + +### Clients web -Il existe des clients web orientés réseau social, comme : - [Movim](https://pod.movim.eu) - [Libervia/Salut à Toi](http://salut-a-toi.org/). -Vous pouvez également utiliser un client desktop comme -- [Pidgin](http://pidgin.im/) (multiplateforme), +### Clients de bureau + +- [Pidgin](http://pidgin.im/) (multiplateforme), - [Gajim](http://gajim.org/index.fr.html) (Linux, Windows), - [Dino](https://dino.im) (Linux), -- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplateforme), -- [Jitsi](http://jitsi.org/) (multiplateforme) +- [Thunderbird](https://www.mozilla.org/fr/thunderbird/) (multiplateforme), +- [Jitsi](http://jitsi.org/) (multiplateforme) - [Adium](https://adium.im/) (Mac OS). -... ou un client smartphone +### Clients sur mobile + * [Xabber](http://xabber.com) (Android) * [Conversations](https://conversations.im/) (Android) * [Movim sous Android](https://movim.eu) * [Monal](https://itunes.apple.com/us/app/monal-free-xmpp-chat/id317711500?mt=8) (iOS) +- [Kaidan](https://github.com/KaidanIM/Kaidan) (Ubuntu Touch / Plasma Mobile) Voici une liste plus exhaustive des clients XMPP : https://fr.wikipedia.org/wiki/Liste_de_clients_XMPP -### Chiffrer ses conversations avec OMEMO +## Chiffrer ses conversations avec OMEMO -Il est possible de chiffrer ses conversations XMPP à l’aide de [OMEMO](https://xmpp.org/extensions/xep-0384.html), notamment en utilisant Gajim : -* Installer `gajim` et le plugin `gajim-omemo` -* Activez le plugins dans `Outils > Plugins` -* L'activer -* Activez le chiffrement dans une conversation avec un contact disposant de OMEMO. +Il est possible de rendre les conversations plus sécurisées et privées en les chiffrants à l'aide de [OMEMO](https://xmpp.org/extensions/xep-0384.html), notamment en utilisant Gajim : +- Installer `gajim` et le plugin `gajim-omemo` +- Activez le plugins dans `Outils > Plugins` +- L'activer +- Activez le chiffrement dans une conversation avec un contact disposant de OMEMO. -### Salon de discussion +## Salon de discussion Pour créer un salon de discussion (Multi-user chat) sur votre serveur Yunohost utilisez l’identifiant nomsalon@muc.domaine.tld (où 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 CNAME pour le sous domaine `muc.`](dns_config_fr) au niveau de votre serveur DNS. +Si vous utilisez un nom de domaine personnel, il est nécessaire d’[ajouter une redirection de type CNAME pour le sous domaine `muc.`](/dns_config) au niveau de votre serveur DNS. -### VoIP et visioconférence +## 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/). diff --git a/admin.md b/admin.md index d462c05c..288471af 100644 --- a/admin.md +++ b/admin.md @@ -7,7 +7,7 @@ Yunohost has an administrator web interface. The other way to administrate your You can access your administrator web interface at this address: https://example.org/yunohost/admin (replace 'example.org' with your own domain name)
- +
diff --git a/admin_es.md b/admin_es.md new file mode 100644 index 00000000..573adb3b --- /dev/null +++ b/admin_es.md @@ -0,0 +1,37 @@ +# La interfaz de administración web + +Yunohost tiene una interfaz gráfica de administración. El otro método consiste en utilizar la [linea de comando](/commandline). + +### Acceso + +La interfaz admin está accesible desde tu instancia Yunohost en esta dirección : https://ejemplo.org/yunohost/admin (reemplaza ejemplo.org por tu nombre de dominio) + +
+ +
+ + +### Reinicia la contraseña del administrador + +Para reiniciar la contraseña de administración de Yunohost (con el usuario root) : + +```bash +$ yunohost-reset-ldap-password +``` + +Una contraseña provisional será creada, podrás utilizarla para luego definir una nueva contraseña. + + +### Cómo mover la carpeta de una aplicación + +Para cambiar la carpeta donde está una aplicación, sólo algunos comandos son necesarios : desplazar el contenido, crear un vínculo simbólico y definir los derechos de acceso. + +Ejemplo con WordPress : +```bash +# Desplazamiento del wordpress hacia otro soporte +$ sudo mv /var/www/wordpress /mon/dossier/cible +# Creación del vínculo simbólico +$ sudo ln -s /media/disqueexterne/wordpress /var/www/wordpress +# El directorio debe pertenecer a www-data +sudo chown -R www-data:www-data /media/externalharddrive/wordpress +``` diff --git a/admin_fr.md b/admin_fr.md index 7dbcb32a..5601de0f 100644 --- a/admin_fr.md +++ b/admin_fr.md @@ -1,13 +1,13 @@ # L’interface d’administration web -YunoHost est fourni avec une interface graphique d’administration. L’autre méthode est d’utiliser la [ligne de commande](/commandline_fr). +YunoHost est fourni avec une interface graphique d’administration. L’autre méthode est d’utiliser la [ligne de commande](/commandline). ### Accès L’interface admin est accessible depuis votre instance YunoHost à l’adresse https://exemple.org/yunohost/admin (remplacez exemple.org par la bonne valeur)
- +
diff --git a/admindoc.md b/admindoc.md index ab86a0b5..9194c8a4 100644 --- a/admindoc.md +++ b/admindoc.md @@ -29,17 +29,22 @@ * [Applications](/apps_overview) * [Domains, DNS and certificates](/domains) * [Email](/email) + * [Forms to remove its IP address from the black lists](/blacklist_forms) * [XMPP](/XMPP) * [Backup](/backup) * [Updating the system](/update) and [apps](/app_update) * [Security](/security) * Going further + * [Specific apps documentations](/appsdoc) * [Noho.st / nohost.me / ynh.fr domain names](/dns_nohost_me) * [Exchange files with your server using a graphical interface](/filezilla) * [Customize the appearance of the YunoHost portal](/theming) * [Adding an external storage](/external_storage) * [Migrating emails to YunoHost](/email_migration) * [Hide services with Tor](/torhiddenservice) + * [A discussion about the advantages of using a VPN](/vpn_advantage) + * [(old) Jessie->Stretch migration procedure](jessie_stretch_migration) * [Troubleshooting guide](/troubleshooting_guide) - * [Unlock IP in iptables](/fail2ban) * [Changing the administration password](/change_admin_password) + * [Recover access to your server](/noaccess) + * [Unban IPs in iptables/fail2ban](/fail2ban) diff --git a/admindoc_de.md b/admindoc_de.md new file mode 100644 index 00000000..f9c0b256 --- /dev/null +++ b/admindoc_de.md @@ -0,0 +1,45 @@ +# Administrator-Dokumentation + +* Self-Hosting entdecken + * [Was ist Self-Hosting](/selfhosting) + * [Was ist YunoHost](/whatsyunohost) + * [Probiere YunoHost aus](/try) + * [Wie du selber hostest](howtohostyourself) + * [Wähle die Hardware](/hardware) + * [Über die Freundlichkeit von Internet-Service-Providern](/isp) +* [YunoHost installieren](/install) + * [Auf einem normalen Computer](/install_iso) + * [Auf einem eigenen oder virtuellen Server](/install_on_vps) + * [Auf einem Raspberry Pi](/install_on_raspberry) + * [Auf einem ARM-Board](/install_on_arm_board) + * [Auf Debian](/install_on_debian) + * [Auf VirtualBox](/install_on_virtualbox) +* Setup abschließen + * [Nach der Installation](/postinstall) + * [Port-Forwarding konfigurieren](/isp_box_config) + * [DNS-Einträge konfigurieren](/dns_config) + * [SSL-Zertifikate installieren](/certificate) + * [Diagnostiziere deine Installation](/diagnostic) +* YunoHost kennenlernen + * [Übersicht über YunoHost](/overview) + * [Allgemeine Hinweise und Hilfestellungen](/guidelines) + * [Web-Administrations-Interface](/admin) + * [SSH](/ssh) and [command-line administration](/commandline) + * [Benutzer und SSO (Single-Sign-On)](/users) + * [Applicationen](/apps_overview) + * [Domains, DNS und Zertifikate](/domains) + * [E-Mail](/email) + * [XMPP](/XMPP) + * [Datensicherung](/backup) + * [System-Update](/update) and [apps](/app_update) + * [Sicherheit](/security) +* Weiteres + * [Noho.st / nohost.me / ynh.fr Domain-Namen](/dns_nohost_me) + * [Grafischer Dateiaustausch mit deinem Server](/filezilla) + * [Passe das Aussehen vom Yunohost-Portal an](/theming) + * [Für externen Speicher hinzu](/external_storage) + * [Migriere E-Mails zu Yunohost](/email_migration) + * [Verstecke Services mit Tor](/torhiddenservice) +* [Hinweise zur Fehlersuche](/troubleshooting_guide) + * [Entsperren von IPs in fail2ban](/fail2ban) + * [Administrator-Passwort ändern](/change_admin_password) diff --git a/admindoc_fr.md b/admindoc_fr.md index 14b60248..6dc54324 100644 --- a/admindoc_fr.md +++ b/admindoc_fr.md @@ -1,56 +1,61 @@ # Documentation pour les administrateurs YunoHost * Découvrir l'auto-hébergement - * [Qu'est-ce que l'auto-hébergement](/selfhosting_fr) - * [Qu'est-ce que YunoHost](/whatsyunohost_fr) - * [Essayer YunoHost](/try_fr) - * [Choisir son mode d'hébergement](howtohostyourself_fr) - * [Matériel compatible](/hardware_fr) - * [À propos des fournisseurs d'accès internet](/isp_fr) -* [Guide d’installation](/install_fr) - * [Sur un ordinateur "standard"](/install_iso_fr) - * [Sur un serveur dédié ou virtuel (VPS)](/install_on_vps_fr) - * [Sur un Raspberry Pi](/install_on_raspberry_fr) - * [Sur une carte ARM](/install_on_arm_board_fr) - * [Sur Debian](/install_on_debian_fr) - * [Sur VirtualBox](/install_on_virtualbox_fr) + * [Qu'est-ce que l'auto-hébergement](/selfhosting) + * [Qu'est-ce que YunoHost](/whatsyunohost) + * [Essayer YunoHost](/try) + * [Choisir son mode d'hébergement](/howtohostyourself) + * [Matériel compatible](/hardware) + * [À propos des fournisseurs d'accès internet](/isp) +* [Guide d’installation](/install) + * [Sur un ordinateur "standard"](/install_iso) + * [Sur un serveur dédié ou virtuel (VPS)](/install_on_vps) + * [Sur un Raspberry Pi](/install_on_raspberry) + * [Sur une carte ARM](/install_on_arm_board) + * [Sur Debian](/install_on_debian) + * [Sur VirtualBox](/install_on_virtualbox) * Finaliser son installation - * [Post-installation](/postinstall_fr) - * [Configurer les redirections de port](/isp_box_config_fr) - * [Configurer les enregistrements DNS](/dns_config_fr) - * [Installer un certificat SSL](/certificate_fr) - * [Diagnostic du bon fonctionnement du YunoHost](/diagnostic_fr) + * [Post-installation](/postinstall) + * [Configurer les redirections de port](/isp_box_config) + * [Configurer les enregistrements DNS](/dns_config) + * [Installer un certificat SSL](/certificate) + * [Diagnostic du bon fonctionnement du YunoHost](/diagnostic) * Apprendre à connaitre YunoHost - * [Vue d'ensemble de YunoHost](/overview_fr) - * [Conseil généraux](/guidelines_fr) - * [L'interface d'administration web](/admin_fr) - * [SSH](/ssh_fr) et [l'administration en ligne de commande](/commandline_fr) - * [Les utilisateurs et le SSO](/users_fr) - * [Les applications](/apps_overview_fr) - * [Les domaines, la configuration DNS et les certificats](/domains_fr) - * [Les emails](/email_fr) - * [XMPP](/XMPP_fr) - * [Les sauvegardes](/backup_fr) - * [Mettre à jour le système](/update_fr) et [les applications](/app_update_fr) - * [La sécurité](/security_fr) + * [Vue d'ensemble de YunoHost](/overview) + * [Conseil généraux](/guidelines) + * [L'interface d'administration web](/admin) + * [SSH](/ssh) et [l'administration en ligne de commande](/commandline) + * [Les utilisateurs et le SSO](/users) + * [Les applications](/apps_overview) + * [Les domaines, la configuration DNS et les certificats](/domains) + * [Les emails](/email) + * [Formulaires pour enlever son adresse IP des listes noires](/blacklist_forms) + * [XMPP](/XMPP) + * [Les sauvegardes](/backup) + * [Mettre à jour le système](/update) et [les applications](/app_update) + * [La sécurité](/security) * Pour aller plus loin * Noms de domaine - * [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me_fr) - * [Configurer un DNS dynamique avec une adresse IP dynamique](/dns_dynamicip_fr) - * [DNS et installation d’une application sur un sous-domaine](/dns_subdomains_fr) - * [Utiliser le résolveur DNS local](/dns_resolver_fr) - * [Gérer les enregistrements DNS chez OVH](/OVH_fr) + * [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me) + * [Configurer un DNS dynamique avec une adresse IP dynamique](/dns_dynamicip) + * [DNS et installation d’une application sur un sous-domaine](/dns_subdomains) + * [Utiliser le résolveur DNS local](/dns_resolver) + * [Gérer les enregistrements DNS chez OVH](/OVH) * Notes à propos de certains fournisseurs d'accès à Internet - * [SFR](/isp_sfr_fr) - * [Orange](/isp_orange_fr) - * [Free](/isp_free_fr) + * [SFR](/isp_sfr) + * [Orange](/isp_orange) + * [Free](/isp_free) + * [Documentation spécifique à certaines apps](/appsdoc) + * [Equivalence entre service framasoft et apps](/apps_framasoft) * [Échanger des fichiers avec son serveur à l'aide d'une interface graphique](/filezilla) - * [Modifier l'apparence du portail utilisateur](/theming_fr) - * [Ajouter un stockage externe](/external_storage_fr) - * [Migrer ses emails vers YunoHost](/email_migration_fr) - * [YunoHost avec un service caché Tor](/torhiddenservice_fr) - * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom_fr) -* [Guide de dépannage](/troubleshooting_guide_fr) - * [Débloquer une IP dans Fail2ban](/fail2ban_fr) - * [Changer le mot de passe d’administration](/change_admin_password_fr) - * [Formulaires pour enlever son IP des listes noires](/blacklist_forms_fr) + * [Modifier l'apparence du portail utilisateur](/theming) + * [Ajouter un stockage externe](/external_storage) + * [Migrer ses emails vers YunoHost](/email_migration) + * [YunoHost avec un service caché Tor](/torhiddenservice) + * [Utilisation de certificats autres que Let's Encrypt](/certificate_custom) + * [Une discussion sur les avantages d'utiliser un VPN](/vpn_advantage) + * [(vieux) Procedure de Migration Jessie->Stretch](jessie_stretch_migration) +* [Guide de dépannage](/troubleshooting_guide) + * [Changer le mot de passe d’administration](/change_admin_password) + * [Récupérer l'accès à son serveur](/noaccess) + * [Débannir une IP dans Fail2ban/IPtables](/fail2ban) diff --git a/app_blogotext.md b/app_blogotext.md new file mode 100644 index 00000000..d60c73f9 --- /dev/null +++ b/app_blogotext.md @@ -0,0 +1,11 @@ +#BlogoText + +This is BlogoText, the lightweight SQLite Blog-Engine. +Features + + * Blog with comments and RSS feeds + * Links sharing + * RSS Reader + * Images/Files uploading and sharing + * JSON/ZIP/HTML import-export; WordPress import + * Support Addons diff --git a/app_blogotext_fr.md b/app_blogotext_fr.md new file mode 100644 index 00000000..00aa4782 --- /dev/null +++ b/app_blogotext_fr.md @@ -0,0 +1,11 @@ +#BlogoText + +Ceci est BlogoText, un moteur de blog léger. +Caractéristiques + + * Blog avec commentaires et flux RSS + * Partage de liens + * Lecteur RSS + * Téléversement et partage d'images/fichiers + * import-export au format JSON/ZIP/HTML; import WordPress + * Support Addons diff --git a/collabora_en.md b/app_collaboradocker.md similarity index 89% rename from collabora_en.md rename to app_collaboradocker.md index cd3af0c8..504fe174 100644 --- a/collabora_en.md +++ b/app_collaboradocker.md @@ -1,5 +1,5 @@ # Install Collabora with Nextcloud, using Docker -**Note :** This walkthrough is based on a Debian 8 instance, and has not been tested since version 3 upgrade of Yunohost. As a prerequisite, you must have configured your domains and sub-domains in the DNS, in compliance with : [DNS](/dns_en), [Sub-domain install of an app](/dns_subdomains_en), [DNS settings](/dns_config_en) and [noho.st / nohost.me / ynh.fr domains](/dns_nohost_me)). +**Note :** This walkthrough is based on a Debian 8 instance, and has not been tested since version 3 upgrade of Yunohost. As a prerequisite, you must have configured your domains and sub-domains in the DNS, in compliance with : [DNS](/dns), [Sub-domain install of an app](/dns_subdomains), [DNS settings](/dns_config) and [noho.st / nohost.me / ynh.fr domains](/dns_nohost_me)). ### 0. Install Nextcloud diff --git a/collabora_fr.md b/app_collaboradocker_fr.md similarity index 89% rename from collabora_fr.md rename to app_collaboradocker_fr.md index 29f352c2..a9af6a57 100644 --- a/collabora_fr.md +++ b/app_collaboradocker_fr.md @@ -1,6 +1,6 @@ # Installer Collabora avec Nextcloud via Docker -**Note :** la marche à suivre detaillée est réalisée ici à partir d’une instance Yunohost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de Yunohost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance Yunohost (voir [DNS](/dns_fr), [DNS et installation d’une application sur un sous-domaine](/dns_subdomains_fr), [Configurer les enregistrements DNS](/dns_config_fr) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me_fr)). +**Note :** la marche à suivre detaillée est réalisée ici à partir d’une instance Yunohost sur Debian 8 (celle-ci n'a pas été testée suite à la migration vers la version 3 de Yunohost). Ces instructions ont pour pré-requis que les domaines/sous-domaines sont correctement configurés au niveau des DNS et de votre instance Yunohost (voir [DNS](/dns), [DNS et installation d’une application sur un sous-domaine](/dns_subdomains), [Configurer les enregistrements DNS](/dns_config) et [Nom de domaine en noho.st / nohost.me / ynh.fr](/dns_nohost_me)). ### 0. Installer Nextcloud diff --git a/app_dokuwiki_de.md b/app_dokuwiki_de.md new file mode 100644 index 00000000..9f997374 --- /dev/null +++ b/app_dokuwiki_de.md @@ -0,0 +1,13 @@ +#New DokuWiki +======== + +Homepage: https://dokuwiki.org + +DokuWiki ist eine Wiki Anwendung, lizensiert unter der GPLv2, geschrieben in der PHP Programmsprache, arbeitet mit einfachen Textdateien und braucht deshalb keine Datenbank. Die Syntax ähnelt der von Mediawiki. Mehr in der Wikipedia. + +Entwickler: Andreas Gohr, et al. + +Betriebssystem: Cross-platform +Plattform:PHP + +Lizenz: GNU General Public License diff --git a/app_ffsync_it.md b/app_ffsync_it.md new file mode 100644 index 00000000..c83e4b64 --- /dev/null +++ b/app_ffsync_it.md @@ -0,0 +1,15 @@ +# Firefox Sync +Firefox Sync permette la sincronizzazione di plugin, schede, segnalibri, preferiti e cronologia fra diverse istanze di Firefox. + +## Configurazione di Firefox +### Firefox versione desktop +Nella barra degli indirizzi di Firefox inserite: `about:config`. + +Cercate: `identity.sync.tokenserver.uri`. + +Modificate l'indirizzo trovato in: https://mydomain.tld/path/token/1.0/sync/1.5 + +Create un account su Mozilla: https://accounts.firefox.com/signup + +### Firefox versione mobile +Nell'ultima versione di Firefox mobile la procedura è identica a quella per la versione desktop. diff --git a/app_fluxbb.md b/app_fluxbb.md new file mode 100644 index 00000000..01ad77cc --- /dev/null +++ b/app_fluxbb.md @@ -0,0 +1,7 @@ +#FluxBB + +FluxBB is fast, light, user-friendly forum software for your website. + +FluxBB is designed as a lighter, faster alternative to some of the traditional feature heavy forum applications. It is easy to use and has a proven track record of stability and security making it an ideal choice of forum for your website. + +[Website](https://fluxbb.org/) \ No newline at end of file diff --git a/app_fluxbb_fr.md b/app_fluxbb_fr.md new file mode 100644 index 00000000..2c20f2ae --- /dev/null +++ b/app_fluxbb_fr.md @@ -0,0 +1,5 @@ +#FluxBB + +FluxBB est un forum de discussions écrit en PHP rapide et léger. + +[Site internet](https://fluxbb.org/) \ No newline at end of file diff --git a/app_gogs.md b/app_gogs.md new file mode 100644 index 00000000..f2ee0bed --- /dev/null +++ b/app_gogs.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_gogs_fr) for now. diff --git a/app_gogs_fr.md b/app_gogs_fr.md new file mode 100644 index 00000000..f793243e --- /dev/null +++ b/app_gogs_fr.md @@ -0,0 +1,12 @@ +# ![Logo de GOGS](images/gogs_logo.png) Gogs + +[![Install Gogs with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=gogs) + +Gogs est une forge logiciel minimaliste utilisant git. Gogs a été conçu pour pouvoir fonctionner de manières optimale sur du matériel peu puissant type Raspberry Pi. +Il est donc adapté à l'auto-hébergement d'une forge git. +Pour utiliser pleinement la puissance de gogs vous devez avoir appréhender ce qu'est git et l'utilisation d'un [logiciel de gestion de versions](https://fr.wikipedia.org/wiki/Logiciel_de_gestion_de_versions). + +## Liens utiles + - [Site Officiel - gogs.io](https://gogs.io) + - [Dépot applications gogs pour YunoHost](https://github.com/YunoHost-Apps/gogs_ynh) + - [Site officiel de l'outils git - git-scm.com](https://git-scm.com/) diff --git a/app_hextris.md b/app_hextris.md new file mode 100644 index 00000000..b938caed --- /dev/null +++ b/app_hextris.md @@ -0,0 +1,4 @@ +#Hextris + +Because sometimes you have to know how to relax. Host your own fork of the famous Tetris and become the master of this infernal hexagon. +Who will tame this infernal hexagon? \ No newline at end of file diff --git a/app_jappix_fr.md b/app_jappix_fr.md index e9b0fd2d..aa044fe2 100644 --- a/app_jappix_fr.md +++ b/app_jappix_fr.md @@ -1,3 +1,3 @@ #Jappix -Jappix est un client web [XMPP](/XMPP_fr). +Jappix est un client web [XMPP](/XMPP). diff --git a/app_nextcloud.md b/app_nextcloud.md new file mode 100644 index 00000000..4bd63778 --- /dev/null +++ b/app_nextcloud.md @@ -0,0 +1,169 @@ +# logo de Nextcloud Nextcloud + + - [Discovering the Nextcloud environment](#EnvironmentNextcloud) + - [Mobile and computer client software](#ClientSoftware) + - [Useful Manipulations & Problems Encountered](#UtileManipulations) + - [Add space to Nextcloud](#AddSpace) + - [Third Party Applications](#AppsTiers) + - [Useful links](#UsefulLinks) + +Nextcloud is a file hosting service, many applications can be installed to offer it new features such as a calendar, a directory, notes and many others (you can find some applications in the [third-party applications](#AppsTiers) part but there are many others depending on your needs). + +## Discovering the Nextcloud environment + +Due to the creation of Nextcloud, a database with third-party applications to install, this chapter will only concern the nextcloud database without added applications. More information on applications in the dedicated section or in the nextcloud application catalogue: [apps.nextcloud.com](https://apps.nextcloud.com). +Nextcloud is before a cloud service (like Seafile and others), it allows synchronization and file sharing on the Internet and between several terminals (computers, smartphone) but also with several people. + +## Mobile and computer client software + +There are client software for all platforms. You can find them on the official nextcloud website: https://nextcloud.com/install/#install-clients + +## Useful Manipulations & Problems Encountered + +### Add storage space + +Solution I. allows you to add a link to a local or remote folder. +Solution II. allows to move the main storage space of nextcloud. + +#### I. Add an external storage space + +Parameter =>[Administration] External storage. + +At the bottom of the list you can add a folder (It is possible to define a subfolder using the `folder/subfolder` convention.) +Select a storage type and specify the requested connection information. +You can restrict this folder to one or more nextcloud users with the column `Available for`. +With the gear you can allow or prohibit previewing and file sharing. +Finally click on the check mark to validate the folder. + +#### II. Migrate Nextcloud data to a larger partition + +**Note**: The following assumes that you have a hard disk mounted on `/media/storage`. Refer to[this article](/external_storage) to prepare your system. + +**Note**: Replace `nextcloud` with the name of its instance, if you have several Nextcloud apps installed. + +First turn off the web server with the command: +```bash +systemctl stop nginx +``` + +##### Choice of location + +**Case A: Blank storage, exclusive to Nextcloud** + +For the moment only root can write to it in `/media/storage`, which means that nginx and nextcloud will not be able to use it. + +```bash +chown -R nextcloud:nextcloud /media/storage +chmod 775 -R /media/storage +``` + +**Case B: Shared storage, data already present, Nextcloud data in a subfolder** + +If you want to use this disk for other applications, you can create a subfolder belonging to Nextcloud. + +```bash +mkdir -p /media/storage/nextcloud_data +chown -R nextcloud /media/storage/nextcloud_data +chmod 775 -R /media/storage/nextcloud_data +``` + +##### Migrate data + +Migrate your data to the new disk. To do this *(be patient, it can take a long time)*: + +```bash +Case A: cp -ia /home/yunohost.app/nextcloud /media/storage +Case B: cp -ia /home/yunohost.app/nextcloud /media/storage/nextcloud_data +``` + +The `i` option allows you to ask yourself what to do if there is a file conflict, especially if you overwrite an old Owncloud or Nextcloud data folder. +To check that everything went well, compare what these two commands display (the content must be identical): + +```bash +ls -la /home/yunohost.app/nextcloud + +Case A: ls -al /media/storage +Case B: ls -al /media/storage/nextcloud_data/nextcloud +``` + +##### Configure Nextcloud + +To inform Nextcloud of its new directory, modify the `/var/www/nextcloud/config/config.php` file with the command: + +```bash +nano /var/www/nextcloud/config/config.php +``` + +Look for the line: + +```bash +'datadirectory' => '/home/yunohost.app/nextcloud/data', +``` + +That you modify: + +```bash +CASE A:'datadirectory' =>'/media/storage', +CASE B:'datadirectory' =>'/media/storage/nextcloud_data/nextcloud/data', +``` + +Back up with `ctrl+x` then `y` or `o` (depending on your server locale). + +Restart the web server: + +```bash +systemctl start nginx +``` + +Add the.ocdata file +```bash +CASE A: nano /media/storage/.ocdata +CASE B: nano /media/storage/nextcloud_data/nextcloud/data/.ocdata +``` +Add a space to the file to be able to save it + +Back up with `ctrl+x` then `y` or `o` (depending on your server locale). + +Run a scan of the new directory by Nextcloud: + +```bash +cd /var/www/nextcloud +sudo -u nextcloud php7.3 occ files:scan --all +``` + +It's over now. Now test if everything is fine, try connecting to your Nextcloud instance, upload a file, check its proper synchronization. + +### Nextcloud and Cloudflare + +If you use Cloudflare for your DNS, *which may be useful if you have a dynamic IP*, you will most likely have authentication problems with the Nextcloud application. On the Internet many people propose to create a rule that disables all options related to security and Cloudflare speed for the url pointing to your Nextcloud instance. Although it works, it is not the optimal solution. I propose, certainly to create a rule for the url pointing to your Nextcloud instance but to disable only 2 options. So here's how: + +#### Cloudflare Page Rules + +In the Cloudflare control panel select your domain and find Page Rules +the url in your address bar will look like this: https://dash.cloudflare.com/*/domain.tld/page-rules + +##### Add a rule + +The rule to be added must apply to the url of your Nextcloud instance either: + +- `https://nextcloud.domain.tld/**` if you use a subdomain +- `https://domain.tld/nextcloud/*`` if you have deployed Nextcloud in a directory + +The options to disable (Off) are: + +- Rocket Loader +- Email Obfuscation + +Save and clean your caches (Cloudflare, browser,...) and that's it. + +## Third Party Applications + + - [Calendrier](app_nextcloud_calendar) + - [contact](app_nextcloud_contact) + - [KeeWeb](app_nextcloud_keeweb) + - [Carnet](app_nextcloud_carnet) + +## Useful links + + - Official website : [nextcloud.com](https://nextcloud.com/) + - Application catalogue for nextcloud : [apps.nextcloud.com](https://apps.nextcloud.com/) diff --git a/app_nextcloud_calendar.md b/app_nextcloud_calendar.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_calendar.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_carnet.md b/app_nextcloud_carnet.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_carnet.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_contact.md b/app_nextcloud_contact.md new file mode 120000 index 00000000..7800f978 --- /dev/null +++ b/app_nextcloud_contact.md @@ -0,0 +1 @@ +default.md \ No newline at end of file diff --git a/app_nextcloud_fr.md b/app_nextcloud_fr.md index 152252ea..e5dc9000 100644 --- a/app_nextcloud_fr.md +++ b/app_nextcloud_fr.md @@ -1,9 +1,31 @@ -# Ajouter de l'espace de stockage +# logo de Nextcloud Nextcloud -La solution I) permet d'ajouter un lien vers un dossier local ou distant. -La solution II) permet de déplacer l'espace de stockage principal de nextcloud. + - [Découverte de l'environnement de Nextcloud](#EnvironnementNextcloud) + - [Logiciels Clients pour mobile et ordinateur](#LogicielsClients) + - [Manipulations & Problèmes rencontrés utiles](#ManipulationsUtiles) + - [Ajouter de l'espace à Nextcloud](#AjoutEspace) + - [Applications tiers](#AppsTiers) + - [Liens utiles](#liensutiles) -## I) Ajouter un espace de stockage externe +Nextcloud est un service d'hébergement de fichiers, de nombreuses applications peuvent être installées afin de lui offrir de nouvelles fonctionnalités tel qu'un agenda, un répertoire de contacts, des notes et pleins d'autres possibles (vous pouvez trouver quelques applications dans la partie [applications tiers](#AppsTiers) mais il en existe une multitude suivant vos besoins). + +## Découverte de l'environnement de Nextcloud + +Du fait de la constitution de Nextcloud, une base avec des applications tiers à installer, ce chapitre ne concernera que la base de nextcloud sans applications ajoutés. Plus d'informations sur les applications dans la partie dédiée ou sur le catalogue d'application de nextcloud : [apps.nextcloud.com](https://apps.nextcloud.com). +Nextcloud est avant tout un service de cloud (comme Seafile et d'autres logiciels), il permet une synchronisation et le partage de fichiers sur internet et entre plusieurs terminaux (ordinateurs, smartphone) mais aussi avec plusieurs personnes. + +## Logiciels Clients + +Il existe des logiciels clients pour de nombreux terminaux. Vous pouvez les retrouver sur le site de nextcloud : [nextcloud.com/install/#install-clients](https://nextcloud.com/install/#install-clients) + +## Manipulations utiles & problèmes rencontrés + +### Ajouter de l'espace à Nextcloud + +La solution I. permet d'ajouter un lien vers un dossier local ou distant. +La solution II. permet de déplacer l'espace de stockage principal de nextcloud. + +#### I. Ajouter un espace de stockage externe Paramètre => [Administration] Stockages externe. @@ -13,9 +35,9 @@ Vous pouvez restreindre ce dossier à un ou plusieurs utilisateurs nextcloud ave Avec l'engrenage vous pouvez autoriser ou interdire la prévisualisation et le partage des fichiers. Enfin cliquer sur la coche pour valider le dossier. -## II) Migrer les données de Nextcloud dans une partition plus grosse +#### II. Migrer les données de Nextcloud dans une partition plus grosse -**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage_fr) pour préparer votre système. +**Remarque** : Ce qui suit suppose que vous avez un disque dur monté sur `/media/stockage`. Référez-vous à [cet article](/external_storage) pour préparer votre système. **Remarque** : Remplacez `nextcloud` par le nom de son instance, si vous avez plusieurs apps Nextcloud installées. @@ -24,9 +46,9 @@ Commencez par éteindre le serveur web avec la commande: systemctl stop nginx ``` -### Choix de l'emplacement +##### Choix de l'emplacement -#### Cas A : Stockage vierge, exclusif à Nextcloud +**Cas A : Stockage vierge, exclusif à Nextcloud** Pour l'instant seul root peut y écrire dans `/media/stockage`; ce qui signifie que nginx et nextcloud ne pourront donc pas l'utiliser. @@ -35,7 +57,7 @@ chown -R nextcloud:nextcloud /media/stockage chmod 775 -R /media/stockage ``` -#### Cas B : Stockage partagé, données déjà présentes, données Nextcloud dans un sous-dossier +**Cas B : Stockage partagé, données déjà présentes, données Nextcloud dans un sous-dossier** Si vous souhaitez utiliser ce disque pour d'autres applications, vous pouvez créer un sous-dossier appartenant à Nextcloud. @@ -45,7 +67,7 @@ chown -R nextcloud /media/stockage/nextcloud_data chmod 775 -R /media/stockage/nextcloud_data ``` -### Migrer les données +##### Migrer les données Migrez vos données vers le nouveau disque. Pour ce faire *(soyez patient, cela peut être long)* : @@ -54,8 +76,7 @@ Cas A : cp -ir /home/yunohost.app/nextcloud /media/stockage Cas B : cp -ir /home/yunohost.app/nextcloud /media/stockage/nextcloud_data ``` -L'option `i` permet de vous demander quoi faire en cas de conflit de fichier, notamment si vous écrasez un ancien dossier de données Owncloud ou Nextcloud. - +L'option `i` permet de vous demander quoi faire en cas de conflit de fichier, notamment si vous écrasez un ancien dossier de données Owncloud ou Nextcloud. Pour vérifier que tout s'est bien passé, comparer ce qu'affichent ces deux commandes (le contenu doit être identique): ```bash @@ -65,7 +86,7 @@ Cas A : ls -al /media/stockage Cas B : ls -al /media/stockage/nextcloud_data/nextcloud ``` -### Configurer Nextcloud +##### Configurer Nextcloud Pour informer Nextcloud de son nouveau répertoire, modifiez le fichier `/var/www/nextcloud/config/config.php` avec la commande: @@ -107,37 +128,42 @@ Lancez un scan du nouveau répertoire par Nextcloud: ```bash cd /var/www/nextcloud -sudo -u nextcloud php occ files:scan --all +sudo -u nextcloud php7.3 occ files:scan --all ``` C'est terminé. À présent testez si tout va bien, essayez de vous connecter à votre instance Nextcloud, envoyer un fichier, vérifiez sa bonne synchronisation. -# L'application KeeWeb -L'application KeeWeb est un gestionnaire de mots de passe incorporé à Nextcloud. Elle permet par exemple de lire un fichier de type KeePass (*.kdbx*) stocké sur votre instance Nextcloud. -Mais il arrive parfois que Nextcloud ne laisse pas l'application prendre en charge ces fichiers, ce qui rend alors impossible leur lecture de KeeWeb. Pour remédier à cela, -[une solution](https://github.com/jhass/nextcloud-keeweb/issues/34) existe. +### Nextcloud et Cloudflare -Se rendre dans le répertoire de configuration de Nextcloud : +Si vous utilisez Cloudflare pour vos DNS, *ce qui peut-être pratique si vous avez une IP dynamique*, vous aurez très probablement des problèmes d'authentification avec l'application Nextcloud. Sur Internet beaucoup de gens proposent de créer une règle ayant pour effet de désactiver toutes les options reliées à la sécurité et à la vitesse de Cloudflare pour l'URL pointant sur votre instance Nextcloud. Bien que cela fonctionne, ce n'est pas la solution optimale. Je vous propose, certes de créer une règle pour l'URL pointant sur votre instance Nextcloud, mais de désactiver seulement 2 options. Voici donc comment : -```bash -cd /var/www/nextcloud/config/ -``` +#### Cloudflare Page Rules -S'il n'existe pas, créer le fichier *mimetypemapping.json* dont le propriétaire est l'utilisateur *nextcloud* : +Dans le panneau de contrôle de Cloudflare, choisissez votre domaine et trouvez Page Rules +l'URL dans votre barre d'addresse ressemblera à : https://dash.cloudflare.com/*/domain.tld/page-rules -```bash -sudo su nextcloud -c "nano mimetypemapping.json" -``` +#### Ajouter une règle -Puis ajouter dans ce fichier le texte suivent : +La règle à ajouter doit s'appliquer pour l'URL de votre instance Nextcloud soit : +- `https://nextcloud.domain.tld/*` si vous utilisez un sous-domaine +- `https://domain.tld/nextcloud/*` si vous avez déployé Nextcloud dans un répertoire -```bash -{ - "kdbx": ["x-application/kdbx"] -} -``` +Les options à désactiver (Off) sont : -Enregistrer le fichier (**CTRL** + **o**) et quitter nano (**CTRL** + **c**). +- Rocket Loader +- Email Obfuscation -A présent, le problème est corrigé. +Sauvegarder et nettoyer vos caches (Cloudflare, navigateur, ...) et le tour est joué. + +## Applications Tiers + + + [Calendrier](/app_nextcloud_calendar) + + [contact](/app_nextcloud_contact) + + [KeeWeb](/app_nextcloud_keeweb) + + [Carnet](/app_nextcloud_carnet) + +## Quelques liens utiles + ++ Site officiel : [nextcloud.com (en)](https://nextcloud.com/) ++ Catalogue d'application pour nextcloud : [apps.nextcloud.com](https://apps.nextcloud.com/) diff --git a/app_nextcloud_keeweb.md b/app_nextcloud_keeweb.md new file mode 100644 index 00000000..a6039426 --- /dev/null +++ b/app_nextcloud_keeweb.md @@ -0,0 +1,35 @@ +# The KeeWeb application for NextCloud + +The KeeWeb application is a password manager integrated into Nextcloud. For example, it allows you to read a KeePass file (*.kdbx*) stored on your Nextcloud instance. +But sometimes Nextcloud does not let the application support these files, which makes it impossible to read them from KeeWeb. To remedy this, +[a solution](https://github.com/jhass/nextcloud-keeweb/blob/master/README.md#mimetype-detection) exists. + +Go to the Nextcloud configuration directory: + +```bash +cd /var/www/nextcloud/config/ +``` + +If it does not exist, create the *mimetypemapping.json* file whose owner is the user *nextcloud* : + +```bash +sudo su nextcloud -c "nano mimetypemapping.json" +``` + +Then add in this file the following text: + +```bash +{ + "kdbx": ["x-application/kdbx"] +} +``` + +Save the file (**CTRL** + **o**) and exit nano (**CTRL** + **c**). + +Then run a scan by executing next command as root: + +```bash +sudo -u nextcloud php /var/www/nextcloud/occ files:scan --all +``` + +Now the problem is fixed. diff --git a/app_nextcloud_keeweb_fr.md b/app_nextcloud_keeweb_fr.md new file mode 100644 index 00000000..9a99f973 --- /dev/null +++ b/app_nextcloud_keeweb_fr.md @@ -0,0 +1,38 @@ +# L'application KeeWeb pour NextCloud + +L'application Keeweb sur le catalogue de nextcloud - [apps.nextcloud.com/keeweb](https://apps.nextcloud.com/apps/keeweb) + +L'application KeeWeb est un gestionnaire de mots de passe incorporé à Nextcloud. Elle permet par exemple de lire un fichier de type KeePass (*.kdbx*) stocké sur votre instance Nextcloud. + +Mais il arrive parfois que Nextcloud ne laisse pas l'application prendre en charge ces fichiers, ce qui rend alors impossible leur lecture de KeeWeb. Pour remédier à cela, +[une solution](https://github.com/jhass/nextcloud-keeweb/blob/master/README.md#mimetype-detection) existe. + +Se rendre dans le répertoire de configuration de Nextcloud : + +```bash +cd /var/www/nextcloud/config/ +``` + +S'il n'existe pas, créer le fichier *mimetypemapping.json* dont le propriétaire est l'utilisateur *nextcloud* : + +```bash +sudo su nextcloud -c "nano mimetypemapping.json" +``` + +Puis ajouter dans ce fichier le texte suivent : + +```bash +{ + "kdbx": ["x-application/kdbx"] +} +``` + +Enregistrer le fichier (**CTRL** + **o**) et quitter nano (**CTRL** + **c**). + +Ensuite lancer un scan en tant que root: + +```bash +sudo -u nextcloud php /var/www/nextcloud/occ files:scan --all +``` + +A présent, le problème est corrigé. diff --git a/app_noalyss.md b/app_noalyss.md new file mode 100644 index 00000000..8762bf51 --- /dev/null +++ b/app_noalyss.md @@ -0,0 +1,13 @@ +# Noalyss + +Open source accounting software developed in PHP. + +All the information on this software is available on the [project website](http://www.noalyss.eu) + +To learn how to use it I invite you to read the [project wiki](http://www.noalyss.eu/?page_id=46&lang=fr_FR_id=46&lang=en_EN) + +The github of the Yunohost module is [here](https://github.com/YunoHost-Apps/noalyss_ynh_ynh) + +You can try the project [here](http://demo.noalyss.eu/index.php) with the identifiers: demo /demo + +I mean, not to have to struggle like me. The administrator IDs and passwords for the first login are: phpcompta / phpcompta \ No newline at end of file diff --git a/app_noalyss_fr.md b/app_noalyss_fr.md index 77bbbf9f..eac70633 100644 --- a/app_noalyss_fr.md +++ b/app_noalyss_fr.md @@ -10,5 +10,4 @@ Le github du module Yunohost est [ici](https://github.com/YunoHost-Apps/noalyss_ Vous pouvez essayer le projet [ici](http://demo.noalyss.eu/index.php) avec les identifiants : demo /demo -Enfin pour ne pas galérer comme moi. Les identifiants et mot de passe administrateur lors de la première connexion sont : phpcompta / phpcompta - +Enfin pour ne pas galérer comme moi. Les identifiants et mot de passe administrateur lors de la première connexion sont : phpcompta / phpcompta \ No newline at end of file diff --git a/app_peertube.md b/app_peertube.md index fb15d3e8..77984f62 100644 --- a/app_peertube.md +++ b/app_peertube.md @@ -1,2 +1,3 @@ -===== Peertube ===== -PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using WebTorrent. +# Peertube + +PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using WebTorrent. \ No newline at end of file diff --git a/app_peertube_fr.md b/app_peertube_fr.md new file mode 100644 index 00000000..e45454cd --- /dev/null +++ b/app_peertube_fr.md @@ -0,0 +1,16 @@ +# Logo de PeerTube PeerTube + +[![Installer PeerTube avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=peertube) + +PeerTube est une plateforme de streaming vidéo fédérée (ActivityPub) utilisant P2P (BitTorrent) directement dans le navigateur web, en utilisant WebTorrent. + +## Découverte de l'environnement de PeerTube + +Pour comprendre en quoi PeerTube propose une alternative à youtube, vous êtes invité à regarder le clip réalisé par l'association Framasoft (ci-dessous). Elle est elle même hébergé sur [framatube.org](https://framatube.org) + + + +## Quelques liens utiles + + - Site officiel de PeerTube - [joinpeertube.org](https://joinpeertube.org/fr/) + - Dépot application PeerTube Yunohost - [github.com/YunoHost-Apps/peertube_ynh](https://github.com/YunoHost-Apps/peertube_ynh) diff --git a/app_pihole_fr.md b/app_pihole_fr.md new file mode 100644 index 00000000..4d2dbc39 --- /dev/null +++ b/app_pihole_fr.md @@ -0,0 +1,5 @@ +# Pihole + +Page d'accueil : https://pi-hole.net + +**Pi-hole®** Blocage des publicités à l'échelle du réseau via votre propre serveur DNS, avec une belle page web Performance And Statistics. \ No newline at end of file diff --git a/app_piwigo_fr.md b/app_piwigo_fr.md index ada13e24..1c5b704a 100644 --- a/app_piwigo_fr.md +++ b/app_piwigo_fr.md @@ -13,8 +13,8 @@ Les extensions rendent Piwigo facilement personnalisable. Cerise sur le gâteau, ## Fonctionnalités -En plus des [fonctionnalités principales](Piwigo) de Piwigo, ce paquet propose également: - +En plus des [fonctionnalités principales](http://piwigo.org/basics/features) de Piwigo, ce paquet propose également: + * une intégration avec le système de gestion des utilisateurs et le SSO de Yunohost : * installation privée : limitée aux utilisateurs de YunoHost * installation publique : diff --git a/app_pleroma.md b/app_pleroma.md new file mode 100644 index 00000000..595e2038 --- /dev/null +++ b/app_pleroma.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_pleroma_fr) for now. diff --git a/app_pleroma_fr.md b/app_pleroma_fr.md new file mode 100644 index 00000000..44a4cdb1 --- /dev/null +++ b/app_pleroma_fr.md @@ -0,0 +1,52 @@ +# logo de Pleroma Pleroma + + - [Découverte de l'interface de Pleroma](#d%C3%A9couverte-de-linterface-de-pleroma) + - [Logiciels Clients pour mobile et ordinateur](#applications-clients) + - [Liens utiles](#quelques-liens-utiles) + +Pleroma est un réseau social décentralisé de micro-blogging qui propose une alternative à Twitter, le protocole [Activy Pub](https://en.wikipedia.org/wiki/ActivityPub) qu'il utilise permet d'interagir avec le [fediverse](https://fediverse.party/en/fediverse) composé notamment de Mastodon, GNU Social, et d'autres. Il a l'avantage d'être plus léger que mastodon et se prête donc plus facilement à l'auto-hébergement. + +## Découverte de l'interface de Pleroma + +Pour celles et ceux qui n'ont pas ou peu l'habitude des réseaux sociaux, voici en détail l'utilisation de chacune des fenêtres proposées : + +### Accueil de l'interface + +Capture écran accueil de Pleroma + +1. Barre de menu + + Capture du bouton à gauche de la barre de menu Le bouton à gauche portant le nom de l'instance - dans la capture ci-dessus *Meta - Pleroma* - renvoie vers la page d'accueil de l'instance. Dans le cas où vous êtes connecté⋅e cela vous renverra vers la visualisation de votre *journal*, si ce n'est pas le cas vers *Le réseau connu*. + + Capture des boutons à droite de la barre de menu Si vous êtes connecté⋅e vous aurez trois boutons, si vous ne l'êtes pas il n'y en aura que deux. Dans l'ordre, de gauche à droite : + + Capture bouton chercher un⋅e utilisateur⋅trice Permet d'ajouter de nouveaux utilisateurs et nouvelles utilisatrices afin de les suivre et ainsi vous abonner à leurs publications. Il est possible de rechercher un·e utilisateur·trice avec seulement son pseudonyme (par exemple : *yunohost*) ou alors sous la forme @pseudonyme@instance.domaine (par exemple : *@yunohost@mastodon.social*) + + Capture bouton préférences Permet d'accéder aux paramétres d'affichages de votre session. + /!\ Si vous n'êtes pas connecté·e les modifications effectuées ne seront valables qu'un temps (jusqu'à ce que les cookies de fonctionnement soient effacés). + + Capture Déconnexion Permet de se déconnecter de l'instance. Si vous n'êtes pas sur votre ordinateur personnel pensez-y ! + +2. Espace de Publications / Fenêtre de connexion +Fenêtre de connexion à la place de la zone de publications Si vous êtes connecté·e cet espace vous permet de publier vos messages et d'y joindre un média (images, GIF, vidéos, etc). Vous êtes limité⋅e dans le nombre de caractères, avec Pleroma la limitation est définie par l'administrateur·trice de l'instance. Si vous avez des questions envoyez lui un message. + +3. Fenêtre de visualisations +C'est ici le centre ~~du monde~~ de Pleroma, vous pourrez y voir les différentes publications de vos contacts ou qui circulent sur l'instance ainsi que les re-toots et qui a publié. + +4. Le journal +Cette zone permet de voir les différentes publications des comptes que vous suivez mais aussi l'ensemble des publications visibles sur votre instance. Vous trouverez aussi les messages privés et les notifications où vous trouverez tous vos toots et les publications où vous avez été cité⋅e. + +5. Interface utilisateur·trice +Cet espace permet de choisir l'agencement de Pleroma, il est proposé deux agencements : un spécifique à Pleroma et un fork (une copie) de l'agencement de Mastodon, selon vos préférences d'usages et de visualisations ; à vous de faire votre choix. + +6. Notifications +On retrouve dans cette zone les messages où vous avez été cité⋅e, mais aussi les abonnements à votre compte. + +## Applications clients + +| Nom de l'applications | Plateforme | Multi-comptes | Autre réseaux supportés | Play Store | F-Droid | Apple Store | +|---|---|---|---|---|---|---| +| Tusky | Android | Oui | Mastodon | [https://play.google.com/id=com.keylesspalace.tusky](https://play.google.com/store/apps/details?id=com.keylesspalace.tusky) | [f-droid.org/com.keylesspalace.tusky](https://f-droid.org/fr/packages/com.keylesspalace.tusky/) | +| Fedilab | Android | Oui | Mastodon, Pleroma, Peertube, GNU Social, Friendica, Pixelfed | [play.google.com/app.fedilab.android](https://play.google.com/store/apps/details?id=app.fedilab.android&hl=fr) | [f-droid.org//fr.gouv.etalab.mastodon](https:/f-droid.org/fr/packages/fr.gouv.etalab.mastodon/) +| Twidere | Android | Oui | Twitter, Mastodon | [play.google.com/org.mariotaku.twidere](https://play.google.com/store/apps/details?id=org.mariotaku.twidere) | [https://f-droid.org/org.mariotaku.twidere](https://f-droid.org/fr/packages/org.mariotaku.twidere/) | +| Librem Social | Android | Non | ? | [play.google.com/one.librem.social](https://play.google.com/store/apps/details?id=one.librem.social&hl=fr) | [https://f-droid.org/one.librem.social](https://f-droid.org/fr/packages/one.librem.social) | | + +## Quelques liens utiles + ++ Site officiel : [pleroma.social (En anglais)](https://pleroma.social) ++ Trouver d'autres instances de Pleroma : [fediverse.network/pleroma](https://fediverse.network/pleroma) diff --git a/app_sogo.md b/app_sogo.md new file mode 100644 index 00000000..09a46e5f --- /dev/null +++ b/app_sogo.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](app_sogo_fr) for now. diff --git a/app_sogo_fr.md b/app_sogo_fr.md new file mode 100644 index 00000000..2ae3e848 --- /dev/null +++ b/app_sogo_fr.md @@ -0,0 +1,8 @@ +# ![Logo SOGo](/images/logo_sogo.png) SOGo + +SOGo est un service de webmail pour votre serveur email, c'est une alternative à [RoundCube](app_roundcube). Il permet aussi la gestion des agendas et contacts présents sur le serveur. + +## Quelques liens utiles + + + Site officiel de SOGo : [sogo.nu](https://sogo.nu/a) + + Dépot de l'application pour Yunohost : [github.com/YunoHost-Apps/sogo_ynh](https://github.com/YunoHost-Apps/sogo_ynh) diff --git a/app_spip.md b/app_spip.md new file mode 100644 index 00000000..880b41e6 --- /dev/null +++ b/app_spip.md @@ -0,0 +1,33 @@ +# SPIP for YunoHost + +#### SPIP is what? + +SPIP is an Internet publishing system that focuses on collective functioning, multilingualism and ease of use. It is free software, distributed under the GNU/GPL license. It can therefore be used for any website, whether associative or institutional, personal or commercial. + +Source:[spip.net](https://www.spip.net/fr_rubrique91.html_rubrique91.html) + +#### Application functionality for Yunohost + +* Installation of the base without going through the installation system +* Multilingual support +* LDAP support + +##### Installation + +```bash +$ sudo yunohost app install https://github.com/YunoHost-Apps/spip_ynh.git_ynh.git +``` + +##### Update + +```bash +sudo yunohost app upgrade --verbose spip -u https://github.com/YunoHost-Apps/spip_ynh.git_ynh.git +``` + +##### Use + +Access the administration of the site by entering the following address in your browser. + +https://www.domain.tld/spip/ecrire + +Make a "forgotten password" request to change your password, you will receive an email telling you how to change your password. diff --git a/app_spip_fr.md b/app_spip_fr.md index b765947e..78310855 100644 --- a/app_spip_fr.md +++ b/app_spip_fr.md @@ -20,7 +20,7 @@ $ sudo yunohost app install https://github.com/YunoHost-Apps/spip_ynh.git #### Mise à jour -``` +```bash $ sudo yunohost app upgrade --verbose spip -u https://github.com/YunoHost-Apps/spip_ynh.git ``` diff --git a/app_transmission_fr.md b/app_transmission_fr.md index cb94f3bb..fb7f1e75 100644 --- a/app_transmission_fr.md +++ b/app_transmission_fr.md @@ -27,7 +27,7 @@ scp -r /votre/fichier/ root@votre-domaine.org:/home/yunohost.transmission/comple ``` ##### Comment télécharger un répertoire entier ? -Une fois connecté en [SSH](ssh_fr), placez-vous dans le répertoire de téléchargement et zippez le répertoire : +Une fois connecté en [SSH](/ssh), placez-vous dans le répertoire de téléchargement et zippez le répertoire : ```bash cd /home/yunohost.transmission/completed zip -r votre_archive.zip [dossier] diff --git a/app_update.md b/app_update.md index edb2c769..da5a5b58 100644 --- a/app_update.md +++ b/app_update.md @@ -14,10 +14,10 @@ First, connect to your server through SSH and type in the following command (Wor ```bash yunohost app upgrade wordpress ``` -** Note: ** in case you have multiple instances of the same type (ex: 2 wordpress) installed, you will need to specify the instance name (ex: wordpress ou wordpress__2). +** Note: ** in case you have multiple instances of the same type (ex: 2 wordpress) installed, you will need to specify the instance name (ex: wordpress or wordpress__2). #### Upgrade an unofficial application -Spcify the git repository containing the upgrade. +Specify the git repository containing the upgrade. For intance, to upgrade LimeSurvey: ```bash diff --git a/app_webtrees.md b/app_webtrees.md new file mode 100644 index 00000000..d3c9e776 --- /dev/null +++ b/app_webtrees.md @@ -0,0 +1,8 @@ +#Webtrees + +webtrees is the web's leading online collaborative genealogy application. + + * It works from standard GEDCOM files, and is therefore compatible with every major desktop application. + * It aims to to be efficient and effective by using the right combination of third-party tools, design techniques and open standards. + +webtrees allows you to view and edit your genealogy on your website. It has full editing capabilities, full privacy functions, and supports imedia such as photos and document images. As an online program, it fosters extended family participation and good ancestral recording habits, as it simplifies the process of collaborating with others working on your family lines. Your latest information is always on your web site and available for others to see, defined by viewing rules you set. \ No newline at end of file diff --git a/app_webtrees_fr.md b/app_webtrees_fr.md new file mode 100644 index 00000000..ca030140 --- /dev/null +++ b/app_webtrees_fr.md @@ -0,0 +1,7 @@ +#Webtrees + +webtrees est le chef de file sur le Web des logiciels de généalogie conversationnels en ligne. C'est un logiciel Open Source et il coûte zéro $ - oui, totalement GRATUIT ! + +Vous n'avez besoin que d'un serveur web avec PHP et MySQL. + +Il exploite les fichiers de généalogie au format GEDCOM standard, par conséquent, il est compatible avec toutes les applications de bureau majeures; il vise à être efficient et efficace en utilisant la bonne combinaison d'outils tiers, des techniques de conception et des normes d'ouverture standards. \ No newline at end of file diff --git a/app_yunofav.md b/app_yunofav.md index e99f88b6..181abe8d 100644 --- a/app_yunofav.md +++ b/app_yunofav.md @@ -1,6 +1,5 @@ -Yunofav : (unofficial) Page of favorite links for Yunohost -======= +#Yunofav : (unofficial) Page of favorite links for Yunohost homepage: https://github.com/YunoHost-Apps/yunofav_ynh -Functionality: Creates a page for your favorite links, using the Yunohost tiles look and feel. +Functionality: Creates a page for your favorite links, using the Yunohost tiles look and feel. \ No newline at end of file diff --git a/app_yunofav_fr.md b/app_yunofav_fr.md new file mode 100644 index 00000000..fd312736 --- /dev/null +++ b/app_yunofav_fr.md @@ -0,0 +1,6 @@ +# Yunofav : (non officiel) Page de liens favoris pour Yunohost + +page d'accueil : https://github.com/YunoHost-Apps/yunofav_ynh + + +Fonctionnalité : Crée une page pour vos liens préférés, en utilisant le style et le fonctionnement des tuiles Yunohost. \ No newline at end of file diff --git a/apps.md b/apps.md index 088b178a..7b5ff79b 100644 --- a/apps.md +++ b/apps.md @@ -1,4 +1,4 @@ -# Apps +# Application catalog This page requires Javascript enabled to display properly :s. @@ -6,34 +6,49 @@ This page requires Javascript enabled to display properly :s.
+ +
- - + +
+

-
-

Only apps tagged validated are officially supported by the package team.

-

Apps tagged working, inprogress, notworking are from community repository, you can test and use them **at your own risk**.

+ -

Important: it's the application maintaineur that qualify his application as working, not the YunoHost core team. Install it at your own risks. We won't provide support for it.

+
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
+ +
+ Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices.
-
The packagers will appreciate your remarks. If you install them and find issues, or ideas for improvement, do not hesitate to file issues directly on their repositories project page.
-
+
+ Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! +
-
If you don't find the app you are searching for, you can search it in community app repository (working, inprogress and not working apps) or fill the apps wishlist.
+
+ +
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
+ + + + + + + + - diff --git a/apps_es.md b/apps_es.md new file mode 100644 index 00000000..7b5ff79b --- /dev/null +++ b/apps_es.md @@ -0,0 +1,368 @@ +# Application catalog + + +This page requires Javascript enabled to display properly :s. +
+
+
+ + + +
+ + +
+ + + +
+
+
+ + + +
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
+ +
+ Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices. +
+ +
+ Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! +
+ +
+ +
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
+ + + + + + + + + + + + diff --git a/apps_fr.md b/apps_fr.md index 84aa2c1b..88bcd6f4 100644 --- a/apps_fr.md +++ b/apps_fr.md @@ -1,4 +1,4 @@ -# Apps +# Application catalog Cette page requiert que Javascript soit activé pour s'afficher correctement :s. @@ -6,34 +6,48 @@ Cette page requiert que Javascript soit activé pour s'afficher correctement :s.
+
- - + +

-
-

Seules les apps marquées validated sont officiellement supportées par l'équipe de développement d'applications.

-

Les apps marquées working, inprogress, notworking sont des applications non officielles maintenues par la communauté, vous pouvez les tester et les utiliser **à vos risques et périls**.

+ -

Important: c'est le mainteneur de l'application qui définit son application comme "working" et non pas l'équipe de développement d'applications de Yunohost. Installez ces apps à vos risques et périls. Nous ne fournissons pas de support pour elles.

+
L'équipe de packaging d'applications sera heureuse de recevoir vos commentaires! Si vous trouvez des problèmes ou des améliorations possibles en installant une app, n'hésitez pas à contribuer en créant un ticket (issue) directement sur le dépôt de code.
+ +
+Les applications avec un niveau inférieur ou égal à 4 peuvent fonctionner, mais ne seront pas forcément bien intégrées avec YunoHost, ou bien ne respectent pas les bonnes pratiques de packaging.
-
Les développeurs d'applications apprécieront vos remarques. Si vous installez leurs apps et trouvez des dysfonctionnement, ou si vous avez des idées d'amélioration, n'hésitez pas à créer des tickets directement sur les pages de dépots des projets.
-
+
+Les applications niveau 0, ou étiquettées inprogress, notworking sont toujours en cours de packaging ou sont connues pour être cassées. **Ne les installez pas** sur un serveur de production! +
-
Si vous ne trouvez pas l'application que vous recherchez, vous pouvez la rechercher dans les apps communautaires (working, inprogress et notworking) ou remplir la liste d'apps souhaitées.
+
+ +
Si vous ne trouvez pas une application précise que vous recherchez, vous pouvez chercher un dépôt nommé nomdelapp_ynh sur Github ou internet, ou bien l'ajouter à la liste d'apps souhaitées.
+ + + + + + - diff --git a/apps_framasoft.md b/apps_framasoft.md index d9d591a5..b8965af1 100644 --- a/apps_framasoft.md +++ b/apps_framasoft.md @@ -1,43 +1 @@ -# Équivalence avec les applications Framasoft - -| App Framasoft | Équivalent | Package | Status | -| :---: | :---: | :---: | :---: | -| Framapad | Etherpad + mypads | [](https://github.com/YunoHost-Apps/etherpad_mypads_ynh) | ![](https://dash.yunohost.org/integration/etherpad_mypads.svg) | -| Framadrive | Nextcloud | [](https://github.com/YunoHost-apps/nextcloud_ynh) | ![](https://dash.yunohost.org/integration/nextcloud.svg) | -| Framagit | GitLab | [](https://github.com/YunoHost-Apps/gitlab_ynh) | ![](https://dash.yunohost.org/integration/gitlab.svg) | -| | Gogs | [](https://github.com/YunoHost-Apps/gogs_ynh) | ![](https://dash.yunohost.org/integration/gogs.svg) | -| Framadrop | Lufi | [](https://github.com/YunoHost-Apps/lufi_ynh) | ![](https://dash.yunohost.org/integration/lufi.svg) | -| Framapiaf | Mastodon | [](https://github.com/YunoHost-Apps/mastodon_ynh) | ![](https://dash.yunohost.org/integration/mastodon.svg) | -| Framapic | Lutim | [](https://github.com/YunoHost-Apps/lutim_ynh) | ![](https://dash.yunohost.org/integration/lutim.svg) | -| Framabin | PrivateBin | [](https://github.com/YunoHost-apps/zerobin_ynh) | ![](https://dash.yunohost.org/integration/zerobin.svg) | -| Frama.link | Lstu | [](https://github.com/YunoHost-Apps/lstu_ynh) | ![](https://dash.yunohost.org/integration/lstu.svg) | -| Framatube | Mediadrop | [](https://github.com/YunoHost-Apps/mediadrop_ynh) | ![](https://dash.yunohost.org/integration/mediadrop.svg) | -| Framanews | TinyTinyRSS | [](https://github.com/YunoHost-apps/ttrss_ynh) | ![](https://dash.yunohost.org/integration/ttrss.svg) | -| Framabee | Searx | [](https://github.com/YunoHost-Apps/searx_ynh) | ![](https://dash.yunohost.org/integration/searx.svg) | -| Framabag | Wallabag | [](https://github.com/YunoHost-Apps/wallabag_ynh) | ![](https://dash.yunohost.org/integration/wallabag.svg) | -| Framacalc | Ethercalc | [](https://github.com/YunoHost-Apps/ethercalc_ynh) | ![](https://dash.yunohost.org/integration/ethercalc.svg) | -| Framaboard | Kanboard | [](https://github.com/YunoHost-Apps/kanboard_ynh) | ![](https://dash.yunohost.org/integration/kanboard.svg) | -| Framadate | OpenSondage | [](https://github.com/YunoHost-Apps/opensondage_ynh) | ![](https://dash.yunohost.org/integration/opensondage.svg) | -| Framasphère | Diaspora* | [](https://github.com/aymhce/diaspora_ynh) | ![](https://dash.yunohost.org/integration/diaspora.svg) | -| Framabookin | BicBucStriim | [](https://github.com/YunoHost-Apps/BicBucStriim_ynh) | ![](https://dash.yunohost.org/integration/BicBucStriim.svg) | -| Framanotes | Turtl | [](https://github.com/YunoHost-Apps/Turtl_ynh) | ![](https://dash.yunohost.org/integration/Turtl.svg) | -| Framemo | Scrumblr | [](https://github.com/YunoHost-Apps/scrumblr_ynh) | ![](https://dash.yunohost.org/integration/scumblr.svg) | -| Framinetest | Minetest | [](https://github.com/YunoHost-Apps/minetest_ynh) | ![](https://dash.yunohost.org/integration/minetest.svg) | -| Framatalk | Jitsi Meet | [](https://github.com/YunoHost-Apps/jitsi_ynh) | ![](https://dash.yunohost.org/integration/jitsi.svg) | -| Framalistes | Mailman | [](https://github.com/YunoHost-Apps/mailman_ynh) | ![](https://dash.yunohost.org/integration/mailman.svg) | -| | Sympa | [](https://github.com/alexAubin/sympa_ynh) | ![](https://dash.yunohost.org/integration/sympa.svg) | -| Framindmap | Wisemapping | Non packagé | | -| Framavectoriel | SVG-Edit | Non packagé | | -| Framacarte | uMap | Non packagé | | -| Framaforms | WebForms? | Non packagé | | -| Framaestro | Framaestro | Non packagé | | -| Framavox | ? | Non packagé | | -| Framagenda | (Agenda Nextcloud) | Non packagé | | -| Framagames | ? | Non packagé | | -| MyFrama | ? | Non packagé | | - -### Voir aussi - -- [Liste complète des applications packagées](/apps) -- [La roadmap 'Dégooglisons'](https://github.com/YunoHost/issues/milestone/13) - +Unfortunately, this page only exists [in french here](apps_framasoft_fr) for now. diff --git a/apps_framasoft_fr.md b/apps_framasoft_fr.md new file mode 100644 index 00000000..d57bcdbd --- /dev/null +++ b/apps_framasoft_fr.md @@ -0,0 +1,48 @@ +# Équivalence avec les applications Framasoft + +| App Framasoft | Équivalent | Package | +| :---: | :---: | :---: | +| Framabag | Wallabag | [](https://github.com/YunoHost-Apps/wallabag2_ynh) ![](https://ci-apps.yunohost.org/ci/badges/wallabag2.status.svg) ![](https://dash.yunohost.org/integration/wallabag2.svg) | +| Framabee | Searx | [](https://github.com/YunoHost-Apps/searx_ynh) ![](https://ci-apps.yunohost.org/ci/badges/searx.status.svg) ![](https://dash.yunohost.org/integration/searx.svg) | +| Framabin | PrivateBin | [](https://github.com/YunoHost-apps/zerobin_ynh) ![](https://ci-apps.yunohost.org/ci/badges/zerobin.status.svg) ![](https://dash.yunohost.org/integration/zerobin.svg) | +| Framaboard | Kanboard | [](https://github.com/YunoHost-Apps/kanboard_ynh) ![](https://ci-apps.yunohost.org/ci/badges/kanboard.status.svg) ![](https://dash.yunohost.org/integration/kanboard.svg) | +| Framabookin | BicBucStriim | [](https://github.com/YunoHost-Apps/bicbucstriim_ynh) ![](https://ci-apps.yunohost.org/ci/badges/bicbucstriim.status.svg) ![](https://dash.yunohost.org/integration/bicbucstriim.svg) | +| Framacalc | Ethercalc | [](https://github.com/YunoHost-Apps/ethercalc_ynh) ![](https://ci-apps.yunohost.org/ci/badges/ethercalc.status.svg) ![](https://dash.yunohost.org/integration/ethercalc.svg) | +| Framacarte | uMap | [](https://github.com/YunoHost-Apps/umap_ynh) ![](https://ci-apps.yunohost.org/ci/badges/umap.status.svg) ![](https://dash.yunohost.org/integration/umap.svg) | +| Framaclic | Matomo | [](https://github.com/YunoHost-Apps/matomo_ynh) ![](https://ci-apps.yunohost.org/ci/badges/matomo.status.svg) ![](https://dash.yunohost.org/integration/matomo.svg) | +| Framadate | OpenSondage | [](https://github.com/YunoHost-Apps/opensondage_ynh) ![](https://ci-apps.yunohost.org/ci/badges/opensondage.status.svg) ![](https://dash.yunohost.org/integration/opensondage.svg) | +| Framadrive | Nextcloud | [](https://github.com/YunoHost-apps/nextcloud_ynh) ![](https://ci-apps.yunohost.org/ci/badges/nextcloud.status.svg) ![](https://dash.yunohost.org/integration/nextcloud.svg) | +| Framadrop | Lufi | [](https://github.com/YunoHost-Apps/lufi_ynh) ![](https://ci-apps.yunohost.org/ci/badges/lufi.status.svg) ![](https://dash.yunohost.org/integration/lufi.svg) | +| Framaestro | Framaestro | [](https://github.com/YunoHost-Apps/framaestro_ynh) ![](https://ci-apps.yunohost.org/ci/badges/framaestro.status.svg) ![](https://dash.yunohost.org/integration/framaestro.svg) | +| Framaforms | Framaforms | [](https://github.com/YunoHost-Apps/framaforms_ynh) ![](https://ci-apps.yunohost.org/ci/badges/framaforms.status.svg) ![](https://dash.yunohost.org/integration/framaforms.svg) | +| Framagames | Framagames | [](https://github.com/YunoHost-Apps/framagames_ynh) ![](https://ci-apps.yunohost.org/ci/badges/framagames.status.svg) ![](https://dash.yunohost.org/integration/framagames.svg) | +| Framagenda | (Agenda Nextcloud) | c.f. Nextcloud | +| Framagit | GitLab | [](https://github.com/YunoHost-Apps/gitlab_ynh) ![](https://ci-apps.yunohost.org/ci/badges/gitlab.status.svg) ![](https://dash.yunohost.org/integration/gitlab.svg) | +| | Gogs | [](https://github.com/YunoHost-Apps/gogs_ynh) ![](https://ci-apps.yunohost.org/ci/badges/gogs.status.svg) ![](https://dash.yunohost.org/integration/gogs.svg) | +| Frama.link | Lstu | [](https://github.com/YunoHost-Apps/lstu_ynh) ![](https://ci-apps.yunohost.org/ci/badges/lstu.status.svg) ![](https://dash.yunohost.org/integration/lstu.svg) | +| Framalistes | Mailman | [](https://github.com/YunoHost-Apps/mailman_ynh) ![](https://ci-apps.yunohost.org/ci/badges/mailman.status.svg) ![](https://dash.yunohost.org/integration/mailman.svg) | +| | Sympa | [](https://github.com/alexAubin/sympa_ynh) ![](https://ci-apps.yunohost.org/ci/badges/sympa.status.svg) ![](https://dash.yunohost.org/integration/sympa.svg) | +| Framanews | TinyTinyRSS | [](https://github.com/YunoHost-apps/ttrss_ynh) ![](https://ci-apps.yunohost.org/ci/badges/ttrss.status.svg) ![](https://dash.yunohost.org/integration/ttrss.svg) | +| Framanotes | Turtl | [](https://github.com/YunoHost-Apps/turtl_ynh) ![](https://ci-apps.yunohost.org/ci/badges/turtl.status.svg) ![](https://dash.yunohost.org/integration/turtl.svg) | +| Framapad | Etherpad + mypads | [](https://github.com/YunoHost-Apps/etherpad_mypads_ynh) ![](https://ci-apps.yunohost.org/ci/badges/etherpad_mypads.status.svg) ![](https://dash.yunohost.org/integration/etherpad_mypads.svg) | +| Framapiaf | Mastodon | [](https://github.com/YunoHost-Apps/mastodon_ynh) ![](https://ci-apps.yunohost.org/ci/badges/mastodon.status.svg) ![](https://dash.yunohost.org/integration/mastodon.svg) | +| Framapic | Lutim | [](https://github.com/YunoHost-Apps/lutim_ynh) ![](https://ci-apps.yunohost.org/ci/badges/lutim.status.svg) ![](https://dash.yunohost.org/integration/lutim.svg) | +| Framasites | Grav | [](https://github.com/YunoHost-Apps/grav_ynh) ![](https://ci-apps.yunohost.org/ci/badges/grav.status.svg) ![](https://dash.yunohost.org/integration/grav.svg) | +| Framaslides | Strut | [](https://github.com/YunoHost-Apps/strut_ynh) ![](https://ci-apps.yunohost.org/ci/badges/strut.status.svg) ![](https://dash.yunohost.org/integration/strut.svg) | +| Framasphère | Diaspora | [](https://github.com/aymhce/diaspora_ynh) ![](https://ci-apps.yunohost.org/ci/badges/diaspora.status.svg) ![](https://dash.yunohost.org/integration/diaspora.svg) | +| Framatalk | Jitsi Meet | [](https://github.com/YunoHost-Apps/jitsi_ynh) ![](https://ci-apps.yunohost.org/ci/badges/jitsi.status.svg) ![](https://dash.yunohost.org/integration/jitsi.svg) | +| Framateam | Mattermost | [](https://github.com/YunoHost-Apps/mattermost_ynh) ![](https://ci-apps.yunohost.org/ci/badges/mattermost.status.svg) ![](https://dash.yunohost.org/integration/mattermost.svg) | +| Framatrad | ? | Non packagé | +| Framatube | Peertube | [](https://github.com/YunoHost-Apps/peertube_ynh) ![](https://ci-apps.yunohost.org/ci/badges/peertube.status.svg) ![](https://dash.yunohost.org/integration/peertube.svg) | +| Framavectoriel | SVG-Edit | [](https://github.com/YunoHost-Apps/svgedit_ynh) ![](https://ci-apps.yunohost.org/ci/badges/svgedit.status.svg) ![](https://dash.yunohost.org/integration/svgedit.svg) | +| Framavox | Loomio | Non packagé | +| Framemo | Scrumblr | [](https://github.com/YunoHost-Apps/scrumblr_ynh) ![](https://ci-apps.yunohost.org/ci/badges/scrumblr.status.svg) ![](https://dash.yunohost.org/integration/scrumblr.svg) | +| Framindmap | Wisemapping | [](https://github.com/YunoHost-Apps/wisemapping_ynh) ![](https://ci-apps.yunohost.org/ci/badges/wisemapping.status.svg) ![](https://dash.yunohost.org/integration/wisemapping.svg) | +| Framinetest | Minetest | [](https://github.com/YunoHost-Apps/minetest_ynh) ![](https://ci-apps.yunohost.org/ci/badges/minetest.status.svg) ![](https://dash.yunohost.org/integration/minetest.svg) | +| MyFrama | Shaarli | [](https://github.com/YunoHost-Apps/shaarli_ynh) ![](https://ci-apps.yunohost.org/ci/badges/shaarli.status.svg) ![](https://dash.yunohost.org/integration/shaarli.svg) | + +### Voir aussi + +- [Liste complète des applications packagées](/apps) +- [La roadmap 'Dégooglisons'](https://github.com/YunoHost/issues/milestone/13) + diff --git a/apps_group_PR_model.md b/apps_group_PR_model.md deleted file mode 100644 index 82c5e940..00000000 --- a/apps_group_PR_model.md +++ /dev/null @@ -1,46 +0,0 @@ -## Problem -- *Description of why you made this PR* - -## Solution -- *And how you fix that* - -## PR Status -*Obviously, you should really check these affirmations* -Work finished. Package_check, basic tests and upgrade from last version OK. -Could be reviewed and tested. - -## Validation ---- -*Minor decision* -- [ ] **Upgrade previous version** : -- [ ] **Code review** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **CI succeeded** : [![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link* -When the PR is mark as ready to merge, you have to wait for 3 days before really merge it. - -*Medium decision* -- [ ] **Complete test** : -- [ ] **Upgrade previous version** : -- [ ] **Code review** : -- [ ] **Code review** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **CI succeeded** : [![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link* -When the PR is mark as ready to merge, you have to wait for 7 days before really merge it. - -*Major decision* -- [ ] **Complete test** : -- [ ] **Complete test** : -- [ ] **Upgrade previous version** : -- [ ] **Upgrade previous version** : -- [ ] **Code review** : -- [ ] **Code review** : -- [ ] **Code review** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **Approval (LGTM)** : -- [ ] **CI succeeded** : [![Build Status](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/badge/icon)](https://ci-apps-dev.yunohost.org/jenkins/job/APP_ynh%20BRANCH%20(Official)/) *Please replace APP and BRANCH in this link* -When the PR is mark as ready to merge, you have to wait for 7 days before really merge it. diff --git a/apps_it.md b/apps_it.md index 274acec3..7b5ff79b 100644 --- a/apps_it.md +++ b/apps_it.md @@ -1,39 +1,54 @@ -# Apps +# Application catalog -Questa pagina richiede Javascript abilitato per essere correttamente mostrata :s. +This page requires Javascript enabled to display properly :s.

+ +
-
-

Solo le app etichettate come validate sono ufficialmente supportate dalla squadra di packaging.

-

App etichettate come funzionanti, insviluppo, nonfunzionanti arrivano dai repository della comunità, puoi provare ed utilizzarle **a tuo rischio e pericolo**.

+ -

Importante: è il mantenitore dell'applicazione che indica l'applicazione come funzionante, non il team base di YunoHost. Installale a tuo rischio e pericolo. Noi non forniamo supporto per queste app.

+
The application packaging team will welcome your feedback! If you install an app and find issues or possible improvements, do not hesitate to contribute by reporting your issues directly on the code repositories.
+ +
+ Applications with a level below or equal to 4 may be working, but they might be not well-integrated with YunoHost, or they do not respect the recommended packaging practices.
-
I mantenitori apprezzeranno i tuoi consigli.Se le installi e incontri dei problemi, o idee per migliorarle, non esitare a segnalare la cosa direttamente nei rispettivi repository.
-
+
+ Applications with level 0, or flagged as inprogress, notworking are still in development or are know to not be working. **Do not install them** in a production environment! +
-
Se non trovi l'app che stai cercando, puoi provarla a cercarla nel repository delle app della comunità (funzionanti, in sviluppo, non funzionanti) o aggiungila alla lista delle app dei desideri.
+
+ +
If you don't find the app you are looking for, you can try to look for a appname_ynh repository on Github or on the internet, or add it to the apps wishlist.
+ + + + + + + + + + + diff --git a/images_fr.md b/images_fr.md index 5b049d6d..97b8cf2e 100644 --- a/images_fr.md +++ b/images_fr.md @@ -6,6 +6,7 @@ Cette page requiert que Javascript soit activé pour s'afficher correctement :s.
+N.B. : Même si l'image ne correspond pas à la dernière version de YunoHost, vous pouvez tout de même l'utiliser puis faire une mise à jour du système après l'installation !
diff --git a/index.md b/index.md index 390713e3..4e960d64 100644 --- a/index.md +++ b/index.md @@ -23,18 +23,15 @@
- - -

YunoHost is a server operating system aiming to make self-hosting accessible to everyone.

+

With YunoHost, you can easily manage a server for your friends, association or enterprise. Learn more

@@ -43,12 +40,13 @@ +
-
-

Install your server with ease, you already have everything at home

+
+

Setup your server with ease, you already have everything at home


See the requirements

@@ -63,25 +61,25 @@
- +
-
-

Enjoy your apps and make your little corner of Internet

-


List of available apps

+
+

Manage your server from a clean and simple web interface

+


Try the administration


-
-

Manage your server the way you like: via Web, mobile or command-line

-


Try the administration

+
+

Install applications to build your little corner of Internet

+


Browse the app catalog

- +
@@ -89,31 +87,17 @@
-
- About YunoHost - Documentation - Get involved - Forum - Chat rooms - Latest news - Support +
+

Hey! We are humans!
+ If you have questions, issues or if you are just an enthusiast, come and leave a message on our forum or chatroom!

+ + -
-

Explore what you can do with a server, and why it is important

-


Read the documentation

-
-
- -
- -
-

Hey! We are humans!
If you have questions, problems or if you are just an enthusiast, leave a message on our chatroom by clicking on the button below  

- -

- Donation button -

- -
+
@@ -150,4 +134,3 @@ }); - diff --git a/index_ar.md b/index_ar.md index ee88fae8..ba1d79d0 100644 --- a/index_ar.md +++ b/index_ar.md @@ -20,17 +20,14 @@
- -

YunoHost أداة تُمكّنكم من تنصيب و استخدام خادمكم بأسلوب سهل.

@@ -40,7 +37,7 @@
@@ -67,7 +64,7 @@

استمتعوا بتطبيقات الويب الخاصة بكم و انْشِئُوا موطنكم الصغير على الإنترنت

-


قائمة التطبيقات المتوفرة

+


قائمة التطبيقات المتوفرة

@@ -91,17 +88,17 @@

إكتشفوا قدرات خادمكم، ولماذا يهمكم الأمر

-


إطلعوا على الدليل

+


إطلعوا على الدليل

diff --git a/index_de.md b/index_de.md index 4936cc27..be0557bd 100644 --- a/index_de.md +++ b/index_de.md @@ -24,18 +24,15 @@
- -

YunoHost ist ein Serverbetriebssystem, das
-Self-Hosting für alle möglich macht.

+Self-Hosting für alle ermöglicht.
@@ -44,7 +41,7 @@ Self-Hosting für alle möglich macht.
@@ -95,9 +92,9 @@ Self-Hosting für alle möglich macht. Dokumentation Mach mit! Forum - Chat + Chat Neuste Nachrichten - Hilfe + Hilfe

Entdecke die Möglichkeiten, die Du mit einem eigenen Server hast
– und warum Self-Hosting Sinn macht.

diff --git a/index_es.md b/index_es.md index 989cce1a..a63a7942 100644 --- a/index_es.md +++ b/index_es.md @@ -6,48 +6,47 @@

- datalove <3 - data@home - Alojar arriba, dijeron - Host me I'm famous - sudo internet - Ellos alojamientido y tenía muchos hijos - Try Internet - Internet, lectura y escritura - No tengo nada que ocultar - How I met your server - datalove <3 + Okupa tu servidor + ¡Yo me alojo a mi mismo! + ¡Anda y que te alojen! + Fuera de mi nube + Alójame, soy famoso + Prueba Internet + Su fiel servidor + yo@mismo.parami + Tío ¡¿X K NO alojas?! + Tranqui y alójate

- +
-

YunoHost es un herramiento que permite installar et utilizar facilamente sur propio servidor.

- +

YunoHost es un sistema operativo de servidor que pretende hacer accesible el autoalojamiento para todo el mundo.

-

Installar su sevidor simplemente, tienes todo a casa

-


Ver los requisitos previos

+

Instale su servidor fácilmente, ya tiene todo en su casa

+


Vea los requisitos

@@ -65,8 +64,8 @@
-

Disfrutar de sus aplicaciones web, y crea su esquina de Internet

-


Lista de aplicationes disponible

+

Disfrute sus aplicaciones y construya su rinconcito de Internet

+


Lista de aplicaciones disponibles

@@ -74,8 +73,8 @@
-

Gestionar su servidor como quieras : via web, móvil o en línea de comandos

-


Intentar el interfaz de administración

+

Gestione su servidor como le guste: vía web, móvil o línea de órdenes

+


Pruebe la administración

@@ -88,26 +87,28 @@
-

Explorar las posibilidad de su servidor, y aprender pourque es importante

-


Leer la documentación

+

Explore lo que puede hacer con un servidor y la razón de su importancia

+


Lea la documentación


-

¡ Hey ! Somos humanos
Si tiene algun pregunta, un problema, o simplemente estás interesado, ven decir "¡ Hola !" sobre nuetra salón de discusión clic en el botón abajo  

+

¡Oye! ¡Somos humanos!
Si tiene alguna pregunta, problema o es simplemente un fan, deje un mensaje en nuestra sala de chat pulsando en el botón inferior  

-

- Donation button -

+

+ Botón de donación +

@@ -144,30 +145,5 @@ scrollTop: jQuery(window).height() + 80 }, 500); }); - $(".actions").css('opacity', 0); - jQuery.ajaxSetup({cache: false}); - jQuery.getScript('https://'+ location.host +'/mini/javascripts/mini.js', function() { - HOST_BOSH = 'https://'+ location.host +'/http-bind/'; - JappixMini.launch({ - connection: { - domain: 'anonymous.yunohost.org' - }, - application: { - network: { - autoconnect: false - }, - - interface: { - showpane: true, - animate: true - }, - - groupchat: { - open: ['support@conference.yunohost.org'], - suggest: ['dev@conference.yunohost.org'] - } - } - }); - }); - + diff --git a/index_fr.md b/index_fr.md index 93d21c5e..a1bd6461 100644 --- a/index_fr.md +++ b/index_fr.md @@ -17,37 +17,34 @@
- - -

YunoHost est un outil qui vous permet d’installer et d’utiliser facilement votre propre serveur.

+

Avec YunoHost, gère facilement un serveur pour tes amis, ton asso, ton entreprise. En savoir plus


-
+

Installez votre serveur simplement, vous avez déjà tout ce qu’il faut à la maison

-

Voir les prérequis

+

Voir les prérequis

@@ -61,25 +58,25 @@
- +
-
-

Profitez de vos applications web, et fabriquez votre coin d’Internet

-


Liste des applications disponibles

+
+

Gérez votre serveur depuis une interface web simple et propre

+


Essayez l’interface d’administration


-
-

Gérez votre serveur comme vous le voulez : via web, mobile ou ligne de commande

-


Essayez l’interface d’administration

+
+

Construisez votre petit bout d'Internet en ajoutant des applications en quelques clics

+


Parcourir le catalogue d'applications

- +
@@ -87,32 +84,16 @@
-
+
+

Hey ! Nous sommes humains !
+ Si vous avez une question, un problème, ou que vous êtes tout simplement intéressé, passez dire « Bonjour » sur notre forum ou le chat!

- Qu’est-ce que YunoHost ? - Documentation - Comment contribuer - Forum - Salons de discussions - Dernières nouvelles - Support - -
-
-

Explorez les possibilités de votre serveur, et apprenez pourquoi c’est important

-


Lire la documentation

-
-
- -
- -
-

Hey ! Nous sommes humains !
Si vous avez une question, un problème, ou que vous êtes tout simplement intéressé, passez dire « Bonjour » sur notre salon de discussion en cliquant sur le bouton en bas  

- -

- Donation button -

- +
diff --git a/index_it.md b/index_it.md index febabad4..45d2019c 100644 --- a/index_it.md +++ b/index_it.md @@ -18,23 +18,20 @@ dude, Y U NO Host?! Keep calm and host yourself

- +
- -

YunoHost è un sistema operativo per server con l'obiettivo di rendere il self-host accessibile a tutti.

@@ -44,7 +41,7 @@
-

Esplora cosa puoi fare con un server, e perchè è importante

+

Esplora cosa puoi fare con un server, e perché è importante


Leggi la documentazione

diff --git a/index_oc.md b/index_oc.md new file mode 100644 index 00000000..600c81c9 --- /dev/null +++ b/index_oc.md @@ -0,0 +1,149 @@ +
+ + + +
+

+ Ven a l’ostal, soi albergat en çò d’una amiga + S’alberguèron e aguèron un molon d’enfants + Internet, lectura e escritura + monssur@michu.fr + Ai pas res a rescondre + How I met your server +

+ +
+ + + +
+ +
+ +

YunoHost es una aisina que vos permet d’installar e d’utilizar facilament vòstre pròpri servidor.

+ +
+ +
+ + + +
+ +
+
+

Installatz vòstre servidor simplament, avètz ja tot çò que cal a l’ostal

+

Far veire los requistes

+
+
+
+ +
+
+
+ +
+ +
+
+
+ +
+
+
+

Profitatz de vòstras aplicacions web e fabricatz vòstre canton d’Internet

+


Lista de las aplicacions disponiblas

+
+
+ +
+ +
+
+

Gerissètz vòstre servidor coma volgatz : via web, mobil o en linha de comanda

+


Ensajar l’interfàcia d’administracion

+
+
+
+ +
+
+
+ +
+ +
+ +
+

Exploratz las possibilitats de vòstre servidor, e aprenètz perque es important

+


Legir la documentacion

+
+
+ +
+ +
+

Ou ! Sèm umans !
S’avètz una question, un problèma, o que sètz simplament interessat, venètz dire « Bonjorn » dins nòstra sala de discussion en clicar lo boton aval  

+ +

+ Donation button +

+ +
+ +
+ + + diff --git a/install.md b/install.md index 20c957d8..255f78f0 100644 --- a/install.md +++ b/install.md @@ -74,15 +74,17 @@ This page lists a few installation guides. diff --git a/install_ar.md b/install_ar.md index 5411c784..67afb69a 100644 --- a/install_ar.md +++ b/install_ar.md @@ -14,11 +14,11 @@ @@ -32,15 +32,15 @@ @@ -58,7 +58,7 @@ @@ -72,12 +72,12 @@ diff --git a/install_es.md b/install_es.md new file mode 100644 index 00000000..cb16720a --- /dev/null +++ b/install_es.md @@ -0,0 +1,81 @@ +# Guía de instalación + +Existen varias maneras de instalar YunoHost. El método y el hardware difieren un poco si quieres instalarlo en tu casa o en acceso remoto : **[ver el hardware compatible](/hardware)** + +Esta página enumera varios tipos de instalaciones, clasificados por categorías. + +--- + +

Probar

+ + + +
+ +--- + +

Instalar en casa

+ + + +
+ +--- + +

Instalación remota

+ +
+ Proveedores de Internet asociativos cerna de ti pueden proponerte un *Servidor Virtual Privado* (VPS), administrado por humanos que respetan los usuarios y la [Neutralitad de Internet](https://es.wikipedia.org/wiki/Neutralidad_de_red) ! Ver [esta página](https://db.ffdn.org/) por mas informaciones. +
+ + + +
+ +--- + +

Avanzado / otros

+ + diff --git a/install_fr.md b/install_fr.md index 21f08906..a64868bd 100644 --- a/install_fr.md +++ b/install_fr.md @@ -1,6 +1,6 @@ # Guide d’installation -Il existe plusieurs manières d’installer YunoHost. La méthode d’installation diffère légèrement si vous souhaitez l’installer chez vous ou à distance, et du matériel utilisé : **[voir le matériel compatible](/hardware_fr)** +Il existe plusieurs manières d’installer YunoHost. La méthode d’installation diffère légèrement si vous souhaitez l’installer chez vous ou à distance, et du matériel utilisé : **[voir le matériel compatible](/hardware)** Cette page liste plusieurs types d’installations, classés par catégories. @@ -11,11 +11,11 @@ Cette page liste plusieurs types d’installations, classés par catégories. @@ -29,15 +29,15 @@ Cette page liste plusieurs types d’installations, classés par catégories. @@ -55,7 +55,7 @@ Cette page liste plusieurs types d’installations, classés par catégories. @@ -69,12 +69,16 @@ Cette page liste plusieurs types d’installations, classés par catégories. diff --git a/install_iso.md b/install_iso.md index 059f45eb..43575844 100644 --- a/install_iso.md +++ b/install_iso.md @@ -1,4 +1,4 @@ -# Install on a standard computer +# Install on a regular computer *Find other ways to install YunoHost **[here](/install)**.* @@ -20,13 +20,13 @@ You can use any computer with **256MB RAM or more**. ## Installation steps -0. Download your ISO image +0. Download the YunoHost ISO image -1. Burn or copy ISO image +1. Burn the ISO image on a USB stick -2. Boot & install +2. Boot the machine and run the installation -3. Post-install +3. Proceed with the initial configuration (post-installation) --- diff --git a/install_iso_es.md b/install_iso_es.md new file mode 100644 index 00000000..51b5889d --- /dev/null +++ b/install_iso_es.md @@ -0,0 +1,38 @@ +# Instalación en un ordenador + +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* + +## Prerrequisitos + + + + + +* Un ordenador compatible x86 dedicado a YunoHost : portátil, netbook, ordenador de escritorio. Puedes reutilizar calquiera máquina con **256 Mo de RAM mínimo** +* Otro ordenador para examinar esta guía y acceder a tu servidor +* Un [proveedor de Internet ético](/isp), de preferencia con acceso de buena velocidad (ascendente) +* Una **memoria USB** con capacidad mínima de 1Go **O** un **CD en blanco** estándar +* ***Casos particulares*** : si tu servidor no tiene tarjeta gráfica, hay que preparar un iso que se inicie sobre el puerto de serie](https://github.com/luffah/debian-mkserialiso). + +--- + +## Etapas de instalación + +0. Descargar la imagen ISO + +1. Copiar la imagen ISO + +2. Encender e instalar + +3. Post-instalación + +--- + +Para conectarse directamente al ordenador (únicamente en local) : +* Usuario : **root** +* Contraseña : **yunohost** + + +## Casos específicos / avanzados + +si el ordenador no tiene tarjeta gráfica pero sí tiene un puerto de serie : hay que modificar el ISO para un inicio con la consola de serie. Una solución es utilizar [un script que modifica las opciones de inicio](https://github.com/luffah/debian-mkserialiso). diff --git a/install_iso_fr.md b/install_iso_fr.md index 63840dd3..85bddef8 100644 --- a/install_iso_fr.md +++ b/install_iso_fr.md @@ -1,6 +1,6 @@ # Installation sur ordinateur -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -10,7 +10,7 @@ * Un matériel compatible x86 dédié à YunoHost : portable, netbook, ordinateur. Vous pouvez réutiliser n’importe quelle machine avec **256 Mo de RAM minimum** * Un autre ordinateur pour parcourir ce guide et accéder à votre serveur -* Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse de téléversement (débit montant) +* Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse de téléversement (débit montant) * Une **clé USB** d’une capacité minimum d’1Go **OU** un **CD vierge** standard * ***Cas particulier*** : Si votre serveur n'a pas de carte graphique, il faut [préparer un iso qui démarre sur le port série](https://github.com/luffah/debian-mkserialiso). @@ -18,13 +18,13 @@ ## Étapes d’installation -0. Télécharger l'image ISO +0. Télécharger l'image ISO de YunoHost -1. Copier l’image ISO +1. Flasher l’image ISO sur une clef USB -2. Démarrer & installer +2. Démarrer la machine et installer YunoHost -3. Post-installation +3. Effectuer la configuration initiale (post-installation) --- diff --git a/install_iso_it.md b/install_iso_it.md new file mode 100644 index 00000000..b16d068e --- /dev/null +++ b/install_iso_it.md @@ -0,0 +1,37 @@ +# Installazione in un computer + +*Altri modi per installare YunoHost **[Clicca qui](/install)**.* + +### Requisiti + + + + + +* Un computer con architettura x86: laptop, nettop, netbook, desktop. +Puoi usare qualsiasi computer con minimo 256mb di ram**. +* Un altro computer per leggere questa guida e per accedere al tuo server. +* un [buon ISP](/isp), possibilmente con una banda illimitata. +* una **chiavetta usb** da almeno 1gb **O** un classico **cd/dvd vuoto** +* ***casi particolari*** : se il tuo server non ha una scheda video, [prepara l'iso per fare il boot con la porta seriale}(https://github.com/luffah/debian-mkserialiso). + +--- + +## Installazione + + +0. Scarica l'ISO di YunoHost + +1. Scrivi l'immagine disco su una chiavetta usb + +2. Accendi il computer facendo il boot da usb + +3. Procedi con la prima configurazione (post-installation) + +--- + +To connect directly to your computer or with [SSH](/ssh) (only on local network: +* User: **root** +* Password: **yunohost** + + diff --git a/install_it.md b/install_it.md index 1a1d18e4..8fa8f550 100644 --- a/install_it.md +++ b/install_it.md @@ -76,12 +76,12 @@ Questa pagina elenca alcune guide all'installazione. diff --git a/install_manually_es.md b/install_manually_es.md new file mode 100644 index 00000000..8f273361 --- /dev/null +++ b/install_manually_es.md @@ -0,0 +1,18 @@ +# Instalar YunoHost manualmente + +Una vez que tienes acceso a tu servidor (directamente o con SSH), puedes instalar Yunohost ejecutando este comando como root : + +```bash +curl https://install.yunohost.org | bash +``` + +*(Si `curl` no está instalado en tu sistema, tal vez tendrás que instalarlo con `apt install curl`. De otro modo, si el comando no muestra nada, puedes intentar `apt install ca-certificates`)* + +Cuando la instalación esté terminada, habrá que [**proceder a la post-instalación**](/postinstall) + +--- + +**Nota para los usuarios expertos preocupados por el enfoque `curl|bash`** + +Si no te gusta utilizar `curl|bash` (ou comandos similares) para desplegar software, toma el tiempo de leer ["Is curl|bash insecure?"](https://sandstorm.io/news/2015-09-24-is-curl-bash-insecure-pgp-verified-install) en el blog de Sandstorm, y también [esta discusión en Hacker News](https://news.ycombinator.com/item?id=12766350). + diff --git a/install_on_arm_board.md b/install_on_arm_board.md index 9e12e380..9703b54f 100644 --- a/install_on_arm_board.md +++ b/install_on_arm_board.md @@ -31,11 +31,11 @@ YunoHost doesn't yet support ARM64 boards. For more information, see [this issue 1. Flash the SD card with the image -2. Plug & boot +2. Power up the board and let it boot 3. Connect to your server with SSH -4. Proceed to post-installation +4. Proceed with the initial configuration (post-installation) --- @@ -43,10 +43,10 @@ YunoHost doesn't yet support ARM64 boards. For more information, see [this issue 0. Download the ARMbian image for your board -1. Flash the SD card with the image +1. Flash the SD card with the image -2. Plug & boot +2. Plug & boot -3. Connect to your server with SSH +3. Connect to your server with SSH -4. Follow the generic install procedure +4. Follow the generic install procedure diff --git a/install_on_arm_board_es.md b/install_on_arm_board_es.md new file mode 100644 index 00000000..8a3d5278 --- /dev/null +++ b/install_on_arm_board_es.md @@ -0,0 +1,51 @@ +# Instalar Yunohost en una tarjeta ARM + +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* + +
+ + +
+ +
+Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las [posibles restricciones impuestas por tu Proveedor de Internet](/isp). Si tu proveedor es demasiado restrictivo, puedes utilizar un VPN para eludir estas restricciones. +
+ +
+YunoHost todavía no es compatible con las tarjetas ARM64. Para obtener más informaciones, ver [este ticket](https://github.com/YunoHost/issues/issues/438). +
+ +- Una tarjeta ARM con un procesador de 500 MHz et 512 Mo de memoria RAM ; +- Un adaptador de corriente para alimentar la tarjeta ; +- Una tarjeta microSD : al menos **8 Go** y **Clase 10** (por ejemplo una [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; +- Un cable ethernet/RJ-45 para conectar la carte con el router / caja internet. (Con el Raspberry Pi 0, puedes conectar tu tarjeta con un cable OTG y un adaptador Wifi USB.) +- Un [proveedor de Internet ético](/isp), de preferencia con una buena velocidad de upload. + +--- + +## Instalación con la imagen pre-instalada (recomendada) + +0. Descargar la imagen pre-instalada para tu tarjeta ARM
Si no existe una imagen dedicada a tu tarjeta, puedes seguir la sección "Instalación encima de ARMbian". + +1. Poner la imagen en tu tarjeta SD + +2. Conectar y encender + +3. Conectarse en SSH + +4. Proceder a la post-instalación + +--- + +## Instalación encima de ARMbian + +0. Descargar la imagen ARMbian para tu tarjeta ARM + +1. Poner la imagen en tu tarjeta SD + +2. Conectar y encender + +3. Conectarse en SSH + +4. Proceder a la post-instalación genérica + diff --git a/install_on_arm_board_fr.md b/install_on_arm_board_fr.md index aca92685..68be4675 100644 --- a/install_on_arm_board_fr.md +++ b/install_on_arm_board_fr.md @@ -1,6 +1,6 @@ # Installer YunoHost sur carte ARM -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* +*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install)**.*
@@ -19,21 +19,21 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio - Un adaptateur secteur pour alimenter la carte ; - Une carte microSD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. (Avec le Raspberry Pi 0, vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.) -- Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse d’upload. +- Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse d’upload. --- ## Installation avec l'image pré-installée (recommandée) -0. Télécharger l'image pré-installée pour votre carte ARM
Si il n'existe pas d'image pré-installée pour votre carte, vous pouvez suivre la section "Installation par dessus ARMbian". +0. Télécharger l'image pré-installée pour votre carte ARM
Si il n'existe pas d'image pré-installée pour votre carte, vous pouvez suivre la section "Installation par dessus ARMbian". -1. Flasher la carte SD avec l'image +1. Flasher la carte SD avec l'image -2. Brancher & démarrer +2. Brancher la carte et la laisser démarrer -3. Se connecter en SSH +3. Se connecter en SSH sur le serveur -4. Procéder à la post-installation +4. Effectuer la configuration initiale (post-installation) --- @@ -41,11 +41,11 @@ YunoHost ne supporte pour le moment pas les cartes ARM64. Pour plus d'informatio 0. Télécharger l'image ARMbian pour votre carte ARM -1. Flasher la carte SD avec l'image +1. Flasher la carte SD avec l'image -2. Brancher & démarrer +2. Brancher & démarrer -3. Se connecter en SSH +3. Se connecter en SSH -4. Suivre la procédure d'installation générique +4. Suivre la procédure d'installation générique diff --git a/install_on_debian.md b/install_on_debian.md index 1d6e82e6..45e1016c 100644 --- a/install_on_debian.md +++ b/install_on_debian.md @@ -9,11 +9,11 @@ An ARM box, a VPS, a dedicated server, a standard x86 computer, an old Macintosh, ... * with **Debian 9** (Stretch) installed (with kernel >= 3.12) + * the Debian 9 ISO can be downloaded from [here](https://www.debian.org/releases/stretch/debian-installer/). Take the 'netinst CD image' for your architecture. + * N.B. : having a graphical environment is *not* recommended! Servers are meant to be administrated remotely! * connected to the Internet * with a direct **root access** or via SSH - - --- ## Installation steps diff --git a/install_on_debian_ar.md b/install_on_debian_ar.md index 23afb487..455830f8 100644 --- a/install_on_debian_ar.md +++ b/install_on_debian_ar.md @@ -13,8 +13,6 @@ * مُتصل بالإنترنت عبر كابل إيثرنت * مباشرة عبر **النفاذ بالمستخدم الجذري root** أو عبر الـ SSH - - --- ## خطوات التنصيب diff --git a/install_on_debian_fr.md b/install_on_debian_fr.md index 3f5ab9ad..eaa21951 100644 --- a/install_on_debian_fr.md +++ b/install_on_debian_fr.md @@ -1,6 +1,6 @@ # Installation sur Debian -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -8,17 +8,17 @@ Sur une plateforme ARM, un VPS, un serveur dédié, un ordinateur x86 standard, un vieux Macintosh,... -* avec **Debian 9** (Stretch) installé +* avec **Debian 9** (Stretch) installé (avec un kernel >= 3.12) + * l'ISO Debian 9 ISO peut être téléchargée depuis [cette page](https://www.debian.org/releases/stretch/debian-installer/). Prenez la 'netinst CD image' pour votre architecture + * N.B. : Avoir un environnement graphique n'est *pas* recommandé ! Les serveurs sont généralement administrés à distance ! * connecté à Internet * avec un **accès root** directement ou par SSH - - --- ## Étapes d’installation -1. Installer manuellement +1. Installer manuellement -2. Post-installation +2. Post-installation diff --git a/install_on_raspberry.md b/install_on_raspberry.md index 816ca748..fa204721 100644 --- a/install_on_raspberry.md +++ b/install_on_raspberry.md @@ -13,7 +13,7 @@ Before setting up a server at home, it is recommended that you know the [possibl ## Pre-requisites -- A Raspberry Pi 0, 1, 2 or 3 ; +- A Raspberry Pi 0, 1, 2 or 3 (does not currently work on RPI 4); - An microSD card: **8GB** capacity (at least) and **Class 10** speed rate are highly recommended (like the [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - A power supply (either an adapter or a MicroUSB cable)i ; - An ethernet cable (RJ-45) to connect your Raspberry Pi to your router. (Raspberry Pi Zero users can connect the Pi using an OTG cable, [Wifi dongle](https://core-electronics.com.au/tutorials/raspberry-pi-zerow-headless-wifi-setup.html).) ; @@ -27,11 +27,11 @@ Before setting up a server at home, it is recommended that you know the [possibl 1. Flash the SD card with the image -2. Plug & boot +2. Power up the board and let it boot -3. Connect to your server with SSH +3. Connect to your server with your web browser -4. Proceed to post-installation +4. Proceed with the initial configuration (post-installation) --- @@ -45,7 +45,7 @@ We do not recommend the manual installation because it is more technical and lon The latest Rasbpian images requires a screen and a keyboard, as it is no longer possible to connect directly to the Raspberry through SSH. Nevertheless it is possible to re-enable SSH at boot : before starting your Raspberry, put in the boot partition of the SD card an empty file named `ssh` (without extension).
-0. Install Raspbian Stretch Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). +0. Install Raspbian Stretch Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)). The Raspbian Stretch Lite can be found here: https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/ 1. Connect to your Raspberry Pi with the user `pi`. Set the root password with ```bash diff --git a/install_on_raspberry_es.md b/install_on_raspberry_es.md new file mode 100644 index 00000000..b4fd51bf --- /dev/null +++ b/install_on_raspberry_es.md @@ -0,0 +1,60 @@ +# Instalar YunoHost en un Raspberry Pi + +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* + +
+ + +
+ +
+Antes de alojar tu propio servidor en tu casa, te recomendamos que consultes las [posibles restricciones impuestas por tu Proveedor de Internet](/isp). Si tu proveedor es demasiado restrictivo, puedes utilizar un VPN para eludir estas restricciones. +
+ +## Prerrequisitos + +- Un Raspberry Pi 0, 1, 2, 3 o 4 ; +- Un adaptador de corriente para alimentar la tarjeta ; +- Una tarjeta microSD : al menos **8 Go** y **Clase 10** (por ejemplo una [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; +- Un cable ethernet/RJ-45 para conectar la tarjeta con tu enrutador o tu caja internet. (Con el Raspberry Pi 0, puedes conectar tu tarjeta con un cable OTG y un adaptador Wifi USB.) +- Un [proveedor de Internet ético](/isp), de preferencia con buena velocidad de upload. + +--- + +## Instalación con la imagen pre-instalada (recomendada) + +1. Descargar la imagen para Raspberry Pi + +2. Poner la imagen en tu tarjeta SD + +3. Conectar y encender + +4. Conectarse en SSH + +5. Proceder a la post-instalación + +--- + +## Instalación manual (desaconsejada) + +
+No recomendamos la instalación manual porque es más técnica y más larga que la instalación vía la imagen per-instalada. Esta documentación sobre todo está destinada a los usuarios expertos. +
+ +
+Las últimas versiones de Raspbian necesitan una pantalla y un teclado porque ya no es posible conectarse directamente por SSH al Raspberry por defecto. Sin embargo, es posible reactivar el inicio de SSH al boot : solo hay que poner un archivo llamado `ssh` (vacío, sin extensión) en la partición boot de la tarjeta SD. +
+ +0. Instalar Raspbian Stretch Lite ([instrucciones](https://www.raspberrypi.org/downloads/raspbian/)) en la tarjeta SD. + +1. Conéctate con ssh al Raspberry Pi con el usuario pi. Define una contraseña root con +```bash +sudo passwd root +``` + +2. Modifica `/etc/ssh/sshd_config` para autorizar root a que se conecte con ssh, reemplazando `PermitRootLogin without-password` por `PermitRootLogin yes`. Recarga el daemon ssh con `service ssh reload`, y luego re-conéctate como root. + +3. Desconéctate et reconéctate con el usuario root esta vez. + +4. Sigue con el procedimiento de instalación manual genérico. + diff --git a/install_on_raspberry_fr.md b/install_on_raspberry_fr.md index 8fbc42be..c3fd6452 100644 --- a/install_on_raspberry_fr.md +++ b/install_on_raspberry_fr.md @@ -1,6 +1,6 @@ # Installer YunoHost sur Raspberry Pi -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* +*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install)**.*
@@ -17,21 +17,21 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan - Un adaptateur secteur pour alimenter la carte ; - Une carte microSD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ; - Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. (Avec le Raspberry Pi 0, vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.) -- Un [fournisseur d’accès correct](/isp_fr), de préférence avec une bonne vitesse d’upload. +- Un [fournisseur d’accès correct](/isp), de préférence avec une bonne vitesse d’upload. --- ## Installation avec l'image pré-installée (recommandée) -1. Télécharger l'image pour Raspberry Pi +1. Télécharger l'image pour Raspberry Pi -2. Flasher la carte SD avec l'image +2. Flasher la carte SD avec l'image -3. Brancher & démarrer +3. Brancher la carte et la laisser démarrer -4. Se connecter en SSH +4. Se connecter en SSH sur le serveur -5. Procéder à la post-installation +5. Effectuer la configuration initiale (post-installation) --- @@ -45,7 +45,8 @@ Nous déconseillons l'installation manuelle car elle est plus technique et plus Les dernières versions de Raspbian nécessitent un écran et un clavier, car il n'est plus possible de se connecter directement en SSH au Raspberry par défaut. Néanmoins, il est possible de réactiver le lancement de SSH au boot : il suffit de placer dans la partition boot de la carte SD un fichier nommé `ssh`, vide et sans extension.
-0. Installez Raspbian Stretch Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD. +0. Installez Raspbian Stretch Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD. +Le lien vers la Raspbian Stretch Lite est ici: https://downloads.raspberrypi.org/raspbian_lite/images/raspbian_lite-2019-04-09/ 1. Connectez-vous en ssh au Raspberry Pi avec l'utilisateur pi. Définissez un mot de passe root avec ```bash @@ -56,5 +57,5 @@ sudo passwd root 3. Déconnectez-vous et reconnectez-vous avec l'utilisateur root cette fois. -4. Poursuivez avec la procédure d'installation manuelle générique. +4. Poursuivez avec la procédure d'installation manuelle générique. diff --git a/install_on_raspberry_it.md b/install_on_raspberry_it.md new file mode 100644 index 00000000..1b3ca866 --- /dev/null +++ b/install_on_raspberry_it.md @@ -0,0 +1,3 @@ +# Installa YunoHost su Raspberry Pi + +*Consulta la guida completa in inglese [qui](/install_on_raspberry)* diff --git a/install_on_virtualbox.md b/install_on_virtualbox.md index 196ec176..3d693ba7 100644 --- a/install_on_virtualbox.md +++ b/install_on_virtualbox.md @@ -6,9 +6,14 @@ -* A x86 computer with VirtualBox installed and enough RAM capacity to be able to run a small virtual machine. +* An x86 computer with VirtualBox installed and enough RAM capacity to be able to run a small virtual machine. * The latest stable **YunoHost ISO image**, available [here](/images). +
+N.B. : Installing YunoHost in a VirtualBox is usually intended for testing. To +run an actual server on the long-term, you usually need a dedicated physical +machine (old computer, ARM board, ...) or a VPS online. +
--- @@ -18,14 +23,16 @@
-* 256MB RAM is the minimum required, 512MB may be better. - -* 4GB storage is the minimum required. +* It's okay if you can only have 32-bit versions, just be sure that you downloaded the 32-bit image previously. +* 256MB RAM is the minimum required, but at least 512MB is recommended (1Go or more if you can). +* 8GB storage is the minimum required. --- ## 2. Change network settings +**NB:** You must carry out this step. If not, the install will fail. + Go to **Settings** > **Network**: @@ -52,6 +59,10 @@ You will have to select your ISO image here, then you should see the YunoHost's
+If you encounter the error "VT-x is not available", you need probably need to enable Virtualization in the BIOS of your computer. + +
+
@@ -64,12 +75,10 @@ You will have to select your ISO image here, then you should see the YunoHost's ## 4. Proceed to post-installation -After the reboot, you will see this screen: +After the reboot, the system should ask you to proceed with the +post-installation - +Post-install documentation -
-* The password for root user is "yunohost" -* You can get more information on the post-installation here: **[yunohost.org/postinstall](/postinstall)** diff --git a/install_on_virtualbox_es.md b/install_on_virtualbox_es.md new file mode 100644 index 00000000..9a6260d6 --- /dev/null +++ b/install_on_virtualbox_es.md @@ -0,0 +1,76 @@ +# Instalar YunoHost en VirtualBox + +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* + +## Prerrequisitos + + + +* Un ordenador x86 con VirtualBox instalado y bastante RAM disponible para iniciar una pequeña máquina virtual. +* La última **imagen ISO YunoHost** estable, disponible [aquí](/images). + +
+N.B. : Instalar YunoHost en VirtualBox es útil para probar la distribución. Para realmente autoalojarse a largo plazo, probablement necesitarás una máquina virtual (viejo ordenador, tarjeta ARM...) o un VPS. +
+ +--- + +## 1. Crear una nueva máquina virtual + + + +
+ +* No es grave si sólo la versión 32-bit está disponible, pero en este caso asegúrate que 32 bit previamente. +* 256Mo de RAM es el requisito mínimo, 512Mo está recomendado (1Go o más si puedes). +* 8Go de almacenaje mínimo requisito. + +--- + +## 2. Modificar la configuración de la red + +Ir a **Settings** > **Network** : + + + +
+ +* Selectiona `Bridged adapter` + +* Elige tu interfaz según su nombre : + + **wlan0** si estás conectado sin hilo, **eth0** de otro modo. + +--- + +## 3. Inicia tu máquina virtual + +Inicia tu máquina virtual + + + +
+ +Aquí tienes que seleccionar la imagen ISO, luego deberías ver esta pantalla de bienvenida. + +
+ +Si te encuentras con el error "VT-x is not available", probablement hay que activar (enable) la virtualización en la opciones del BIOS de tu ordenador. + +
+ + + +
+ +* Elige `Instalación gráfica` + +* Selecciona tu idioma, tu ubicación, la distribución de tu teclado y deja el ordenador terminar el proceso :-) + +--- + +## 4. Efectuar la post-instalación + +Después del reinicio, la máquina debería proponerte de efectuar la post-instalación : + +Documentación de post-instalación diff --git a/install_on_virtualbox_fr.md b/install_on_virtualbox_fr.md index c93d9901..d99807af 100644 --- a/install_on_virtualbox_fr.md +++ b/install_on_virtualbox_fr.md @@ -1,13 +1,20 @@ # Installer YunoHost sur VirtualBox -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis * Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle. -* La dernière **image ISO YunoHost** stable, disponible [ici](/images_fr). +* La dernière **image ISO YunoHost** stable, disponible [ici](/images). + +
+N.B. : Installer YunoHost dans une VirtualBox est utile pour tester la +distribution. Pour réellement s'autohéberger sur le long terme, il vous faudra +probablement une machine physique (vieil ordinateur, carte ARM, ..) ou un VPS en +ligne. +
--- @@ -17,9 +24,9 @@
-* 256MB de RAM est le minimum requis, 512MB est recommandé. - -* 4GB de stockage minimum requis. +* Ce n'est pas grave si seulement la version 32-bit est dispo, mais dans ce cas soyez sur d'avoir téléchargé l'image 32 bit précédemment. +* 256Mo de RAM est le minimum requis, 512Mo est recommandé (1Go ou plus si vous pouvez). +* 8Go de stockage minimum requis. --- @@ -49,6 +56,10 @@ Démarrez votre machine virtuelle Vous devez sélectionner ici l’image ISO, puis vous devriez voir cet écran d’accueil YunoHost. +
+ +Si vous rencontrez l'erreur "VT-x is not available", il vous faut probablement activer (enable) la virtualisation dans les options du BIOS de votre ordinateur. +
@@ -63,12 +74,8 @@ Vous devez sélectionner ici l’image ISO, puis vous devriez voir cet écran d ## 4. Effectuer la post-installation -Après le redémarrage, vous devriez voir cet écran : - - - -
- -* Vous pouvez obtenir plus d’information sur la post-installation ici : **[yunohost.org/postinstall_fr](/postinstall_fr)** -* Le mot de passe root est "yunohost" +Après le redémarrage, la machine devrait vous proposer d'effectuer la +post-installation : +Post-install +documentation diff --git a/install_on_vps.md b/install_on_vps.md index 671847ea..bf44dae6 100644 --- a/install_on_vps.md +++ b/install_on_vps.md @@ -16,5 +16,6 @@ 1. Install manually -2. Post-install +2. Proceed with the initial configuration (post-installation) + diff --git a/install_on_vps_es.md b/install_on_vps_es.md new file mode 100644 index 00000000..f6eb2eb7 --- /dev/null +++ b/install_on_vps_es.md @@ -0,0 +1,20 @@ +# Instalación en un servidor dedicado + +*Encontrar otros medios de instalar Yunohost **[aquí](/install)**.* + +## Prerrequisitos + + + +* Un servidor dedicado o virtual +* con al menos **512MB** RAM +* y **Debian 9.x (Stretch) 64bits** como sistema operativo + +--- + +## Etapas de instalación + +1. Instalar manualmente + +2. Post-instalación + diff --git a/install_on_vps_fr.md b/install_on_vps_fr.md index 2453538f..a0924cb8 100644 --- a/install_on_vps_fr.md +++ b/install_on_vps_fr.md @@ -1,6 +1,6 @@ # Installation sur un serveur dédié -*Trouvez d’autres moyens d’installer YunoHost **[ici](/install_fr)**.* +*Trouvez d’autres moyens d’installer YunoHost **[ici](/install)**.* ## Prérequis @@ -14,7 +14,6 @@ ## Étapes d’installation -1. Installer manuellement - -2. Post-installation +1. Installer manuellement +2. Effectuer la configuration initiale (post-installation) diff --git a/isp.md b/isp.md index 0d28c988..ba3f8626 100644 --- a/isp.md +++ b/isp.md @@ -1,12 +1,12 @@ # Internet service providers - Main configuration box + Main configuration box Here is a non-comprehensive list of internet service providers by country, which contains criteria about tolerance to self-hosting. A "no" may cause problems for using your server or may require you to make additional configuration changes. Status in brackets indicates the default behavior. -A list of French and Belgian ISPs is available on the [french page](/isp_fr). +A list of French and Belgian ISPs is available on the [french page](/isp). ### USA | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | @@ -19,6 +19,7 @@ A list of French and Belgian ISPs is available on the [french page](/isp_fr). | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | | --- | --- | --- | --- | --- | --- | --- | | BT Internet | - | - | Yes| - | - | No | +| Virgin Media | Yes | - | - | - | No | No | ### Brazil | Service provider | Box (modem/router) | uPnP available | Port 25 openable | [Hairpinning](http://en.wikipedia.org/wiki/Hairpinning) | Customizable reverse DNS | Fix IP | @@ -42,6 +43,9 @@ A list of French and Belgian ISPs is available on the [french page](/isp_fr). | --- | --- | --- | --- | --- | --- | --- | | Telia | Multiple | Yes | No. Business only. | Yes | No. Business only. | No. Business only. | | Bredbandsbolaget | Multiple | Yes | No. Business only. | Yes | No. Business only. | No. Business only. | +| Ownit | Multiple | Yes | Yes | N/A? | ? | Yes | + +Ownit reserves port 3 and 4 of their router to TV. With a simple call to their hotline, explaining that you want to selfhost, they can reassign one of the ports to be in bridge mode. It means that your server will have its own public fixed IP address, in addition to the modem's. ### Switzerland diff --git a/isp_box_config.md b/isp_box_config.md index 465a82eb..883889c0 100644 --- a/isp_box_config.md +++ b/isp_box_config.md @@ -28,16 +28,16 @@ In your router admin interface, look for something like 'router configuration' o Opening the ports listed below is necessary for the various services available in YunoHost to work. For each of them, the 'TCP' forwarding is needed. Some interfaces refer to 'external' and 'internal' ports : these are the same in our case. * Web: 80 (HTTP), 443 (HTTPS) -* [SSH](/ssh_en): 22 -* [XMPP](/XMPP_en): 5222 (clients), 5269 (servers) -* [Email](/email_en): 25, 587 (SMTP), 993 (IMAP) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP) If you use both a modem and a router, then you need to do the following: 1. first on the modem (the box closest to the internet) create rules to forward the above ports to your router; 2. then on the router (the box between the modem and your devices) create rules to forward the above ports to the static IP address for your server.
- Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](isp_en) for more info. + Some internet service providers block port 25 (mail SMTP) by default to fight spam. Some other ISP don't allow to use port 80/443 (web) freely, though it's less likely. Depending on the ISP, it might be possible to open them in the admin interface... Check [this page](/isp) for more info.
## Automatic port forwarding / UPnP diff --git a/isp_box_config_es.md b/isp_box_config_es.md new file mode 100644 index 00000000..3d5b93f3 --- /dev/null +++ b/isp_box_config_es.md @@ -0,0 +1,48 @@ +# Configurar la redirección de los puertos + +Si te estás auto-alojando en casa y sin VPN, tienes que redirigirse los puertos de tu router (caja/box). Si quieres una explicación sencilla de lo que es y por qué necesitas redirigir los puertos, puedes echar un vistazo a [esta página](/port_forwarding). [Esta página](https://www.testdevelocidad.es/configuraciones/abrir-correctamente-los-puertos-router/) también propone explicaciones detalladas sobre el funcionamiento de los puertos, y las etapas de configuración para un router genérico. + +### 0. Diagnosticar los puertos abiertos + +Una vez que tienes la redirección configurada, deberías poder comprobar que los puertos están bien abiertos con esta herramienta : + +Comprobar la redirección de los puertos + +### 1. Acceder a la interfaz de administración de tu router/caja/box + +En general la interfaz de administración está accesible desde http://192.168.0.1 o http://192.168.1.1. +Luego, es posible que tengas que autenticarte con los ID provechos pour tu proveedor de acceso a Internet. + +### 2. Descubrir la IP local del servidor + +Identifica cuál es la IP local de tu servidor, o sea : +- desde la interfaz de tu router/caja/box, donde tal vez estén listados los dipositivos conectados a la red local +- desde la webadmin de YunoHost, en 'Estado del servidor', 'Red' +- desde la línea de comandos en tu servidor, por ejemplo con `ip a | grep "scope global" | awk '{print $2}'` + +En general una dirección IP local se parece a `192.168.xx.yy`, o `10.0.xx.yy`. + +### 3. Redirigir los puertos + +En la interfaz de administración de tu router/caja/box, tienes que encontrar una categoría que debe llamarse 'Configuración del router', o 'Redirección de puertos'. El nombre difiere según el tipo o la marca del router / de la caja Internet... + +Luego tienes que redirigir cada uno de los puertos listados a continuación hacia la IP local de tu router para que los varios servicios de Yunohost funcionen. Para cada uno de ellos, una redirección 'TCP' es necesaria. En algunas interfaces, tal vez encontrarás referencias a un puerto 'externo' y un puerto 'interno' : en nuestro caso, se trata del mismo número de puerto, que sea interno o externo. + +* Web: 80 (HTTP), 443 (HTTPS) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP) + +
+ Algunos proveedores de acceso a Internet bloquean el puerto 25 (mail SMTP) por defecto para luchar con el spam. Otros (más escasos) no permiten utilizar libremente los puertos 80/443. Dependiendo de tu proveedor, puede ser posible de abrir estos puertos en la interfaz... Ver [esta página](/isp) por más informaciones. +
+ +## Redirección automática / UPnP + +Una tecnología llamada UPnP está disponible en algunos routers/cajas/box y permite redirigir automáticamente puertos hacia una máquina que lo pide. Si UPnP está activado en tu casa, ejecutar este comando debería automáticamente redirigir los puertos correctos : + + +```bash +sudo yunohost firewall reload +``` + diff --git a/isp_box_config_fr.md b/isp_box_config_fr.md index 30e42fbb..31b38b1d 100644 --- a/isp_box_config_fr.md +++ b/isp_box_config_fr.md @@ -1,6 +1,6 @@ # Configurer la redirection des ports -Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un oeil à [cette page](port_forwarding_fr). [Cette page](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs. +Si vous vous auto-hébergez à la maison et sans VPN, il vous faut rediriger les ports de votre routeur ("machin-box"). Si vous souhaitez une explication courte de ce qu'est et pourquoi vous avez besoin de rediriger les ports, vous pouvez jeter un œil à [cette page-ci](/port_forwarding). [Cette page-là](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html) propose également des explications détaillées sur le fonctionnement des ports, et les étapes de configuration pour différents routeurs. ### 0. Diagnostiquer les ports ouverts @@ -10,7 +10,7 @@ Une fois que vous aurez configuré la redirection, vous devriez pouvoir valider ### 1. Accéder à l'interface d'administration de votre box/routeur -L'interface d'administration est généralement accessible via http://192.168.0.1 ou http://192.168.1.1. +L'interface d'administration est généralement accessible via http://192.168.0.1 ou http://192.168.1.1. Ensuite, il vous faudra peut-être vous authentifier avec les identifiants fournis par votre fournisseur d'accès internet (FAI). @@ -18,9 +18,9 @@ fournis par votre fournisseur d'accès internet (FAI). Identifiez quelle est l'IP locale de votre serveur, soit : - depuis l'interface de votre routeur/box, qui liste peut-être les dispositifs - connectés. -- depuis la webadmin de YunoHost, dans 'État du serveur', 'Réseau' -- depuis la ligne de commande dans votre serveur, par exemple avec `ip a | grep "scope global" | awk '{print $2}'` + connectés; +- depuis la webadmin de YunoHost, dans 'État du serveur', 'Réseau'; +- depuis la ligne de commande dans votre serveur, par exemple avec `ip a | grep "scope global" | awk '{print $2}'`. Une adresse IP locale ressemble généralement à `192.168.xx.yy`, ou `10.0.xx.yy`. @@ -33,12 +33,12 @@ nom diffère suivant le type / marque de la box... Il vous faut ensuite rediriger chacun des ports listés ci-dessous vers l'IP locale de votre serveur pour que les différents services de YunoHost fonctionnent. Pour chacun d'eux, une redirection 'TCP' est nécessaire. Certains interfaces font références à un port 'externe' et un port 'interne' : dans notre cas il s'agit du même. * Web: 80 (HTTP), 443 (HTTPS) -* [SSH](/ssh_fr): 22 -* [XMPP](/XMPP_fr): 5222 (clients), 5269 (servers) -* [Email](/email_en): 25, 587 (SMTP), 993 (IMAP) +* [SSH](/ssh): 22 +* [XMPP](/XMPP): 5222 (clients), 5269 (servers) +* [Email](/email): 25, 587 (SMTP), 993 (IMAP)
- Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](isp_fr) pour plus d'informations. + Certains fournisseurs d'accès internet bloquent le port 25 (mail SMTP) par défaut pour combattre le spam. D'autres (plus rares) ne permettent pas d'utiliser librement les ports 80/443. En fonction de votre FAI, il peut être possible d'ouvrir ces ports dans l'interface... Voir [cette page](/isp) pour plus d'informations.
## Redirection automatique / UPnP diff --git a/isp_es.md b/isp_es.md new file mode 100644 index 00000000..fed12f76 --- /dev/null +++ b/isp_es.md @@ -0,0 +1,47 @@ +# Proveedores de acceso a Internet + + Configuración general del router + +Aquí tienes una lista (no exhaustiva) de proveedores de acceso a Internet por país, con criterios de compatibilidad con el [self-hosting](/selfhosting). + +Un « **no** » puede implicar problemas de utilización del servidor o puede obligarte a hacer configuraciones adicionales. El estatus entre paréntesis indica el comportamiento por defecto. + +### Francia + +*Nota que algunos de estos proveedores como OVH y Orange también están presentes en España.* + +Todos los proveedores de acceso a Internet [miembros de la Federación French Data Network] (http://www.ffdn.org/fr/membres) tienen una política a favor del auto-alojamiento / self-hosting. +* ✔ : sí +* ✘ : no + +| Proveedor de acceso | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| **Box/router** | Personal/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox | +| **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | +| **[Puerto 25 que se abre](/email)**
(cerrado por defecto) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | +| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | +| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personalizable ** | ✔ | ✔ (excepto IPv6) | … | ✘ | ✘ | ✘ | +| **[IP fija](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | +| **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … | +| **[No listado en el DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … | +Para obtener una lista más completa y precisa, refiérete a la muy buena documentación (fr) de [wiki.auto-hebergement.fr](http://wiki.auto-hebergement.fr/fournisseurs/fai#d%C3%A9tail_des_fai). + +**Truco** : [FDN](http://www.fdn.fr) propone unos [VPN](http://www.fdn.fr/-VPN-.html) que permiten recuperar una (o varias si lo pides) IPv4 fija y un /48 en IPv6 y así « limpiar » tu conexión si tu proveedor es uno los *proveedores limitantes* de la tabla más arriba. + +### Bélgica + +| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| **Proximus** | BBox2 | sí (activado) | sí | **no** | **no** | **no** | +| | BBox3 | sí (activado) | sí | **no** | **no** | **no** | +| **Scarlet** | BBox2 | sí (activado) | sí | **no** | **no** | **no** | + +**Proximus** no estaría a favor del auto-alojamiento. Hacen que la apertura de los puertos esté más difícil para luchar contra el spam. Es mejor pasar por [Neutrinet](http://neutrinet.be), uno de los [miembros de la Federación French Data Network](http://www.ffdn.org/fr/membres). + +### Costa de Marfil + +| Proveedor de acceso | Box/ router | uPnP activable | [Puerto 25 que se abre](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fija | +| :---: | :---: | :---: | :---: | :---: | :---: | :---: | +| **Orange** | Livebox2 | sí (activado) | no | **no** | **no** | **no** | +| **Moov** | | sí (activado) | | | | | +| **MTN** | | sí (activado) | | | | | \ No newline at end of file diff --git a/isp_fr.md b/isp_fr.md index 9cd648d1..35e6d8be 100644 --- a/isp_fr.md +++ b/isp_fr.md @@ -1,8 +1,8 @@ # Fournisseurs d’accès à Internet - Configuration générale box + Configuration générale box -Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](selfhosting_fr). +Voici une liste non exhaustive des fournisseurs d’accès à Internet par pays, contenant les critères de tolérance à l’[auto-hébergement](/selfhosting). Un « **non** » peut entraîner des problèmes d’utilisation de votre serveur ou peut vous obliger à faire des configurations supplémentaires. Le statut entre parenthèses indique le comportement par défaut. @@ -12,14 +12,14 @@ Tous les fournisseurs d’accès à Internet [membres de la Fédération French * ✔ : oui * ✘ : non -| Fournisseur d’accès | OVH | [Free](/isp_free_fr) | [SFR](/isp_sfr_fr) | [Orange](/isp_orange_fr) | Bouygues
Télécom | Darty | +| Fournisseur d’accès | OVH | [Free](/isp_free) | [SFR](/isp_sfr) | [Orange](/isp_orange) | Bouygues
Télécom | Darty | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Box/routeur** | Personnel/OVH Télécom | Freebox | Neufbox | Livebox | Bbox | Dartybox | | **[UPnP](https://fr.wikipedia.org/wiki/Universal_Plug_and_Play)** | ✔ | ✔ | ✔ | ✔ | ✔ | ✔ | -| **[Port 25 ouvrable](email_fr)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | -| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | -| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personnalisable ** | ✔ | ✔ (sauf IPv6) | … | ✘ | ✘ | ✘ | -| **[IP fixe](/dns_dynamicip_fr)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | +| **[Port 25 ouvrable](/email)**
(fermé par défaut) | ✔ | ✔ | ✔ | ✘ | ✔ | ✔ | +| **[Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning)** | ✔ | ✔ | ✔/✘ | ✔ (depuis la Livebox 4) | ✔ | ✔ | +| **[Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup)
personnalisable ** | ✔ | ✔ (sauf IPv6) pas de support | … | ✘ | ✘ | ✘ | +| **[IP fixe](/dns_dynamicip)** | ✔ | ✔ | ✔/✘ | ✘ | ✔ | ✔ | | **[IPv6](https://fr.wikipedia.org/wiki/IPv6)** | ✔ | ✔ | ✔ | ✔ | … | … | | **[Non listé sur le DUL](https://en.wikipedia.org/wiki/Dialup_Users_List)** | … | ✘ | … | … | … | … | 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). @@ -28,7 +28,7 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu ### Belgique -| Fournisseur d’accè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 | +| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [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** | @@ -38,8 +38,8 @@ Pour une liste plus complète et précise, référez-vous à la très bonne docu ### Côte d'Ivoire -| Fournisseur d’accè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 | +| Fournisseur d’accès | Box/ routeur | uPnP activable | [Port 25 ouvrable](/email)| [Hairpinning](http://fr.wikipedia.org/wiki/Hairpinning) | [Reverse DNS](https://en.wikipedia.org/wiki/Reverse_DNS_lookup) | IP fixe | | :---: | :---: | :---: | :---: | :---: | :---: | :---: | | **Orange** | Livebox2 | oui (activé) | non | **non** | **non** | **non** | | **Moov** | | oui (activé) | | | | | -| **MTN** | | oui (activé) | | | | | \ No newline at end of file +| **MTN** | | oui (activé) | | | | | diff --git a/isp_free.md b/isp_free.md new file mode 100644 index 00000000..e97c35fb --- /dev/null +++ b/isp_free.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](isp_free_fr) for now. diff --git a/isp_free_fr.md b/isp_free_fr.md index 59242ee9..58ebb590 100644 --- a/isp_free_fr.md +++ b/isp_free_fr.md @@ -1,6 +1,6 @@ # Free -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Accès à l’administration de la box (v5/v6) @@ -14,13 +14,13 @@ Allez à l’adresse : [mafreebox.free.fr](http://mafreebox.free.fr/) puis authe #### Ouverture des ports -[Liste des ports à ouvrir](/isp_box_config_fr). +[Liste des ports à ouvrir](/isp_box_config). ##### Freebox ≤ v5 Cela se passe dans la section *Ma Freebox / Configurer mon routeur*. Il faut : -- Rediriger les [ports à ouvrir](/isp_box_config_fr) vers l'adresse locale de votre serveur YunoHost. +- Rediriger les [ports à ouvrir](/isp_box_config) vers l'adresse locale de votre serveur YunoHost. - Définir une DMZ vers votre serveur YunoHost. La présence conjointe de ces deux règles permettent d'accéder à votre serveur de l'extérieur comme de l'intérieur de votre réseau local. diff --git a/isp_orange.md b/isp_orange.md new file mode 100644 index 00000000..c89a3e28 --- /dev/null +++ b/isp_orange.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](isp_orange_fr) for now. diff --git a/isp_orange_fr.md b/isp_orange_fr.md index 96c22706..1c80f9fe 100644 --- a/isp_orange_fr.md +++ b/isp_orange_fr.md @@ -1,5 +1,5 @@ # Orange -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Le courrier électronique @@ -78,3 +78,8 @@ Si ils ne sont pas présents, installez-les : ```bash apt install libsasl2-modules sasl2-bin ``` + +Il est possible que postfix ne prenne pas en compte tout de suite vos modifications. Pour le forcer à le faire, exécutez +```bash +systemctl restart postfix +``` diff --git a/isp_sfr.md b/isp_sfr.md new file mode 100644 index 00000000..e5002600 --- /dev/null +++ b/isp_sfr.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](isp_sfr_fr) for now. diff --git a/isp_sfr_fr.md b/isp_sfr_fr.md index a163878f..43c311fb 100644 --- a/isp_sfr_fr.md +++ b/isp_sfr_fr.md @@ -1,5 +1,5 @@ #SFR -*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp_fr)**.* +*Trouvez la liste d’autres fournisseurs d’accès Internet **[ici](/isp)**.* #### Accès à l’administration de la box * Allez à cette adresse : http://192.168.1.1. * Authentifiez-vous, soit en appuyant sur le bouton de la box pendant 5 secondes soit avec les identifiants d’administration. @@ -11,4 +11,4 @@ Pour pouvoir envoyer des mails, il faut désactiver le filtrage. -Source : http://assistance.sfr.fr/internet_box-nb4/utiliser-email/desactiver-filtrage-smtp/fc-2491-69602 +Source : https://assistance.sfr.fr/sfrmail-appli/sfrmail/envoyer-e-mail-serveur-smtp.html diff --git a/jessie_stretch_migration_fr.md b/jessie_stretch_migration_fr.md index fbb173cb..548b6235 100644 --- a/jessie_stretch_migration_fr.md +++ b/jessie_stretch_migration_fr.md @@ -12,7 +12,7 @@ L'objectif cette page est de décrire le processus de migration d'une instance e - Si vous ou vos utilisateurs utilisez des clients emails externes (typiquement Thunderbird ou K9Mail) : le port SMTP a changé. Il s'agissait auparavant du port 465 (avec SSL/TLS) qui a été remplacé par 587 (STARTTLS). Voir [cette page de doc dédiée à la configuration des clients mails](/email_configure_client). La configuration des webmails comme Rainloop doit également être mise à jour, en passant par l'interface d'administration dédiée. -- Pour les utilisateurs avancés : si vous avez des scripts personnels pour faire des backups, certains changements cassent (de façon mineure) la rétrocompatibilité de la ligne de commande. Les options dépréciées `--hooks`/`--ignore-hooks` ont été enlevées, ainsi que `--ignore-apps`, `--ignore-system`. Pour rendre les choses plus intuitives, `yunohost backup create --apps wordpress` (par exemple) créera uniquement un backup de wordpress, i.e. pas besoin d'ajouter `--ignore-system` pour ne pas backuper le système. +- Pour les utilisateurs avancés : si vous avez des scripts personnels pour faire des backups, certains changements cassent (de façon mineure) la rétrocompatibilité de la ligne de commande. Les options dépréciées `--hooks`/`--ignore-hooks` ont été enlevées, ainsi que `--ignore-apps`, `--ignore-system`. Pour rendre les choses plus intuitives, `yunohost backup create --apps wordpress` (par exemple) créera uniquement un backup de wordpress, c.-à-d. pas besoin d'ajouter `--ignore-system` pour ne pas backuper le système. ## Procédure de migration diff --git a/news.md b/news.md new file mode 100644 index 00000000..a3975fc3 --- /dev/null +++ b/news.md @@ -0,0 +1,48 @@ +# YunoHost News + +
+
+ + + + + + diff --git a/noaccess.md b/noaccess.md new file mode 100644 index 00000000..a2ed2d20 --- /dev/null +++ b/noaccess.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](noaccess_fr) for now. diff --git a/noaccess_fr.md b/noaccess_fr.md new file mode 100644 index 00000000..94d19af8 --- /dev/null +++ b/noaccess_fr.md @@ -0,0 +1,144 @@ +# Récupérer l'accès à son YunoHost +Si vous avez perdu l'accès à votre YunoHost qui était auparavant fonctionnel, cette page est faite pour vous. + +Il existe de nombreuses causes pouvant empécher totalement ou partiellement d'accéder en administrateur à un serveur YunoHost. Dans de nombreux cas, un des moyens d'accès est inaccessible, mais les autres sont fonctionnels. + +Cette page va vous aider à diagnostiquer, obtenir un accès et si besoin réparer votre système. Les pannes les plus courantes sont priorisées de haut en bas. Il vous suffit de tester chaque hypothèse. + +## Vous avez perdu votre mot de passe administrateur +Si vous arrivez à afficher la page web d'administration (forcer le rafraîchissement avec CTRL + F5 pour être sur) et que vous n'arrivez pas à vous connectez. Vous avez probablement un mot de passe erroné. + +Dans ce cas, à moins d'avoir un accès root actif (en SSH par exemple) auquel cas vous pouvez changer le mot de passe de l'utilisateur admin, vous allez devoir opérer en mode rescue. + +TODO + +## Vous avez une erreur de certificat qui vous empêche d'accéder à la webadmin + +Si vous n'avez jamais activé Let's Encrypt ou que vous accéder à la web admin via une IP ou un domaine locale, vous pouvez accepter le certificat invalide exceptionnellement à condition d'être sur une connexion internet sûre (pas avec Tor Browser par exemple). + +Pour y parvenir, il faut aller sur la page d'administration web en utilisant la navigation privée, votre navigateur devrait vous autoriser d'ajouter une exception temporaire pour accéder à la page. + +## Vous avez accès en SSH mais pas à la Web admin ou inversement + +### Vous avez été banni temporairement +Votre serveur YunoHost inclut un pare-feu qui banni les IP qui échouent plusieurs fois à se connecter. Dans certains cas, il peut s'agir d'un programme (nextcloud-client) qui est configuré avec un ancien mot de passe ou d'un utilisateur qui utilise la même IP que vous. + +Si vous avez été banni en tentant d'accéder à une page web, seul les pages web sont inaccessibles, vous devriez donc pouvoir accéder au serveur en SSH. De même, si vous avez été banni en SSH vous devriez pouvoir accéder à la webadmin. + +Si vous avez été banni à la fois en SSH et à la webadmin, vous pouvez essayer d'accéder à votre serveur avec une autre IP, par exemple en utilisant la 4G d'un smartphone ou en utilisant Tor Browser. + +NB: le bannissement dure en général quelques minutes. Le bannissement n'est actif qu'en IPv4. + +### Vous n'avez plus d'espace disque... +... et votre serveur web nginx qui distribue les pages de la web admin ou votre serveur SSH ne fonctionne plus. + +Pour vérifier si vous avez de l'espace disque, vous pouvez le faire de puis la web admin TODO ou avec la commande `df -h`. + +Si une de vos partition est remplie à 100%, il faut identifier ce qui prend de la place sur votre système et faire de la place. + +Attention, dans certains cas il peut s'agir d'erreur qui arrive tellement souvent qu'elles remplissent les fichiers de logs et votre système avec. + +A partir de la web admin vous pouvez relancer le service SSH. De même en SSH, vous pouvez redémarrer le serveur web nginx avec la commande `yunohost service start nginx` + +### Vous manquez de RAM et n'avez pas de swap +... et votre serveur web nginx qui distribue les pages de la web admin ou votre serveur SSH a été tués aléatoirement. + +Quand votre serveur n'a plus de ram, il est obligé d'écrire sur le disque dans la swap, si il n'y en a pas, dans ce cas il doit tuer un des processus pour faire de l'espace. + +Vous pouvez vérifier que vous n'avez plus beaucoup de ram via la web admin ou en SSH via la commande `free -m`. + +Pour régler cette situation, vous pouvez soit: + +* optimiser votre serveur pour qu'il utilise moins de ram (suppression arrêt de services inutiles) +* ajouter de la ram +* ajouter un fichier de swap + +A partir de la web admin vous pouvez relancer le service SSH. De même en SSH, vous pouvez redémarrer le serveur web nginx avec la commande `yunohost service start nginx` + +### Vous avez installé une app qui a cassé votre configuration web +Si vous avez installé une app de mauvaise qualité, celle-ci peut échouer à l'installation et laisser des bouts de configuration qui vont empécher le redémarrage de votre serveur web nginx qui vous permet d'accéder à la web admin. + +Dans ce cas, il faut accéder en SSH et essayer de terminer la suppression de l'app. Si elle est déjà supprimée, il faut enlever manuellement les résidus de configuration. + +### Votre serveur est accessible en IPv6 mais pas en IPv4 ou inversement +Dans un tel cas, il est possible que vous arriviez à accéder à votre web admin en IPv6 mais pas en SSH potentiellement en IPv4 par défaut... + +Dans ce cas il faut résoudre votre problème de connectivité. + +Dans certains cas une mise à jour de votre box a activé l'ipv6, entraînant des problèmes de configuration au niveau de votre nom de domaine. + +## Votre VPN a expiré ou ne se monte plus +Si vous utilisez un VPN a IP fixe, peut être que celui-ci est arrivé à expiration ou que l'infrastructure de votre fournisseur est en difficulté. + +Dans ce cas, vous pouvez peut être accéder à votre serveur avec son IP locale s'agissant probablement d'un serveur auto-hébergé chez-vous. + +Pour connaître votre ip locale, certaines BOX propose une cartographie du réseau en cours avec les équipements connectés. Sinon, en ligne de commande avec linux: +```bash +sudo arp-scan --local +``` + +Vous pouvez aussi essayer avec le domaine `yunohost.local` si il n'y a qu'un seul YunoHost sur votre réseau. + +Il faut voir avec votre fournisseur de VPN pour renouveler le VPN et mettre à jour les paramètre de l'app VPN Client. + +TODO + +## Votre routeur ne redirige plus vers votre serveur +Si votre routeur a été remis à zéro ou mis à jour, votre configuration de redirection de port pourrait avoir disparu. De même, l'ipv6 ou le hairpining pourrait avoir été activé. + +Typiquement si en tapant votre IP publique vous tombez sur votre box, c'est soit le hairpinning soit la redirection de port qui est manquante. + +## Votre serveur ping avec son IP, mais pas avec le nom de domaine +### Votre nom de domaine a expiré +Si votre nom de domaine expire il ne redirigera plus vers votre serveur. + +Vous pouvez vérifier que votre nom de domaine a expiré en vous connectant sur l'interface de votre registrar ou en utilisant le whois par exemple via la commande `whois NOM_DE_DOMAINE`. + +Dans ce cas il faut renouveler le nom de domaine (si ile st encore temps. + +### Votre nom de domaine est mal configuré +Si votre serveur ping avec son ip mais ne ping pas avec le nom de domaine alors il y a un problème de configuration au niveau du champs A. + +Si c'est un nom de domaine fournit par YunoHost, lancez +```bash +yunohost dyndns update +``` + +Si c'est un autre nom de domaine, il faut mettre à jour votre ipv4 et votre ipv6 dans l'interface de votre registrar. + +Attention, si votre IP change régulièrement il faut mettre en place un script qui se lance régulièrement pour mettre à jour votre IP. + +### Votre nom de domaine noho.st, nohost.me, ynh.fr est inaccessible suite à une panne de l'infra YunoHost +Il arrive environ trois fois par an que l'infra de YunoHost soit en panne suite à une coupure de courant ou à un problème d'administration système. + +Vérifiez sur le forum si d'autre sont signalez le même problème. + +## Vous avez perdu l'accès en IPv4 mais vous avez accès en IPv6 ou inversement + +Dans ce cas, il faut tenter d'accéder en SSH avec l'autre IP et essayer de comprendre pourquoi le réseau en IPv4 ou en IPv6 a disparu. + +Si ce n'est pas lié à une erreur de configuration réseau sur votre système, il peut être nécessaire d’appeler votre fournisseur de serveur ou d'accès à internet pour vérifier que le problème n'est pas chez eux. + +## Vous avez perdu l'accès en IPv4 (ET en IPv6 le cas échéant) +Vous pouvez le vérifier en tentant de faire des ping sur votre serveur en IPv4 et en IPv6. + +Dans ce cas, vous devriez essayer de brancher un clavier/écran sur votre serveur ou d'y accéder par VNC si c'est un serveur distant. + +### Vous pouvez vous connecter avec l'utilisateur admin et le mot de passe +A partir de là vous devriez diagnostiquer votre problème réseau le réparer ou si ce n'est pas lié au système contacter le support de votre fournisseur de serveur ou de connexion Internet. + +### Votre serveur est coincé au démarrage +Dans certains cas, votre serveur peut rester coincer au démarrage. Il peut s'agir d'un problème suite à l'installation d'un nouveau kernel. Essayez de choisir un autre kernel avec VNC ou avec l'écran lors du boot. + +Si vous êtes en grub rescue, dans ce cas il peut s'agir d'un problème de configuration de grub ou d'un disque corrompu. + +Dans ce cas il faut accéder au disque avec un autre système (mode rescue du fournisseur, live usb, lire la carte SD ou le disque dur avec un autre ordinateur) et essayer de vérifier l'intégrité des partitions avec smartctl, fsck et mount. + +Si les disques sont corrompus et difficile à monter, il faut sauvegarder les données et potentiellement refaire un formatage/réinstaller et/ou changer le disque. Si on arrive à monter le disque, il est possible d'utiliser systemd-nspawn pour entrer dans la base de donnée. + +Sinon, relancer grub-update et grub-install en chroot ou avec systemd-nspawn. + +### L'accès en VNC ou via écran ne fonctionne pas +Dans ce cas il peut s'agir d'un problème matériel sur votre serveur physique ou d'un problème d'hyperviseur si c'est un VPS. + +Si c'est une machine loué contacter le support de votre fournisseur. Sinon essayez de dépanner votre machine en retirant les composants qui peuvent être en panne. diff --git a/package_list_fr.md b/package_list_fr.md deleted file mode 100644 index 4c8d53ce..00000000 --- a/package_list_fr.md +++ /dev/null @@ -1,41 +0,0 @@ -# Fonctionnement de YunoHost - -### Les branches de développement de YunoHost -Afin de mettre en place un système automatisé de compilation des paquets Debian, le développement de YunoHost progresse désormais autour de trois branches principales : -- **stable** : il s’agit du code des paquets Debian utilisés en live par les utilisateurs de YunoHost. -- **testing** : il s’agit du code éligible pour la création d’une nouvelle version de YunoHost, il est supposé stable mais manque de test. La branche testing peut notamment servir pour corriger rapidement certains bugs. -- **unstable** : il s’agit là des derniers codes ajoutés au dépôt mais qui sont connus pour être instables voir inachevés. C’est à destination de cette branche que vous devez faire vos pull request. Si votre travail est conséquent mais inachevé, il convient d’envisager de créer une branche à part, thématique (exemple : backup). - -Les numéros de version des paquets stable sont pairs, les numéros de version des paquets testing sont impairs. Ainsi, la version 2.3 de YunoHost est une version de test qui sera transformée en version 2.4 si les tests sont concluants. - -### Paquets YunoHost -Avant d’aller plus loin, il convient de rappeler le rôle des différents paquets YunoHost. - -#### Paquet moulinette -La moulinette est un framework qui permet de créer une API web ainsi qu’une API en ligne de commande à partir d’un même code Python et d’un schéma en yaml. - -La ligne de commande `yunohost` est écrite avec ce framework, La moulinette est donc une dépendance de YunoHost. - -La moulinette est un code écrit par les développeurs YunoHost. À l’origine, la moulinette était fusionnée avec le code YunoHost, mais il a été décidé de scinder les deux afin de permettre l’utilisation de la moulinette pour d’autres projets. - -#### Paquet yunohost -Le paquet yunohost est le cœur de YunoHost, ce paquet contient depuis la version 2.3 (testing) le code du programme en ligne de commande `yunohost`. Il contient également des helpers qui peuvent être utilisées par les scripts des apps YunoHost, ainsi que les templates de configuration des dépendances de YunoHost. - -Note : à partir de la version 2.3 (testing), le code de la ligne de commande `yunohost` initialement dans le paquet moulinette-yunohost a été rapatrié dans le paquet yunohost. Un système 2.2 contient donc deux paquets au lieu d’un seul : yunohost et moulinette-yunohost. - -#### Paquet SSOwat -SSOwat est un système de Single Sign On pour Nginx écrit en Lua. C’est ce système qui génère l’interface que les utilisateurs YunoHost voient. Il permet de protéger des URLs et d’autoriser des utilisateurs à accéder ou non à ces ressources. - -SSOwat est comme la moulinette une dépendance de YunoHost, mais peut aussi être utilisée séparément sur d’autres projets. - -#### Paquet yunohost-admin (optionnel) -Ce paquet contient l’interface d’administration web de YunoHost, obligatoire dans la version 2.2, il est optionnel depuis la version 2.3 (testing). - -L’interface d’administration n’est en réalité qu’un client qui se connecte à l’API web généré par la moulinette et le paquet yunohost. - -Le service yunohost-api doit donc être start pour utiliser l’administration web. - -### Conseils de développement -#### Traduction -Afin d’éviter des problèmes de fusion, lorsque vous ajoutez ou modifiez une clé de traduction dans les fichiers json situés dans les répertoires locales des dépôts git, il est demandé d’ajouter les clés uniquement dans le fichier en.json, même si vous savez faire la traduction pour d’autres langues. -Les traductions se font ensuite sur weblate. Donc si effectivement vous savez traduire dans une autre langue, n’hésitez pas à y faire un tour. diff --git a/packaging_apps.md b/packaging_apps.md index 8e04f0ed..5da09827 100644 --- a/packaging_apps.md +++ b/packaging_apps.md @@ -6,7 +6,7 @@ The purpose of this document is to teach you how to package an application for Y To package an application, here are the requirements: * An account on a git server (e.g. [GitHub](https://github.com/)) to publish the application; * Basic knowledge of `git`, bash shell and other programming stuff; -* A testing [virtual machine or a distant server](/install_en), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox_fr), to package and test the package. +* A testing [virtual machine or a distant server](/install), or a development environement, [ynh-dev](https://github.com/yunohost/ynh-dev) or [VirtualBox](/packaging_apps_virtualbox), to package and test the package. ### Content A YunoHost package is composed of: @@ -21,21 +21,21 @@ A YunoHost package is composed of: feel free to use it as a framework. ## Manifest -Manifest +Manifest ## Scripts -Scripts +Scripts ### 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). -Arguments management +Arguments management ### Nginx configuration -Nginx configuration +Nginx configuration ### Multi-instance -Multi-instance +Multi-instance ### Hooks YunoHost provides a hook system, which is accessible via the packager's script callbacks in command line. @@ -46,7 +46,7 @@ The scripts have to be placed in the `hooks` repository at the root of the YunoH Take a look at the [Nextcloud package](https://github.com/YunoHost-Apps/nextcloud_ynh/) for a working example. ### Helpers -Helpers +Helpers ### Registering a log file @@ -85,7 +85,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 [command line](/commandline_en): +Or you can use [command line](/commandline): ```bash yunohost app install /path/to/my/app/package ``` @@ -97,14 +97,14 @@ yunohost app install https://github.com/author/my_app_package.git ### Packaging best practices Here is a list of best practices for application install 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](packaging_apps_trap_fr); +* install script must contain support in case of script errors to delete residuals files thanks to `set -e` and [trap](/packaging_apps_trap); * install script should use the command-line method instead of calls to curl 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 should be tested on Debian Stretch 32 bits, 64 bits and ARM architectures; * backup and restore scripts should be present and functional. -To be define the quality of a package, it'll obtained a [level](packaging_apps_levels_fr), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines_fr). +To be define the quality of a package, it'll obtained a [level](/packaging_apps_levels), determined according to somes criteria of installation and according to respect to [package guidelines](packaging_apps_guidelines). ### Package script checker Package checker @@ -124,7 +124,7 @@ A continuous integration server is available for packagers who want to test thei * Publishing a [post on the Forum](https://forum.yunohost.org/) with the [`App integration` category](https://forum.yunohost.org/c/app-integration), to ask for testing and feedback on your application. -* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](apps_en)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`. +* If your application is released under a free software license, you may ask the YunoHost app team to integrate your application to the [app repository](https://github.com/YunoHost/apps) (c.f. also the [app list](/apps)). You can add your application even if it is not stable or working yet : the current state can be specified to `notworking`, `inprogress`, or `working`. * If your application is *not* free software, then in the future, a non-official list might be created to handle them but is non-existent yet. diff --git a/packaging_apps_arguments_management.md b/packaging_apps_arguments_management.md index e967af6b..130e3de4 100644 --- a/packaging_apps_arguments_management.md +++ b/packaging_apps_arguments_management.md @@ -1,4 +1,4 @@ -Application packaging +Application packaging ## Arguments management #### Retrieve arguments in the install script from manifest diff --git a/packaging_apps_arguments_management_fr.md b/packaging_apps_arguments_management_fr.md index 28471773..5d66e707 100644 --- a/packaging_apps_arguments_management_fr.md +++ b/packaging_apps_arguments_management_fr.md @@ -1,4 +1,4 @@ -Packaging d’application +Packaging d’application ## Gestion des arguments #### Récupérer les arguments du manifeste dans le script d’installation diff --git a/packaging_apps_ci.md b/packaging_apps_ci.md index 0167b354..543da54d 100644 --- a/packaging_apps_ci.md +++ b/packaging_apps_ci.md @@ -25,7 +25,10 @@ However, to prevent any security issues, your ssh connection will be very limite You can only use `sftp` or `rsync` to copy your apps into that directory. `Git` isn't available, neither most of the usual bash commands. To ease your usage of this CI, a small script can be used to copy your apps to your directory. -Copy this [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/Send%20CI%20dev.sh) into your usual working directory and fill it with your info. +Copy this [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/send_to_dev_ci.sh) into your usual working directory and fill it with your info. + +Make sure the content of your `check_process` file is correct then transfer your files. +When your files have been transfered, you can monitor the CI pipeline on https://ci-apps-dev.yunohost.org. --- diff --git a/packaging_apps_ci_fr.md b/packaging_apps_ci_fr.md index 67aeaabb..65105e3f 100644 --- a/packaging_apps_ci_fr.md +++ b/packaging_apps_ci_fr.md @@ -25,7 +25,7 @@ Cependant, pour éviter tout problème de sécurité, votre connexion ssh sera t Vous ne pouvez utiliser que `sftp` ou `rsync` pour copier vos applications dans ce répertoire. `Git` n'est pas disponible, ni la plupart des commandes bash habituelles. Pour faciliter votre utilisation de ce CI, un petit script peut être utilisé pour copier vos applications dans votre répertoire. -Copiez ce [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/Send%20CI%20dev.sh) dans votre répertoire de travail habituel et indiquez vos informations. +Copiez ce [script](https://raw.githubusercontent.com/YunoHost/CI_package_check/master/dev_CI/send_to_dev_ci.sh) dans votre répertoire de travail habituel et indiquez vos informations. --- diff --git a/packaging_apps_fr.md b/packaging_apps_fr.md index 7e06bae8..df480230 100644 --- a/packaging_apps_fr.md +++ b/packaging_apps_fr.md @@ -6,10 +6,10 @@ Ce document a pour but de vous apprendre à packager une application pour YunoHo Pour packager une application, voici les prérequis : * Un compte sur un serveur git comme [GitHub](https://github.com/) pour pouvoir ensuite publier l’application ; * Maîtriser un minimum `git`, le Shell et d’autres notions de programmation ; -* Une [machine virtuelle ou sur un serveur distant](/install_fr) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox_fr), pour packager et tester son paquet. +* Une [machine virtuelle ou sur un serveur distant](/install) ou un environnement de développement, [ynh-dev](https://github.com/yunohost/ynh-dev) ou [VirtualBox](/packaging_apps_virtualbox), pour packager et tester son paquet. -Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start_fr). +Si vous ne comprenez pas ces prérequis, ou si vous ne savez pas comment écrire du code, consulter d'abord l'[introduction au packaging](/packaging_apps_start). ### Contenu Un paquet YunoHost est composé : @@ -23,27 +23,27 @@ Un paquet YunoHost est composé : Paquet de base n’hésitez pas à vous en servir comme base de travail. ## Manifeste -Manifeste +Manifeste ## Les scripts -Scripts +Scripts ### 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 l’application, vous devrez les demander aux administrateurs lors de l’installation (voir la section `arguments` dans le § **Manifeste** ci-dessus). -Gestion des arguments +Gestion des arguments ### Configuration Nginx -Configuration Nginx +Configuration Nginx ### Multi-instance -Multi-instance +Multi-instance ### Hooks -Hooks +Hooks ### Commandes pratiques -Commandes pratiques +Commandes pratiques ### Référencement des logs Dans de nombreuses situations, vous pouvez vouloir indexer un fichier de log pour qu'il soit affiché dans la webadmin. Pour indexer un log, il faut créer un fichier d'indexation dans `/var/log/yunohost/categories/app/APPNAME.yml`. @@ -79,14 +79,14 @@ Ces informations seront utilisées pour permettre de filtrer les logs en relatio ### Améliorer la qualité du paquet d’installation Vous trouverez ci-dessous une liste des points à 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 d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap_fr) ; +* Votre script d’installation contient une gestion en cas d’erreurs du script pour supprimer les fichiers résiduels à l’aide de `set -e` et de [trap](/packaging_apps_trap) ; * Votre script d’installation utilise une méthode d’installation en ligne de commande plutôt qu’un appel curl via un formulaire web d’installation ; * Votre script d’installation enregistre les réponses de l’utilisateur ; * Vous avez vérifié les sources de l’application avec une somme de contrôle (sha256, sha1 ou md5) ou une signature PGP ; * Vos scripts ont été testés sur Debian Stretch 32 bits, 64 bits et ARM ; * Les scripts backup et restore sont présents et fonctionnels. -Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](packaging_apps_levels_fr), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](packaging_apps_guidelines_fr). +Pour mesurer la qualité d'un paquet, celui-ci obtiendra un [niveau](/packaging_apps_levels), déterminé en fonction de divers critères d'installation et selon le respect des [règles de packaging](/packaging_apps_guidelines). ### Script de vérification du paquet Vérificateur de paquets @@ -106,7 +106,7 @@ Un serveur d'intégration continue est a disposition des packagers désirant tes * Demandez des tests et des retours sur votre application en publiant un [post sur le Forum](https://forum.yunohost.org/) dans la [catégorie `App integration`](https://forum.yunohost.org/c/app-integration). -* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](apps_fr)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`. +* Si votre paquet et l'application qu'il contient sont sous licence libre, faites une demande d’ajout de votre application dans le [dépôt des applications](https://github.com/YunoHost/apps) (voir aussi [la liste des apps](/apps)). Vous pouvez ajouter une application même si celle-ci n'est pour le moment pas fonctionelle : l'état d'avancement peut être `notworking`, `inprogress` ou `working`. * Si votre application n'est *pas* sous licence libre, il se peut qu'une liste non-officielle soit créée pour gérer ces applications. Ce n'est pour l'instant pas le cas. diff --git a/packaging_apps_guidelines.md b/packaging_apps_guidelines.md index 62716fc0..41fe5afb 100644 --- a/packaging_apps_guidelines.md +++ b/packaging_apps_guidelines.md @@ -113,7 +113,7 @@ These deposits have several functions: * indicate the state of operation of the packet; * indicate information about the support of a package. -For the `official.json` and` community.json` lists maintained by the project team, registration is on [the git apps repository](https://github.com/YunoHost/apps). Other non-official lists may exists (including those for non-free apps for example), see more about that in the [community forum](https//forum.yunohost.org). +For the `apps.json` list maintained by the project team, registration is on [the git apps repository](https://github.com/YunoHost/apps). Other non-official lists may exists (including those for non-free apps for example), see more about that in the [community forum](https//forum.yunohost.org). #### YEP 1.3 ##### Indicate the license associated with the package | draft | AUTO | WORKING | @@ -152,13 +152,11 @@ This involves monitoring updates to the upstream application, adhering to the ne #### YEP 1.6 ##### Keeping up-to-date on the evolution of apps packaging | validated | manual | OFFICIAL | In order to keep up with the evolution of the packaging format and best practices, it is recommended to: -* subscribe to the discussion list `apps @ list.yunohost.org` -* follow [the forum's Apps category](https://forum.yunohost.org/c/apps-packaging) +* follow [the forum's Apps category](https://forum.yunohost.org/c/contribute-room/apps-packaging) To follow the evolution of YunoHost more generally: * join XMPP dev@conference.yunohost.org ([three days of logs are available](https://im.yunohost.org/logs/dev/)) * follow [Annoucement category of the forum](https://forum.yunohost.org/c/announcement) -* follow discussions on contrib@list.yunohost.org #### YEP 1.7 ##### Add the app to the [YunoHost-Apps Organization](https://github.com/YunoHost-Apps) | validated | manual | OFFICIAL | @@ -166,7 +164,7 @@ Adding an app to the [YunoHost-Apps organization](https://github.com/YunoHost-Ap It is also a way to quickly deploy a security patch if necessary in the event that the maintainer is unavailable. -Transfer Procedure: Ask the [chat room](chat_rooms_en) to be invited to the organization by providing the name of their GitHub account. +Transfer Procedure: Ask the [chat room](/chat_rooms) to be invited to the organization by providing the name of their GitHub account. Once the invitation is accepted, [transfer its deposit to the organization by following this tutorial](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/# Transferring-a-repository-to-another-user-account-or-to-an-organization). #### YEP 1.8 @@ -223,7 +221,7 @@ Keep your code as easy as possible, keep everything a script needs directly into #### Stabilize an app #### YEP 2.1 ##### Respect the manifest format | validated | Home | INPROGRESS | -The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](https://yunohost.org/#/packaging_apps_manifest). +The manifest allows to describe an app so that YunoHost can apply the good treatments. For more information see [dedicated documentation](/packaging_apps_manifest). #### YEP 2.2 ##### Using bash for main scripts | validated | Home | WORKING | @@ -289,7 +287,7 @@ It is advisable to make the scripts as generic as possible, a good way to do thi In order to simplify packaging, standardize practices, avoid errors and increase the lifetime of a script vis-à-vis future versions of YunoHost. A set of helpers to do many actions is proposed. For more information : -* consult [helpers documentation](https://yunohost.org/#/packaging_apps_helpers) +* consult [helpers documentation](/packaging_apps_helpers) * explore [helpers directory](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) #### YEP 2.13 diff --git a/packaging_apps_guidelines_fr.md b/packaging_apps_guidelines_fr.md index ec16ee4c..847367d4 100644 --- a/packaging_apps_guidelines_fr.md +++ b/packaging_apps_guidelines_fr.md @@ -153,13 +153,11 @@ Cela implique de surveiller les mises à jour de l'application upstream, de resp #### YEP 1.6 ##### Se tenir informé sur l'évolution du packaging d'apps | validé | manuel | OFFICIAL | Afin de suivre l'évolution du format de packaging ainsi que des bonnes pratiques, il est recommandé de: -* s'inscrire à la liste de discussion `apps@list.yunohost.org` -* suivre [la catégorie Apps packaging du forum](https://forum.yunohost.org/c/apps-packaging) +* suivre [la catégorie Apps packaging du forum](https://forum.yunohost.org/c/contribute-room/apps-packaging) Pour suivre l'évolution de YunoHost de façon plus générale : * rejoindre le salon XMPP dev@conference.yunohost.org ([trois jours de logs sont disponibles](https://im.yunohost.org/logs/dev/)) * suivre [la catégorie Annoucement du forum](https://forum.yunohost.org/c/announcement) -* suivre les discussions sur contrib@list.yunohost.org #### YEP 1.7 ##### Ajouter l'app à l'[organisation YunoHost-Apps](https://github.com/YunoHost-Apps) | validé | manuel | OFFICIAL | @@ -167,7 +165,7 @@ L'ajout d'une app sur l'[organisation YunoHost-Apps](https://github.com/YunoHost C'est aussi un moyen pour permettre de déployer rapidement un correctif de sécurité si nécessaire dans le cas où le mainteneur ne serait pas disponible. -Procédure de transfert : demander sur le [salon de discussion `Apps`](chat_rooms_fr) à être invité à l’organisation en lui fournissant le nom de son compte GitHub. +Procédure de transfert : demander sur le [salon de discussion `Apps`](/chat_rooms) à être invité à l’organisation en lui fournissant le nom de son compte GitHub. Une fois l’invitation acceptée, [transférer son dépôt sur l’organisation en suivant ce tutoriel](https://help.github.com/articles/transferring-a-repository-owned-by-your-personal-account/#transferring-a-repository-to-another-user-account-or-to-an-organization). #### YEP 1.8 @@ -224,7 +222,7 @@ Gardez votre code aussi simple que possible, gardez tout ce dont un script a bes #### Stabiliser une app #### YEP 2.1 ##### Respecter le format du manifeste | validé | auto | INPROGRESS | -Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](https://yunohost.org/#/packaging_apps_manifest). +Le manifeste permet de décrire une app afin que YunoHost puisse lui appliquer les bons traitements. Pour plus d'information voir la [documentation dédiée](/packaging_apps_manifest). #### YEP 2.2 ##### Utiliser bash pour les scripts principaux | validé | auto | WORKING | @@ -275,7 +273,7 @@ Pour celà, il faut recourir autant que possible aux dossiers `.d` des configura #### YEP 2.9 ##### Enlever toutes traces de l'app lors de la suppression | brouillon | manuel | WORKING | -À l’exception de dépendances (pax exemple : paquets Debian) utilisés par d’autres services ou applications. +À l’exception de dépendances (par exemple : paquets Debian) utilisés par d’autres services ou applications. #### YEP 2.10 ##### Configurer les logs de l'application | brouillon | manuel | WORKING | @@ -291,7 +289,7 @@ Il est conseillé de rendre les scripts le plus générique possible, un bon moy Afin de simplifier le packaging, d'uniformiser les pratiques, d'éviter les erreurs et d'augmenter la durée de vie d'un script vis-à-vis des futures versions de YunoHost. Un ensemble de helpers permettant de faire de nombreuses actions est proposé. Pour plus d'informations : -* consulter [la documentation des helpers](https://yunohost.org/#/packaging_apps_helpers_fr) +* consulter [la documentation des helpers](/packaging_apps_helpers) * explorer [le répertoire des helpers](https://github.com/YunoHost/yunohost/tree/unstable/data/helpers.d) #### YEP 2.13 @@ -374,7 +372,7 @@ Toutefois, cela ne doit pas exempter d'une restriction maximale des droits sur l ##### Suivre les recommandations de la documentation de l'app | validé | manuel | OFFICIAL | En général, une application propose une documentation afin d'aider les administrateurs systèmes à réaliser l'installation. Il est conseiller d'en suivre les recommandations, notamment celles concernant les permissions à accorder par fichier ou répertoire. -Le mainteneur de paquet doit toutefois rester vigilant, certaines documentations pouvant être erronées ou insuffisante. +Le mainteneur de paquet doit toutefois rester vigilant, certaines documentations pouvant être erronées ou insuffisantes. #### YEP 3.6 ##### Mettre à jour les versions contenant des CVE | draft | manuel | OFFICIAL | diff --git a/packaging_apps_helpers.md b/packaging_apps_helpers.md index 9c67f777..476d7822 100644 --- a/packaging_apps_helpers.md +++ b/packaging_apps_helpers.md @@ -1,1147 +1,14 @@ +

App helpers

-

backend

-
-
-
-
ynh_use_logrotate
-
Use logrotate to manage the logfile
-
-
-
-

- Usage: ynh_use_logrotate [--logfile=/log/file] [--nonappend] [--specific_user=user/group] -

-

- Arguments: -

    -
  • -l, --logfile : absolute path of logfile
  • -
  • -n, --nonappend : (optional) Replace the config file instead of appending this new config.
  • -
  • -u, --specific_user : run logrotate as the specified user and group. If not specified logrotate is runned as root.
  • -
-

-

- Details: -

- If no --logfile is provided, /var/log/${app} will be used as default.
logfile can be just a directory, or a full path to a logfile :
/parentdir/logdir
/parentdir/logdir/logfile.log

It's possible to use this helper multiple times, each config will be added to
the same logrotate config file. Unless you use the option --non-append

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_logrotate
-
Remove the app's logrotate config.
-
-
-
-

- Usage: ynh_remove_logrotate -

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_add_systemd_config
-
Create a dedicated systemd config
-
-
-
-

- Usage: ynh_add_systemd_config [--service=service] [--template=template] -

-

- Arguments: -

    -
  • -s, --service : Service name (optionnal, $app by default)
  • -
  • -t, --template : Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)
  • -
-

-

- Details: -

- This will use the template ../conf/.service
to generate a systemd config, by replacing the following keywords
with global variables that should be defined before calling
this helper :

__APP__ by $app
__FINALPATH__ by $final_path

Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_systemd_config
-
Remove the dedicated systemd config
-
-
-
-

- Usage: ynh_remove_systemd_config [--service=service] -

-

- Arguments: -

    -
  • -s, --service : Service name (optionnal, $app by default)
  • -
-

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_add_nginx_config
-
Create a dedicated nginx config
-
-
-
-

- Usage: ynh_add_nginx_config "list of others variables to replace" -

-

- Arguments: -

    -
  • list : (Optional) list of others variables to replace separated by spaces. For example : 'path_2 port_2 ...'
  • -
-

-

- Details: -

- This will use a template in ../conf/nginx.conf
__PATH__ by $path_url
__DOMAIN__ by $domain
__PORT__ by $port
__NAME__ by $app
__FINALPATH__ by $final_path

And dynamic variables (from the last example) :
__PATH_2__ by $path_2
__PORT_2__ by $port_2

Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_nginx_config
-
Remove the dedicated nginx config
-
-
-
-

- Usage: ynh_remove_nginx_config -

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_add_fpm_config
-
Create a dedicated php-fpm config
-
-
-
-

- Usage: ynh_add_fpm_config [--phpversion=7.X] -

-

- Arguments: -

    -
  • -v, --phpversion : Version of php to use.
  • -
-

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_fpm_config
-
Remove the dedicated php-fpm config
-
-
-
-

- Usage: ynh_remove_fpm_config -

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_add_fail2ban_config
-
Create a dedicated fail2ban config (jail and filter conf files)
-
-
-
-

- Usage: 1: ynh_add_fail2ban_config --logpath=log_file --failregex=filter [--max_retry=max_retry] [--ports=ports] -2: ynh_add_fail2ban_config --use_template [--others_var="list of others variables to replace"] -| for example : 'var_1 var_2 ...' -

-

- Arguments: -

    -
  • -l, --logpath= : Log file to be checked by fail2ban
  • -
  • -r, --failregex= : Failregex to be looked for by fail2ban
  • -
  • -m, --max_retry= : Maximum number of retries allowed before banning IP address - default: 3
  • -
  • -p, --ports= : Ports blocked for a banned IP address - default: http,https
  • -
  • -t, --use_template : Use this helper in template mode
  • -
  • -v, --others_var= : List of others variables to replace separeted by a space
  • -
-

-

- Details: -

- -----------------------------------------------------------------------------

This will use a template in ../conf/f2b_jail.conf and ../conf/f2b_filter.conf
__APP__ by $app

You can dynamically replace others variables by example :
__VAR_1__ by $var_1
__VAR_2__ by $var_2

Generally your template will look like that by example (for synapse):

f2b_jail.conf:
[__APP__]
enabled = true
port = http,https
filter = __APP__
logpath = /var/log/__APP__/logfile.log
maxretry = 3

f2b_filter.conf:
[INCLUDES]
before = common.conf
[Definition]

# Part of regex definition (just used to make more easy to make the global regex)
__synapse_start_line = .? \- synapse\..+ \-

# Regex definition.
failregex = ^%(__synapse_start_line)s INFO \- POST\-(\d+)\- \- \d+ \- Received request\: POST /_matrix/client/r0/login\??%(__synapse_start_line)s INFO \- POST\-\1\- Got login request with identifier: \{u'type': u'm.id.user', u'user'\: u'(.+?)'\}, medium\: None, address: None, user\: u'\5'%(__synapse_start_line)s WARNING \- \- (Attempted to login as @\5\:.+ but they do not exist|Failed password login for user @\5\:.+)$

ignoreregex =

-----------------------------------------------------------------------------

Note about the "failregex" option:
regex to match the password failure messages in the logfile. The
host must be matched by a group named "host". The tag "" can
be used for standard IP/hostname matching and is only an alias for
(?:::f{4,6}:)?(?P[\w\-.^_]+)

You can find some more explainations about how to make a regex here :
https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters

Note that the logfile need to exist before to call this helper !!

To validate your regex you can test with this command:
fail2ban-regex /var/log/YOUR_LOG_FILE_PATH /etc/fail2ban/filter.d/YOUR_APP.conf

Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_fail2ban_config
-
Remove the dedicated fail2ban config (jail and filter conf files)
-
-
-
-

- Usage: ynh_remove_fail2ban_config -

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

debug

-
-
-
-
ynh_debug
-
Debugger for app packagers
-
-
-
-

- Usage: ynh_debug [--message=message] [--trace=1/0] -

-

- Arguments: -

    -
  • -m, --message= : The text to print
  • -
  • -t, --trace= : Turn on or off the trace of the script. Usefull to trace nonly a small part of a script.
  • -
-

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_debug_exec
-
Execute a command and print the result as debug
-
-
-
-

- Usage: ynh_debug_exec command to execute -ynh_debug_exec "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -

-

- Arguments: -

    -
  • command : command to execute
  • -
-

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

filesystem

-
-
-
-
ynh_backup
-
Add a file or a directory to the list of paths to backup
-
-
-
-

- Usage: ynh_backup --src_path=src_path [--dest_path=dest_path] [--is_big] [--not_mandatory] -

-

- Arguments: -

    -
  • -s, --src_path : file or directory to bind or symlink or copy. it shouldn't be in the backup dir.
  • -
  • -d, --dest_path : destination file or directory inside the backup dir
  • -
  • -b, --is_big : Indicate data are big (mail, video, image ...)
  • -
  • -m, --not_mandatory : Indicate that if the file is missing, the backup can ignore it.
  • -
  • arg : Deprecated arg
  • -
-

-

- Details: -

- Note: this helper could be used in backup hook or in backup script inside an
app package

Details: ynh_backup writes SRC and the relative DEST into a CSV file. And it
creates the parent destination directory

If DEST is ended by a slash it complete this path with the basename of SRC.

Example in the context of a wordpress app

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
# => This line will be added into CSV file
# "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"

#Deprecated usages (maintained for retro-compatibility)
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

Requires YunoHost version 2.4.0 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_restore
-
Restore all files linked to the restore hook or to the restore app script
-
-
-
-

- Usage: ynh_restore -

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_restore_file
-
Restore a file or a directory
-
-
-
-

- Usage: ynh_restore_file --origin_path=origin_path [--dest_path=dest_path] [--not_mandatory] -

-

- Arguments: -

    -
  • -o, --origin_path : Path where was located the file or the directory before to be backuped or relative path to $YNH_CWD where it is located in the backup archive
  • -
  • -d, --dest_path : Path where restore the file or the dir, if unspecified, the destination will be ORIGIN_PATH or if the ORIGIN_PATH doesn't exist in the archive, the destination will be searched into backup.csv
  • -
  • -m, --not_mandatory : Indicate that if the file is missing, the restore process can ignore it.
  • -
-

-

- Examples:

    - ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf" -
    - You can also use relative paths: -
    - ynh_restore_file "conf/nginx.conf" -
    -
-

-

- Details: -

- Use the registered path in backup_list by ynh_backup to restore the file at
the right place.

If DEST_PATH already exists and is lighter than 500 Mo, a backup will be made in
/home/yunohost.conf/backup/. Otherwise, the existing file is removed.

if apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf exists, restore it into
/etc/nginx/conf.d/$domain.d/$app.conf
if no, search for a match in the csv (eg: conf/nginx.conf) and restore it into
/etc/nginx/conf.d/$domain.d/$app.conf

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_store_file_checksum
-
Calculate and store a file checksum into the app settings
-
-
-
-

- Usage: ynh_store_file_checksum --file=file -

-

- Arguments: -

    -
  • -f, --file : The file on which the checksum will performed, then stored.
  • -
-

-

- Details: -

- $app should be defined when calling this helper

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_backup_if_checksum_is_different
-
Verify the checksum and backup the file if it's different -This helper is primarily meant to allow to easily backup personalised/manually -modified config files.
-
-
-
-

- Usage: ynh_backup_if_checksum_is_different --file=file -

-

- Arguments: -

    -
  • -f, --file : The file on which the checksum test will be perfomed.
  • -
-

-

- Returns: the name of a backup file, or nothing -

-

- Details: -

- $app should be defined when calling this helper

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_delete_file_checksum
-
Delete a file checksum from the app settings
-
-
-
-

- Usage: ynh_remove_file_checksum file -

-

- Arguments: -

    -
  • -f, --file= : The file for which the checksum will be deleted
  • -
-

-

- Details: -

- $app should be defined when calling this helper

Requires YunoHost version 3.3.1 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_secure_remove
-
Remove a file or a directory securely
-
-
-
-

- Usage: ynh_secure_remove --file=path_to_remove -

-

- Arguments: -

    -
  • -f, --file : File or directory to remove
  • -
-

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

getopts

-

ip

-
-
-
-
ynh_validate_ip
-
Validate an IP address
-
-
-
-

- Usage: ynh_validate_ip --family=family --ip_address=ip_address -

-

- Returns: 0 for valid ip addresses, 1 otherwise -

-

- Example: ynh_validate_ip 4 111.222.333.444 -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_validate_ip4
-
Validate an IPv4 address
-
-
-
-

- Usage: ynh_validate_ip4 --ip_address=ip_address -

-

- Returns: 0 for valid ipv4 addresses, 1 otherwise -

-

- Example: ynh_validate_ip4 111.222.333.444 -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_validate_ip6
-
Validate an IPv6 address
-
-
-
-

- Usage: ynh_validate_ip6 --ip_address=ip_address -

-

- Returns: 0 for valid ipv6 addresses, 1 otherwise -

-

- Example: ynh_validate_ip6 2000:dead:beef::1 -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

mysql

-
-
-
-
ynh_mysql_connect_as
-
Open a connection as a user
-
-
-
-

- Usage: ynh_mysql_connect_as --user=user --password=password [--database=database] -

-

- Arguments: -

    -
  • -u, --user : the user name to connect as
  • -
  • -p, --password : the user password
  • -
  • -d, --database : the database to connect to
  • -
-

-

- Example: ynh_mysql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_mysql_connect_as 'user' 'pass' < /path/to/file.sql -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_execute_as_root
-
Execute a command as root user
-
-
-
-

- Usage: ynh_mysql_execute_as_root --sql=sql [--database=database] -

-

- Arguments: -

    -
  • -s, --sql : the SQL command to execute
  • -
  • -d, --database : the database to connect to
  • -
-

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_execute_file_as_root
-
Execute a command from a file as root user
-
-
-
-

- Usage: ynh_mysql_execute_file_as_root --file=file [--database=database] -

-

- Arguments: -

    -
  • -f, --file : the file containing SQL commands
  • -
  • -d, --database : the database to connect to
  • -
-

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_dump_db
-
Dump a database
-
-
-
-

- Usage: ynh_mysql_dump_db --database=database -

-

- Arguments: -

    -
  • -d, --database : the database name to dump
  • -
-

-

- Returns: the mysqldump output -

-

- Example: ynh_mysql_dump_db 'roundcube' > ./dump.sql -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_user_exists
-
Check if a mysql user exists
-
-
-
-

- Usage: ynh_mysql_user_exists --user=user -

-

- Arguments: -

    -
  • -u, --user : the user for which to check existence
  • -
-

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_setup_db
-
Create a database, an user and its password. Then store the password in the app's config
-
-
-
-

- Usage: ynh_mysql_setup_db --db_user=user --db_name=name [--db_pwd=pwd] -

-

- Arguments: -

    -
  • -u, --db_user : Owner of the database
  • -
  • -n, --db_name : Name of the database
  • -
  • -p, --db_pwd : Password of the database. If not provided, a password will be generated
  • -
-

-

- Details: -

- After executing this helper, the password of the created database will be available in $db_pwd
It will also be stored as "mysqlpwd" into the app settings.

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_mysql_remove_db
-
Remove a database if it exists, and the associated user
-
-
-
-

- Usage: ynh_mysql_remove_db --db_user=user --db_name=name -

-

- Arguments: -

    -
  • -u, --db_user : Owner of the database
  • -
  • -n, --db_name : Name of the database
  • -
-

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_sanitize_dbid
-
Sanitize a string intended to be the name of a database -(More specifically : replace - and . by _)
-
-
-
-

- Usage: ynh_sanitize_dbid --db_name=name -

-

- Arguments: -

    -
  • -n, --db_name : name to correct/sanitize
  • -
-

-

- Returns: the corrected name -

-

- Example: dbname=$(ynh_sanitize_dbid $app) -

-

- Details: -

- Requires YunoHost version 2.2.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

network

-
-
-
-
ynh_normalize_url_path
-
Normalize the url path syntax
-
-
-
-

- Usage: ynh_normalize_url_path --path_url=path_to_normalize -

-

- Arguments: -

    -
  • -p, --path_url : URL path to normalize before using it
  • -
-

-

- Examples:

    - url_path=$(ynh_normalize_url_path $url_path) -
    - ynh_normalize_url_path example # -> /example -
    - ynh_normalize_url_path /example # -> /example -
    - ynh_normalize_url_path /example/ # -> /example -
    - ynh_normalize_url_path / # -> / -
    -
-

-

- Details: -

- Handle the slash at the beginning of path and its absence at ending
Return a normalized url path

Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_find_port
-
Find a free port and return it
-
-
-
-

- Usage: ynh_find_port --port=begin_port -

-

- Arguments: -

    -
  • -p, --port : port to start to search
  • -
-

-

- Example: port=$(ynh_find_port --port=8080) -

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_webpath_available
-
Check availability of a web path
-
-
-
-

- Usage: ynh_webpath_available --domain=domain --path_url=path -

-

- Arguments: -

    -
  • -d, --domain : the domain/host of the url
  • -
  • -p, --path_url : the web path to check the availability of
  • -
-

-

- Example: ynh_webpath_available --domain=some.domain.tld --path_url=/coffee -

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_webpath_register
-
Register/book a web path for an app
-
-
-
-

- Usage: ynh_webpath_register --app=app --domain=domain --path_url=path -

-

- Arguments: -

    -
  • -a, --app : the app for which the domain should be registered
  • -
  • -d, --domain : the domain/host of the web path
  • -
  • -p, --path_url : the web path to be registered
  • -
-

-

- Example: ynh_webpath_register --app=wordpress --domain=some.domain.tld --path_url=/coffee -

-

- Details: -

- Requires YunoHost version 2.6.4 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

nodejs

-
-
-
-
export
-
N_PREFIX is the directory of n, it needs to be loaded as a environment variable.
-
-
-
-

- Usage: -

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_use_nodejs
-
Load the version of node for an app, and set variables.
-
-
-
-

- Usage: ynh_use_nodejs -

-

- Details: -

- ynh_use_nodejs has to be used in any app scripts before using node for the first time.

2 variables are available:
- $nodejs_path: The absolute path of node for the chosen version.
- $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.
And 2 alias stored in variables:
- $nodejs_use_version: An old variable, not used anymore. Keep here to not break old apps
NB: $PATH will contain the path to node, it has to be propagated to any other shell which needs to use it.
That's means it has to be added to any systemd script.

Requires YunoHost version 2.7.12 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_install_nodejs
-
Install a specific version of nodejs
-
-
-
-

- Usage: ynh_install_nodejs --nodejs_version=nodejs_version - If possible, prefer to use major version number (e.g. 8 instead of 8.10.0). - The crontab will handle the update of minor versions when needed. -

-

- Arguments: -

    -
  • -n, --nodejs_version : Version of node to install.
  • -
-

-

- Details: -

- n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.
That's how it changes the version

ynh_install_nodejs will install the version of node provided as argument by using n.

Requires YunoHost version 2.7.12 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_remove_nodejs
-
Remove the version of node used by the app.
-
-
-
-

- Usage: ynh_remove_nodejs -

-

- Details: -

- This helper will check if another app uses the same version of node,
if not, this version of node will be removed.
If no other app uses node, n will be also removed.

Requires YunoHost version 2.7.12 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-

package

+ +

Doc auto-generated by this script on 03/30/2020 (Yunohost version 3.7.0.12)

+ + +

apt

+ + +
@@ -1151,29 +18,48 @@ modified config files.

+ Usage: ynh_package_is_installed --package=name +

+

Arguments:

    + +
  • -p, --package : the package name to check
  • + +

+ + +

Example: ynh_package_is_installed --package=yunohost && echo "ok"

+ + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1183,32 +69,52 @@ modified config files.

+ Usage: ynh_package_version --package=name +

+

Arguments:

    + +
  • -p, --package : the package name to get version
  • + +

+ +

Returns: the version or an empty string

+ +

Example: version=$(ynh_package_version --package=yunohost)

+ + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1218,20 +124,33 @@ modified config files.

+ Usage: ynh_package_update +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1241,26 +160,44 @@ modified config files.

+ Usage: ynh_package_install name [name [...]] +

+

Arguments:

    + +
  • name : the package name to install
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1270,26 +207,44 @@ modified config files.

+ Usage: ynh_package_remove name [name [...]] +

+

Arguments:

    + +
  • name : the package name to remove
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1299,26 +254,44 @@ modified config files.

+ Usage: ynh_package_autoremove name [name [...]] +

+

Arguments:

    + +
  • name : the package name to remove
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1328,59 +301,91 @@ modified config files.

+ Usage: ynh_package_autopurge name [name [...]] +

+

Arguments:

    + +
  • name : the package name to autoremove and purge
  • + +

+ + + + +

Details:

Requires YunoHost version 2.7.2 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
ynh_install_app_dependencies
-
Define and install dependencies with a equivs control file -This helper can/should only be called once per app
+
Define and install dependencies with a equivs control file

- Usage: ynh_install_app_dependencies dep [dep [...]] - You can give a choice between some package with this syntax : "dep1|dep2" - Example : ynh_install_app_dependencies dep1 dep2 "dep3|dep4|dep5" - This mean in the dependence tree : dep1 & dep2 & (dep3 | dep4 | dep5) + + Usage: ynh_install_app_dependencies dep [dep [...]] +

+

Arguments:

    -
  • dep : the package name to install in dependence
  • + + +
  • dep : the package name to install in dependence. Writing "dep3|dep4|dep5" can be used to specify alternatives. For example : dep1 dep2 "dep3|dep4|dep5" will require to install dep1 and dep 2 and (dep3 or dep4 or dep5).
  • + +

+ + + + +

Details:

- Requires YunoHost version 2.6.4 or higher.

+ This helper can/should only be called once per app

example : ynh_install_app_dependencies dep1 dep2 "dep3|dep4|dep5"

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1390,45 +395,594 @@ This helper can/should only be called once per app

+ Usage: ynh_remove_app_dependencies +

+ + + + +

Details:

Dependencies will removed only if no other package need them.

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
-

print

+ + + + +

backup

+ + + +
+
+
+
ynh_backup
+
Add a file or a directory to the list of paths to backup
+
+
+
+

+ + Usage: ynh_backup --src_path=src_path [--dest_path=dest_path] [--is_big] [--not_mandatory] + +

+ +

+ Arguments: +

    + + +
  • -s, --src_path : file or directory to bind or symlink or copy. it shouldn't be in the backup dir.
  • + + + +
  • -d, --dest_path : destination file or directory inside the backup dir
  • + + + +
  • -b, --is_big : Indicate data are big (mail, video, image ...)
  • + + + +
  • -m, --not_mandatory : Indicate that if the file is missing, the backup can ignore it.
  • + + + +
  • arg : Deprecated arg
  • + + +
+

+ + + + + +

+ Details: +

+ This helper can be used both in a system backup hook, and in an app backup script

Details: ynh_backup writes SRC and the relative DEST into a CSV file. And it
creates the parent destination directory

If DEST is ended by a slash it complete this path with the basename of SRC.

Example in the context of a wordpress app

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf"
# => This line will be added into CSV file
# "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/nginx.conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf/"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf"

#Deprecated usages (maintained for retro-compatibility)
ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "${backup_dir}/conf/nginx.conf"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/nginx.conf"

ynh_backup "/etc/nginx/conf.d/$domain.d/$app.conf" "/conf/"
# => "/etc/nginx/conf.d/$domain.d/$app.conf","apps/wordpress/conf/$app.conf"

Requires YunoHost version 2.4.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_restore
+
Restore all files that were previously backuped in a core backup script or app backup script
+
+
+
+

+ + Usage: ynh_restore + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_restore_file
+
Restore a file or a directory
+
+
+
+

+ + Usage: ynh_restore_file --origin_path=origin_path [--dest_path=dest_path] [--not_mandatory] + +

+ +

+ Arguments: +

    + + +
  • -o, --origin_path : Path where was located the file or the directory before to be backuped or relative path to $YNH_CWD where it is located in the backup archive
  • + + + +
  • -d, --dest_path : Path where restore the file or the dir, if unspecified, the destination will be ORIGIN_PATH or if the ORIGIN_PATH doesn't exist in the archive, the destination will be searched into backup.csv
  • + + + +
  • -m, --not_mandatory : Indicate that if the file is missing, the restore process can ignore it.
  • + + +
+

+ + + + +

+ Examples:

    + + + ynh_restore_file "/etc/nginx/conf.d/$domain.d/$app.conf" + +
    + + + You can also use relative paths: + +
    + + + ynh_restore_file "conf/nginx.conf" + +
    + +
+

+ + +

+ Details: +

+ Use the registered path in backup_list by ynh_backup to restore the file at
the right place.

If DEST_PATH already exists and is lighter than 500 Mo, a backup will be made in
/home/yunohost.conf/backup/. Otherwise, the existing file is removed.

if apps/wordpress/etc/nginx/conf.d/$domain.d/$app.conf exists, restore it into
/etc/nginx/conf.d/$domain.d/$app.conf
if no, search for a match in the csv (eg: conf/nginx.conf) and restore it into
/etc/nginx/conf.d/$domain.d/$app.conf

Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_store_file_checksum
+
Calculate and store a file checksum into the app settings
+
+
+
+

+ + Usage: ynh_store_file_checksum --file=file + +

+ +

+ Arguments: +

    + + +
  • -f, --file : The file on which the checksum will performed, then stored.
  • + + +
+

+ + + + + +

+ Details: +

+ $app should be defined when calling this helper

Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_backup_if_checksum_is_different
+
Verify the checksum and backup the file if it's different
+
+
+
+

+ + Usage: ynh_backup_if_checksum_is_different --file=file + +

+ +

+ Arguments: +

    + + +
  • -f, --file : The file on which the checksum test will be perfomed.
  • + + +
+

+ + +

+ Returns: the name of a backup file, or nothing +

+ + + + +

+ Details: +

+ This helper is primarily meant to allow to easily backup personalised/manually
modified config files.

Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_delete_file_checksum
+
Delete a file checksum from the app settings
+
+
+
+

+ + Usage: ynh_remove_file_checksum file + +

+ +

+ Arguments: +

    + + +
  • -f, --file= : The file for which the checksum will be deleted
  • + + +
+

+ + + + + +

+ Details: +

+ $app should be defined when calling this helper

Requires YunoHost version 3.3.1 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_backup_before_upgrade
+
Make a backup in case of failed upgrade
+
+
+
+

+ + Usage: ynh_backup_before_upgrade +ynh_clean_setup () { + ynh_restore_upgradebackup +} +ynh_abort_if_errors + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_restore_upgradebackup
+
Restore a previous backup if the upgrade process failed
+
+
+
+

+ + Usage: ynh_backup_before_upgrade +ynh_clean_setup () { + ynh_restore_upgradebackup +} +ynh_abort_if_errors + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

fail2ban

+ + + +
+
+
+
ynh_add_fail2ban_config
+
Create a dedicated fail2ban config (jail and filter conf files)
+
+
+
+

+ + Usage: 1: ynh_add_fail2ban_config --logpath=log_file --failregex=filter [--max_retry=max_retry] [--ports=ports] +2: ynh_add_fail2ban_config --use_template [--others_var="list of others variables to replace"] +| for example : 'var_1 var_2 ...' + +

+ +

+ Arguments: +

    + + +
  • -l, --logpath= : Log file to be checked by fail2ban
  • + + + +
  • -r, --failregex= : Failregex to be looked for by fail2ban
  • + + + +
  • -m, --max_retry= : Maximum number of retries allowed before banning IP address - default: 3
  • + + + +
  • -p, --ports= : Ports blocked for a banned IP address - default: http,https
  • + + + +
  • -t, --use_template : Use this helper in template mode
  • + + + +
  • -v, --others_var= : List of others variables to replace separeted by a space
  • + + +
+

+ + + + + +

+ Details: +

+ -----------------------------------------------------------------------------

This will use a template in ../conf/f2b_jail.conf and ../conf/f2b_filter.conf
__APP__ by $app

You can dynamically replace others variables by example :
__VAR_1__ by $var_1
__VAR_2__ by $var_2

Generally your template will look like that by example (for synapse):

f2b_jail.conf:
[__APP__]
enabled = true
port = http,https
filter = __APP__
logpath = /var/log/__APP__/logfile.log
maxretry = 3

f2b_filter.conf:
[INCLUDES]
before = common.conf
[Definition]

# Part of regex definition (just used to make more easy to make the global regex)
__synapse_start_line = .? \- synapse\..+ \-

# Regex definition.
failregex = ^%(__synapse_start_line)s INFO \- POST\-(\d+)\- \- \d+ \- Received request\: POST /_matrix/client/r0/login\??%(__synapse_start_line)s INFO \- POST\-\1\- Got login request with identifier: \{u'type': u'm.id.user', u'user'\: u'(.+?)'\}, medium\: None, address: None, user\: u'\5'%(__synapse_start_line)s WARNING \- \- (Attempted to login as @\5\:.+ but they do not exist|Failed password login for user @\5\:.+)$

ignoreregex =

-----------------------------------------------------------------------------

Note about the "failregex" option:
regex to match the password failure messages in the logfile. The
host must be matched by a group named "host". The tag "" can
be used for standard IP/hostname matching and is only an alias for
(?:::f{4,6}:)?(?P[\w\-.^_]+)

You can find some more explainations about how to make a regex here :
https://www.fail2ban.org/wiki/index.php/MANUAL_0_8#Filters

Note that the logfile need to exist before to call this helper !!

To validate your regex you can test with this command:
fail2ban-regex /var/log/YOUR_LOG_FILE_PATH /etc/fail2ban/filter.d/YOUR_APP.conf

Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_fail2ban_config
+
Remove the dedicated fail2ban config (jail and filter conf files)
+
+
+
+

+ + Usage: ynh_remove_fail2ban_config + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

getopts

+ + + + +

logging

+ + +
ynh_die
-
Print a message to stderr and exit -usage: ynh_die --message=MSG [--ret_code=RETCODE]
+
Print a message to stderr and exit

- Usage: + + Usage: ynh_die --message=MSG [--ret_code=RETCODE] +

+ + + + +

Details:

Requires YunoHost version 2.4.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1438,20 +992,33 @@ usage: ynh_die --message=MSG [--ret_code=RETCODE]

+ Usage: ynh_print_info --message="Some message" +

+ + + + +

Details:

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1461,26 +1028,44 @@ usage: ynh_die --message=MSG [--ret_code=RETCODE]

+ Usage: ynh_print_warn --message="Text to print" +

+

Arguments:

    + +
  • -m, --message : The text to print
  • + +

+ + + + +

Details:

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1490,26 +1075,44 @@ usage: ynh_die --message=MSG [--ret_code=RETCODE]

+ Usage: ynh_print_err --message="Text to print" +

+

Arguments:

    + +
  • -m, --message : The text to print
  • + +

+ + + + +

Details:

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1519,29 +1122,45 @@ usage: ynh_die --message=MSG [--ret_code=RETCODE]

- Usage: ynh_exec_err command to execute -ynh_exec_err "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed. + + Usage: ynh_exec_err your_command +ynh_exec_err "your_command | other_command" +

+

Arguments:

    + +
  • command : command to execute
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1551,29 +1170,45 @@ If the command to execute uses double quotes, they have to be escaped or they wi

- Usage: ynh_exec_warn command to execute -ynh_exec_warn "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed. + + Usage: ynh_exec_warn your_command +ynh_exec_warn "your_command | other_command" +

+

Arguments:

    + +
  • command : command to execute
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1583,29 +1218,45 @@ If the command to execute uses double quotes, they have to be escaped or they wi

- Usage: ynh_exec_warn_less command to execute -ynh_exec_warn_less "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed. + + Usage: ynh_exec_warn_less your_command +ynh_exec_warn_less "your_command | other_command" +

+

Arguments:

    + +
  • command : command to execute
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1615,29 +1266,45 @@ If the command to execute uses double quotes, they have to be escaped or they wi

- Usage: ynh_exec_quiet command to execute -ynh_exec_quiet "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed. + + Usage: ynh_exec_quiet your_command +ynh_exec_quiet "your_command | other_command" +

+

Arguments:

    + +
  • command : command to execute
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1647,29 +1314,45 @@ If the command to execute uses double quotes, they have to be escaped or they wi

- Usage: ynh_exec_fully_quiet command to execute -ynh_exec_fully_quiet "command to execute | following command" -In case of use of pipes, you have to use double quotes. Otherwise, this helper will be executed with the first command, then be sent to the next pipe. -If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed. + + Usage: ynh_exec_fully_quiet your_command +ynh_exec_fully_quiet "your_command | other_command" +

+

Arguments:

    + +
  • command : command to execute
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1679,21 +1362,33 @@ If the command to execute uses double quotes, they have to be escaped or they wi

- Usage: ynh_print_OFF -WARNING: You should be careful with this helper, and never forget to use ynh_print_ON as soon as possible to restore the logging. + + Usage: ynh_print_OFF +

+ + + + +

Details:

- Requires YunoHost version 3.2.0 or higher.

+ WARNING: You should be careful with this helper, and never forget to use ynh_print_ON as soon as possible to restore the logging.

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1703,53 +1398,1191 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_print_ON +

+ + + + +

Details:

Requires YunoHost version 3.2.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
-
-
increment_progression=0
-
Print a message as INFO and show progression during an app script
+
+
ynh_script_progression
+
Print a progress bar showing the progression of an app script
-
+

+ Usage: ynh_script_progression --message=message [--weight=weight] [--time] +

+

Arguments:

    + +
  • -m, --message= : The text to print
  • + + +
  • -w, --weight= : The weight for this progression. This value is 1 by default. Use a bigger value for a longer part of the script.
  • -
  • -t, --time= : Print the execution time since the last call to this helper. Especially usefull to define weights.
  • + + + +
  • -t, --time= : Print the execution time since the last call to this helper. Especially usefull to define weights. The execution time is given for the duration since the previous call. So the weight should be applied to this previous call.
  • + + +
  • -l, --last= : Use for the last call of the helper, to fill te progression bar.
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.?.? or higher.

+ Requires YunoHost version 3.5.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
-

psql

+ + + +
+
+
+
ynh_return
+
Return data to the Yunohost core for later processing +(to be used by special hooks like app config panel and core diagnosis)
+
+
+
+

+ + Usage: ynh_return somedata + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.6.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_debug
+
Debugger for app packagers
+
+
+
+

+ + Usage: ynh_debug [--message=message] [--trace=1/0] + +

+ +

+ Arguments: +

    + + +
  • -m, --message= : The text to print
  • + + + +
  • -t, --trace= : Turn on or off the trace of the script. Usefull to trace nonly a small part of a script.
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_debug_exec
+
Execute a command and print the result as debug
+
+
+
+

+ + Usage: ynh_debug_exec your_command +ynh_debug_exec "your_command | other_command" + +

+ +

+ Arguments: +

    + + +
  • command : command to execute
  • + + +
+

+ + + + + +

+ Details: +

+ When using pipes, double quotes are required - otherwise, this helper will run the first command, and the whole output will be sent through the next pipe.

If the command to execute uses double quotes, they have to be escaped or they will be interpreted and removed.

Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

logrotate

+ + + +
+
+
+
ynh_use_logrotate
+
Use logrotate to manage the logfile
+
+
+
+

+ + Usage: ynh_use_logrotate [--logfile=/log/file] [--nonappend] [--specific_user=user/group] + +

+ +

+ Arguments: +

    + + +
  • -l, --logfile : absolute path of logfile
  • + + + +
  • -n, --nonappend : (optional) Replace the config file instead of appending this new config.
  • + + + +
  • -u, --specific_user : run logrotate as the specified user and group. If not specified logrotate is runned as root.
  • + + +
+

+ + + + + +

+ Details: +

+ If no --logfile is provided, /var/log/${app} will be used as default.
logfile can be just a directory, or a full path to a logfile :
/parentdir/logdir
/parentdir/logdir/logfile.log

It's possible to use this helper multiple times, each config will be added to
the same logrotate config file. Unless you use the option --non-append

Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_logrotate
+
Remove the app's logrotate config.
+
+
+
+

+ + Usage: ynh_remove_logrotate + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

mysql

+ + + +
+
+
+
ynh_mysql_connect_as
+
Open a connection as a user
+
+
+
+

+ + Usage: ynh_mysql_connect_as --user=user --password=password [--database=database] + +

+ +

+ Arguments: +

    + + +
  • -u, --user : the user name to connect as
  • + + + +
  • -p, --password : the user password
  • + + + +
  • -d, --database : the database to connect to
  • + + +
+

+ + + +

+ Example: ynh_mysql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_mysql_connect_as 'user' 'pass' < /path/to/file.sql +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_execute_as_root
+
Execute a command as root user
+
+
+
+

+ + Usage: ynh_mysql_execute_as_root --sql=sql [--database=database] + +

+ +

+ Arguments: +

    + + +
  • -s, --sql : the SQL command to execute
  • + + + +
  • -d, --database : the database to connect to
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_execute_file_as_root
+
Execute a command from a file as root user
+
+
+
+

+ + Usage: ynh_mysql_execute_file_as_root --file=file [--database=database] + +

+ +

+ Arguments: +

    + + +
  • -f, --file : the file containing SQL commands
  • + + + +
  • -d, --database : the database to connect to
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_dump_db
+
Dump a database
+
+
+
+

+ + Usage: ynh_mysql_dump_db --database=database + +

+ +

+ Arguments: +

    + + +
  • -d, --database : the database name to dump
  • + + +
+

+ + +

+ Returns: the mysqldump output +

+ + +

+ Example: ynh_mysql_dump_db 'roundcube' > ./dump.sql +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_user_exists
+
Check if a mysql user exists
+
+
+
+

+ + Usage: ynh_mysql_user_exists --user=user + +

+ +

+ Arguments: +

    + + +
  • -u, --user : the user for which to check existence
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_setup_db
+
Create a database, an user and its password. Then store the password in the app's config
+
+
+
+

+ + Usage: ynh_mysql_setup_db --db_user=user --db_name=name [--db_pwd=pwd] + +

+ +

+ Arguments: +

    + + +
  • -u, --db_user : Owner of the database
  • + + + +
  • -n, --db_name : Name of the database
  • + + + +
  • -p, --db_pwd : Password of the database. If not provided, a password will be generated
  • + + +
+

+ + + + + +

+ Details: +

+ After executing this helper, the password of the created database will be available in $db_pwd
It will also be stored as "mysqlpwd" into the app settings.

Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_mysql_remove_db
+
Remove a database if it exists, and the associated user
+
+
+
+

+ + Usage: ynh_mysql_remove_db --db_user=user --db_name=name + +

+ +

+ Arguments: +

    + + +
  • -u, --db_user : Owner of the database
  • + + + +
  • -n, --db_name : Name of the database
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

network

+ + + +
+
+
+
ynh_find_port
+
Find a free port and return it
+
+
+
+

+ + Usage: ynh_find_port --port=begin_port + +

+ +

+ Arguments: +

    + + +
  • -p, --port : port to start to search
  • + + +
+

+ + + +

+ Example: port=$(ynh_find_port --port=8080) +

+ + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_validate_ip
+
Validate an IP address
+
+
+
+

+ + Usage: ynh_validate_ip --family=family --ip_address=ip_address + +

+ + +

+ Returns: 0 for valid ip addresses, 1 otherwise +

+ + +

+ Example: ynh_validate_ip 4 111.222.333.444 +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_validate_ip4
+
Validate an IPv4 address
+
+
+
+

+ + Usage: ynh_validate_ip4 --ip_address=ip_address + +

+ + +

+ Returns: 0 for valid ipv4 addresses, 1 otherwise +

+ + +

+ Example: ynh_validate_ip4 111.222.333.444 +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_validate_ip6
+
Validate an IPv6 address
+
+
+
+

+ + Usage: ynh_validate_ip6 --ip_address=ip_address + +

+ + +

+ Returns: 0 for valid ipv6 addresses, 1 otherwise +

+ + +

+ Example: ynh_validate_ip6 2000:dead:beef::1 +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

nginx

+ + + +
+
+
+
ynh_add_nginx_config
+
Create a dedicated nginx config
+
+
+
+

+ + Usage: ynh_add_nginx_config "list of others variables to replace" + +

+ +

+ Arguments: +

    + + +
  • list : (Optional) list of others variables to replace separated by spaces. For example : 'path_2 port_2 ...'
  • + + +
+

+ + + + + +

+ Details: +

+ This will use a template in ../conf/nginx.conf
__PATH__ by $path_url
__DOMAIN__ by $domain
__PORT__ by $port
__NAME__ by $app
__FINALPATH__ by $final_path

And dynamic variables (from the last example) :
__PATH_2__ by $path_2
__PORT_2__ by $port_2

Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_nginx_config
+
Remove the dedicated nginx config
+
+
+
+

+ + Usage: ynh_remove_nginx_config + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

nodejs

+ + + +
+
+
+
ynh_use_nodejs
+
Load the version of node for an app, and set variables.
+
+
+
+

+ + Usage: ynh_use_nodejs + +

+ + + + + +

+ Details: +

+ ynh_use_nodejs has to be used in any app scripts before using node for the first time.

2 variables are available:
- $nodejs_path: The absolute path of node for the chosen version.
- $nodejs_version: Just the version number of node for this app. Stored as 'nodejs_version' in settings.yml.
And 2 alias stored in variables:
- $nodejs_use_version: An old variable, not used anymore. Keep here to not break old apps
NB: $PATH will contain the path to node, it has to be propagated to any other shell which needs to use it.
That's means it has to be added to any systemd script.

Requires YunoHost version 2.7.12 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_install_nodejs
+
Install a specific version of nodejs
+
+
+
+

+ + Usage: ynh_install_nodejs --nodejs_version=nodejs_version + +

+ +

+ Arguments: +

    + + +
  • -n, --nodejs_version : Version of node to install. When possible, your should prefer to use major version number (e.g. 8 instead of 8.10.0). The crontab will then handle the update of minor versions when needed.
  • + + +
+

+ + + + + +

+ Details: +

+ n (Node version management) uses the PATH variable to store the path of the version of node it is going to use.
That's how it changes the version

ynh_install_nodejs will install the version of node provided as argument by using n.

Requires YunoHost version 2.7.12 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_nodejs
+
Remove the version of node used by the app.
+
+
+
+

+ + Usage: ynh_remove_nodejs + +

+ + + + + +

+ Details: +

+ This helper will check if another app uses the same version of node,
if not, this version of node will be removed.
If no other app uses node, n will be also removed.

Requires YunoHost version 2.7.12 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

php

+ + + +
+
+
+
ynh_add_fpm_config
+
Create a dedicated php-fpm config
+
+
+
+

+ + Usage: ynh_add_fpm_config [--phpversion=7.X] + +

+ +

+ Arguments: +

    + + +
  • -v, --phpversion : Version of php to use.
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_fpm_config
+
Remove the dedicated php-fpm config
+
+
+
+

+ + Usage: ynh_remove_fpm_config + +

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + +

postgresql

+ + +
@@ -1759,31 +2592,68 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_connect_as --user=user --password=password [--database=database] +

+

Arguments:

    + +
  • -u, --user : the user name to connect as
  • + + +
  • -p, --password : the user password
  • + + +
  • -d, --database : the database to connect to
  • + +

+ + + +

- Example: ynh_psql_connect_as 'user' 'pass' <<< "UPDATE ...;" example: ynh_psql_connect_as 'user' 'pass' < /path/to/file.sql + Examples:

    + + + ynh_psql_connect_as 'user' 'pass' <<< "UPDATE ...;" + +
    + + + ynh_psql_connect_as 'user' 'pass' < /path/to/file.sql + +
    + +

+ +

Details:

- Requires YunoHost version 3.?.? or higher.

+ Requires YunoHost version 3.5.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1793,27 +2663,48 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_execute_as_root --sql=sql [--database=database] +

+

Arguments:

    + +
  • -s, --sql : the SQL command to execute
  • + + +
  • -d, --database : the database to connect to
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.?.? or higher.

+ Requires YunoHost version 3.5.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1823,27 +2714,48 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_execute_file_as_root --file=file [--database=database] +

+

Arguments:

    + +
  • -f, --file : the file containing SQL commands
  • + + +
  • -d, --database : the database to connect to
  • + +

+ + + + +

Details:

- Requires YunoHost version 3.?.? or higher.

+ Requires YunoHost version 3.5.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1853,32 +2765,52 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_dump_db --database=database +

+

Arguments:

    + +
  • -d, --database : the database name to dump
  • + +

+ +

Returns: the psqldump output

+ +

Example: ynh_psql_dump_db 'roundcube' > ./dump.sql

+ + +

Details:

- Requires YunoHost version 3.?.? or higher.

+ Requires YunoHost version 3.5.0 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1888,20 +2820,37 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_user_exists --user=user +

+

Arguments:

    + +
  • -u, --user : the user for which to check existence
  • + +

+ + + + +

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1911,20 +2860,37 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_database_exists --database=database +

+

Arguments:

    + +
  • -d, --database : the database for which to check existence
  • + +

+ + + + +

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1934,28 +2900,52 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_setup_db --db_user=user --db_name=name [--db_pwd=pwd] +

+

Arguments:

    + +
  • -u, --db_user : Owner of the database
  • + + +
  • -n, --db_name : Name of the database
  • + + +
  • -p, --db_pwd : Password of the database. If not given, a password will be generated
  • + +

+ + + + +

Details:

After executing this helper, the password of the created database will be available in $db_pwd
It will also be stored as "psqlpwd" into the app settings.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1965,21 +2955,41 @@ WARNING: You should be careful with this helper, and never forget to use ynh_pri

+ Usage: ynh_psql_remove_db --db_user=user --db_name=name +

+

Arguments:

    + +
  • -u, --db_user : Owner of the database
  • + + +
  • -n, --db_name : Name of the database
  • + +

+ + + + +

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -1990,15 +3000,31 @@ Please always call this script in install and restore scripts

+ Usage: ynh_psql_test_if_first_run +

+ + + + +

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + + +

setting

+ + +
@@ -2008,27 +3034,48 @@ Please always call this script in install and restore scripts

+ Usage: ynh_app_setting_get --app=app --key=key +

+

Arguments:

    + +
  • -a, --app : the application id
  • + + +
  • -k, --key : the setting to get
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2038,28 +3085,52 @@ Please always call this script in install and restore scripts

+ Usage: ynh_app_setting_set --app=app --key=key --value=value +

+

Arguments:

    + +
  • -a, --app : the application id
  • + + +
  • -k, --key : the setting name to set
  • + + +
  • -v, --value : the setting value to set
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2069,28 +3140,592 @@ Please always call this script in install and restore scripts

+ Usage: ynh_app_setting_delete --app=app --key=key +

+

Arguments:

    + +
  • -a, --app : the application id
  • + + +
  • -k, --key : the setting to delete
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + + +
+
+
+
ynh_add_skipped_uris
+
Add skipped_uris urls into the config
+
+
+
+

+ + Usage: ynh_add_skipped_uris [--appid=app] --url=url1,url2 [--regex] + +

+ +

+ Arguments: +

    + + +
  • -a, --appid : the application id
  • + + + +
  • -u, --url : the urls to add to the sso for this app
  • + + + +
  • -r, --regex : Use the key 'skipped_regex' instead of 'skipped_uris'
  • + + +
+

+ + + + + +

+ Details: +

+ An URL set with 'skipped_uris' key will be totally ignored by the SSO,
which means that the access will be public and the logged-in user information will not be passed to the app.

Requires YunoHost version 3.6.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_add_unprotected_uris
+
Add unprotected_uris urls into the config
+
+
+
+

+ + Usage: ynh_add_unprotected_uris [--appid=app] --url=url1,url2 [--regex] + +

+ +

+ Arguments: +

    + + +
  • -a, --appid : the application id
  • + + + +
  • -u, --url : the urls to add to the sso for this app
  • + + + +
  • -r, --regex : Use the key 'unprotected_regex' instead of 'unprotected_uris'
  • + + +
+

+ + + + + +

+ Details: +

+ An URL set with unprotected_uris key will be accessible publicly, but if an user is logged in,
his information will be accessible (through HTTP headers) to the app.

Requires YunoHost version 3.6.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_add_protected_uris
+
Add protected_uris urls into the config
+
+
+
+

+ + Usage: ynh_add_protected_uris [--appid=app] --url=url1,url2 [--regex] + +

+ +

+ Arguments: +

    + + +
  • -a, --appid : the application id
  • + + + +
  • -u, --url : the urls to add to the sso for this app
  • + + + +
  • -r, --regex : Use the key 'protected_regex' instead of 'protected_uris'
  • + + +
+

+ + + + + +

+ Details: +

+ An URL set with protected_uris will be blocked by the SSO and accessible only to authenticated and authorized users.

Requires YunoHost version 3.6.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_webpath_available
+
Check availability of a web path
+
+
+
+

+ + Usage: ynh_webpath_available --domain=domain --path_url=path + +

+ +

+ Arguments: +

    + + +
  • -d, --domain : the domain/host of the url
  • + + + +
  • -p, --path_url : the web path to check the availability of
  • + + +
+

+ + + +

+ Example: ynh_webpath_available --domain=some.domain.tld --path_url=/coffee +

+ + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_webpath_register
+
Register/book a web path for an app
+
+
+
+

+ + Usage: ynh_webpath_register --app=app --domain=domain --path_url=path + +

+ +

+ Arguments: +

    + + +
  • -a, --app : the app for which the domain should be registered
  • + + + +
  • -d, --domain : the domain/host of the web path
  • + + + +
  • -p, --path_url : the web path to be registered
  • + + +
+

+ + + +

+ Example: ynh_webpath_register --app=wordpress --domain=some.domain.tld --path_url=/coffee +

+ + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_permission_create
+
Create a new permission for the app
+
+
+
+

+ + Usage: ynh_permission_create --permission "permission" [--url "url"] [--allowed group1 group2] + +

+ +

+ Arguments: +

    + + +
  • permission : the name for the permission (by default a permission named "main" already exist)
  • + + + +
  • url : (optional) URL for which access will be allowed/forbidden
  • + + + +
  • allowed : (optional) A list of group/user to allow for the permission
  • + + +
+

+ + + +

+ Example: ynh_permission_create --permission admin --url /admin --allowed alice bob +

+ + + +

+ Details: +

+ If provided, 'url' is assumed to be relative to the app domain/path if they
start with '/'. For example:
/ -> domain.tld/app
/admin -> domain.tld/app/admin
domain.tld/app/api -> domain.tld/app/api

'url' can be later treated as a regex if it starts with "re:".
For example:
re:/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$
re:domain.tld/app/api/[A-Z]*$ -> domain.tld/app/api/[A-Z]*$

Requires YunoHost version 3.7.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_permission_delete
+
Remove a permission for the app (note that when the app is removed all permission is automatically removed)
+
+
+
+

+ + Usage: ynh_permission_delete --permission "permission" + +

+ +

+ Arguments: +

    + + +
  • permission : the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
  • + + +
+

+ + + +

+ Example: ynh_permission_delete --permission editors +

+ + + +

+ Details: +

+ Requires YunoHost version 3.7.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_permission_exists
+
Check if a permission exists
+
+
+
+

+ + Usage: ynh_permission_exists --permission=permission + +

+ +

+ Arguments: +

    + + +
  • -p, --permission : the permission to check
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.7.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_permission_url
+
Redefine the url associated to a permission
+
+
+
+

+ + Usage: ynh_permission_url --permission "permission" --url "url" + +

+ +

+ Arguments: +

    + + +
  • permission : the name for the permission (by default a permission named "main" is removed automatically when the app is removed)
  • + + + +
  • url : (optional) URL for which access will be allowed/forbidden
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.7.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_permission_update
+
Update a permission for the app
+
+
+
+

+ + Usage: ynh_permission_update --permission "permission" --add "group" ["group" ...] --remove "group" ["group" ...] + +

+ +

+ Arguments: +

    + + +
  • permission : the name for the permission (by default a permission named "main" already exist)
  • + + + +
  • add : the list of group or users to enable add to the permission
  • + + + +
  • remove : the list of group or users to remove from the permission
  • + + +
+

+ + + +

+ Example: ynh_permission_update --permission admin --add samdoe --remove all_users Requires YunoHost version 3.7.0 or higher. +

+ + + +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +

string

+ + +
@@ -2100,29 +3735,48 @@ Please always call this script in install and restore scripts

+ Usage: ynh_string_random [--length=string_length] +

+

Arguments:

    + +
  • -l, --length : the string length to generate (default: 24)
  • + +

+ + +

Example: pwd=$(ynh_string_random --length=8)

+ + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2132,28 +3786,52 @@ Please always call this script in install and restore scripts

+ Usage: ynh_replace_string --match_string=match_string --replace_string=replace_string --target_file=target_file +

+

Arguments:

    + +
  • -m, --match_string : String to be searched and replaced in the file
  • + + +
  • -r, --replace_string : String that will replace matches
  • + + +
  • -f, --target_file : File in which the string will be replaced.
  • + +

+ + + + +

Details:

As this helper is based on sed command, regular expressions and
references to sub-expressions can be used
(see sed manual page for more information)

Requires YunoHost version 2.6.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2163,78 +3841,289 @@ Please always call this script in install and restore scripts

+ Usage: ynh_replace_special_string --match_string=match_string --replace_string=replace_string --target_file=target_file +

+

Arguments:

    + +
  • -m, --match_string : String to be searched and replaced in the file
  • + + +
  • -r, --replace_string : String that will replace matches
  • + + +
  • -t, --target_file : File in which the string will be replaced.
  • + +

+ + + + +

Details:

This helper will use ynh_replace_string, but as you can use special
characters, you can't use some regular expressions and sub-expressions.

Requires YunoHost version 2.7.7 or higher.

+

Dude, show me the code !

+
+
-

system

+ + +
-
-
ynh_abort_if_errors
-
Exits if an error occurs during the execution of the script.
+
+
ynh_sanitize_dbid
+
Sanitize a string intended to be the name of a database +(More specifically : replace - and . by _)
-
+

- Usage: ynh_abort_if_errors + + Usage: ynh_sanitize_dbid --db_name=name +

+ +

+ Arguments: +

    + + +
  • -n, --db_name : name to correct/sanitize
  • + + +
+

+ + +

+ Returns: the corrected name +

+ + +

+ Example: dbname=$(ynh_sanitize_dbid $app) +

+ + +

Details:

- This configure the rest of the script execution such that, if an error occurs
or if an empty variable is used, the execution of the script stops
immediately and a call to `ynh_clean_setup` is triggered if it has been
defined by your script.

Requires YunoHost version 2.6.4 or higher.

+ Requires YunoHost version 2.2.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
-
-
ynh_get_debian_release
-
Fetch the Debian release codename
+
+
ynh_normalize_url_path
+
Normalize the url path syntax
-
+

- Usage: ynh_get_debian_release + + Usage: ynh_normalize_url_path --path_url=path_to_normalize +

+

- Returns: The Debian release codename (i.e. jessie, stretch, ...) + Arguments: +

    + + +
  • -p, --path_url : URL path to normalize before using it
  • + + +

+ + + + +

+ Examples:

    + + + url_path=$(ynh_normalize_url_path $url_path) + +
    + + + ynh_normalize_url_path example # -> /example + +
    + + + ynh_normalize_url_path /example # -> /example + +
    + + + ynh_normalize_url_path /example/ # -> /example + +
    + + + ynh_normalize_url_path / # -> / + +
    + +
+

+ +

Details:

- Requires YunoHost version 2.7.12 or higher.

+ Handle the slash at the beginning of path and its absence at ending
Return a normalized url path

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + + + +

systemd

+ + + +
+
+
+
ynh_add_systemd_config
+
Create a dedicated systemd config
+
+
+
+

+ + Usage: ynh_add_systemd_config [--service=service] [--template=template] + +

+ +

+ Arguments: +

    + + +
  • -s, --service : Service name (optionnal, $app by default)
  • + + + +
  • -t, --template : Name of template file (optionnal, this is 'systemd' by default, meaning ./conf/systemd.service will be used as template)
  • + + +
+

+ + + + + +

+ Details: +

+ This will use the template ../conf/.service
to generate a systemd config, by replacing the following keywords
with global variables that should be defined before calling
this helper :

__APP__ by $app
__FINALPATH__ by $final_path

Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_remove_systemd_config
+
Remove the dedicated systemd config
+
+
+
+

+ + Usage: ynh_remove_systemd_config [--service=service] + +

+ +

+ Arguments: +

    + + +
  • -s, --service : Service name (optionnal, $app by default)
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.7.2 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + +
@@ -2244,29 +4133,57 @@ Please always call this script in install and restore scripts

- Usage: ynh_systemd_action [-n service_name] [-a action] [ [-l "line to match"] [-p log_path] [-t timeout] [-e length] ] - If not defined it don't wait until the service is completely started. - WARNING: When using --line_match, you should always add `ynh_clean_check_starting` into your - `ynh_clean_setup` at the beginning of the script. Otherwise, tail will not stop in case of failure - of the script. The script will then hang forever. + + Usage: ynh_systemd_action [-n service_name] [-a action] [ [-l "line to match"] [-p log_path] [-t timeout] [-e length] ] +

+

Arguments:

    + +
  • -n, --service_name= : Name of the service to start. Default : $app
  • + + +
  • -a, --action= : Action to perform with systemctl. Default: start
  • -
  • -l, --line_match= : Line to match - The line to find in the log to attest the service have finished to boot.
  • + + + +
  • -l, --line_match= : Line to match - The line to find in the log to attest the service have finished to boot. If not defined it don't wait until the service is completely started. WARNING: When using --line_match, you should always add `ynh_clean_check_starting` into your `ynh_clean_setup` at the beginning of the script. Otherwise, tail will not stop in case of failure of the script. The script will then hang forever.
  • + + +
  • -p, --log_path= : Log file - Path to the log file. Default : /var/log/$app/$app.log
  • + + +
  • -t, --timeout= : Timeout - The maximum time to wait before ending the watching. Default : 300 seconds.
  • + + +
  • -e, --length= : Length of the error log : Default : 20
  • + +

+ + + + +

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -2277,136 +4194,31 @@ Please always call this script in install and restore scripts

+ Usage: ynh_clean_check_starting +

+ + + + +

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_read_manifest
-
Read the value of a key in a ynh manifest file
-
-
-
-

- Usage: ynh_read_manifest manifest key -

-

- Arguments: -

    -
  • -m, --manifest= : Path of the manifest to read
  • -
  • -k, --key= : Name of the key to find
  • -
-

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_app_upstream_version
-
Read the upstream version from the manifest -The version number in the manifest is defined by ~ynh -For example : 4.3-2~ynh3 -This include the number before ~ynh -In the last example it return 4.3-2
-
-
-
-

- Usage: ynh_app_upstream_version [-m manifest] -

-

- Arguments: -

    -
  • -m, --manifest= : Path of the manifest to read
  • -
-

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_app_package_version
-
Read package version from the manifest -The version number in the manifest is defined by ~ynh -For example : 4.3-2~ynh3 -This include the number after ~ynh -In the last example it return 3
-
-
-
-

- Usage: ynh_app_package_version [-m manifest] -

-

- Arguments: -

    -
  • -m, --manifest= : Path of the manifest to read
  • -
-

-

- Details: -

- Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_check_app_version_changed
-
Checks the app version to upgrade with the existing app version and returns: -- UPGRADE_APP if the upstream app version has changed -- UPGRADE_PACKAGE if only the YunoHost package has changed
-
-
-
-

- Usage: ynh_check_app_version_changed -

-

- Details: -

- It stops the current script without error if the package is up-to-date

This helper should be used to avoid an upgrade of an app, or the upstream part
of it, when it's not needed

To force an upgrade, even if the package is up to date,
you have to set the variable YNH_FORCE_UPGRADE before.
example: sudo YNH_FORCE_UPGRADE=1 yunohost app upgrade MyApp

Requires YunoHost version 3.?.? or higher.

-

-

-

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + + +

user

+ + +
@@ -2416,29 +4228,48 @@ In the last example it return 3

+ Usage: ynh_user_exists --username=username +

+

Arguments:

    + +
  • -u, --username : the username to check
  • + +

+ + +

Example: ynh_user_exists 'toto' || exit 1

+ + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2448,33 +4279,56 @@ In the last example it return 3

+ Usage: ynh_user_get_info --username=username --key=key +

+

Arguments:

    + +
  • -u, --username : the username to retrieve info from
  • + + +
  • -k, --key : the key to retrieve
  • + +

+ +

Returns: string - the key's value

+ +

Example: mail=$(ynh_user_get_info 'toto' 'mail')

+ + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2484,26 +4338,41 @@ In the last example it return 3

+ Usage: ynh_user_list +

+ +

Returns: string - one username per line

+ +

Example: for u in $(ynh_user_list); do ...

+ + +

Details:

Requires YunoHost version 2.4.0 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2513,26 +4382,44 @@ In the last example it return 3

+ Usage: ynh_system_user_exists --username=username +

+

Arguments:

    + +
  • -u, --username : the username to check
  • + +

+ + + + +

Details:

Requires YunoHost version 2.2.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2542,20 +4429,37 @@ In the last example it return 3

+ Usage: ynh_system_group_exists --group=group +

+

Arguments:

    + +
  • -g, --group : the group to check
  • + +

+ + + + +

Dude, show me the code !

+
+
+ + +
@@ -2565,40 +4469,78 @@ In the last example it return 3

+ Usage: ynh_system_user_create --username=user_name [--home_dir=home_dir] [--use_shell] +

+

Arguments:

    + +
  • -u, --username : Name of the system user that will be create
  • + + +
  • -h, --home_dir : Path of the home dir for the user. Usually the final path of the app. If this argument is omitted, the user will be created without home
  • + + +
  • -s, --use_shell : Create a user using the default login shell if present. If this argument is omitted, the user will be created with /usr/sbin/nologin shell
  • + +

+ + + +

Examples:

    + + Create a nextcloud user with no home directory and /usr/sbin/nologin login shell (hence no login capability) +
    + + ynh_system_user_create --username=nextcloud +
    + + Create a discourse user using /var/www/discourse as home directory and the default login shell +
    + + ynh_system_user_create --username=discourse --home_dir=/var/www/discourse --use_shell +
    +

+ +

Details:

Requires YunoHost version 2.6.4 or higher.

+

Dude, show me the code !

+
+
+ + +
@@ -2608,110 +4550,85 @@ In the last example it return 3

+ Usage: ynh_system_user_delete --username=user_name +

+

Arguments:

    + +
  • -u, --username : Name of the system user that will be create
  • + +

+ + + + +

Details:

Requires YunoHost version 2.6.4 or higher.

+

Dude, show me the code !

+
+
+ + + +

utils

+ + +
-
-
ynh_get_plain_key
-
Extract a key from a plain command output
+
+
ynh_abort_if_errors
+
Exits if an error occurs during the execution of the script.
-
+

- Usage: ynh_get_plain_key key [subkey [subsubkey ...]] -

-

- Returns: string - the key's value -

-

- Example: yunohost user info tata --output-as plain | ynh_get_plain_key mail + + Usage: ynh_abort_if_errors +

+ + + + +

Details:

- Requires YunoHost version 2.2.4 or higher.

+ This configure the rest of the script execution such that, if an error occurs
or if an empty variable is used, the execution of the script stops
immediately and a call to `ynh_clean_setup` is triggered if it has been
defined by your script.

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_restore_upgradebackup
-
Restore a previous backup if the upgrade process failed
-
-
-
-

- Usage: ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_restore_upgradebackup -} -ynh_abort_if_errors -

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! -

-
-
-
-
-
-
-
ynh_backup_before_upgrade
-
Make a backup in case of failed upgrade
-
-
-
-

- Usage: ynh_backup_before_upgrade -ynh_clean_setup () { - ynh_restore_upgradebackup -} -ynh_abort_if_errors -

-

- Details: -

- Requires YunoHost version 2.7.2 or higher.

-

-

-

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -2721,27 +4638,48 @@ ynh_abort_if_errors

+ Usage: ynh_setup_source --dest_dir=dest_dir [--source_id=source_id] +

+

Arguments:

    + +
  • -d, --dest_dir : Directory where to setup sources
  • + + +
  • -s, --source_id : Name of the app, if the package contains more than one app
  • + +

+ + + + +

Details:

The file conf/app.src need to contains:

SOURCE_URL=Address to download the app archive
SOURCE_SUM=Control sum
# (Optional) Program to check the integrity (sha256sum, md5sum...)
# default: sha256
SOURCE_SUM_PRG=sha256
# (Optional) Archive format
# default: tar.gz
SOURCE_FORMAT=tar.gz
# (Optional) Put false if sources are directly in the archive root
# default: true
# Instead of true, SOURCE_IN_SUBDIR could be the number of sub directories
# to remove.
SOURCE_IN_SUBDIR=false
# (Optionnal) Name of the local archive (offline setup support)
# default: ${src_id}.${src_format}
SOURCE_FILENAME=example.tar.gz
# (Optional) If it set as false don't extract the source.
# (Useful to get a debian package or a python wheel.)
# default: true
SOURCE_EXTRACT=(true|false)

Details:
This helper downloads sources from SOURCE_URL if there is no local source
archive in /opt/yunohost-apps-src/APP_ID/SOURCE_FILENAME

Next, it checks the integrity with "SOURCE_SUM_PRG -c --status" command.

If it's ok, the source archive will be uncompressed in $dest_dir. If the
SOURCE_IN_SUBDIR is true, the first level directory of the archive will be
removed.
If SOURCE_IN_SUBDIR is a numeric value, 2 for example, the 2 first level
directories will be removed

Finally, patches named sources/patches/${src_id}-*.patch and extra files in
sources/extra_files/$src_id will be applied to dest_dir

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -2751,32 +4689,60 @@ ynh_abort_if_errors

+ Usage: ynh_local_curl "page_uri" "key1=value1" "key2=value2" ... +

+

Arguments:

    + +
  • page_uri : Path (relative to $path_url) of the page where POST data will be sent
  • + + +
  • key1=value1 : (Optionnal) POST key and corresponding value
  • + + +
  • key2=value2 : (Optionnal) Another POST key and corresponding value
  • + + +
  • ... : (Optionnal) More POST keys and values
  • + +

+ + +

Example: ynh_local_curl "/install.php?installButton" "foo=$var1" "bar=$var2"

+ + +

Details:

$domain and $path_url should be defined externally (and correspond to the domain.tld and the /path (of the app?))

Requires YunoHost version 2.6.4 or higher.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
+ + +
@@ -2786,28 +4752,361 @@ ynh_abort_if_errors

+ Usage: ynh_render_template some_template output_path +

+

Arguments:

    + +
  • some_template : Template file to be rendered
  • + + +
  • output_path : The path where the output will be redirected to
  • + +

+ + + + +

Details:

Attention : Variables should be exported before calling this helper to be
accessible inside templates.

+

- Dude, show me the code ! + Dude, show me the code !

+
+
-

Generated by this script on 2019-04-08 18:53:09.449596 (version 3.5.1.1)

+ + + +
+
+
+
ynh_get_debian_release
+
Fetch the Debian release codename
+
+
+
+

+ + Usage: ynh_get_debian_release + +

+ + +

+ Returns: The Debian release codename (i.e. jessie, stretch, ...) +

+ + + + +

+ Details: +

+ Requires YunoHost version 2.7.12 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_secure_remove
+
Remove a file or a directory securely
+
+
+
+

+ + Usage: ynh_secure_remove --file=path_to_remove + +

+ +

+ Arguments: +

    + + +
  • -f, --file : File or directory to remove
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 2.6.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_get_plain_key
+
Extract a key from a plain command output
+
+
+
+

+ + Usage: ynh_get_plain_key key [subkey [subsubkey ...]] + +

+ + +

+ Returns: string - the key's value +

+ + +

+ Example: yunohost user info tata --output-as plain | ynh_get_plain_key mail +

+ + + +

+ Details: +

+ Requires YunoHost version 2.2.4 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_read_manifest
+
Read the value of a key in a ynh manifest file
+
+
+
+

+ + Usage: ynh_read_manifest manifest key + +

+ +

+ Arguments: +

    + + +
  • -m, --manifest= : Path of the manifest to read
  • + + + +
  • -k, --key= : Name of the key to find
  • + + +
+

+ + + + + +

+ Details: +

+ Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_app_upstream_version
+
Read the upstream version from the manifest
+
+
+
+

+ + Usage: ynh_app_upstream_version [-m manifest] + +

+ +

+ Arguments: +

    + + +
  • -m, --manifest= : Path of the manifest to read
  • + + +
+

+ + + + + +

+ Details: +

+ The version number in the manifest is defined by ~ynh
For example : 4.3-2~ynh3
This include the number before ~ynh
In the last example it return 4.3-2

Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_app_package_version
+
Read package version from the manifest
+
+
+
+

+ + Usage: ynh_app_package_version [-m manifest] + +

+ +

+ Arguments: +

    + + +
  • -m, --manifest= : Path of the manifest to read
  • + + +
+

+ + + + + +

+ Details: +

+ The version number in the manifest is defined by ~ynh
For example : 4.3-2~ynh3
This include the number after ~ynh
In the last example it return 3

Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + +
+
+
+
ynh_check_app_version_changed
+
Checks the app version to upgrade with the existing app version and returns:
+
+
+
+

+ + Usage: ynh_check_app_version_changed + +

+ + + + + +

+ Details: +

+ - UPGRADE_APP if the upstream app version has changed
- UPGRADE_PACKAGE if only the YunoHost package has changed

It stops the current script without error if the package is up-to-date

This helper should be used to avoid an upgrade of an app, or the upstream part
of it, when it's not needed

To force an upgrade, even if the package is up to date,
you have to set the variable YNH_FORCE_UPGRADE before.
example: sudo YNH_FORCE_UPGRADE=1 yunohost app upgrade MyApp

Requires YunoHost version 3.5.0 or higher.

+

+

+ +

+ Dude, show me the code ! +

+ +
+
+ +
+ + + + diff --git a/packaging_apps_hooks.md b/packaging_apps_hooks.md new file mode 100644 index 00000000..748cc17d --- /dev/null +++ b/packaging_apps_hooks.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](packaging_apps_hooks_fr) for now. diff --git a/packaging_apps_hooks_fr.md b/packaging_apps_hooks_fr.md index 76578e28..c81dc654 100644 --- a/packaging_apps_hooks_fr.md +++ b/packaging_apps_hooks_fr.md @@ -115,7 +115,7 @@ backup_name=$1 ##### `post_app_install`, `post_app_upgrade`, `post_app_remove` et `post_app_change_url` -Les variables utilisables dans ces scripts sont les mêmes que celles disponibles dans [les scripts d'actions associés](/packaging_apps_scripts_fr). +Les variables utilisables dans ces scripts sont les mêmes que celles disponibles dans [les scripts d'actions associés](/packaging_apps_scripts). Example: pour `post_app_install` les variables sont les mêmes que pour le script `install` diff --git a/packaging_apps_levels_fr.md b/packaging_apps_levels_fr.md index f6bca8d1..843c5f46 100644 --- a/packaging_apps_levels_fr.md +++ b/packaging_apps_levels_fr.md @@ -99,7 +99,7 @@ YEP à respecter pour atteindre le niveau 4: ### Niveau 5 **L'application ne présente aucune erreur dans [Package linter](https://github.com/YunoHost/package_linter).** -*Il peux y avoir des faux positifs dans Package linter. Ces situations seront gérées au cas par cas.* +*Il peut y avoir des faux positifs dans Package linter. Ces situations seront gérées au cas par cas.* YEP à respecter pour atteindre le niveau 5: - *[YEP 1.3](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines_fr.md#yep-13---indiquer-la-licence-associ%C3%A9e-au-paquet---valid%C3%A9--auto--working-) : Indiquer la licence associée au paquet* diff --git a/packaging_apps_manifest.md b/packaging_apps_manifest.md index f966fa15..f4407aa1 100644 --- a/packaging_apps_manifest.md +++ b/packaging_apps_manifest.md @@ -1,4 +1,4 @@ -Application packaging +Application packaging ## 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: @@ -53,9 +53,9 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun } ``` -* **name**: 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. +* **name**: 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. Any characters are allowed. -* **id**: ID of the app. You have to ensure that this ID is unique before submit an app integration request. +* **id**: ID of the app. You have to ensure that this ID is unique before submit an app integration request. See [packaging_apps_guidelines.md#yep-11](https://github.com/YunoHost/doc/blob/master/packaging_apps_guidelines.md#yep-11) for valid rules. - **packaging_format**: package version. Actual version is **1**. This key has been set up to make independant packaging evolution versions from YunoHost versions evolution. @@ -63,7 +63,7 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun * **url**: software website. -* **version**: version of the package builded from the upstream version number and an incremental number for each change in the package without upstream change. Example "1.0.1~ynh7". Must be a string. +* **version**: version of the package built from the upstream version number and an incremental number for each change in the package without upstream change. Example "1.0.1~ynh7". Must be a string. * **license**: application license: `free`, `non-free` or a value from the Identifier column from https://spdx.org/licenses/. Be careful to not confuse with package license which must be put in `LICENSE` file. @@ -71,14 +71,14 @@ The `manifest.json` file defines the app's constants, a bunch of values that Yun - **requirements**: dependency of the application package to a Debian YunoHost package version. For instance, "yunohost": ">> 2.3.12", `yunohost` package version must be up to `2.3.12`. -* [**multi_instance**](packaging_apps_multiinstance_en): it defines app's ability to be installed multiple times. +* [**multi_instance**](/packaging_apps_multiinstance): it defines app's ability to be installed multiple times. * **services**: services needed by the application among `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`… * **arguments**: * **install**: argument for the YunoHost's administrator to enter at installation. * **name**: argument identification. - * **type**: (optional) argument type among `domain`, `path`, `user`, `app`, `boolean`, `string` and `password`. The field will be hiden in the password case. + * **type**: (optional) argument type among `domain`, `path`, `user`, `app`, `boolean`, `string` and `password`. The field will be hidden in the password case. * **choices** : (optional) restrict value to several choices. * **optional** : (optional) field which indicate if this argument is optional. It can have `true` and `false` value. * **ask**: question (at least in `en`) that you can translate. diff --git a/packaging_apps_manifest_fr.md b/packaging_apps_manifest_fr.md index 72791575..50a9c611 100644 --- a/packaging_apps_manifest_fr.md +++ b/packaging_apps_manifest_fr.md @@ -1,4 +1,4 @@ -Packaging d’application +Packaging d’application ## 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. Voici un exemple : @@ -71,7 +71,7 @@ Le fichier `manifest.json` définit les constantes de l’application, un ensemb - **requirements** : dépendance du paquet de l’application à la version d’un paquet Debian de YunoHost. Par exemple : "yunohost": ">> 2.3.12", le paquet `yunohost` doit être de version supérieur à `2.3.12`. -* [**multi_instance**](packaging_apps_multiinstance_fr) : capacité d’une application d’être installée plusieurs fois. +* [**multi_instance**](/packaging_apps_multiinstance) : capacité d’une application d’être installée plusieurs fois. * **services** : liste des services nécessaires au fonctionnement de l’application. `nginx`, `php5-fpm`, `mysql`, `uwsgi`, `metronome`, `postfix`, `dovecot`… diff --git a/packaging_apps_multiinstance.md b/packaging_apps_multiinstance.md index 7f847ba5..03bc6680 100644 --- a/packaging_apps_multiinstance.md +++ b/packaging_apps_multiinstance.md @@ -1,4 +1,4 @@ -Application packaging +Application packaging ### Multi-instance Multi-instance is application capacity to be installed several times. @@ -6,7 +6,7 @@ Multi-instance is application capacity to be installed several times. #### Scripts When YunoHost installs the application, it passes `$YNH_APP_INSTANCE_NAME` var to the script, set to value `id__n` with the application `id` coming from the manifest and `n` being an integer incremented each time a new instance of the application is installed. -**E.g.** in the roundcube script, database is called `roundcube`, the install directory `roundcube` and the [Nginx configuration](packaging_apps_nginx_conf_en) `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. +**E.g.** in the roundcube script, database is called `roundcube`, the install directory `roundcube` and the [Nginx configuration](/packaging_apps_nginx_conf) `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. Retrieve app identifier (including the multi-instance id): ```bash @@ -14,7 +14,7 @@ app=$YNH_APP_INSTANCE_NAME ``` #### Manifest -Set `multi_instance` variable to `true` in the [manifest](packaging_apps_manifest_en): +Set `multi_instance` variable to `true` in the [manifest](/packaging_apps_manifest): ```json "multi_instance": true, ``` diff --git a/packaging_apps_multiinstance_fr.md b/packaging_apps_multiinstance_fr.md index d652343a..58a6809b 100644 --- a/packaging_apps_multiinstance_fr.md +++ b/packaging_apps_multiinstance_fr.md @@ -1,4 +1,4 @@ -Packaging d’application +Packaging d’application ### Multi-instances Le multi-instance est la capacité d’une application à être installée plusieurs fois. @@ -6,7 +6,7 @@ Le multi-instance est la capacité d’une application à être installée plusi #### Scripts Lorsque YunoHost installe l’application, il passe au script dans la variable `$YNH_APP_INSTANCE_NAME` la valeur `id__n` avec l’identifiant de l’application `id` provenant du manifeste et `n` un nombre incrémentée à chaque nouvelle instance de l’application. -**Par exemple** : dans le script roundcube, il faut nommer la base de données `roundcube`, le dossier d’installation `roundcube` et la [configuration Nginx](packaging_apps_nginx_conf_fr) `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ées `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`. +**Par exemple** : dans le script roundcube, il faut nommer la base de données `roundcube`, le dossier d’installation `roundcube` et la [configuration Nginx](/packaging_apps_nginx_conf) `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ées `roundcube__2`, dans le répertoire `roundcube__2`, et avec la configuration Nginx `roundcube__2`. Récupération de l'identifiant de l'app (incluant l'id multi-instance) : @@ -15,7 +15,7 @@ app=$YNH_APP_INSTANCE_NAME ``` #### Manifeste -Passer la variable `multi_instance` à `true` dans le [manifeste](packaging_apps_manifest_fr) : +Passer la variable `multi_instance` à `true` dans le [manifeste](/packaging_apps_manifest) : ```json "multi_instance": true, ``` diff --git a/packaging_apps_scripts.md b/packaging_apps_scripts.md index 0aac6741..7d5c4a88 100644 --- a/packaging_apps_scripts.md +++ b/packaging_apps_scripts.md @@ -1,4 +1,4 @@ -Application packaging +Application packaging ## Scripts @@ -30,7 +30,7 @@ It contains the instance's number. Warning, it's not the number of running insta Example: 3 -### Specific variables to use in `install` +### Variables specific to `install` #### YNH_APP_ARG_XXXXXXX An environment variable is available for each question asked in the installation. @@ -54,7 +54,7 @@ The name of the question is `domain` so in the script we can access it with YNH_ domain=$YNH_APP_ARG_DOMAIN ``` -### Variables spécifiques pour `change_url` +### Variables specific to `change_url` #### YNH_APP_OLD_DOMAIN The old domain where the app was installed. #### YNH_APP_OLD_PATH diff --git a/packaging_apps_scripts_fr.md b/packaging_apps_scripts_fr.md index d17dde86..8854f287 100644 --- a/packaging_apps_scripts_fr.md +++ b/packaging_apps_scripts_fr.md @@ -1,4 +1,4 @@ -Packaging d’application +Packaging d’application ## Les scripts diff --git a/packaging_apps_start.md b/packaging_apps_start.md index 2b1257f0..7f4e99de 100644 --- a/packaging_apps_start.md +++ b/packaging_apps_start.md @@ -12,15 +12,16 @@ To be able to do that, we need to remember that Yunohost at its core is a server If you have ever installed a web application manually, you already know that the process is in reality far more complex, usually involving a lot of steps and discipline. -This is what application packaging is, a serie of scripts that automate the installation of a web application and its configuration in order to provide the final user with a few clicks installation process. +This is what application packaging is, a series of scripts that automate the installation of a web application and its configuration in order to provide the final user with a few clicks installation process. ### How it works From the final user perspective, it is as simple as it can be: -1) Pick an application -1) Fill a form -1) Wait -1) Application is ready to use + +1. Pick an application +2. Fill a form +3. Wait +4. Application is ready to use There is more to see backstage: First, when the application is selected, Yunohost will retrieve the corresponding package from github. eg: [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh). @@ -34,31 +35,31 @@ The install script will handle the user answers to complete the process as you w If the user wants to delete the application, Yunohost will use the remove script from the "*scripts*" folder. It will handle the cleaning process for the user and delete all folders and configuration files that was previsouly installed by the application. -### What is a script +### What is a script? -Scripts used during application packaging are simply a serie of bash commands. +Scripts used during application packaging are simply a series of bash commands. ### ... bash command? -A [bash](https://en.wikipedia.org/wiki/Bash_(Unix_shell)) command is a line of text that will be interpreted by the computer and will produce a result. This is commonly refered to a command line. +A [bash](https://en.wikipedia.org/wiki/Bash_%28Unix_shell%29) command is a line of text that will be interpreted by the computer and will produce a result. This is commonly refered to as a command line. -You only can interact with your server through command line as it does not provide a graphical interface. Usual access is through [ssh](/ssh_en). +You can ony interact with your server through the command line as it does not provide a graphical interface. Usual access is through [ssh](/ssh). -Package scripts are therefore a serie of bash commands as if you had typed them directly in the ssh console. +Package scripts are therefore a series of bash commands as if you had typed them directly in the ssh console. -To know what you can write in a bash script, you should start reading this [simple tuto](https://debian-facile.org/doc:programmation:shells:debuter-avec-les-scripts-shell-bash) or this [more advanced one](http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/index.html). +To know what you can write in a bash script, you should start reading this [simple tutorial](https://debian-facile.org/doc:programmation:shells:debuter-avec-les-scripts-shell-bash) or this [more advanced one](http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/index.html). -### Ok, I'm good ! Where do I start? +### Ok, I'm good! Where do I start? -Before starting the packaging process, you need to successfully install the application. The script will only perform what you instruct him to do. +Before starting the packaging process, you need to successfully install the application. The script will only perform what you instruct it to do. -Once completed, you need to read a little bit more documentation about application packaging. [This one is more technical](/packaging_apps_en) but now you should understand all the wizardry. +Once completed, you need to read a little bit more documentation about application packaging. [This one is more technical](/packaging_apps) but now you should understand all the wizardry. ### HELP! NEED BACKUP! Fortunately, you are not alone in this! -There is other packagers like you and you can meet them on the [forum](https://forum.yunohost.org/c/apps-packaging) or the [chat](xmpp:apps@conference.yunohost.org?join). +There are other packagers like you and you can meet them on the [forum](https://forum.yunohost.org/c/apps-packaging) or the [chat](xmpp:apps@conference.yunohost.org?join). Feel free to join in and ask your questions, there always will be someone to help. diff --git a/packaging_apps_start_fr.md b/packaging_apps_start_fr.md index cb64df10..0d8c3ce8 100644 --- a/packaging_apps_start_fr.md +++ b/packaging_apps_start_fr.md @@ -37,7 +37,7 @@ Les scripts d'un package d'application sont simplement des commandes bash les un #### ... Et c'est quoi une commande bash ? Une commande [bash](https://fr.wikipedia.org/wiki/Bourne-Again_shell) c'est une ligne de texte qui sera interprétée et produira un résultat. C'est ce qu'on a l'habitude d'appeler la ligne de commande. -Or puisque votre serveur, sur lequel est installé YunoHost, ne dispose pas d'une interface graphique, vous n'avez que la ligne de commande de disponible. Vous l'atteignez en général après vous être connecté avec [ssh](/ssh_fr). +Or puisque votre serveur, sur lequel est installé YunoHost, ne dispose pas d'une interface graphique, vous n'avez que la ligne de commande de disponible. Vous l'atteignez en général après vous être connecté avec [ssh](/ssh). Les scripts d'un package ne sont donc qu'une succession de commandes bash, comme si vous les aviez tapées directement dans la console ssh pour installer l'application. @@ -47,7 +47,7 @@ Pour savoir quoi écrire dans un script bash, je vous conseille de commencer par Avant d'envisager de faire un package d'application, il faut réussir à installer correctement la dites application. Car le script ne fera que ce que vous lui direz de faire. -Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vrai cette fois, [celle qui emploie des mots bizarres](/packaging_apps_fr). +Ensuite, il faut aller lire (et oui encore) la documentation sur le packaging, mais la vrai cette fois, [celle qui emploie des mots bizarres](/packaging_apps). Mais maintenant vous devriez les comprendre tout ces mots étranges. Mais heureusement, vous n'êtes pas seul pour affronter cette épreuve titanesque, il y a d'autres packageurs que vous pouvez venir rencontrer sur le [forum](https://forum.yunohost.org/c/apps-packaging) et sur le [salon de discussion](xmpp:apps@conference.yunohost.org?join). diff --git a/packaging_apps_trap.md b/packaging_apps_trap.md new file mode 100644 index 00000000..e129d61c --- /dev/null +++ b/packaging_apps_trap.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](packaging_apps_trap_fr) for now. diff --git a/packaging_apps_trap_fr.md b/packaging_apps_trap_fr.md index aff67345..0ad71544 100644 --- a/packaging_apps_trap_fr.md +++ b/packaging_apps_trap_fr.md @@ -36,7 +36,7 @@ Ou ignorer complètement les signaux de sorties concernés. trap "" ERR ``` -Dans ce dernier cas, le signal d'interruption n'aura aucun effet sur le shell. Cela peux être utile pour une commande dont la sortie en erreur ne doit pas inpacter le déroulement du script d'installation. +Dans ce dernier cas, le signal d'interruption n'aura aucun effet sur le shell. Cela peux être utile pour une commande dont la sortie en erreur ne doit pas impacter le déroulement du script d'installation. ### Stopper le script d'installation et nettoyer avant de quitter. En cas d'erreur du script d'installation, trap doit nous permettre de stopper l'installation, puis de nettoyer les fichiers résiduels partiellement installés avant de quitter le script. diff --git a/packaging_apps_virtualbox.md b/packaging_apps_virtualbox.md new file mode 100644 index 00000000..c47bbfae --- /dev/null +++ b/packaging_apps_virtualbox.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](packaging_apps_virtualbox_fr) for now. diff --git a/packaging_apps_virtualbox_fr.md b/packaging_apps_virtualbox_fr.md index 823fdace..e046139f 100644 --- a/packaging_apps_virtualbox_fr.md +++ b/packaging_apps_virtualbox_fr.md @@ -6,26 +6,26 @@ Cette page de documentation va vous expliquer comment mettre en place un serveur Il y a principalement deux raisons pour préférer l'usage d'un serveur virtuel plutôt que votre propre serveur : -- Vous pouvez torturez à loisir un serveur virtuel sans courir le risque de le casser, puisque vous pourrez toujours restaurer un état précédent. Alors qu'il serait dommage de casser son propre serveur ! +- Vous pouvez torturer à loisir un serveur virtuel sans courir le risque de le casser, puisque vous pourrez toujours restaurer un état précédent. Alors qu'il serait dommage de casser son propre serveur ! - Un serveur virtuel sera restauré avant de travailler dessus, pour garder en permanence un système sans résidus d'une précédente installation. Cela permet de se rapprocher au plus près d'une première installation par un utilisateur. -Nous parlerons ici de VirtualBox, pour son approche graphique facile à utiliser. Si vous préférez une interface en ligne de commande pour la gestion de la machine virtuelle, tournez-vous de préférence vers [ynh-dev](/dev_fr). +Nous parlerons ici de VirtualBox, pour son approche graphique facile à utiliser. Si vous préférez une interface en ligne de commande pour la gestion de la machine virtuelle, tournez-vous de préférence vers [ynh-dev](/dev). ## Installer VirtualBox Depuis un système GNU Linux, installer simplement le paquet `virtualbox-qt`. -Depuis un système Windows ou macOS, il faudra se référer à la page de [téléchargement de VirtualBox](https://www.virtualbox.org/wiki/Downloads) pour récupérer le fichier d'installation adéquat. +Depuis un système Windows ou macOS, il faudra se référer à la page de [téléchargement de VirtualBox](https://www.virtualbox.org/wiki/Downloads) pour récupérer le fichier d'installation adéquat. Le paquet virtualbox est déprécié depuis debian 9, un fichier d'installation .deb est disponible sur la même page. Quel que soit votre système, il ne devrait pas être nécessaire d'installer l'extension pack ou les additions invités. ## Installer YunoHost sur VirtualBox -Suivez simplement la documentation idoine pour l'[installation sur VirtualBox](/install_on_virtualbox_fr) puis la documentation sur la [post-installation](/postinstall_fr). +Suivez simplement la documentation idoine pour l'[installation sur VirtualBox](/install_on_virtualbox) puis la documentation sur la [post-installation](/postinstall). Lors de la post-installation, il est inutile d'utiliser un nom de domaine en `.nohost.me` ou `.noho.st`, votre serveur virtuel ne sera pas accessible depuis l'extérieur de votre réseau local. Nous préférerons l'usage d'un faux nom de domaine qui restera cantonné au réseau local. Par exemple, `yunohost.packaging`. -Ce nom de domaine n'étant enregistré dans aucun serveur DNS, on l'enregistrera dans le fichier `hosts` de l'ordinateur qui y accédera. Voir la documentation sur le [DNS local](/dns_local_network_fr). +Ce nom de domaine n'étant enregistré dans aucun serveur DNS, on l'enregistrera dans le fichier `hosts` de l'ordinateur qui y accédera. Voir la documentation sur le [DNS local](/dns_local_network). Votre serveur virtuel est à présent installé. Avant de commencer à l'utiliser, nous allons voir comment créer un premier instantané et comment les utiliser. diff --git a/plug_and_boot.md b/plug_and_boot.md index ca2a2c76..2a085383 100644 --- a/plug_and_boot.md +++ b/plug_and_boot.md @@ -2,7 +2,7 @@ * Plug your server in wired Ethernet, or configure the wifi connection as explained [here](https://www.raspberrypi.org/documentation/configuration/wireless/wireless-cli.md). You can also mount the second partition of the SD card and edit the wpa-supplicant.conf file prior to boot the card for the first time - on Windows you can use [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/), don't forget to unmount everytime for changes to take effect. -* Do not forget to **plug a screen** if you want to see how boot is going, and a keyboard if you want to have a **command-line access** to your server. +* Optional : You can **connect a screen** if you want to see how boot is going, and a keyboard if you want to have a **command-line access** to your server. * Power up the server, wait for the first reboot to happen, and then wait until you see a big squared `Y` : @@ -10,8 +10,7 @@
-

*Write down the `IP address` field visible on the screen: It is your server's **local IP address**.* -

+Don't worry if you don't have a screen ! You can still find you IP address in the next step. diff --git a/plug_and_boot_es.md b/plug_and_boot_es.md new file mode 100644 index 00000000..d73cdd0d --- /dev/null +++ b/plug_and_boot_es.md @@ -0,0 +1,17 @@ +# Conectar e iniciar el servidor + +* Conecta tu servidor con un cable Ethernet (RJ-45) **directamente sobre tu router principal**. También puedes configurar la conexión wifi como explicado [aquí (fr)](http://raspbian-france.fr/connecter-wifi-raspberry-pi-3/). El wifi también puede configurarse sin haber iniciado la tarjeta, "montando" la segunda partición de la tarjeta y finalmente editando el archivo wpa-supplicant.conf. En Windows, puedes utilizar [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/), no olvides de "unmount" para que los cambios estén integrados. + +* No te olvides de **conectar una pantalla** si quieres observar cómo ocurre el inicio, y un teclado si quieres un acceso con **línea de comandos** a tu servidor. + +* Inicia el servidor, el Raspberry Pi va a reiniciarse si-mismo una primera vez, pues espera hasta que veas un gran `Y` cuadrado : + +
+ +
+ +

+*Nota el valor `IP` visible en la pantalla : esto es **la dirección IP local** de tu servidor.* +

+ +
diff --git a/plug_and_boot_fr.md b/plug_and_boot_fr.md index 8762e4dc..a237c19d 100644 --- a/plug_and_boot_fr.md +++ b/plug_and_boot_fr.md @@ -2,7 +2,7 @@ * Branchez votre serveur avec un câble Ethernet (RJ-45) **directement sur votre routeur principal**. Vous pouvez aussi configurer la connexion wifi comme expliqué [ici](http://raspbian-france.fr/connecter-wifi-raspberry-pi-3/). La configuration wifi peut aussi se faire sans avoir booté sur la carte, en "montant" la deuxième partition de la carte et enfin éditer le fichier wpa-supplicant.conf. Sur Windows vous pouvez utiliser [Paragon ExtFS](https://www.paragon-software.com/home/extfs-windows/), ne pas oublier de "unmount" pour que les changements soient pris en compte. -* N’oubliez pas de **brancher un écran** si vous voulez observer comment se déroule le démarrage, et un clavier si vous souhaitez un accès en **ligne de commande** à votre serveur. +* Facultatif : vous pouvez **brancher un écran** si vous voulez observer comment se déroule le démarrage, et un clavier si vous souhaitez un accès en **ligne de commande** à votre serveur. * Démarrez le serveur, le Raspberry Pi va redémarrer tout seul une première fois, puis attendez jusqu’à voir un gros `Y` carré : @@ -10,8 +10,9 @@
-

+ *Notez la valeur `IP` affichée à l’écran : c’est **l’adresse IP locale** de votre serveur.* -

+
+
Si vous n'avez pas d'écran pour votre Raspberry, ce n'est pas grave ! Vous pourrez trouver son adresse IP autrement à l'étape suivante. diff --git a/port_forwarding_es.md b/port_forwarding_es.md new file mode 100644 index 00000000..3ff93dc3 --- /dev/null +++ b/port_forwarding_es.md @@ -0,0 +1,5 @@ +# Redirección de puertos + +El esquema aquí abajo intenta explicar brevemente el rol de la redirección de los puertos durante la instalación de un servidor en tu casa. + + diff --git a/postinstall.md b/postinstall.md index 7702aa8d..bc4078da 100644 --- a/postinstall.md +++ b/postinstall.md @@ -6,7 +6,7 @@ The step called "**post-installation**" is actually the initial configuration of You can perform the post-installation with the web interface by entering in your browser : * **the local IP address of your server** if it is on your local network (e.g. at home !). The address typically looks like `192.168.x.y` (see 'Find your IP' on [the page about SSH](/ssh)) -* **the public IP address of your server** if your server is not on your local network. Typically, if you own a VPS, your VPS provider should have gave you the IP of the server. +* **the public IP address of your server** if your server is not on your local network. Typically, if you own a VPS, your VPS provider should have given you the IP of the server. During the first visit, you will very likely encounter a security warning related to the certificate used by the server. For now, your server uses a self-signed certificate. You will later be able to add a certificate automatically recognized by web browsers as described in the [certificate documentation](/certificate). For now, you should add a security exception to accept the current certificate. diff --git a/postinstall_es.md b/postinstall_es.md new file mode 100644 index 00000000..7cb92da2 --- /dev/null +++ b/postinstall_es.md @@ -0,0 +1,63 @@ +# Post-instalación + +La etapa que llamamos « **post-instalación** » de hecho es la etapa de configuración inicial de Yunohost. Se ejecuta después de la **instalación** del sistema mismo. + +### Vía la interfaz web + +Puedes acceder a la post-instalación gráfica entrando en un navegador web : +* la dirección **IP local de tu servidor** si éste está conectado a tu red local (en general `192.168.x.x`, ver ['Encontrar mi IP' en la página sobre SSH](/ssh)) +* la dirección **IP pública de tu servidor** si éste no está conectado a tu red local (por ejemplo, si es un VPS, tu proveedor debería haberte transmitido la dirección IP). + +Durante la primera visita, encontrarás muy probablemente una advertencia de seguridad relacionada al certificado utilizado. De momento, tu servidor utiliza un certificado autofirmado. Después, podrás utilizar un certificado automáticamente reconocido por los navegadores como descrito en la página sobre los [Certificados](/certificate). Mientras tanto, añade una excepción de seguridad para aceptar el certificado vigente. + +Luego, llegas en esta página : + + + +*

Vistazo de la post-instalación Web

* + +### Vía la interfaz de línea de comando + +También puedes acceder a la post-instalación entrando el comando `yunohost tools postinstall` directamente en el servidor o [en SSH](/ssh). + + + +*

Vistazo de la post-instalación con línea de comando

* + +## Informaciones solicitadas + +### Dominio principal + +Es el nombre de dominio que permitirá el acceso a tu servidor así como al portal de autenticación de los usuarios. Entonces estará **visible por todo el mundo** : elígelo en consecuencia. + +* YunoHost te propone un DNS dinámico, proveando nombres de dominio del tipo *midominio.nohost.me*, *midominio.noho.st* o *midominio.ynh.fr*. Si no posees un nombre de dominio y/o que quieres aprovechar de este servicio, elige un dominio terminando con `.nohost.me`, `.noho.st` o `.ynh.fr`. Si no está utlizado ya, el dominio automáticamente estará vinculado a tu servidor Yunohost, y no tendrás más etapas de configuración. + +* Si, en cambio, dominas la noción de **DNS**, puedes utilizar tu propio nombre de dominio. En este caso, refiérete a la página [yunohost.org/dns](/dns) por más información. + +* Si no tienes nombre de dominio y que no quieres uno que acabe con *.nohost.me*, *.noho.st* ou *.ynh.fr*, puedes utilizar un dominio local. Más información sobre cómo [acceder a tu servidor desde la red local](/dns_local_network). + + +### Contraseña de administración + +Es la contraseña que permitirá acceder a la [interfaz de administración](/admin) de tu servidor. También podrás utilizarla para conectarte remotamente vía **SSH**, o vía **SFTP** para transferir archivos. + +De manera general, ésta es la **llave de entrada en tu sistema**, pues piensa en **[elegirla atentamente](https://es.wikihow.com/escoger-una-contrase%C3%B1a-segura)**. + +
+ +--- + +## Enhorabuena ! + +Si llegas aquí después de haber visto “Yunohost fue instalado con éxito" desde tu navegador ou tu interfaz de línea de comando, pues felicitaciones ! + + +### ¿ Y ahora ? + +- Si te auto-alojas en casa y sin VPN, tienes que asegurarte que [los puertos de tu caja internet estén redirigidos](/isp_box_config) ; +- Si utilizas tu propio nombre de dominio (i.e. que no sea un nohost.me / + noho.st), tienes que [configurar el nombre de dominio según la configuración recomendada](/dns_config) ; +- Si no puedes configurar el nombre de dominio de momento (porque todavía no lo has comprado, ou porque es un dominio test), puedes solucionar temporalmente el problema con las instrucciones del último párrafo [aquí](/dns_local_network) ; +- No te asustes demasiado por [la advertencia a propósito del certificado](/certificate), tendrás la posibilidad de obtener un certificado Let's Encrypt :). +- Echa un vistazo a las [aplicaciones disponibles](/apps) ! + diff --git a/postinstall_fr.md b/postinstall_fr.md index c12dcc85..7b912a8e 100644 --- a/postinstall_fr.md +++ b/postinstall_fr.md @@ -33,14 +33,14 @@ C’est le nom de domaine qui permettra l’accès à votre serveur ainsi qu’a * YunoHost propose un service de DNS dynamique fournissant des noms de domaine de type *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*. Si vous ne possédez pas de nom de domaine et/ou que vous souhaitez profiter de ce service, choisissez un domaine se terminant en `.nohost.me`, `.noho.st` ou `.ynh.fr`. S'il n'est pas déjà utilisé, le domaine sera automatiquement rattaché à votre serveur YunoHost, et vous n’aurez pas d’étape de configuration supplémentaire. -* Si en revanche vous maîtrisez la notion de **DNS**, vous pouvez utiliser votre propre nom de domaine. Dans ce cas, référez-vous à la page [yunohost.org/dns](/dns_fr) pour plus d’informations. +* Si en revanche vous maîtrisez la notion de **DNS**, vous pouvez utiliser votre propre nom de domaine. Dans ce cas, référez-vous à la page [yunohost.org/dns](/dns) pour plus d’informations. -* Si vous n'avez pas de nom de domaine et que vous n'en voulez pas en *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*, vous pouvez utilisez un domaine local. Plus d'infos sur comment [accéder à son serveur depuis le réseau local](/dns_local_network_fr). +* Si vous n'avez pas de nom de domaine et que vous n'en voulez pas en *mondomaine.nohost.me*, *mondomaine.noho.st* ou *mondomaine.ynh.fr*, vous pouvez utilisez un domaine local. Plus d'infos sur comment [accéder à son serveur depuis le réseau local](/dns_local_network). ### Mot de passe d’administration -C’est le mot de passe qui vous permettra d’accéder à l’[interface d’administration](/admin_fr) de votre serveur. Vous pourrez également l’utiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers. +C’est le mot de passe qui vous permettra d’accéder à l’[interface d’administration](/admin) de votre serveur. Vous pourrez également l’utiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers. De manière générale, c’est la **clé d’entrée à votre système**, pensez donc à la **[choisir attentivement](http://www.commentcamarche.net/faq/8275-choisir-un-bon-mot-de-passe)**. @@ -56,16 +56,16 @@ votre navigateur ou la ligne de commande, alors félicitations ! ### Et maintenant ? - Si vous vous auto-hébergez à la maison et sans VPN, il faut vous assurer - de bien [rediriger les ports de votre box internet](isp_box_config_fr) ; -- Si vous utilisez votre propre nom de domaine (i.e. pas un nohost.me / + de bien [rediriger les ports de votre box internet](/isp_box_config) ; +- Si vous utilisez votre propre nom de domaine (c.-à-d. pas un nohost.me / noho.st), il vous faut [configurer le nom de domaine d'après la configuration - recommandée](dns_config_fr) ; + recommandée](/dns_config) ; - Si vous ne pouvez pas configurer le nom de domaine pour le moment (parce qu'il n'est pas encore acheté, ou parce que c'est un domaine de test), vous pouvez contourner temporairement le problème avec les instructions du dernier - paragraphe [ici](dns_local_network_fr) ; + paragraphe [ici](/dns_local_network) ; - Ne soyez pas trop effrayé par [l'avertissement à propos du - certificat](certificate_fr), vous aurez probablement la possibilité + certificat](/certificate), vous aurez probablement la possibilité d'installer un certificat Let's Encrypt :). -- Jetez un oeil aux [applications disponibles](apps_fr) ! +- Jetez un oeil aux [applications disponibles](/apps) ! diff --git a/project_budget.md b/project_budget.md new file mode 100644 index 00000000..ae733961 --- /dev/null +++ b/project_budget.md @@ -0,0 +1,28 @@ +# Project budget + +# Estimated budget for 2019/2020 + +## Expected revenues + +* Donations via Liberapay: current is about 45€/week, so about 2340€/year +* Grant from NLNet: 20K€, to be used for R&D (TODO: publish the project plan once validated with NLnet) + +## Expected expenses + +* Server renting: ~1000€ + * Forum: 14.4€/month: 172.80€/year + * CI: 20€/month (to be confirmed): 240€/year + * Bearnaise server migration to a new machine: 587.2€ +* Domain names: ~150€ + * nohost.me: 11.99€HT/year + * ynh.fr: 6.99€HT/year (to be confirmed with frju?) + * noho.st: ~35€ TTC/year + * YunoHost.org: 13.99€HT/year + * YunoHost.com: 9.99€HT/year + * labriqueinter.net: 12.49€HT/year + * internetcu.be: 17.99€HT/year +* Communication: ~200€ +* Travel (e.g. to go to conferences): ~500€ +* Bank account fees: 7x12€ => ~100€ + +**Total**: about 2000€ diff --git a/project_budget_fr.md b/project_budget_fr.md new file mode 100644 index 00000000..d73a948b --- /dev/null +++ b/project_budget_fr.md @@ -0,0 +1,28 @@ +# Budget du projet + +# Budget prévisionnel pour 2019/2020 + +## Revenus attendus + +* Dons via Liberapay: environ 45 € / semaine, soit environ 2340 € / an +* Subvention de NLNet: 20K €, à utiliser pour la R&D (TODO: publier le plan de projet une fois validé avec NLnet) + +## Dépenses prévues + +* Location Server: ~1000€ + * Forum: 14.4€/mois: 172.80€/ans + * CI: 20€/mois (à confirmer): 240€/mois + * Migration du serveur "Bearnaise" sur une nouvelle machine: 587.2€ +* Noms de domaine: ~150€ + * nohost.me: 11.99€HT/ans + * ynh.fr: 6.99€HT/ans (doit être confirmer avec frju?) + * noho.st: ~35€ TTC/ans + * YunoHost.org: 13.99€HT/ans + * YunoHost.com: 9.99€HT/ans + * labriqueinter.net: 12.49€Ht/ans + * internetcu.be: 17.99€HT/ans +* Communication: ~200€ +* Déplacements (ex: aller aux conférences): ~500€ +* Compte banquaire fees: 7x12€ => ~100€ + +**Total**: environ 2000€ diff --git a/security.md b/security.md index b2cff099..8884ccab 100644 --- a/security.md +++ b/security.md @@ -1,6 +1,6 @@ # Security -YunoHost has been developed to provide the best security without too much complication. Every protocol used in YunoHost are **encrypted**, only password's hashs are stored and by default each user is able to access to his personal directory only. +YunoHost has been developed to provide the best security without too much complication. Every protocol used in YunoHost is **encrypted**, only password's hashes are stored and by default each user is able to access his personal directory only. Two things remain important to note: @@ -40,33 +40,33 @@ nano /etc/ssh/sshd_config PasswordAuthentication no ``` -Save and restart SSH daemon. +Save and restart the SSH daemon. ```bash systemctl restart ssh ``` --- -### Modify SSH port +### Modify the SSH port -To prevent SSH connection attempts by robots that scan the Internet for any servers with SSH accessible, you can change the SSH port. +To prevent SSH connection attempts by robots that scan the Internet for any server with SSH enabled, you can change the SSH port. -**On your server**, edit the ssh configuration file, in order to modify SSH port. +**On your server**, edit the ssh configuration file, in order to modify the SSH port. ```bash nano /etc/ssh/sshd_config ``` -**Search line "Port" and replace** port number (by default 22) by another not used number +**Search the line "Port" and replace** port number (by default 22) by another unused number ```bash # What ports, IPs and protocols we listen for Port 22 # to replace by 9777 for example ``` -**Open the port** in firewall (you can use `-6` option to deny ipv4 connection) +**Open the port** in the firewall (you can use `-6` option to deny ipv4 connection) ```bash yunohost firewall allow TCP 9777 ``` -Save and restart SSH daemon. Switch over to the new port by restarting SSH. +Save and restart the SSH daemon. Switch over to the new port by restarting SSH. ```bash systemctl restart ssh ``` @@ -86,7 +86,7 @@ To do that you need to create the configuration file `my_ssh_port.conf` with the nano /etc/fail2ban/jail.d/my_ssh_port.conf ``` -and you can fill it with +and you can then fill it in with ```bash [sshd] @@ -114,7 +114,7 @@ ssh -p admin@ ### Change the user authorized to connect via SSH -To avoid multiple forced login attempts to admin by robots, change the authorized user who can connect. +To avoid multiple forced login attempts to the admin account by robots, change the authorized user who can connect.
In the case of a key authentication, a brute force attack has no chance of succeeding. This step is not really useful in this case. @@ -124,8 +124,8 @@ In the case of a key authentication, a brute force attack has no chance of succe ```bash sudo adduser user_name ``` -Choose a strong password, since this user will be responsible to obtain root privileges. -Add the user to sudo group to allow him/her to perform maintenance tasks that require root privileges. +Choose a strong password, since this user will be responsible with obtaining root privileges. +Add the user to the sudo group to allow him/her to perform maintenance tasks that require root privileges. ```bash sudo adduser user_name sudo ``` @@ -140,7 +140,7 @@ AllowUsers user_name ``` Only users listed in the AllowUsers directive will then be allowed to connect via SSH, which excludes the admin user. -Save and restart SSH daemon. +Save and restart the SSH daemon. ```bash systemctl restart ssh ``` @@ -148,9 +148,9 @@ systemctl restart ssh ### Change cipher compatibility configuration -The default TLS configuration for services tend to offer a good compatibility to support old devices. You can tune this policy for specific services like SSH and NGINX. By default, the NGINX configuration follows the [intermediate compatibility recommendation](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29) from Mozilla. You can choose to switch to the 'modern' configuration which uses more recent security recommendations, but decreases the compatibility, which may be an issue for your users and visitors using older devices. More details about the compatibility can be found on [this page](https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility). +The default TLS configuration for services tends to offer good compatibility to support old devices. You can tune this policy for specific services like SSH and NGINX. By default, the NGINX configuration follows the [intermediate compatibility recommendation](https://wiki.mozilla.org/Security/Server_Side_TLS#Intermediate_compatibility_.28default.29) from Mozilla. You can choose to switch to the 'modern' configuration which uses more recent security recommendations, but decreases the compatibility, which may be an issue for your users and visitors using older devices. More details about the compatibility can be found on [this page](https://wiki.mozilla.org/Security/Server_Side_TLS#Modern_compatibility). -Changing the compatibility level is not definitive and can be reverted if it doesn't feet your environment. +Changing the compatibility level is not definitive and can be reverted if it doesn't fit with your environment. **On your server**, change the policy for NGINX ```bash @@ -162,8 +162,8 @@ sudo yunohost settings set security.nginx.compatibility -v modern sudo yunohost settings set security.ssh.compatibility -v modern ``` -### Disable YunoHost API -YunoHost administration is accessible through an **HTTP API**, served on the 6787 port by default (only on `localhost`). It can be used to administrate a lot of things on your server, so malicious actors can also use it to damage your server. The best thing to do, if you know how to use the [command-line interface](/commandline), is to deactivate the `yunohost-api` service. +### Disable the YunoHost API +YunoHost administration is accessible through an **HTTP API**, served on the 6787 port by default (only on `localhost`). It can be used to administer a lot of things on your server, so malicious actors can also use it to damage your server. The best thing to do, if you know how to use the [command-line interface](/commandline), is to deactivate the `yunohost-api` service. ```bash sudo systemctl disable yunohost-api diff --git a/security_fr.md b/security_fr.md index 16af38ea..8d9c94e2 100644 --- a/security_fr.md +++ b/security_fr.md @@ -11,9 +11,9 @@ Deux points sont néanmoins importants à noter : * Le fait que YunoHost soit un logiciel répandu augmente les chances de subir une attaque. Si une faille est découverte, elle peut potentiellement **toucher toutes les instances YunoHost** à un temps donné. Nous nous efforçons de corriger ces failles le plus rapidement possible, pensez donc à **mettre à jour régulièrement** votre système. -*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/help_fr).* +*Si vous avez besoin de conseil, n’hésitez pas à [nous demander](/help).* -*Pour discuter d'une faille de sécurité, contactez l'[équipe sécurité de YunoHost](/security_team_fr).* +*Pour discuter d'une faille de sécurité, contactez l'[équipe sécurité de YunoHost](/security_team).* --- @@ -178,7 +178,7 @@ sudo yunohost settings set security.ssh.compatibility -v modern ### Désactivation de l’API YunoHost -YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut (seulement sur `localhost`). Elle permet d’administrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline_fr)** en SSH. +YunoHost est administrable via une **API HTTP**, servie sur le port 6787 par défaut (seulement sur `localhost`). Elle permet d’administrer une grande partie de votre serveur, et peut donc être utilisée à des **fins malveillantes**. La meilleure chose à faire si vous êtes habitués aux lignes de commande est de désactiver le service `yunohost-api`, et **utiliser la [ligne de commande](/commandline)** en SSH. ```bash sudo systemctl disable yunohost-api diff --git a/selfhosting.md b/selfhosting.md index d614c5ec..1229e776 100644 --- a/selfhosting.md +++ b/selfhosting.md @@ -16,14 +16,14 @@ Why should you host yourself ? - **You want to learn about how computers and the Internet work.** Operating your own server is a pretty good context to understand the basic mechanisms at the heart of operating systems and the Internet. You might have to deal with command line interface, network architecture, DNS configuration, SSH, and so on. -- **You want to explore new possibilities and customize things.** Ever dreamed of running a Minecraft server for you friends, or a persistent IRC or XMPP client? With you very own server, you can manually install and run virtually any program you want, and customize every bit. +- **You want to explore new possibilities and customize things.** Ever dreamed of running a Minecraft server for you friends, or a persistent IRC or XMPP client? With your very own server, you can manually install and run virtually any program you want, and customize every bit. Why should you *not* host yourself ? ------------------------------------ - **Self-hosting requires some work and patience.** Hosting yourself is a bit like growing your own garden or vegetables: it requires work and patience. While YunoHost aims to do all the hard work for you, self-hosting still requires that you take time to learn and configure a few things to setup your server properly. You will also need to perform maintenance tasks (such as upgrades) from time to time, or to ask for support if some things break. -- **With great servers comes great responsibilities.** Operating a server means that you are responsible for the data you are hosting. Nobody will be able to recover them for you if they get lost. YunoHost provides backup features, which you should use regularly to backup the configurations and data you care about. You should also keep and eye on security news and recommendations so that your server or critical data don't get compromised. +- **With great servers comes great responsibilities.** Operating a server means that you are responsible for the data you are hosting. Nobody will be able to recover them for you if they get lost. YunoHost provides backup features, which you should use regularly to backup the configurations and data you care about. You should also keep an eye on security news and recommendations so that your server or critical data don't get compromised. - **Quality and performance probably won't be as good as premium services.** YunoHost (and most of the applications packaged for it) are free and open-source software, developed by communities of people in their free time and on the basis of best effort. There is no absolute guarantee that software will work in every possible circumstance. The performance of your self-hosted server is also related to its CPU and RAM, and to the available internet connectivity. diff --git a/selfhosting_de.md b/selfhosting_de.md new file mode 100644 index 00000000..1574ed3a --- /dev/null +++ b/selfhosting_de.md @@ -0,0 +1,30 @@ +Self-Hosting +============ + +Self-Hosting ist das Hosten von Daten oder Software auf eigener IT-Infrastruktur. +Ihren eigenen Server zu Hause zu haben und zu verwalten, um Ihre persönlichen Daten und Dienste selbst zu hosten, anstatt sich ausschließlich auf Dritte zu verlassen. Beispielsweise können Sie Ihren Blog selbst hosten, sodass er auf einem Computer "lebt", über den Sie die Kontrolle haben, anstatt ihn im Austausch gegen Geld, Werbung oder private Daten auf dem Computer eines anderen Benutzers (a.k.a. The Cloud) zu haben. + +Self-Hosting bedeutet, einen Server zu besitzen. Ein Server ist ein Computer, auf den in der Regel rund um die Uhr im Netzwerk zugegriffen werden kann und der normalerweise keinen Bildschirm oder keine Tastatur hat (stattdessen wird er ferngesteuert). Entgegen der landläufigen Meinung ist ein Server nicht unbedingt ein riesiger und besonders leistungsfähiger Computer: Heutzutage ist ein kleines Board (Einplatinencomputer) mit ~ 40 € für das Self-Hosting ausreichend. + +Beim Self-Hosting geht es nicht darum, "Ihr Internet" sicherer zu machen, und es bietet auch keine Anonymität an sich. Stattdessen geht es darum, autonom zu sein und Ihre Dienste und Daten zu kontrollieren - was auch bedeutet, dafür verantwortlich zu sein. + +Warum sollten Sie selbst hosten? +------------------------------ + +- **Sie glauben an ein freies, offenes und dezentrales Internet.** In einem zentralisierten Internet können private Unternehmen und Behörden Personen ausspähen, analysieren und beeinflussen, indem sie diktieren, wie Sie sich miteinander verbinden, und indem sie Inhalte filtern. Yunohost wird von einer Community entwickelt, die an ein offenes und dezentrales Internet glaubt, und wir hoffen, dass Sie dies auch tun! + +- **Sie möchten die Kontrolle über Ihre Daten und Dienste haben.** Ihre Bilder, Chatnachrichten, der Browserverlauf und der Text, den Sie für die Schule schreiben, haben auf dem Server eines anderen Benutzers (a.k.a. The Cloud) nichts zu suchen. Sie sind Teil Ihres Privatlebens, aber auch Teil des Lebens Ihrer Familie, Ihres Partners und so weiter. Diese Daten sollten von * Ihnen * verwaltet werden, nicht von einem zufälligen Unternehmen in den USA, dass Ihre Daten analysieren und die Ergebnisse verkaufen möchte. + +- **Sie möchten lernen, wie Computer und das Internet funktionieren.** Der Betrieb eines eigenen Servers ist ein guter Kontext, um die grundlegenden Mechanismen von Betriebssystemen und dem Internet zu verstehen. Möglicherweise müssen Sie sich mit der Befehlszeilenschnittstelle, der Netzwerkarchitektur, der DNS-Konfiguration und mit SSH usw. befassen. + +- **Sie möchten neue Möglichkeiten erkunden und Dinge anpassen.** Haben Sie jemals davon geträumt, einen Minecraft-Server für Ihre Freunde oder einen dauerhaften IRC- oder XMPP-Client zu betreiben? Mit Ihrem eigenen Server können Sie praktisch jedes gewünschte Programm manuell installieren, ausführen und jedes Bit anpassen. + +Warum Sie vllt. *nicht* selbst hosten sollten? +------------------------------------ + +- **Self-Hosting erfordert etwas Arbeit und Geduld.** Selbst einen Server zu betreiben, ist ein bisschen wie das anlegen eines eigenen Gartens oder der anbau von Gemüse: Es erfordert Arbeit und Geduld. Während YunoHost versucht, die harte Arbeit für Sie zu erledigen, müssen Sie sich für das Self-Hosting noch einige Zeit nehmen, um einige Dinge zu lernen und zu konfigurieren, um Ihren Server richtig einzurichten. Sie müssen auch von Zeit zu Zeit Wartungsaufgaben (wie z. B. Upgrades) ausführen oder um Support-Unterstützung bitten, wenn Probleme auftreten. + +- **Mit den eigenen tollen Servern geht eine große Verantwortung einher.** Der Betrieb eines Servers bedeutet, dass Sie für die von Ihnen gehosteten Daten verantwortlich sind. Niemand kann sie für Sie wiederherstellen, wenn sie verloren gehen. YunoHost bietet Sicherungsfunktionen, die Sie regelmäßig verwenden sollten, um die gewünschten Konfigurationen und Daten zu sichern. Sie sollten auch die Sicherheitsnachrichten und -empfehlungen im Auge behalten, damit Ihr Server oder Ihre kritischen Daten nicht gefährdet werden. + +- **Qualität und Leistung sind wahrscheinlich nicht so gut wie Premium-Services.** YunoHost (und die meisten dafür bereitgestellten Anwendungen) sind kostenlose und Open-Source-Software, die in den jeweiligen Communitys von Menschen in ihrer Freizeit und auf der Grundlage bester Bemühungen entwickelt werden. Es gibt keine absolute Garantie dafür, dass Software unter allen möglichen Umständen funktioniert. Die Leistung Ihres selbst gehosteten Servers hängt auch von dessen CPU und RAM sowie der verfügbaren Internetverbindung ab. + diff --git a/selfhosting_fr.md b/selfhosting_fr.md index 73ced063..0fc5c17e 100644 --- a/selfhosting_fr.md +++ b/selfhosting_fr.md @@ -3,7 +3,7 @@ L'auto-hébergement L'auto-hébergement est le fait d'avoir et d'administrer son propre serveur, typiquement chez soi, pour héberger soi-même ses données personnelles et des services plutôt que de se reposer exclusivement sur des tiers. Par exemple, il est possible d'auto-héberger son blog de sorte qu'il "vive" dans une machine que vous contrôlez, au lieu qu'il soit sur l'ordinateur de quelqu'un d'autre (a.k.a. le Cloud) en échange d'argent, de publicités ou de données privées. -L'auto-hébergement implique de disposer d'un serveur. Un serveur est un ordinateur qui est destiné à être accessible sur le réseau en permanence, et n'a généralement pas d'écran ni de clavier puisqu'il est administré à distance. Contrairement à une croyance répandue, les serveurs ne sont pas nécessairement des machines énormes et extrêmement puissante : aujourd'hui, une petite carte ARM à ~30€ est adéquate pour de l'auto-hébergement. +L'auto-hébergement implique de disposer d'un serveur. Un serveur est un ordinateur qui est destiné à être accessible sur le réseau en permanence, et n'a généralement pas d'écran ni de clavier puisqu'il est administré à distance. Contrairement à une croyance répandue, les serveurs ne sont pas nécessairement des machines énormes et extrêmement puissantes: aujourd'hui, une petite carte ARM à ~30€ est adéquate pour de l'auto-hébergement. Pratiquer l'auto-hébergement ne rend pas "votre internet" plus sécurisé et ne fournit pas d'anonymat en tant que tel. L'objectif est généralement de pouvoir être autonome et au contrôle de ses services et de ses données - ce qui implique aussi d'en être responsable. @@ -16,7 +16,7 @@ Pourquoi s'auto-héberger ? - **Vous souhaitez apprendre comment fonctionnent les ordinateurs et Internet.** Opérer son propre serveur est un bon contexte pour apprendre les mécanismes de base au cœur des systèmes d'exploitations (OS) et d'Internet. Il vous faudra possiblement toucher à la ligne de commande et à des morceaux de configuration réseau et DNS. -- **Vous voulez explorer de nouvelles possibilités et personnaliser votre espace.** Avez-vous déjà rêvé d'avoir votre propre serveur Minecraft pour vos ami.e.s, ou un client IRC ou XMPP persistent ? Avec votre propre serveur, vous pouvez manuellement installer et faire tourner n'importe quel programme et personnaliser chaque morceau. +- **Vous voulez explorer de nouvelles possibilités et personnaliser votre espace.** Avez-vous déjà rêvé d'avoir votre propre serveur Minecraft pour vos ami·e·s, ou un client IRC ou XMPP persistent ? Avec votre propre serveur, vous pouvez manuellement installer et faire tourner n'importe quel programme et personnaliser chaque morceau. Pourquoi ne *pas* s'auto-héberger ? ----------------------------------- diff --git a/selfhosting_ru.md b/selfhosting_ru.md index 07881197..40f82c63 100644 --- a/selfhosting_ru.md +++ b/selfhosting_ru.md @@ -4,11 +4,11 @@ **Свой хостинг** - это сервер, расположенный у вас дома и предназначенный для размещения информации для личных нужд. #### Обязанности администратора -Свой хостинг создает для вас определенные обязанности, если вы хотите разместить на нём сайт, [e-mail](email_en), а также запустить [систему мгновенных сообщений](XMPP), ваш сервер должен работать и оставаться онлайн 24/7. +Свой хостинг создает для вас определенные обязанности, если вы хотите разместить на нём сайт, [e-mail](/email), а также запустить [систему мгновенных сообщений](XMPP), ваш сервер должен работать и оставаться онлайн 24/7. Распространенные проблемы, по причине которых сервер может быть недоступен включают в себя: отсутствие электроэнергии, потеря доступа к Интернету, итд. -К примеру, если вы используете [e-mail](email_en) и ваш сервер по какой-то причине становится недоступен, отправленные на него сообщения будут отправлены снова только по прошествии от 3 до 7 дней. +К примеру, если вы используете [e-mail](/email) и ваш сервер по какой-то причине становится недоступен, отправленные на него сообщения будут отправлены снова только по прошествии от 3 до 7 дней. #### Минусы своего хостинга * Медленная передача данных. При использовании ADSL, скорость загрузки составляет 1/10 от скорости закачки. К примеру при скорости загрузки 1Мб/с скорость загрузки будет около 100Кб/с; diff --git a/ssh.md b/ssh.md index a2425bcd..68084a69 100644 --- a/ssh.md +++ b/ssh.md @@ -13,6 +13,7 @@ If you are installing on a VPS, then your VPS provider should have gave you your If you are installing at home (e.g. on a Raspberry Pi or OLinuXino), then you need to find out which IP has been attributed to your board after you plugged it to your internet box / router. Several ways exists to find your server's IP : - open a terminal and use `sudo arp-scan --local` to list the IP on your local network ; +- if the arp-scan command displays a confusing number of devices, you can check which ones are open to ssh with `nmap -p 22 192.168.1.0/24` to sort them out (adapt the IP range to your local network) - use your internet box / router interface to list the machines connected, or check the logs ; - plug a screen on your server, log in and type `hostname --all-ip-address`. @@ -34,6 +35,10 @@ Since YunoHost 3.4, after running the postinstallation, you won't be able to log After logging in for the first time, you should change the root password. The server might automatically ask you to do so. If not, use the command `passwd`. It is important to choose a reasonably strong password. Note that the root password will be overriden by the admin password when you perform the postinstallation. +#### Let's configure ! + +We're now ready to begin the [post-installation](postinstall). + ## After installing YunoHost If you installed your server at home and are attempting to connect from outside your local network, make sure port 22 is correctly forwarded to your server. (Reminder : since YunoHost 3.4 you should connect using the `admin` user !) @@ -90,4 +95,4 @@ yunohost user ssh list-keys N.B. : `fail2ban` will ban your IP for 10 mimutes if you perform 5 failed login attempts. If you need to unban the IP, have a look at the page about [fail2ban](/fail2ban) -A more extensive discussion about security & SSH can be found on the [dedicated page](security_en). +A more extensive discussion about security & SSH can be found on the [dedicated page](/security). diff --git a/ssh_es.md b/ssh_es.md new file mode 100644 index 00000000..2cb0cba8 --- /dev/null +++ b/ssh_es.md @@ -0,0 +1,91 @@ +# SSH + +## ¿ Qué es SSH ? + +**SSH** est un acrónimo por Secure Shell, y representa un protocolo que permite controlar remotamente una máquina vía la línea de comandos (CLI). También es un comando básico disponible en los terminales de Linux y MacOS / OSX. En Windows, hace falta utilizar el programa [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (después de haberlo iniciado, clicar sobre Session y luego SSH). + +## Durante la instalación de Yunohost + +#### Encontrar su IP + +Si instalas Yunohost en un VPS, tu proveedor debería haberte comunicado la dirección IP de tu servidor. + +Si instalas un servidor en tu casa (por ejemplo en Raspberry Pi u OLinuXino), tienes que encontrar el IP que fue atribuido a tu tarjeta cuando la conectaste a tu router / caja Internet. Hay varias maneras de hacerlo : + +- abre una terminal y teclea `sudo arp-scan --local` para enumerar los IP de las máquinas en la red local ; +- utiliza la interfaz de tu router caja internet para listar las máquinas conectadas, o mira los los ; +- conecta una pantalla en tu servidor, inicia una sesión y escribe `hostname --all-ip-address`. + +#### Conectarse + +Suponiendo que tu dirección IP sea `111.222.333.444`, abre una terminal y escribe : + +```bash +ssh root@111.222.333.444 +``` + +Ahora te piden una contraseña. Si es un VPS, tu proveedor ya te hará comunicado la contraseña. Si utilizaste una imagen pre-instalada (para x86 o tarjetas ARM), el password debería ser `yunohost`. + +
+Desde YunoHost 3.4, después de la post-instalación ya no es posible conectarse con el usuario `root`. En lugar de eso, hace falta **conectarse con el usuario `admin`**. Incluso si el servidor LDAP fuera quebrado (haciendo que el usuario `admin` ya no fuera utilizable) todavía deberías poder conectarte con el usuario `root` desde la red local. +
+ +#### ¡ Cambiar la contraseña root ! + +Después de haberte conectado por primera vez, tienes que cambiar la contraseña `root`. Tal vez el servidor te pida automáticamente que lo hagas. Si no es el caso, hay que utilizar el comando `passwd`. Es muy importante que elijas una contraseña bastante complicada. Nota que esta contraseña luego estará reemplazada por la contraseña admin elegida durante la post-instalación. + + +## En una instancia que ya está instalada + +Si instalaste tu servidor en casa y que quieres conectarte desde fuera de la red local, asegúrate que hayas previamente redirigido el puerto 22 de tu router / caja hacia tu servidor (con el usuario `admin` !) + +Si sólo conoces el IP de tu servidor : + +```bash +ssh admin@111.222.333.444 +``` + +Luego, entra la contraseña de administración que has elegido durante la post-instalación [post-installation](/postinstall). + +Si has configurado tus DNS (o modificar tu `/etc/hosts`), puedes utilizar tu nombre de dominio : + +```bash +ssh admin@votre.domaine.tld +``` + +Si cambiaste el puerto SSH, hay que añadir `-p ` al comando, por ej. : + +```bash +ssh -p 2244 admin@tu.dominio.tld +``` + +
+Si estás conectado como `admin` y quieres ser `root` para tener más confort (por ejemplo, para no teclear `sudo` con cada comando), puedes convertirte en `root` tecleando `sudo su`. +
+ +## ¿ Qué usuarios ? + +Por defecto, sólo el usuario `admin` puede conectarse en SSH en una instancia Yunohost. + +Los usuarios Yunohost creados vea la interfaz de administración están administrados por la base de datos LDAP. Por defecto, no pueden conectarse en SSH por razones de seguridad. Si necesitas absolutamente que uno de estos usuarios disponga de un acceso SSH, puedes utilizar el comando : +```bash +yunohost user ssh allow +``` + +Del mismo modo, es posible cancelar el acceso SSH de un usuario con el comando : +```bash +yunohost user ssh disallow +``` + +Finalmente, es posible añadir, suprimir y listar llaves SSH, para mejorar la seguridad del acceso SSH, con estos comandos : +```bash +yunohost user ssh add-key +yunohost user ssh remove-key +yunohost user ssh list-keys +``` + +## SSH y seguridad + +N.B. : `fail2ban` proscribirá tu IP durante 10 minutos si fracasas más de 5 veces consecutivas en identificarte. Si esto ocurre y que quieres re-validar tu IP, puedes echar un vistazo a la página [fail2ban](/fail2ban) + +Encontrarás explicaciones más completa sobre la seguridad y SSH en [la página dedicada](/security). diff --git a/ssh_fr.md b/ssh_fr.md index 34d619f5..dbc8243f 100644 --- a/ssh_fr.md +++ b/ssh_fr.md @@ -2,7 +2,7 @@ ## Qu’est-ce que SSH ? -**SSH** est un acronyme pour Secure Shell, et désigne un protocole qui permet de contrôler à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base dans les terminaux de Linux et Mac OS / OSX. Sous Windows, il vous faudra utiliser le logiciel [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (après l'avoir lancer, cliquer sur Session puis SSH). +**SSH** est un acronyme pour Secure Shell, et désigne un protocole qui permet de contrôler à distance une machine via la ligne de commande (CLI). C'est aussi une commande disponible de base dans les terminaux de Linux et Mac OS / OSX. Sous Windows, il vous faudra utiliser le logiciel [MobaXterm](https://mobaxterm.mobatek.net/download-home-edition.html) (après l'avoir lancé, cliquer sur Session puis SSH). ## Pendant l’installation de YunoHost @@ -13,6 +13,7 @@ Si vous installez YunoHost sur un VPS, votre fournisseur devrait vous avoir comm Si vous installez un serveur à la maison (par ex. sur Raspberry Pi ou OLinuXino), il vous faut trouver l'IP qui a été attribuée à votre carte après que vous l'ayez connectée à votre box internet / routeur. Il y a plusieurs façons de faire cela : - ouvrez un terminal et tapez `sudo arp-scan --local` pour lister les IP des machines sur le réseau local ; +- si la commande arp-scan vous affiche beaucoup de machines, vous pouvez vérifier lesquelles sont ouvertes au ssh avec `nmap -p 22 192.168.1.0/24` pour faire du tri (adaptez la plage IP selon votre réseau local) - utilisez l'interface de votre box internet pour lister les machines connectées, ou regarder les logs ; - branchez un écran sur votre serveur, loggez-vous et tapez `hostname --all-ip-address`. @@ -27,13 +28,17 @@ ssh root@111.222.333.444 Un mot de passe sera demandé. Si c'est un VPS, votre fournisseur devrait également vous avoir communiqué un mot de passe. Si vous avez utilisé une image pré-installée (pour x86 ou cartes ARM), le password devrait être `yunohost`.
-Depuis YunoHost 3.4, après avoir effectué la postinstallation, il ne sera plus possible de se logguer avec l'utilisateur `root`. À la place, il vous faut **vous logguer avec l'utilisateur `admin` !**. Dans l'éventualité où le serveur LDAP serait cassé, rendant l'utilisateur `admin` inutilisable, vous devriez cependant pouvoir vous logguer avec l'utilisateur `root` depuis le réseau local. +Depuis YunoHost 3.4, après avoir effectué la postinstallation, il ne sera plus possible de se logguer avec l'utilisateur `root`. À la place, il vous faut **vous logguer avec l'utilisateur `admin` !** Dans l'éventualité où le serveur LDAP serait cassé, rendant l'utilisateur `admin` inutilisable, vous devriez cependant pouvoir vous logguer avec l'utilisateur `root` depuis le réseau local.
#### Changer le mot de passe root ! Après vous être connecté pour la première fois, il vous faut changer le mot de passe `root`. Le serveur vous demandera peut-être automatiquement de le faire. Si ce n'est pas le cas, il faut utiliser la commande `passwd`. Il est important de choisir un mot de passe raisonnablement compliqué. Notez que ce mot de passe sera écrasé ensuite par le mot de passe admin choisi lors de la postinstallation. +#### En avant pour la configuration ! + +Tout est prêt pour passer à la [post-installation](postinstall). + ## Sur une instance déjà installée Si vous avez installé votre serveur à la maison et que vous cherchez à vous connecter depuis l'extérieur du réseau local, assurez-vous d'avoir bien redirigé le port 22 vers votre serveur. (Rappel : depuis la version 3.4, il vous faut vous logguer avec l'utilisateur `admin` !) @@ -59,7 +64,7 @@ ssh -p 2244 admin@votre.domaine.tld ```
-Si vous êtes connecté en tant qu'`admin` et souhaité devenir `root` pour plus de confort (par exemple, ne pas avoir à taper `sudo` à chaque commande), vous pouvez devenir `root` en tapant `sudo su`. +Si vous êtes connecté en tant qu'`admin` et souhaitez devenir `root` pour plus de confort (par exemple, ne pas avoir à taper `sudo` à chaque commande), vous pouvez devenir `root` en tapant `sudo su`.
## Quels utilisateurs ? @@ -85,6 +90,6 @@ yunohost user ssh list-keys ## SSH et sécurité -N.B. : `fail2ban` bannira votre IP pour 10 minutes si vous échouez plus de 5 fois à vous identifier. Pour débannir une IP, vous pouvez regarder la page sur [fail2ban](/fail2ban_fr) +N.B. : `fail2ban` bannira votre IP pour 10 minutes si vous échouez plus de 5 fois à vous identifier. Pour débannir une IP, vous pouvez regarder la page sur [fail2ban](/fail2ban) -Une discussion plus complète de la sécurité et de SSH peut être trouvée sur [la page dédiée](security_fr). +Une discussion plus complète de la sécurité et de SSH peut être trouvée sur [la page dédiée](/security). diff --git a/ssh_it.md b/ssh_it.md index 5206a2d3..b172629c 100644 --- a/ssh_it.md +++ b/ssh_it.md @@ -89,4 +89,4 @@ yunohost user ssh list-keys N.B.: `fail2ban` bannerà il tuo IP per 10 minuti nel caso di almeno 5 tentativi di accesso falliti. Se devi togliere il ban al tuo IP leggi la pagina relativa [fail2ban](/fail2ban) -Una discussione più approfondita relativa a sicurezza & SSH è su [questa pagina](security_en). +Una discussione più approfondita relativa a sicurezza & SSH è su [questa pagina](/security). diff --git a/tests/check_code_block_syntax.sh b/tests/check_code_block_syntax.sh new file mode 100644 index 00000000..62e83a0f --- /dev/null +++ b/tests/check_code_block_syntax.sh @@ -0,0 +1,17 @@ +returncode=0 +for FILE in $(ls *.md) +do + NB_OPENING=$(grep -E "^ *\`\`\` *\w+ *$" $FILE | wc -l) + NB_CLOSE=$(grep -E "^ *\`\`\` *$" $FILE | wc -l) + if [[ "$NB_OPENING" != "$NB_CLOSE" ]] + then + echo "There are some mistakes in code block syntax in $FILE ..." + returncode=1 + fi +done + +if [[ $returncode == 1 ]] +then + echo "Make sure that all the code block in the problematic files do specific the language in the opening backticks (for example, \`\`\`bash). Otherwise, rendering in the actual website will be broken because of a bug in markdown parsing lib..." + exit 1 +fi diff --git a/tests/dead_links.sh b/tests/dead_links.sh new file mode 100644 index 00000000..f51cec96 --- /dev/null +++ b/tests/dead_links.sh @@ -0,0 +1,19 @@ +returncode=0 + +# Find all markdown links and generate a list of filename.md:N:linktarget (with N the line number) +for LINK in $(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/') +do + PAGE=$(echo $LINK | awk -F: '{print $3}') + [ -e "$PAGE.md" ] || echo "This link looks dead (page doesn't exist in english?) $LINK" + [ -e "$PAGE.md" ] || returncode=1 +done + +# Find all HTML/href links and generate a list of filename.md:N:linktarget (with N the line number) +for LINK in $(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"') +do + PAGE=$(echo $LINK | awk -F: '{print $3}') + [ -e "$PAGE.md" ] || echo "This link looks dead (page doesn't exist in english?) $LINK" + [ -e "$PAGE.md" ] || returncode=1 +done + +exit $returncode diff --git a/tests/uniformize_links.sh b/tests/uniformize_links.sh new file mode 100644 index 00000000..9a5ab061 --- /dev/null +++ b/tests/uniformize_links.sh @@ -0,0 +1,15 @@ +for FILE in $(ls *.md); +do + grep -q "Unfortunately, this page only exists" $FILE && continue + + # Replace markdown links with full url ... we only need the relative url + sed -i -E 's@\(https://yunohost.org/#/(\w+)\)@(/\1)@g' $FILE + + # Replace (/foo_fr) to (foo) + sed -i -E 's@\(\/?((\w|-)+)_(en|fr|es|it|ar|de|oc)\)@(/\1)@g' $FILE + + # Replace href="/foo_fr" to href="foo" + sed -i -E 's@href="/?((\w|-)+)_(en|fr|es|it|ar|de|oc)"@href="/\1"@g' $FILE; +done + +git checkout project_organization.md project_organization_fr.md diff --git a/tests/unreferenced_pages.sh b/tests/unreferenced_pages.sh new file mode 100644 index 00000000..92fa14e1 --- /dev/null +++ b/tests/unreferenced_pages.sh @@ -0,0 +1,25 @@ + + +MARKDOWN_TARGETS=$(grep -nr -o -E "\]\(\/?(\w|-)+\)" ./*.md | tr -d ']()/' | awk -F: '{print $3}' | sort | uniq) +HTML_TARGETS=$(grep -nr -o -E 'href="\/?(\w|-)+\"' ./*.md | sed -E 's@href="/?@@g' | tr -d '"' | awk -F: '{print $3}' | sort | uniq) + +ALL_TARGETS=$(echo $MARKDOWN_TARGETS $HTML_TARGETS) + +PAGES=$(ls *.md | sed -E 's/(_(fr|it|de|ar|oc|es|ru))?.md//g' | sort | uniq) + +returncode=0 + +for PAGE in $PAGES +do + if [[ $PAGE == "index" ]] || [[ $PAGE == "README" ]] || [[ $PAGE == "default" ]] + then + continue + fi + if ! echo $ALL_TARGETS | grep -q -w $PAGE + then + returncode=1 + echo "The following page is not referenced by any other page :( -> $PAGE" + fi +done + +exit $returncode diff --git a/troubleshooting_guide.md b/troubleshooting_guide.md index 190ec734..f1d85a0b 100644 --- a/troubleshooting_guide.md +++ b/troubleshooting_guide.md @@ -5,23 +5,22 @@ You can consider this as some kind of administrator guide for troubleshooting or ## 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. -This means that everytime you want to try a new thing (non-official app, new specific config, package an app...), you should try it on a development or testing instance, *not* on your production server. For this, you can [set up a Vagrant box](vagrant), or for instance a [DigitalOcean droplet](install_on_vps) for 1 cent/hour. +This means that everytime you want to try a new thing (non-official app, new specific config, package an app...), you should try it on a development or testing instance, *not* on your production server. For this, you can [set up a virtualbox](install_on_virtualbox), or for instance a [DigitalOcean droplet](install_on_vps) for 1 cent/hour. 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. +### Do not install bad quality apps + +Even if it can be tempting to install every [apps](/apps), be careful to their quality level as a bad quality app can ultimately break your server. If you absolutely wish to install such an app, at least try to do it on a test server or check if issues has been posted to this app's Github repository or on the [forum](http://forum.yunohost.org/). ### Check the official documentation -Answer to your question may be already in [the documentation](https://yunohost.org/#/docs_en). +Answer to your question may be already in [the documentation](/docs). ### Check the command line help -Learn how to use the [YunoHost commands](https://yunohost.org/#/commandline) like a pro. +Learn how to use the [YunoHost commands](/commandline) like a pro. ## Upgrade -Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](https://yunohost.org/#/app_update_en). +Problems often occur after an upgrade. After a YunoHost upgrade you may want to [update your apps](/app_update). **Check if some processes are using old libraries** @@ -55,7 +54,7 @@ $ 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). +YunoHost uses a bunch of software to accomplish its purpose. Most of theses software are registered as service in Debian. [More info](/whatsyunohost). ### 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. @@ -82,7 +81,7 @@ All services should be enabled and running. Except glances (optional). If some a - **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 +- [**SSH**](/ssh): Secure Shell - [**SSOwat**](https://github.com/Kloadut/SSOwat/): an simple sign-on - **YunoHost-API**: YunoHost web administration @@ -126,6 +125,9 @@ 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. +##### YunoHost operations logs +This is the logs created when you install, remove, backup, etc... an apps, they can be found using the Webadmin in Tools > Logs or using the command line: `yunohost log list` and `yunohost log display`. + 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 @@ -273,7 +275,7 @@ There is no logfile for application install so when you install an app, keep the ``` ## 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). +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](/packaging_apps). 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. diff --git a/troubleshooting_guide_fr.md b/troubleshooting_guide_fr.md index 31e516b7..15969124 100644 --- a/troubleshooting_guide_fr.md +++ b/troubleshooting_guide_fr.md @@ -5,24 +5,22 @@ Ce guide peut trouver son intérêt lors du débuggage d’une nouvelle applicat ## Notes générales ### Ne cassez pas YunoHost -La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [box Vagrant](vagrant_fr) ou un [droplet DigitalOcean](install_on_vps_fr) pour 1 centime/heure. +La meilleure manière de ne pas avoir de pannes est de ne pas bricoler sur votre serveur. Cela signifie que dès que vous souhaitez essayer quelque chose de nouveau (application non officielle, nouvelle configuration personnalisée, création d’une nouvelle application), essayez d'abord cela sur un serveur de test et non de production. Pour faire cela, vous pouvez par exemple utiliser une [virtualbox](/install_on_virtualbox) ou un [droplet DigitalOcean](/install_on_vps) pour 1 centime/heure. Vous pouvez aussi lire ceci si vous avez encore envie de bricoler sur votre instance YunoHost en production : https://wiki.debian.org/DontBreakDebian -### Utilisez les applications non-officielles avec attention -Bien que ce soit tentant d’installer toutes les [applications non officielles](https://yunohost.org/#/apps_in_progress_fr), s’il vous plaît ne le faites pas, même si l’application est indiquée comme prête. -Avant de tester, vous devriez lire au moins le code source de l’application et vérifier que les fichiers d’installation, de suppression et de mise à jour sont bien présents. -Garder à l’esprit que quand vous installez une application, vous exécutez du code avec des droits root. De mon expérience, certaines applications sont excellentes, d’autres peuvent casser votre instance YunoHost et certaines ne sont plus maintenues. Alors, avant d’installer, regardez les problèmes rencontrés (issues dans GitHub), le [Forum](http://forum.yunohost.org/) -et [le salon de discussion Yunohost](support_fr) pour voir si d’autres ont eu des problèmes avec l’application. +### N'installez pas d'applications de mauvaise qualité + +Bien que ce soit tentant d’installer toutes les [applications](/apps), faites attention à leur niveau de qualité car une mauvaise application peut casser votre serveur. Si la qualité d'une application laisse à désirez mais que vous souhaitez tout de même absolument l'installer, essayez de faire ça sur un serveur de test, ou vérifiez au minimum si des problèmes ont été remontés sur le dépôt Github associé ou bien sur le [forum](http://forum.yunohost.org/). ### Vérifier la documentation officielle -Les réponses à vos questions existent peut être déjà dans [la documentation](docs_fr). +Les réponses à vos questions existent peut être déjà dans [la documentation](/docs). ### Vérifier l’aide dans les commandes en ligne -Vous pouvez apprendre à utiliser les [commandes YunoHost](/commandline_fr) +Vous pouvez apprendre à utiliser les [commandes YunoHost](/commandline) ## Mise à jour -Les problèmes ont souvent lieu après une mise à jour. Après une mise à jour, vous pouvez avoir envie de [mettre à jour votre application](app_update_fr). +Les problèmes ont souvent lieu après une mise à jour. Après une mise à jour, vous pouvez avoir envie de [mettre à jour votre application](/app_update). **Vérifier si un processus utilise une ancienne librairie** @@ -60,7 +58,7 @@ $ yunohost app upgrade -u https://github.com/user/someapp_ynh app_name ``` ## Les services -YunoHost utilise toute une série de logiciels pour fonctionner. La plupart de ces logiciels sont déclarés comme des services dans Debian [plus d’info](whatsyunohost_fr). +YunoHost utilise toute une série de logiciels pour fonctionner. La plupart de ces logiciels sont déclarés comme des services dans Debian [plus d’info](/whatsyunohost). ### Vérifier le statut des services Quand quelque chose ne fonctionne pas, une des premières choses à faire est de vérifier que tous les services utilisés par YunoHost sont lancés. @@ -88,7 +86,7 @@ Voici une petite description de leurs fonctions respectives : - **Postgrey** : serveur de listes grises, si vous utilisez YunoHost pour les mails, vous devriez regarder un peu plus sur cette question. [En apprendre plus sur les listes grises](http://en.wikipedia.org/wiki/Greylisting) - **Slapd** : serveur LDAP, utilisé pour l’authentification (SSO and apps) -- [**SSH**](/ssh_en) : Secure Shell, utilisé pour l’accès distant au serveur. +- [**SSH**](/ssh) : Secure Shell, utilisé pour l’accès distant au serveur. - [**SSOwat**](https://github.com/Kloadut/SSOwat/) : gestionnaire simple d’authentification. - **YunoHost-API** : administration web de YunoHost @@ -292,7 +290,7 @@ Il n’y a pas de fichier de log créé lorsque vous installez une application. ## Applications Cette partie concerne plus les créateurs d’applications YunoHost mais permet néanmoins de comprendre le lien entre Nginx et les applications web. -Premièrement, vous devez savoir [comment créer un paquet pour une nouvelle application](packaging_apps_fr). +Premièrement, vous devez savoir [comment créer un paquet pour une nouvelle application](/packaging_apps). Quand vous bricolez une application, des erreurs peuvent avoir lieu selon certains niveaux d’importance. Il y a une grande variété d’applications et le déploiement de celles-ci va dépendre du langage de programmation de l’application. Nous allons voir ici les « cas classiques ». diff --git a/try_es.md b/try_es.md new file mode 100644 index 00000000..99a3f063 --- /dev/null +++ b/try_es.md @@ -0,0 +1,29 @@ +#Probar YunoHost + +
+**Nota :** Este demo puede dejar de functionar de vez en cuando. +
+ +
+ +
+ +
+
+ Interfaz de usuario +

Usuario : demo
Contraseña : demo

+
+
+ Interfaz de administración +

Contraseña : demo

+
+
+ +
+ +

+***El servidor de demo es ofrecido generosamente por +Gitoyen*** +

+ + diff --git a/update.md b/update.md index a4982ee2..0a6005a9 100644 --- a/update.md +++ b/update.md @@ -15,5 +15,5 @@ From the command line, you can run: ``` bash yunohost tools update -yunohost tools upgrade --ignore-apps +yunohost tools upgrade --system ``` diff --git a/update_fr.md b/update_fr.md index be0b9718..64577aff 100644 --- a/update_fr.md +++ b/update_fr.md @@ -16,5 +16,5 @@ Depuis la ligne de commande, vous pouvez utiliser : ``` bash yunohost tools update -yunohost tools upgrade --ignore-apps +yunohost tools upgrade --system ``` diff --git a/use_case_non-profit_organisations.md b/use_case_non-profit_organisations.md new file mode 100644 index 00000000..f16fdf53 --- /dev/null +++ b/use_case_non-profit_organisations.md @@ -0,0 +1,204 @@ +# YunoHost for non-profit + +## Table of Contents +* [Introduction](#introduction) +* [Who](#who) +* [What](#what) +* [When](#when) +* [Where](#where) +* [Why](#why) +* [How](#how) +* [Conclusion](#conclusion) + +## Introduction + +The object of this document is to present a specific use of [YunoHost](https://yunohost.org/) for non-profit organizations. + +## Who + +Non-profit organizations, NGO or any kind of association. + +## What + +Usually non-profit organizations need to provide several services to several publics: + +* Board of Directors / Steering Committee / Volunteers with: + * [Mails](#mails) + * [Calendar](#calendar) + * [Contact](#contact) + * [Shared files / Drive](#shared-files) + * [Instant communication](#instant-communication) + * [Intranet / knowledge database](#intranet) + * [ERP / Accounting](#erp-accounting) +* Members with: + * [Public website with private and individual access](#public-web-site) + * [Membership](#membership) + * [Events registrations](#events-registrations) + * [Mailings](#newsletter-mailing) + * [Forum](#forum) +* Public with: + * [Public website](#public-web-site) + * [Newsletter](#newsletter-mailing) + +## When + +When ready to move forward. + +## Where + +You YunoHost for non profit can be hosted in several places: +* Own hosting on a server, computer or Raspberry behind ASDL, SDSL or Fiber +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) hosting services +* Commercial hosting services providing Debian virtual machine + +## Why + +YunoHost can provide mostly all needs of a non-profit organization. +Keeping their data on their own. + +## How + +### YunoHost + +YunoHost is a Debian GNU/Linux based distribution packaged with free software that automates the installation of a personal web server. The purpose of YunoHost is to allow users to easily host their own web services by enabling a simple point-and-click web interface for installing various web apps. + +![](https://upload.wikimedia.org/wikipedia/commons/0/07/Yunohost_user_portal.png) + +Out of the box YunoHost provide: +* A system of application +* A web interface +* A command-line interface (CLI): Moulinette +* A web server: Nginx +* A DNS server: Dnsmasq +* A database: MariaDB +* A backup system +* An SSO : SSOwat +* OpenLDAP +* Email: + * SMTP: Postfix + * IMAP & POP3: Dovecot + * An antispam: rspamd,rmilter +* Instant messaging XMPP server: Metronome IM + +### Domain Name + +The first thing you will need to implement a YunoHost server is a domain name. The domain name can usually be provided with your hosting service. + +### Mails + +From scratch, YunoHost provide mail system available using POP/IMAP/SMTP. +Mails accounts will be managed using the web interface or the command line. Created accounts are stored in OpenLDAP. + +Additional package can be installed to provide more functionality to the YunoHost mail system: +* Webmail using [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync using [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Internal distribution group using [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendar + +To provide personal or shared calendars you will need to install: +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contact + +To provide personal contact system you will need to install: +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Shared files + +To provide shared files system: personal and shared drive, you can install [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Files will be available from a web interface or using a synchronization client. + +### Instant communication + +Out of the box, YunoHost provide an XMPP server, for which you can install a web client: [Jappix](https://github.com/YunoHost-Apps/jappix_ynh). + +You can also install a matrix server: +* The server: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* A web client: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +For an non-profit organization a good way to implement an intranet is to provide a wiki to let internal users read, edit and add content. Here are some packages to implement a wiki: +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) using wiki syntax +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) using markdown syntax + +### ERP / Accounting + +At some time a non-profit organization could need an accounting/erp system, here are two propositions: +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Public Web Site + +There are several way to implement a Public Web Site: +* Simple html, css, etc... Website using: [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Using a CMS (Content Management System) like [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +But we will propose something more powerful: [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal that is a powerful open source content management framework +* with CiviCRM that is an open source constituent relationship management for non-profits + +#### Membership + +With CiviCRM you can provide online membership and payment. + +#### Events Registrations + +With CiviCRM, you can provide an online diary to let members or public register for free or with a payment. + +#### Newsletter/Mailing + +Best way to manage that is using CiviCRM and its mailing module. + +### Forum + +You have several choices, or having an integrated forum in Drupal or using a dedicated forum system like [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Backup + +YunoHost provide is own backup system. Before any package upgrade, YunoHost backup the current version of the package and automaticaly restore it if the upgrade fails. +Yunohost backup are stored localy in `/home/yunohost.backup/archives`. + +But for production, localy stored backup are not enough, so you will need to implement aditional backup strategies: +* Backup of the the Virtual Machine if provided by the hosting system. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) is an automatic backup system for your server. Your backups can be send to many other places, local or distant. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) and [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) allow to externalize backups. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), if you have two yunohost servers, provide a way to have a secondary server which you can used if your main server goes down. This secondary server will allow you to deploy a copy of your server to bring back your YunoHost during your break down. + +### Go further + +#### Federated Photo Gallery + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Federated Audio Gallery + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Federated Video Gallery + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Federated Social Networking + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Federated Blog + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost can cover 99% of the needs of non-profit organizations, allowing them to own and protect their data, choose applications they want to use. +And if one is not available, they can [package it for YunoHost](/contributordoc), it's very simple. diff --git a/use_case_non-profit_organisations_fr.md b/use_case_non-profit_organisations_fr.md new file mode 100644 index 00000000..5e95773f --- /dev/null +++ b/use_case_non-profit_organisations_fr.md @@ -0,0 +1,203 @@ +# YunoHost for non-profit + +## Table of Contents +* [Introduction](#introduction) +* [Qui ](#qui) +* [Quoi](#quoi) +* [Quand](#quand) +* [Où](#o-) +* [Pourquoi](#pourquoi) +* [Comment](#comment) +* [Conclusion](#conclusion) + +## Introduction + +L'objet de ce document est de présenter une utilisation spécifique de [YunoHost](https://yunohost.org/) pour des organisations à but non lucratif. + +## Qui + +Organisations à but non lucratif, ONG ou tout type d'association. + +## Quoi + +Les organisations à but non lucratif doivent généralement fournir différents services à différents publics: + +* Conseil d'administration / Comité directeur / Bénévoles avec: + * [Mails](#mails) + * [Calendrier](#calendrier) + * [Contact](#contact) + * [Fichiers partagés / Drive](#fichiers-partag-s) + * [Communication instantanée](#communication-instantan-e) + * [Intranet / Base de connaissances](#intranet) + * [ERP / Comptabilité](#erp-comptabilit-) +* Membres avec: + * [Site Web public avec accès privé et individuel](#site-web-public) + * [Adhésion](#adh-sion) + * [Inscriptions aux événements](#inscriptions-aux-v-nements) + * [Mailings](#newsletter-mailing) + * [Forum](#forum) +* Public avec: + * [Site Web public](#site-web-public) + * [Newsletter](#newsletter-mailing) + +## Quand + +Lorsque l'organisation à but non lucratif est prête à franchir le pas. + +## Où + +Le serveur YunoHost peut être hébergé à différents endroits : +* Hébergement en propre sur un serveur, un ordinateur ou Raspberry derrière ADSL, SDSL ou Fibre +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) +* Services d'hébergement commercial fournissant une machine virtuelle Debian + +## Pourquoi + +YunoHost peut répondre à tous les besoins d'une organisation à but non lucratif et lui permettre de conserver la maîtrise de ses données. + +## Comment + +### YunoHost + +YunoHost est une distribution basée sur Debian GNU/Linux qui automatise l’installation d’un serveur Web personnel. Le but de YunoHost est de permettre aux utilisateurs d’héberger facilement leurs propres services Web en proposant une interface Web simple, pointer-cliquer, pour installer diverses applications Web. + +![](https://upload.wikimedia.org/wikipedia/commons/0/07/Yunohost_user_portal.png) + +YunoHost fournit immédiatement: +* Un système d'application +* Une interface web +* Une interface de ligne de commande (CLI): Moulinette +* Un serveur Web : Nginx +* Un serveur DNS : Dnsmasq +* Une base de données: MariaDB +* Un système de sauvegarde +* Un SSO: SSOwat +* OpenLDAP +* Email : + * SMTP: Postfix + * IMAP & POP3 : Dovecot + * Un antispam : rspamd, rmilter +* Serveur XMPP de messagerie instantanée : Metronome IM + +### Nom de domaine + +La première chose dont vous aurez besoin pour implémenter un serveur YunoHost est un nom de domaine. Le nom de domaine peut généralement être fourni avec votre service d'hébergement. + +### Mails + +De base, YunoHost fournit un système de messagerie disponible en utilisant POP / IMAP / SMTP. +Les comptes de messagerie seront gérés à l'aide de l'interface Web ou de la ligne de commande. Les comptes créés sont stockés dans OpenLDAP. + +Des packages supplémentaires peuvent être installés pour fournir davantage de fonctionnalités au système de messagerie YunoHost : +* un webmail en utilisant [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync utilisant [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Groupe de distribution interne en utilisant [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendrier + +Pour fournir des calendriers personnels ou partagés, vous devrez installer : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contact + +Pour fournir un système de contact personnel, vous devrez installer : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Fichiers partagés + +Pour fournir un système de fichiers partagés : dossiers personnels et dossiers partagés, vous pouvez installer [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Les fichiers seront disponibles à partir d'une interface Web ou à l'aide d'un client de synchronisation. + +### Communication instantanée + +De base, YunoHost fournit immédiatement un serveur XMPP pour lequel vous pouvez installer un client Web: [Jappix](https://github.com/YunoHost-Apps/jappix_ynh) + +Vous pouvez également installer un serveur Matrix : +* Le serveur: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* Un client web: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +Pour une organisation à but non lucratif, un bon moyen de mettre en œuvre un intranet est de fournir un wiki permettant aux utilisateurs internes de lire, éditer et ajouter du contenu. Voici quelques paquets pour implémenter un wiki : +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) using wiki syntax +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) using markdown syntax + +### ERP / Comptabilité + +À un moment donné, une organisation à but non lucratif pourrait avoir besoin d’un système de Comptabilité / ERP, voici deux propositions : +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Site Web Public + +Il existe plusieurs façons d'implémenter un site Web public : +* Un simple site HTML, CSS, etc... en utilisant : [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Utiliser un CMS (système de gestion de contenu) comme [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +Mais nous proposerons quelque chose de plus puissant : [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal qui est un puissant framework de gestion de contenu +* avec CiviCRM qui est un CRM OpenSource à destination des organisations à but non lucratif + +#### Adhésion + +Avec CiviCRM, vous pourrez mettre en place des adhésions en ligne avec paiement. + +#### Inscriptions aux événements + +Avec CiviCRM, vous pourrez mettre à disposition un agenda en ligne avec la possibilité pour les membres ou le public de s'inscrire gratuitement ou en payant. + +#### Newsletter/Mailing + +Le meilleur moyen de gérer cela consiste à utiliser CiviCRM et son module de mailing. + +### Forum + +Vous avez plusieurs choix, avoir un forum intégré dans Drupal ou utiliser un système de forum dédié tel que [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Sauvegarde + +YunoHost fournit son propre système de sauvegarde. Avant toute mise à niveau de paquet, YunoHost sauvegarde la version actuelle du paquet et la restaure automatiquement si la mise à niveau échoue. +Les sauvegardes Yunohost sont stockées localement dans `/home/yunohost.backup/archives`. + +Mais pour la production, la sauvegarde stockée localement ne suffit pas, vous devez donc mettre en œuvre des stratégies de sauvegarde supplémentaires : +* Sauvegarde de la machine virtuelle si fournie par le système d'hébergement. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) est un système de sauvegarde automatique de votre serveur. Vos sauvegardes peuvent être envoyées à de nombreux autres endroits, locaux ou distants. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) and [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) permettent d'externaliser les sauvegardes. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), si vous avez deux serveurs YunoHost, fournissez un moyen d'avoir un serveur secondaire que vous pourrez utiliser si votre serveur principal tombe en panne. Ce serveur secondaire vous permettra de déployer une copie de votre serveur pour ramener votre YunoHost lors de votre panne. + +### Aller plus loin + +#### Galerie de photos fédérées + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Galerie audio fédérée + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Galerie vidéo fédérée + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Réseaux sociaux fédérés + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Blog fédéré + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost peut couvrir 99% des besoins des organisations à but non lucratif, leur permettant de posséder et de protéger leurs données, de choisir les applications qu'elles souhaitent utiliser. +Et s’ils ne sont pas disponibles, ils peuvent [les packager pour YunoHost](/contributordoc), c’est très simple. diff --git a/use_case_non-profit_organisations_oc.md b/use_case_non-profit_organisations_oc.md new file mode 100644 index 00000000..946b3a54 --- /dev/null +++ b/use_case_non-profit_organisations_oc.md @@ -0,0 +1,203 @@ +# YunoHost per organizacion sens tòca lucrativa + +## Ensenhador +* [Introduccion](#introduccion) +* [Qual ](#qual) +* [Qué](#qué) +* [Quand](#quand) +* [Ont](#ont) +* [Perque](#perque) +* [Cossí](#cossí) +* [Conclusion](#conclusion) + +## Introduccion + +L'objectiu d’aqueste document es de presentar una utilizacion especifica de [YunoHost](https://yunohost.org/) per d’organizacions sens tòca lucrativa. + +## Qual + +Organizacions sens tòca lucrativa, ONG o qualque siá associacion. + +## Qué + +Las organizacions sens tòca lucrativa devon generalament fornir diferents servicis a diferents publics : + +* Conselh d'administracion / Comitat director / Benevòls amb : + * [Mails](#mails) + * [Calendièr](#calendièr) + * [Contacte](#contacte) + * [Fichièrs partejats / Drive](#fichièrs-partejats) + * [Comunicacion instantanèa](#comunicacion-instantan-a) + * [Intranet / Basa de coneissenças](#intranet) + * [ERP / Comptabilitat](#erp-comptabilitat) +* Membres amb : + * [Site Web public amb accès privat e individual](#site-web-public) + * [Adhesion](#adhesion) + * [Inscripcions als eveniments](#inscriptions-als-eveniments) + * [Infoletras](#infoletras) + * [Forum](#forum) +* Public amb : + * [Site Web public](#site-web-public) + * [Infoletras](#newsletter-mailing) + +## Quand + +Quand l'organizacion sens tòca lucrativa es prèsta a passar lo pas. + +## Ont + +Lo servidor YunoHost pòt èsser albergat a diferents endreches : +* Albergament en pròpri sus un servidor, un ordenador o Raspberry darrièr una connexion ADSL, SDSL o Fibra +* [Chatons](https://chatons.org), [librehosters](https://framagit.org/librehosters/awesome-librehosters) +* Servicis d'albergament comercial que fornís una maquina virtuala Debian + +## Perque + +YunoHost pòt correspondre als besonhs d'una organizacion sens tòca lucrativa e li permetre de servar lo mestritge de sas donadas. + +## Cossí + +### YunoHost + +YunoHost es una distribucion basada sus Debian GNU/Linux qu’automatiza l’installacion d’un servidor Web personal. La tòca de YunoHost es de permetre als utilizaires d’albergar facilament lors pròpris servicis Web en prepausant una interfàcia Web simpla, als clics, per installar divèrsas aplicacions Web. + +![](https://upload.wikimedia.org/wikipedia/commons/0/07/Yunohost_user_portal.png) + +YunoHost provesís sul pic: +* Un sistèma d'aplicacion +* Una interfàcia web +* Una interfàcia en linha de comanda (CLI) : Moulinette +* Un servidor Web : Nginx +* Un servidor DNS : Dnsmasq +* Una basa de donadas : MariaDB +* Un sistèma de salvagarda +* Un SSO: SSOwat +* OpenLDAP +* Corrièls : + * SMTP: Postfix + * IMAP & POP3 : Dovecot + * Un antispam : rspamd, rmilter +* Servidor XMPP de messatjariá instantanèa : Metronome IM + +### Nom de domeni + +La primièra causa que vos fa mestièr per installar un servidor YunoHost es un nom de domeni. Lo nom de domeni pòt èsser generalament fornit amb lo servici d’albergament. + +### Corrièls + +A la prima installacion YunoHost fornís un sistèma de messatjariá disponible en utilizant POP / IMAP / SMTP. +Los comptes de messatjariá seràn gerits amb l'interfàcia Web o en linha de comanda. Los comptes creats seràn gardats dins l’OpenLDAP. + +De paquets suplementaris pòdon èsser installats per provesir mai de foncionalitats al sistèma de messatjariá YunoHost : +* un webmail en utilizant [Roundcube](https://github.com/YunoHost-Apps/roundcube_ynh), [Rainloop](https://github.com/YunoHost-Apps/rainloop_ynh) +* ActiveSync utilizant [Z-Push](https://github.com/YunoHost-Apps/z-push_ynh) +* Grop de distribucion intèrne en utilizant [Mailman](https://github.com/YunoHost-Apps/mailman_ynh) + +### Calendièr + +Per fornir de calendièrs personals o partejats, vos calrà installar : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Contacte + +Per fornir un sistèma de contacte personal, vos caldrà installar : +* [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh) +* [Baikal](https://github.com/YunoHost-Apps/baikal_ynh) + +### Fichièrs partejats + +Per fornir un sistèma de fichièrs partejats : dorsièrs personals e dorsièrs partejats, podètz installar [Nextcloud](https://github.com/YunoHost-Apps/nextcloud_ynh). +Las fichièrs seràn disponibles d’una interfàcia web estant o amb un client de sincronizacion. + +### Comunicacion instantanèa + +Tras l’installacion YunoHost fornís sul pic un servidor XMPP per lo qual podètz installar un client Web : [Jappix](https://github.com/YunoHost-Apps/jappix_ynh) + +Podètz tanben installar un servidor Matrix : +* Lo servidor: [Synapse](https://github.com/YunoHost-Apps/synapse_ynh) +* Un client web: [Riot](https://github.com/YunoHost-Apps/_ynh) + +### Intranet + +Per una organizacion sens tòca lucrativa, un bon biais de metre en plaça un intranet es de fornir un wiki que permet als utilizaires intèrne de legir, modificar e ajustar de contengut. Vaquí unes paquets per installar un wiki : +* [DokuWiki](https://github.com/YunoHost-Apps/docuwiki_ynh) utiliza la sintaxi wiki +* [Wiki.js](https://github.com/YunoHost-Apps/wikijs_ynh) utiliza la sintaxi markdown + +### ERP / Comptabilitat + +Arriba un moment ont a l’organizacion sens tòca lucrativa li pòsca far besonh un sistèma de comptabilitat / ERP, vaquí doas proposicions : +* [OpenERP/Odoo](https://github.com/YunoHost-Apps/libreerp_ynh) +* [Dolibarr](https://github.com/YunoHost-Apps/dolibarr_ynh) + +### Site Web Public + +Existís mantuns biaisses de construire un site Web public : +* Un simple site HTML, CSS, etc... en utilizant : [Custom Webapp](https://github.com/YunoHost-Apps/my_webapp_ynh) +* Utilizar un CMS (sistèma de gestion de contengut) coma [Wordpress](https://github.com/YunoHost-Apps/_ynh), [Drupal](https://github.com/YunoHost-Apps/drupal_ynh) , [Grav](https://github.com/YunoHost-Apps/grav_ynh), [PluXml](https://github.com/YunoHost-Apps/pluxml_ynh) + +Mas prepausam quicòm de mai potent : [CiviCRM on Drupal 7](https://github.com/YunoHost-Apps/civicrm_drupal7_ynh): +* Drupal qu’es un framework potent de gestion de contengut +* amb CiviCRM qu’es un CRM OpenSource a destinacion de las organizacions sens tòca lucrativa + +#### Adhesion + +Amb CiviCRM, poiretz metre en plaça d’adhesions en linha amb pagament. + +#### Inscripcions als eveniments + +Amb CiviCRM, poiretz metre a disposicion un agenda en linha amb la possibilitat pels membres o lo public de s’inscriure gratuitament o en pagant. + +#### Infoletra/Lista de difusion + +Çò melhor per gerir aquò es d’utilizar CiviCRM e son modul de lista de difusion. + +### Forum + +Avètz mantun possibilitats, aver un forum integrat a Drupal o utilizar un sistèma dedicat coma [Flarum](https://github.com/YunoHost-Apps/flarum_ynh). + +### Salvagarda + +YunoHost fornís son pròpri sistèma de salvagarda. Abans tota mesa a nivèl de paquet, YunoHost salvagarda la version actuala del paquet e la restaura automaticament se la mesa a nivèl se debana pas corrèctament. +Las salvagardas Yunohost son gardadas localament dins `/home/yunohost.backup/archives`. + +Mas per la produccion, la salvagarda gardada localament basta pas, vos cal emplegar d’estrategias de salvagarda suplementàrias : +* Salvagarda de la maquina virtuala se fornida pel sistèma d’albergament. +* [Archivist](https://github.com/YunoHost-Apps/archivist_ynh) es un sistèma de salvagarda automatic de vòstre servidor. Vòstras salvagardas pòdon èsser enviadas a mantun endreches, locals o alonhats. +* [Borg](https://github.com/YunoHost-Apps/borg_ynh) e [Borg Server](https://github.com/YunoHost-Apps/borgserver_ynh) permeton d’externalizar las salvagardas. +* [Fallback](https://github.com/YunoHost-Apps/fallback_ynh), se avètz dos servidors YunoHost, ajatz los mejans d’aver un servidor segondari que poiretz utilizar se lo primièr ven a foncionar pas mai. Aqueste servidor segondari vos permetrà de restablir una còpia de vòstre servidor per dire de corregir los problèmas de l’autre servidor YunoHost. + +### Anar mai luènh + +#### Galariá de fotografias federada + +* [Pixelfed](https://github.com/YunoHost-Apps/pixelfed_ynh) + +#### Galariá àudio federada + +* [Reel2Bits](https://github.com/YunoHost-Apps/reel2bits_ynh) +* [Funkwhale](https://github.com/YunoHost-Apps/funkwhale_ynh) + +#### Galariá vidèo federada + +* [PeerTube](https://github.com/YunoHost-Apps/peertube_ynh) + +#### Malhums socials federats + +* [Mastodon](https://github.com/YunoHost-Apps/mastodon_ynh) +* [Pleroma](https://github.com/YunoHost-Apps/pleroma_ynh) +* [Mobilizon](https://github.com/YunoHost-Apps/mobilizon_ynh) + +#### Blog federats + +* [Plume](https://github.com/YunoHost-Apps/plume_ynh) +* [Writefreely](https://github.com/YunoHost-Apps/writefreely_ynh) + +#### Chat + +* [Mattermost](https://github.com/YunoHost-Apps/mattermost_ynh) + +## Conclusion + +YunoHost pòt cumplir 99% dels besonhs de las organizacions sens tòca lucrativa, en lor permetent de téner e protegir lors donadas, de causir las aplicacions que vòlon utilizar. +E se son pas disponiblas, pòdon [crear un paquet per YunoHost](/contributordoc), es fòrça simple. diff --git a/user_interface.md b/user_interface.md deleted file mode 100644 index 1980f8d8..00000000 --- a/user_interface.md +++ /dev/null @@ -1,23 +0,0 @@ -# User interface - -The user interface is a portal that allows the loged-in user to see all the applications he is allowed to use, and -access them. This interface is also where the user can set his parameters (change password, define email alias and -redirections). - - - -### Access problem - -Access to user interface can only be done by using a domain name. You can’t access to it by using the local IP address of your server like that: https://your.server.ip.address/yunohost/sso/ - -You can create a redirection of a domain name to IP address of your server by modifing `/etc/hosts` and by adding that line: - -```bash -your.server.ip.address domain.tld -``` - -By replacing `your.server.ip.address` for instance by `192.168.1.05` and `domain.tld` by your domain name or by one you can choose if you doesn’t own one. - -### Software - -User interface is based on that software: https://github.com/Kloadut/ssowat diff --git a/user_interface_fr.md b/user_interface_fr.md deleted file mode 100644 index e1f9ab84..00000000 --- a/user_interface_fr.md +++ /dev/null @@ -1,23 +0,0 @@ -# Interface utilisateur - -L'interface utilisateur est un portail permettant à un utilisateur connecté de voir toutes les applications qu'il peut -utiliser, et d'y accéder. Cette interface permet aussi à l'utilisateur de gérer ses paramètres (changer de mot de passe, -définir ses alias et redirections courriel). - - - -### Problème d’accès - -L’accès à la partie utilisateur peut se faire uniquement avec un nom de domaine. Vous ne pouvez **pas** y accéder en utilisant l’adresse IP locale de votre serveur comme suit : https://adresse.ip.du.server/yunohost/sso - -Cependant, sur votre ordinateur, vous pouvez créer une redirection d’un nom de domaine vers l’adresse IP du serveur en modifiant le fichier `/etc/hosts` et en ajoutant cette ligne : - -```bash -adresse.ip.du.server domaine.tld -``` - -en remplaçant `adresse.ip.du.server` par exemple par `192.168.1.5` et `domaine.tld` par votre nom de domaine ou par un [nom de domaine que vous pouvez choisir](/dns) si vous n’en avez pas. /!\ Cela ne fonctionne que localement /!\ - -### Logiciel - -L’interface utilisateur est basé sur le logiciel suivant : https://github.com/Kloadut/ssowat diff --git a/userdoc.md b/userdoc.md deleted file mode 100644 index 06e3826b..00000000 --- a/userdoc.md +++ /dev/null @@ -1,7 +0,0 @@ -# User documentation - -* [What is YunoHost](/whatsyunohost) -* [User interface](user_interface) -* [Configure an email client](/email) -* [Instant messaging usage](/XMPP) -* [Applications](/apps) diff --git a/userdoc_ar.md b/userdoc_ar.md deleted file mode 100644 index 4eac43e3..00000000 --- a/userdoc_ar.md +++ /dev/null @@ -1,7 +0,0 @@ -
-# دليل مستخدمي واي يونوهوست YunoHost - -* [واجهة المستخدم](user_interface) -* [البريد الإلكتروني](/email_fr) -* [المحادثة الفورية و شبكات التواصل الإجتماعي XMPP](/XMPP_fr) -* [التطبيقات](/apps_ar) \ No newline at end of file diff --git a/userdoc_fr.md b/userdoc_fr.md deleted file mode 100644 index 265bcc97..00000000 --- a/userdoc_fr.md +++ /dev/null @@ -1,7 +0,0 @@ -# Documentation pour les utilisateurs YunoHost - -* [Qu'est-ce que YunoHost](/whatsyunohost_fr) -* [L’interface utilisateur](user_interface) -* [La messagerie électronique (email)](/email_fr) -* [La messagerie instantanée et les réseaux sociaux XMPP](/XMPP_fr) -* [Les applications](/apps_fr) diff --git a/users.md b/users.md index 1d7ea512..a570d767 100644 --- a/users.md +++ b/users.md @@ -15,20 +15,20 @@ You should be careful about who you give your server access to. In terms of secu The user portal, or SSO ----------------------- -
+
The user portal, also called the SSO for 'Single Sign On' allows user to browse easily between the different apps they have access to. In particular, the term 'Single Sign On' comes from the fact that user only need to log in the portal to automatically be logged to all apps that require authentication (or at least those who are integrated with the SSO/LDAP, since this is sometimes technically complicated or not possible at all). In the portal, users can also click on the avatar in the top-left to configure some other settings such as their identify, mail aliases, automatic mail forwards, or change their password.
-You should be aware that the SSO can only be reached through the actual domain name (i.e. `https://the.domain.tld/yunohost/sso`), and NOT by just using the IP of the server (i.e. `https://11.22.33.44/yunohost/sso`), contrarily to the webadmin ! This is a bit confusing but is necessary for technical reason. If you are in a situation where you need to access the SSO without having your DNS properly configured for some reason, you might consider tweaking your `/etc/hosts` as described in [this page](dns_local_nework). +You should be aware that the SSO can only be reached through the actual domain name (i.e. `https://the.domain.tld/yunohost/sso`), and NOT by just using the IP of the server (i.e. `https://11.22.33.44/yunohost/sso`), contrarily to the webadmin ! This is a bit confusing but is necessary for technical reason. If you are in a situation where you need to access the SSO without having your DNS properly configured for some reason, you might consider tweaking your `/etc/hosts` as described in [this page](dns_local_network).
-App permissions ---------------- +User groups and permissions +--------------------------- -Access to apps can be restricted to some users only. This can be configured via the webadmin in Applications > (choose an app) > Access, or similarly via the command line `yunohost app addaccess`, `removeaccess` and `clearaccess`. +See [this dedicated page](groups_and_permissions). SSH access ---------- diff --git a/users_fr.md b/users_fr.md index 9e9055da..c52522dc 100644 --- a/users_fr.md +++ b/users_fr.md @@ -15,20 +15,21 @@ Vous devriez faire attention à qui vous donnez l'accès à votre serveur. En te Le portail utilisateur, ou SSO ----------------------- -
+
Le portail utilisateur, également appelé SSO pour 'Single Sign On', permet à l'utilisateur de naviguer facilement entre les différentes applications auxquelles il a accès. En particulier, le terme 'Single Sign On' vient du fait que l'utilisateur n'a qu'à se connecter au portail pour être automatiquement connecté à toutes les applications qui nécessitent une authentification (ou du moins celles qui sont intégrées avec le SSO/LDAP, car cela est parfois techniquement compliqué ou pas possible du tout). Dans le portail, les utilisateurs peuvent également cliquer sur l'avatar en haut à gauche pour configurer d'autres paramètres tels que leur identité, les alias de messagerie, les transferts automatiques de courrier ou changer leur mot de passe.
-Vous devez être conscient que le SSO ne peut être atteint que par le nom de domaine (i.e. `https://the.domain.tld/yunohost/sso`), et non pas en utilisant l'IP du serveur (i.e. `https://11.22.33.44/yunohost/sso`), contrairement à l'administrateur web ! C'est un peu déroutant dans certaines situations, mais est nécessaire pour des raisons techniques. Si vous êtes dans une situation où vous avez besoin d'accéder au SSO sans avoir votre DNS correctement configuré pour une raison quelconque, vous pouvez envisager de modifier votre `/etc/hosts` comme décrit dans [cette page](dns_local_nework). +Vous devez être conscient que le SSO ne peut être atteint que par le nom de domaine (c.-à-d. `https://the.domain.tld/yunohost/sso`), et non pas en utilisant l'IP du serveur (c.-à-d. `https://11.22.33.44/yunohost/sso`), contrairement à l'administrateur web ! C'est un peu déroutant dans certaines situations, mais c'est nécessaire pour des raisons techniques. Si vous êtes dans une situation où vous avez besoin d'accéder au SSO sans avoir votre DNS correctement configuré pour une raison quelconque, vous pouvez envisager de modifier votre `/etc/hosts` comme décrit dans [cette page](dns_local_network).
-Permissions d'accès aux applications ---------------- +Gestion des groupes d'utilisateurs et permissions +--------------------------- + +Voir [cette page de documentation dédiée](groups_and_permissions). -L'accès aux applications peut être limité à certains utilisateurs seulement. Ceci peut être configuré via la webadmin dans Applications > (une application) > Accès, ou de la même manière via la ligne de commande `yunohost app addaccess`, `removeaccess` et `clearaccess`. Accès SSH ---------- diff --git a/vagrant.md b/vagrant.md deleted file mode 100644 index fa165cdf..00000000 --- a/vagrant.md +++ /dev/null @@ -1,59 +0,0 @@ -# Vagrant and YunoHost - -*If you need testing some code, you should using directly [ynh-dev](https://github.com/yunohost/ynh-dev)* - -*Find other ways to install YunoHost **[here](/install)**.* - - - -**Prerequisite**: an x86 computer with VirtualBox installed and enough RAM capacity to be able to run a small virtual machine. - ---- - -## Initialization - -Create a project folder -```bash -mkdir YunoHost -cd YunoHost -``` - -The following command will initialize the project with a Yunohost image -```bash -vagrant box add yunohost/stretch-unstable https://build.yunohost.org/yunohost-stretch-unstable.box --provider virtualbox -vagrant init yunohost/stretch-unstable -``` - -You need to activate the network for the YunoHost instance. -```bash -sed -i 's/# config\.vm\.network "private_network"/config.vm.network "private_network"/' Vagrantfile``` - ---- - -## Run a vm - -Start the virtual machine -```bash -vagrant up -``` - -Connect to the started virtual machine -```bash -vagrant ssh -``` - -Upgrade the system -```bash -sudo apt update && sudo apt dist-upgrade -``` - -You can access to your vm with the ip 192.168.33.10 - -The IP addresses related to the boxes are set by default but can be changed in the network settings. - ---- - -*Once the installation is finished, you may want to proceed to post-installation: **[yunohost.org/postinstall](/postinstall)** * - - - diff --git a/vagrant_fr.md b/vagrant_fr.md deleted file mode 100644 index ebb0da31..00000000 --- a/vagrant_fr.md +++ /dev/null @@ -1,59 +0,0 @@ -# Vagrant et YunoHost - -*Si vous avez besoin d’une vm pour tester du code, il vaut mieux utiliser directement [ynh-dev](https://github.com/yunohost/ynh-dev)* - -*Toutes les autres façons d’installer YunoHost sont listées **[ici](/install_fr)**.* - - - -**Prérequis** : Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle. - ---- - -## Initialisation - -Créer un dossier pour le projet : -```bash -mkdir YunoHost -cd YunoHost -``` - -La commande suivante va initialiser le projet avec une image YunoHost de base -```bash -vagrant box add yunohost/stretch-unstable https://build.yunohost.org/yunohost-stretch-unstable.box --provider virtualbox -vagrant init yunohost/stretch-unstable -``` -Puis, il faut activer le réseau pour l'instance YunoHost: -```bash -sed -i 's/# config\.vm\.network "private_network"/config.vm.network "private_network"/' Vagrantfile -``` - ---- - -## Installation - -Démarrer la machine virtuelle -```bash -vagrant up -``` - -Se connecter à la machine virtuelle démarrée -```bash -vagrant ssh -``` - -Mettre à jour le système. -```bash -apt update && apt dist-upgrade -``` - -Vous pouvez accéder à votre vm via l’ip 192.168.33.10. - -Les adresses IP sont assignées par défaut mais peuvent être changées dans les paramètres réseau du Vagrantfile. - ---- - -*Une fois l’installation terminée, vous pouvez procéder à la post-installation : **[yunohost.org/postinstall](/postinstall_fr)** * - - - diff --git a/vpn_advantage.md b/vpn_advantage.md index e69de29b..d2244385 100644 --- a/vpn_advantage.md +++ b/vpn_advantage.md @@ -0,0 +1 @@ +Unfortunately, this page only exists [in french here](vpn_advantage_fr) for now. diff --git a/whatsyunohost.md b/whatsyunohost.md index 8fa48a75..6ed0efd3 100644 --- a/whatsyunohost.md +++ b/whatsyunohost.md @@ -3,72 +3,51 @@ What is YunoHost? -Goal ----- - -YunoHost is a **server operating system** aiming to make [self-hosting](selfhosting) accessible to as many people as possible, without taking away from the quality and reliability of the software. YunoHost supports [several kinds of hardware](install). It is based on and fully compatible with [Debian GNU/Linux](https://debian.org). +YunoHost is an **operating system** aiming for the simplest administration of a **server**, and therefore democratize [self-hosting](selfhosting), while making sure it stays reliable, secure, ethical and lightweight. It is a copylefted libre software project maintained exclusively by volunteers. Technically, it can be seen as a distribution based on [Debian GNU/Linux](https://debian.org) and can be installed on [many kinds of hardware](install). Features -------- -- based on Debian ; -- administrate your server through a **friendly web admin** ; -- easily **install applications** on your server ; -- manage **users** (based on LDAP); -- manage **domains** ; -- create and restore **backups** ; -- connect to all apps simultaneously through the **user portal** (nginx, SSOwat) ; -- includes a **full email stack** (Postfix, Dovecot, Rspamd, DKIM) ; -- ... as well as **an instant messaging server** (XMPP) ; -- ... a **SSL certificate** management system (intergrated with Let's Encrypt) ; -- ... and **security systems** (fail2ban, yunohost-firewall) ; +- Based on Debian ; +- Administrate your server through a **friendly web interface** ; +- Deploy **apps in just a few clicks** ; +- Manage **users** (based on LDAP); +- Manage **domain names** ; +- Create and restore **backups** ; +- Connect to all apps simultaneously through the **user portal** (NGINX, SSOwat) ; +- Includes a **full e-mail stack** (Postfix, Dovecot, Rspamd, DKIM) ; +- … as well as **an instant messaging server** (XMPP) ; +- Manages **SSL certificates** (based on Let's Encrypt) ; +- … and **security systems** (fail2ban, yunohost-firewall) ; Origin ------ YunoHost was created in February 2012 after something like this: -

"Shit, I'm too lazy to reconfigure my mail server... Beudbeud, how were you able to get your little server running with LDAP?"

+

"Shit, I'm too lazy to reconfigure my mail server… Beudbeud, how were you able to get your little server running with LDAP?"

Kload, February 2012
-All that was needed was an administration interface for Beudbeud's server to make something usable, so Kload decided to develop one. Finally, after automating several configurations and packaging in some web apps, YunoHost v1 was finished. +All that was needed was an admin interface for Beudbeud's server to make something usable, so Kload decided to develop one. Finally, after automating several configs and packaging in some web apps, YunoHost v1 was finished. -Noting the growing enthusiasm around YunoHost and around self-hosting in general, the original developers along with new contributors decided to start work on version 2, more extensible, more powerful, more easy-to-use, and one that makes a nice cup of fair-trade coffee for the elves of Lapland. +Noting the growing enthusiasm around YunoHost and around self-hosting in general, the original developers along with new contributors decided to start work on version 2, a more extensible, more powerful, more easy-to-use, and at that, one that makes a nice cup of fair-trade coffee for the elves of Lapland. -Name ----- - -**YunoHost** comes from the jargon "Y U NO Host". The [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) should illustrate it: +The name **YunoHost** comes from the jargon "Y U NO Host". The [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) should illustrate it:
-Development ------------ - -YunoHost is developed to be as **simple** and minimally-intrusive as possible, to retain compatibility with Debian. It merely proposes a package of automatic configurations for existing software, and is configurable via simple interfaces. - -YunoHost is **entirely** a free software project. The philosophy of self-hosting is, to us, incompatible with any other model of software development. - -Do not hesitate to visit the ["contribute" page](/contribute). - -Security --------- - -The utmost effort is made to keep YunoHost secure, and **communications encrypted**. You can read more about this subject on the related page: -[https://yunohost.org/security](/security) - What YunoHost is not? --------------------- Even if YunoHost can handle multiple domains and multiple users, it is **not meant to be a mutualized system**. -First, the software is too young, not tested at large scale and thus probably not optimized to be put in production for hundreds of users at the same time. With that said, we do not want to lead the software in that direction. Virtualization democratizes, and its usage is recommended since it is a more leaktight way to achieve mutualization than a "full-stack" system like YunoHost. +First, the software is too young, not tested at scale and thus probably not optimized well enough for hundreds of users at the same time. With that said, we do not want to lead the software in that direction. Virtualization democratizes, and its usage is recommended since it is a more watertight way to achieve mutualization than a "full-stack" system like YunoHost. -You can host your friends, your family and your company safely and with ease, but you must **trust your users**, and they must trust you above all. If you do want to provide YunoHost services for unknown persons anyway, a full VPS per user will be just fine, and we believe is a better way to go. +You can host your friends, your family and your company safely and with ease, but you must **trust your users**, and they must trust you above all. If you want to provide YunoHost services for unknown persons anyway, a full VPS per user will be just fine, and we believe a better way to go. -Art Works +Artworks --------- -Black and white YunoHost png logo done by ToZz (400 × 400 px): +Black and white YunoHost PNG logo by ToZz (400 × 400 px): diff --git a/whatsyunohost_ar.md b/whatsyunohost_ar.md index f6634cb6..d1776397 100644 --- a/whatsyunohost_ar.md +++ b/whatsyunohost_ar.md @@ -64,16 +64,16 @@ Constatant l’engouement croissant autour de YunoHost et de l’auto-hébergeme YunoHost est développé pour être le plus **simple** et le moins intrusif possible pour garder la compatibilité avec Debian. Il propose uniquement un ensemble de configurations automatiques et opère via des interfaces accessibles. -Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](selfhosting_fr) étant à nos yeux incompatible avec tout autre modèle de développement logiciel. +Le tout est bien entendu **entièrement libre**. La philosophie de l’[الإستضافة الذاتية](/selfhosting) étant à nos yeux incompatible avec tout autre modèle de développement logiciel. -لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute_ar) ». +لا تتردّدوا في زيارة صفحة « [ساهموا](/contribute) ».
--- ###
الأمان
-لقد بُذِلت كل المجهودات مِن أجل تأمين واي يونوهوست YunoHost و **تعمية و تشفير البروتوكولات** . بإمكانكم الإطلاع على الشرح بتفاصيليه [هنا](/security_fr). +لقد بُذِلت كل المجهودات مِن أجل تأمين واي يونوهوست YunoHost و **تعمية و تشفير البروتوكولات** . بإمكانكم الإطلاع على الشرح بتفاصيليه [هنا](/security).
--- diff --git a/whatsyunohost_de.md b/whatsyunohost_de.md new file mode 100644 index 00000000..226b6a0f --- /dev/null +++ b/whatsyunohost_de.md @@ -0,0 +1,57 @@ +Was ist YunoHost? +================= + + + +YunoHost ist ein **Betriebssystem**, das auf die einfachste Verwaltung eines **Servers** abzielt und daher das [Self-Hosting](selfhosting) demokratisiert, wobei sichergestellt wird, dass es zuverlässig, sicher, ethisch einwandfrei und leichtgewichtig bleibt. Es ist ein Copylefted-Libre-Softwareprojekt, das ausschließlich von Freiwilligen betrieben wird. Technisch gesehen kann es als eine Distribution angesehen werden, die auf [Debian GNU / Linux](https://debian.org) basiert und auf [vielen Arten von Hardware](install) installiert werden kann. + +Features +-------- + +- Basierend auf Debian ; +- Verwalten Sie Ihren Server über eine **benutzerfreundliche Weboberfläche** ; +- Bereitstellen von **Apps mit nur wenigen Klicks** ; +- Verwalten Sie **Benutzer** (basierend auf LDAP) ; +- Verwalten Sie Ihre **Domainnamen** ; +- Erstellen und Wiederherstellen von **Backups** ; +- Stellen Sie über das **Benutzerportal** (NGINX, SSOwat) gleichzeitig eine Verbindung zu allen Apps her ; +- Enthält einen **vollständigen E-Mail-Stack** (Postfix, Dovecot, Rspamd, DKIM) ; +- … sowie **einen Instant Messaging Server** (XMPP) ; +- Verwaltet **SSL-Zertifikate** (basierend auf Let's Encrypt) ; +- … und **Sicherheitssysteme** (fail2ban, yunohost-firewall) ; + +Ursprung +------ + +YunoHost wurde im Februar 2012 aus folgender Situation heraus erstellt: + +

"Scheiße, ich bin zu faul, um meinen Mailserver neu zu konfigurieren ... Beudbeud, wie hast Du deinen kleinen Server mit LDAP zum Laufen gebracht?"

Kload, Februar 2012
+ +Alles, was benötigt wurde, war eine Administrationsoberfläche für Beudbeud's Server, um etwas nutzbar zu machen, also entschied sich Kload, eine zu entwickeln. Schließlich wurde YunoHost v1, nach der Automatisierung mehrerer Konfigurationen und der Paketierung in einigen Webanwendungen, fertiggestellt. + +Angesichts der wachsenden Begeisterung für YunoHost und für das Selbst-Hosting im Allgemeinen beschlossen die ursprünglichen Entwickler zusammen mit neuen Mitarbeitern, mit der Arbeit an Version 2 zu beginnen, einer erweiterbaren, leistungsfähigeren, benutzerfreundlicheren und damit einfacheren Version eine schöne Tasse Fairtrade-Kaffee für die Elfen von Lappland. + +Der Name **YunoHost** stammt aus dem Jargon "Y U NO Host". Das [Internet meme](https://en.wikipedia.org/wiki/Internet_meme) sollte dies veranschaulichen: +
+ +Was YunoHost nicht ist? +--------------------- + +Selbst wenn YunoHost mehrere Domains und mehrere Benutzer verwalten kann, ist es **nicht als ein mutualisiertes System gedacht**. + +Erstens ist die Software noch sehr jung, nicht auf ihre Skalierbarkeit getestet und daher wahrscheinlich nicht gut genug optimiert für Hunderte von Benutzern gleichzeitig. Vor diesem Hintergrund möchten wir die Software nicht in diese Richtung lenken. Die Virtualisierung demokratisiert sich und ihre Verwendung wird empfohlen, da sie eine wasserdichtere Methode zur Erzielung von Gegenseitigkeit darstellt als ein "Full-Stack"-System wie YunoHost. + +Sie können Ihre Freunde, Ihre Familie und Ihr Unternehmen sicher und problemlos aufnehmen, aber Sie müssen **Ihren Benutzern vertrauen**, und diese müssen vor allem Ihnen vertrauen. Wenn Sie ohnehin YunoHost-Dienste für unbekannte Personen bereitstellen möchten, ist ein vollständiger VPS pro Benutzer in Ordnung, und wir glauben, dass dies ein besserer Weg ist. + +Artworks +--------- + +Schwarz und Weiss YunoHost PNG logo by ToZz (400 × 400 px): + + + + + +Zum download Klicken. + +Licence: CC-BY-SA 4.0 diff --git a/whatsyunohost_fr.md b/whatsyunohost_fr.md index 020b9975..48b6550a 100644 --- a/whatsyunohost_fr.md +++ b/whatsyunohost_fr.md @@ -3,24 +3,21 @@ Qu'est-ce que YunoHost ? -Objectif --------- - -YunoHost est un **système d’exploitation serveur** visant à rendre accessible [l’auto-hébergement](selfhosting_fr) à autant de personne que possible, sans délaisser la qualité et la fiabilité du logiciel. YunoHost supporte [plusieurs types de matériel](install_fr) et est basé et compatible avec [Debian GNU/Linux](https://debian.org). +YunoHost est un **système d’exploitation** qui vise à simplifier autant que possible l'administration d'un **serveur** pour ainsi démocratiser [l’auto-hébergement](/selfhosting) tout en restant fiable, sécurisé, éthique et léger. C'est un projet de logiciel libre maintenu exclusivement par des bénévoles. Techniquement, il peut être vu comme une distribution basé sur [Debian GNU/Linux](https://debian.org) et peut s'installer sur [de nombreux types de matériel](/install). Fonctionnalités --------------- - basé sur Debian ; -- administration via une **gentille interface web** ; -- déployez facilement des **applications** ; -- gérez des **utilisateurs** (gérés via LDAP) ; -- gérez des **domaines** ; +- administration via une **interface web simple et claire** ; +- déployez des **applications en quelques clics** ; +- ajoutez des **utilisateurs** (gérés via un annuaire LDAP) ; +- gérez des **noms de domaine** ; - créez et restaurez des **sauvegardes** ; - connexion simultanée à toutes les apps via un **portail utilisateur** (nginx, SSOwat) ; - fourni avec un **serveur mail complet** (Postfix, Dovecot, Rspamd, DKIM) ; - ... ainsi qu'un **serveur de messagerie instantanée** (XMPP) ; -- ... un système de gestion de **certificats SSL** (integration de Let's Encrypt) ; +- gères les **certificats SSL** (basé sur Let's Encrypt) ; - ... et des **systèmes de sécurité** (fail2ban, yunohost-firewall) ; Origine @@ -35,33 +32,9 @@ Il ne manquait en fait qu’une interface d’administration au serveur de Beudb Constatant l’engouement croissant autour de YunoHost et de l’auto-hébergement en général, les développeurs et les nouveaux contributeurs ont alors décidé de prendre le cap d’une version 2, plus accessible, plus extensible, plus puissante, et qui prépare du bon café commerce équitable pour les lutins de Laponie. -But ---- - -Le but de YunoHost est de rendre accessibles au plus grand nombre l’installation et l’administration d’un serveur, sans délaisser la qualité et la fiabilité du logiciel. - -Tous les efforts sont faits pour simplifier le déploiement sur le plus d’appareils possible et dans toutes les conditions (chez soi, sur son serveur dédié ou sur un VPS). - -Nom ---- - -**YunoHost** vient de l’argot Internet anglais « Y U NO Host » signifiant approximativement « Pourquoi toi ne pas héberger ». Le [mème Internet](http://fr.wikipedia.org/wiki/M%C3%A8me_Internet) qui l’illustre est à peu près celui-ci : +Le nom **YunoHost** vient de l’argot Internet anglais « Y U NO Host » signifiant approximativement « Pourquoi toi ne pas héberger ». Le [mème Internet](http://fr.wikipedia.org/wiki/M%C3%A8me_Internet) qui l’illustre est à peu près celui-ci :
-Développement -------------- - -YunoHost est développé pour être le plus **simple** et le moins intrusif possible pour garder la compatibilité avec Debian. Il propose uniquement un ensemble de configurations automatiques et opère via des interfaces accessibles. - -Le tout est bien entendu **entièrement libre**. La philosophie de l’[auto-hébergement](selfhosting_fr) étant à nos yeux incompatible avec tout autre modèle de développement logiciel. - -N’hésitez pas à visiter la page « [contribuez](/contribute_fr) ». - -Sécurité --------- - -Tous les efforts ont été déployés pour sécuriser YunoHost, et **chiffrer tous les protocoles**. Une explication plus détaillée est disponible [ici](/security_fr). - Qu’est-ce que YunoHost n’est pas ? ---------------------------------- diff --git a/write_documentation.md b/write_documentation.md index 3f052067..0d4937f7 100644 --- a/write_documentation.md +++ b/write_documentation.md @@ -6,11 +6,15 @@ This site allows to edit content directly online. You can edit any page by pressing `ESC` on your keyboard or by clicking the "Edit" button on the bottom-right side of your screen. You will be able to preview your changes by pressing `ESC` again or by clicking the "preview" button. +To create a new page, you can enter the URL and edit the page from there. + Once edited, you are able to submit your change by filling an email address. ## Via GitHub -The YunoHost documentation is managed through a [git repository](https://github.com/YunoHost/doc). You can send pull-requests. +The YunoHost documentation is managed through a [git repository](https://github.com/YunoHost/doc). You can send pull-requests, and do not forget to report your issues. + +Because the online editor doesn't support uploading files, using git is the prefered way if you need to upload media (e.g. images). ## Syntax