Merge branch 'master' into limesurvey

This commit is contained in:
ljf (zamentur) 2017-04-04 09:37:18 +02:00 committed by GitHub
commit 9c2eefe00e
42 changed files with 441 additions and 336 deletions

View file

@ -34,6 +34,8 @@ Once the lines are added, [here you might need to restart the ldap service ?], y
### How to move application folder
To change an application folder, only a few commands are needed: move content, create a symlink and set access rights.
Sample with WordPress:
```bash
# Move wordpress folder to an external hard drive

View file

@ -1,23 +1,23 @@
# Administration depuis l'API ou une application externe
# Administration depuis lAPI ou une application externe
Toutes les actions executables en ligne de commande le sont également via une API.
Toutes les actions exécutables en ligne de commande le sont également via une API.
L'API utilise l'adresse https://VOTRESERVEUR/yunohost/api et toutes les actions sont détaillées sur cette page.
LAPI utilise ladresse https://VOTRESERVEUR/yunohost/api et toutes les actions sont détaillées sur cette page.
Il faut d'abord récupérer un cookie de login pour ensuite réaliser les actions. Voici un exemple via curl :
Il faut dabord récupérer un cookie de connexion pour ensuite réaliser les actions. Voici un exemple via curl :
```bash
Login (avec mot de passe admin): curl -k -d “password=XXX” dump-header headers https://VOTRESERVEUR/yunohost/api/login
GET: curl -k -i -H “Accept: application/json” -H “Content-Type: application/json” -L -b headers -X GET https://VOTRESERVEUR/yunohost/api/ROUTE | grep }| python -mjson.tool
```
Pour simplifier l'administration à distance d'une instance YunoHost dans le cadre d'un projet CHATON, des classes API ont été développées par des utilisateurs.
Pour simplifier ladministration à distance dune instance YunoHost dans le cadre dun projet CHATONS, des classes API ont été développées par des utilisateurs.
Par exemple, cette classe PHP vous permettra d'administrer votre instance YunoHost depuis une application PHP (site web, outil de provisioning, …).
Par exemple, cette classe PHP vous permettra dadministrer votre instance YunoHost depuis une application PHP (site web, outil de gestion de capacité…).
Voici un exemple de code PHP permettant d'ajouter un utilisateur dans votre instance YunoHost :
Voici un exemple de code PHP permettant dajouter un utilisateur dans votre instance YunoHost :
```bash
require("ynh_api.class.php");
$ynh = new YNH_API("YunoHost server IP or hostname", "admin password");
$ynh = new YNH_API("adresse IP du serveur YunoHost ou nom dhôte", "mot de passe administrateur");
if ($ynh->login()) {
$domains = $ynh->get("/domains");
@ -26,8 +26,8 @@ if ($ynh->login()) {
$arguments = array(
'username' => 'test',
'password' => 'yunohost',
'firstname' => 'Firstname',
'lastname' => 'Lastname',
'firstname' => 'Prénom',
'lastname' => 'Nom',
'mail' => 'test@'.$first_domain,
'mailbox_quota' => '500M'
);

View file

@ -1,21 +1,21 @@
# Linterface dadministration web
YunoHost est fourni avec une interface web dadministration. Lautre interface est la [moulinette](/moulinette_fr) en ligne de commande.
YunoHost est fourni avec une interface graphique dadministration. Lautre méthode est dutiliser la [moulinette](/moulinette_fr) ligne de commande.
**Attention** : linterface dadmininistration donne accès à beaucoup moins de fonctionnalités que la moulinette, car elle est actuellement en développement actif.
**Attention** : linterface dadministration donne accès à beaucoup moins de fonctionnalités que la moulinette, car elle est en développement actif.
### Accès
Linterface admin est accessible depuis votre instance YunoHost à ladresse https://example.org/yunohost/admin (remplacez example.org par la bonne valeur)
Linterface admin est accessible depuis votre instance YunoHost à ladresse https://exemple.org/yunohost/admin (remplacez exemple.org par la bonne valeur)
<div class="text-center" style="max-width:100%;border-radius: 5px;border: 1px solid rgba(0,0,0,0.15);box-shadow: 0 5px 15px rgba(0,0,0,0.35);">
<img src="/images/manage.png" style="max-width:100%;">
</div>
### Remise à zéro du mot de passe admin
### Réinitialiser le mot de passe administrateur
<div class="text-error">Cette methode ne fonctionnera pas avec Yunohost 2.4 / Debian Jessie</div>
<div class="text-error">Cette méthode ne fonctionnera pas avec Yunohost 2.4 / Debian Jessie</div>
Pour faire une remise à zéro du mot de passe admin de YunoHost (un utilisateur root est nécessaire)
Pour réinitialiser le mot de passe administrater de YunoHost (lutilisateur root est nécessaire)
Dans le fichier `/etc/slapd/slapd.conf` ajouter la ligne suivante :
```bash
@ -29,14 +29,17 @@ slappasswd -h {SSHA}
# Un mot de passe vous sera demandé, vous retournant un hash comme résultat
```
Une fois les lignes ajoutées (il faut probablement rédémarrer le service ldap), vous devriez être en mesure de vous connecter avec le mot de passse admin temporaire. Changer le via linterface. Retirer les lignes ajoutées dans le fichier `slapd.conf`.
Une fois les lignes ajoutées (il faut probablement rédémarrer le service LDAP), vous devriez être en mesure de vous connecter avec le mot de passse temporaire. Changer le via linterface. Retirer les lignes ajoutées dans le fichier `slapd.conf`.
### Comment déplacer le dossier dune application
Pour changer le dossier contenant une application, seules quelques commandes sont nécessaires : déplacer le contenu créer un lien symbolique et définir les droits daccès.
### Comment déplacer une application
Exemple avec WordPress :
```bash
# Deplacement du wordpress vers un autre support
$ sudo mv /var/www/wordpress /media/disqueexterne
# Creation du lien symbolique
$ sudo mv /var/www/wordpress /mon/dossier/cible
# Création du lien symbolique
$ sudo ln -s /media/disqueexterne/wordpress /var/www/wordpress
# Le répertoire doit appartenir à www-data
sudo chown -R www-data:www-data /media/externalharddrive/wordpress

View file

@ -1,11 +1,11 @@
# Documentation administrateur
# Documentation pour les administrateurs YunoHost
* [Lauto-hébergement](/selfhosting_fr)
* [Matériel compatible](/hardware_fr)
* [Guide dinstallation](/install_fr)
* [Sur une carte OLinuXino](/install_on_olinuxino_fr)
* [Sur carte ARM](/install_on_arm_board_fr)
* [Sur Raspberry Pi](/install_on_raspberry_fr)
* [Sur une carte ARM](/install_on_arm_board_fr)
* [Sur un Raspberry Pi](/install_on_raspberry_fr)
* [À partir de lISO](/install_iso_fr)
* [Sur Debian](/install_on_debian_fr)
* [Sur VirtualBox](/install_on_virtualbox_fr)
@ -34,12 +34,12 @@
* [Applications souhaitées](apps_wishlist_fr)
* [Owncloud](app_owncloud_fr)
* [Fournisseurs daccès à Internet](/isp_fr)
* [Configuration générale box](/isp_box_config_fr)
* [Configuration générale dune box](/isp_box_config_fr)
* [SFR](/isp_sfr_fr)
* [Orange](/isp_orange_fr)
* [Free](/isp_free_fr)
* [Administration web](/admin_fr)
* [Administration via l'API](/admin_api_fr)
* [Administration via linterface en ligne](/admin_fr)
* [Administration via lAPI](/admin_api_fr)
* [Sécurité](/security_fr)
* [Authentification SSH par clé](/security_fr)
* [Modifier le port SSH](/security_fr)
@ -50,7 +50,7 @@
* [Notes générales](/troubleshooting_guide_fr)
* [Mise à jour](/troubleshooting_guide_fr)
* [Les services](/troubleshooting_guide_fr)
* [Logs](/troubleshooting_guide_fr)
* [Journaux système](/troubleshooting_guide_fr)
* [Utilisation de la RAM](/troubleshooting_guide_fr)
* [Espace disque](/troubleshooting_guide_fr)
* [Applications](/troubleshooting_guide_fr)
@ -58,14 +58,15 @@
* [Applications Python](/troubleshooting_guide_fr)
* [Applications Node.js](/troubleshooting_guide_fr)
* [Autres (Go, Java…)](/troubleshooting_guide_fr)
* [Administration en ligne de commande avec la Moulinette](/moulinette_fr)
* [Ladministration en ligne de commande avec la Moulinette](/moulinette_fr)
* [Changer le mot de passe dadministration](/change_admin_password_fr)
* [Courier électronique](email_fr)
* [Courrier électronique](email_fr)
* [Formulaires pour enlever son IP des listes noires](blacklist_forms_fr)
* [DKIM](dkim_fr)
* [Gestion du certificat](/certificate_fr)
* [La signature du serveur via DKIM](dkim_fr)
* [Gestion des certificats](/certificate_fr)
* [Régénérer un certificat](/regenerate_certificate_fr)
* [YunoHost service caché Tor](/torhiddenservice_fr)
* [Utiliser Let's Encrypt](/certmanager_fr)
* [YunoHost avec un service caché Tor](/torhiddenservice_fr)
* [Débloquer une IP avec Fail2ban](/fail2ban_fr)
* [Les sauvegardes](/backup_fr)
* [Les mises à jour](/update_fr)

View file

@ -13,8 +13,8 @@ You can read your feeds on Android using ttrss-reader application:
**[ttrss-reader](https://f-droid.org/repository/browse/?fdfilter=rss&fdid=org.ttrssreader)**
To use it, you need to go to Actions -> Configuration, in TTRSS web interface and select "Activate API".
Then, in your android ttrss-reader, fill the TTRSS server adress: "https://yourdomain.org/ttrss", username, password. (no need to use HTTP authentification)
Then, in your android ttrss-reader, fill the TTRSS server adress: "https://yourdomain.org/ttrss", username, password (no need to use HTTP authentification).
**Note** : you may need to desinstall and reinstall the TTRSS application, through the Yunohost admin panel in order to be able to connect.
**Note** : you may need to uninstall and reinstall the TTRSS application through the Yunohost admin panel in order to be able to connect.
* [Tiny Tiny RSS Website](http://tt-rss.org/redmine/projects/tt-rss/wiki)
* [Tiny Tiny RSS Website](http://tt-rss.org/redmine/projects/tt-rss/wiki)

View file

@ -22,9 +22,12 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [cgit](http://git.zx2c4.com/cgit/about)
- [CheckUp](https://sourcegraph.github.io/checkup)
- [CiviCRM](https://civicrm.org)
- [Collabora Online](https://www.collaboraoffice.com/code/)
- [Collabora Online server](https://nextcloud.com/collaboraonline/) (to be able to use Collabora inside Nextcloud)
- [Commafeed](https://github.com/Athou/commafeed)
- [Converse.js](https://conversejs.org)
- [Coquelicot](https://coquelicot.potager.org) [package](https://github.com/M5oul/coquelicot_ynh)
- [Cryptpad](https://github.com/xwiki-labs/cryptpad)
- [Cronkeep](https://github.com/cronkeep/cronkeep)
- [CronWeb](https://github.com/fisherinnovation/CronWeb)
- [Croodle](https://github.com/jelhan/croodle) Schedule a date or to do a poll on a general topics, with client-side encryption.
@ -42,7 +45,7 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [Ferment](https://github.com/mmckegg/ferment)
- [FileTea](https://filetea.me)
- [Fossil](http://www.fossil-scm.org)
- [Garrafin](http://garradin.eu/a-propos) Non-profit organization management/accounting software french only.
- [Framaslides](https://framagit.org/framasoft/framaslides/)
- [GetSimple CMS](http://get-simple.info)
- [Git-annex](http://git-annex.branchable.com)
- [Gitit](http://gitit.net)
@ -68,6 +71,7 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [Joomla!](https://www.joomla.org)
- [JS Bin](http://jsbin.com/help/2-second-setup)
- [Kaiwa](http://getkaiwa.com)
- [Kin calendar](https://github.com/KinToday)
- [Kinto](https://github.com/Kinto/formbuilder)
- [Known](https://withknown.com)
- [Koel](http://koel.phanan.net)
@ -76,6 +80,7 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [Kresus](https://framagit.org/bnjbvr/kresus)
- [KrISS feed](https://github.com/tontof/kriss_feed)
- [Kune](https://en.wikipedia.org/wiki/Kune_%28software%29)
- [LibreOffice Online](https://wiki.documentfoundation.org/ReleaseNotes/5.3/fr#LibreOffice_Online)
- [LiquidSoap](http://savonet.sourceforge.net/)
- [Logstalgia](http://logstalgia.io)
- [Loomio](https://www.loomio.org)
@ -95,13 +100,15 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [NetData](https://github.com/firehol/netdata)
- [Nibbleblog](http://www.nibbleblog.com)
- [NodeBB](https://nodebb.org)
- [Only Office](http://onlyoffice.org)
- [ONLYOFFICE](http://onlyoffice.org)
- [ONLYOFFICE Document Server](http://helpcenter.onlyoffice.com/server/linux/document/linux-installation.aspx) (to be able to use ONLYOFFICE inside Nextcloud)
- [OpenBazaar](https://openbazaar.org)
- [OpenJabNab](https://github.com/OpenJabNab/OpenJabNab)
- [OS.js](http://os.js.org)
- [Paperless](https://github.com/danielquinn/paperless)
- [Paperwork](http://paperwork.rocks)
- [pdfy](https://github.com/joepie91/pdfy)
- [PeerTube](https://github.com/Chocobozzz/PeerTube)
- [Pelican](http://blog.getpelican.com)
- [Peps](https://github.com/MLstate/PEPS)
- [PHPList](http://www.phplist.com)
@ -122,7 +129,6 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [uMap](https://umap.openstreetmap.fr/en)
- [Scramble, Browser-based PGP web mail](https://github.com/dcposch/scramble)
- [Scribbleton](https://scribbleton.com)
- [scrumblr](http://scrumblr.ca)
- [ShareLatex](https://www.sharelatex.com)
- [Shleuder](http://schleuder2.nadir.org)
- [Simone](https://github.com/Kloadut/Simone)
@ -154,6 +160,5 @@ The following list is a compiled wishlist of applications that would be nice-to-
- [Yacy](http://yacy.net) [package](https://github.com/M5oul/yacy_ynh)
- [YellowCMS](http://datenstrom.se/yellow)
- [YesWiki](http://yeswiki.net/wa.php?wiki=AccueiL)
- [ZeroNet](http://zeronet.io)
- [Zone-project](https://github.com/descl/ZONE)
- [ZNC](http://wiki.znc.in/ZNC)

View file

@ -1,69 +0,0 @@
# Openresty build
**Note:** Since nginx-extras is not working on Raspbian, we have to build a similar nginx flavor, here [Openresty](http://openresty.org).
```bash
wget http://openresty.org/download/ngx_openresty-1.4.3.3.tar.gz
tar zxf ngx_openresty-1.4.3.3.tar.gz
cd ngx_openresty-1.4.3.3
./configure --with-luajit \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--lock-path=/var/lock/nginx.lock \
--pid-path=/run/nginx.pid \
--with-http_dav_module \
--with-http_flv_module \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_xslt_module \
--with-ipv6 \
--with-sha1=/usr/include/openssl \
--with-md5=/usr/include/openssl \
--with-mail \
--with-mail_ssl_module \
--with-http_stub_status_module \
--with-http_secure_link_module \
--with-http_sub_module
# It will take ~15 minutes
make # Another ~15 minutes
INSTALL=/tmp/openresty
make install DESTDIR=$INSTALL
mkdir -p $INSTALL/var/lib/nginx
# fpm installation
apt-get -y install make ruby1.9.1 ruby1.9.1-dev \
git-core libpcre3-dev libxslt1-dev libgd2-xpm-dev \
libgeoip-dev unzip zip build-essential
gem install fpm
# Package building
fpm -s dir -t deb -n openresty -v 1.4.3.3 --iteration 1 -C $INSTALL \
--description "openresty 1.4.3.3" \
-d libxslt1.1 \
-d libgd2-xpm \
-d libgeoip1 \
-d libpcre3 \
-d "nginx-common (>= 1.4.1)" \
--conflicts nginx-extras \
--conflicts nginx-full \
--conflicts nginx-light \
run usr var
```
Inspired from http://brian.akins.org/blog/2013/03/19/building-openresty-on-ubuntu/

View file

@ -1,69 +0,0 @@
# Builder Openresty
**Note :** Vu que nginx-extras ne fonctionne pas sur Raspbian, il faut compiler un équivalent, ici [Openresty](http://openresty.org).
```bash
wget http://openresty.org/download/ngx_openresty-1.4.3.3.tar.gz
tar zxf ngx_openresty-1.4.3.3.tar.gz
cd ngx_openresty-1.4.3.3
./configure --with-luajit \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-client-body-temp-path=/var/lib/nginx/body \
--http-fastcgi-temp-path=/var/lib/nginx/fastcgi \
--http-log-path=/var/log/nginx/access.log \
--http-proxy-temp-path=/var/lib/nginx/proxy \
--http-scgi-temp-path=/var/lib/nginx/scgi \
--http-uwsgi-temp-path=/var/lib/nginx/uwsgi \
--lock-path=/var/lock/nginx.lock \
--pid-path=/run/nginx.pid \
--with-http_dav_module \
--with-http_flv_module \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_image_filter_module \
--with-http_realip_module \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--with-http_xslt_module \
--with-ipv6 \
--with-sha1=/usr/include/openssl \
--with-md5=/usr/include/openssl \
--with-mail \
--with-mail_ssl_module \
--with-http_stub_status_module \
--with-http_secure_link_module \
--with-http_sub_module
# Durée : ~15 minutes
make # ~15 minutes supplémentaires
INSTALL=/tmp/openresty
make install DESTDIR=$INSTALL
mkdir -p $INSTALL/var/lib/nginx
# Installation de fpm
apt-get -y install make ruby1.9.1 ruby1.9.1-dev \
git-core libpcre3-dev libxslt1-dev libgd2-xpm-dev \
libgeoip-dev unzip zip build-essential
gem install fpm
# Compilation du paquet
fpm -s dir -t deb -n openresty -v 1.4.3.3 --iteration 1 -C $INSTALL \
--description "openresty 1.4.3.3" \
-d libxslt1.1 \
-d libgd2-xpm \
-d libgeoip1 \
-d libpcre3 \
-d "nginx-common (>= 1.4.1)" \
--conflicts nginx-extras \
--conflicts nginx-full \
--conflicts nginx-light \
run usr var
```
Inspiré de http://brian.akins.org/blog/2013/03/19/building-openresty-on-ubuntu/

View file

@ -60,8 +60,8 @@ The previous instructions will configure a new git alias named `yunobump`. It is
```bash
# You Only Clone Once
$ git clone git@github.com:YunoHost/yunohost-config-nginx.git
$ cd yunohost-config-nginx
$ git clone git@github.com:YunoHost/yunohost.git
$ cd yunohost
# Be sure to be up-to-date, and don't forget to get the tags !
$ git fetch --tags
@ -127,7 +127,7 @@ A fourth section is dedicated for exceptional cases like bugfixes in stable bran
#### Daily build
A cron task defined for `pbuilder` user is executed **every day at 01:00**. The script will update the `packages` git repository and submodules (`ssowat`, `moulinette`, `moulinette-yunohost` & `admin_js`).
A cron task defined for `pbuilder` user is executed **every day at 01:00**. The script will update the `packages` git repository and submodules (`ssowat`, `moulinette`, `yunohost` & `yunohost-admin`).
Once sources are up to date, the script will rebuild packages that have been updated the day.
Sources packages will then need to be created and moved into `/var/www/repo.yunohost.org/daily/incomming` folder.
@ -192,4 +192,4 @@ To do so, you need to add the package name into the `/var/www/repo.yunohost.org/
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/test update megusta
```
Now packages will be downloaded and added to `test` repository.
Now packages will be downloaded and added to `test` repository.

View file

@ -78,8 +78,8 @@ Ceci va configurer un nouvel alias git nommé `yunobump`, global (stocké dans `
```bash
# You Only Clone Once
$ git clone git@github.com:YunoHost/yunohost-config-nginx.git
$ cd yunohost-config-nginx
$ git clone git@github.com:YunoHost/yunohost.git
$ cd yunohost
# Be sure to be up-to-date, and don't forget to get the tags !
$ git fetch --tags
@ -195,7 +195,7 @@ Enfin, pour gérer au mieux ces outils, deux scripts ont été développés, sto
#### Déroulement de la construction dun paquet
Tout est déclenché par *reprepro*, configuré (voir `/var/www/repo.yunohost.org/debian/conf/distribustion`) pour exécuter le script `/usr/local/bin/repo/process-include` chaque fois quun paquet est inclus dans un dépôt (plus précisément, quun fichier `.changes` est inclus, via la commande `reprepro include`). Ce dernier va vérifier un certain nombre de choses, dont le fait quil sagit bien dun paquet source, puis va ajouter une nouvelle tâche pour *rebuildd*, afin que le paquet soit créé.
Tout est déclenché par *reprepro*, configuré (voir `/var/www/repo/debian/conf/distribution`) pour exécuter le script `/usr/local/bin/repo/process-include` chaque fois quun paquet est inclus dans un dépôt (plus précisément, quun fichier `.changes` est inclus, via la commande `reprepro include`). Ce dernier va vérifier un certain nombre de choses, dont le fait quil sagit bien dun paquet source, puis va ajouter une nouvelle tâche pour *rebuildd*, afin que le paquet soit créé.
Lorsque la tâche est reçue par *rebuildd*, si le paquet correspond bien à une distribution et architecture supportée (voir `/etc/rebuildd/rebuilddrc`), trois scripts seront exécutés les uns après les autres, si aucune erreur nintervient :
@ -205,7 +205,7 @@ Lorsque la tâche est reçue par *rebuildd*, si le paquet correspond bien à une
### Utilisation de daily\_build
Un cron défini pour lutilisateur `pbuilder` se lance **tous les jours à 01:00**, qui exécute le script `daily_build`. Pour chaque paquet (`ssowat`, `yunohost` et `yunohost-admin`), le script met dabord à jour le dépôt git correspondant depuis la branche *unstable*. Si de nouveaux commits ont été faits depuis la veille, une nouvelle version du paquet sera construite.
Un cron défini pour lutilisateur `pbuilder` se lance **tous les jours à 01:00**, qui exécute le script `daily_build`. Pour chaque paquet (`ssowat`, `moulinette`, `yunohost` et `yunohost-admin`), le script met dabord à jour le dépôt git correspondant depuis la branche *unstable*. Si de nouveaux commits ont été faits depuis la veille, une nouvelle version du paquet sera construite.
Plus précisément, une nouvelle entrée dans le *changelog* sera dabord ajoutée, avec une version sous la forme **YYYY.MM.DD+HHMM**. Un paquet source sera ensuite construit, avant de passer le relais au script `/usr/local/bin/repo/include-changes`. Ce dernier va exécuter les bonnes commandes pour *reprepro* afin dinclure dans le bon dépôt et composant le paquet source fraîchement créé.
@ -238,21 +238,21 @@ $ build_deb -c distribution -d <composant> /chemin/du/paquet/source
#### Lister les paquets
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/debian -C <composant> list <nom_de_code>
$ reprepro -V -b /var/www/repo/debian -C <composant> list <nom_de_code>
```
#### Suppression dun paquet
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/debian -C <composant> remove <nom_de_code> nom_du_paquet
$ reprepro -V -b /var/www/repo/debian -C <composant> remove <nom_de_code> nom_du_paquet
```
#### Gestion des backports
Pour la gestion des paquets venant du dépôt backport, il est possible de les intégrer rapidement dans le dépôt de yunohost.
Pour ce faire il faut ajouter le nom du paquet dans le fichier `/var/www/repo.yunohost.org/debian/conf/<nom_de_code>-<composant>.list`, puis exécuter la commande :
Pour ce faire il faut ajouter le nom du paquet dans le fichier `/var/www/repo/debian/conf/<nom_de_code>-<composant>.list`, puis exécuter la commande :
```bash
$ reprepro -V -b /var/www/repo.yunohost.org/debian -C <composant> update <nom_de_code>
$ reprepro -V -b /var/www/repo/debian -C <composant> update <nom_de_code>
```

View file

@ -2,8 +2,6 @@
Certificate management
======================
<div class="alert alert-danger">This feature is only available on the beta for now, it should be released quite soon</div>
Managing certificates with Yunohost
-----------------------------------
@ -62,12 +60,19 @@ certificate on all your domains which have a self-signed certificate.
You should go in your nginx configuration, and remove the `letsencrypt.conf` (or
whatever you called the file containing the `location
'/.well-known/acme-challenge'` block) for each of your domains.
'/.well-known/acme-challenge'` block) for each of your domains. Also remove the symlink
to your current certificates :
```bash
rm /etc/yunohost/certs/your.domain.tld/key.pem
rm /etc/yunohost/certs/your.domain.tld/crt.pem
```
Then run :
```bash
yunohost domain cert-install your.domain.tld --force
yunohost domain cert-install your.domain.tld --force --self-signed
yunohost domain cert-install your.domain.tld
```
for each of your domains you want a Let's Encrypt certificate.

View file

@ -2,8 +2,6 @@
Gestion du certificat
======================
<div class="alert alert-danger">Cette fonctionnalité est seulement disponible sur la bêta pour le moment. Elle devrait être rendue publique prochainement.</div>
Gérer les certificats avec YunoHost
-----------------------------------
@ -63,12 +61,18 @@ Let's Encrypt sur chacun de vos domaines ayant un certificat auto-signé.
Il vous faut aller dans la configuration nginx et retirer les fichiers `letsencrypt.conf` (ou le nom que
vous lui avez donné et qui contient un bloc `location '/.well-known/acme-challenge'`) pour chacun
de vos domaines.
Tapez la commande suivante :
de vos domaines. Retirez les liens symboliques vers vos certificats actuels :
```bash
yunohost domain cert-install your.domain.tld --force
rm /etc/yunohost/certs/your.domain.tld/key.pem
rm /etc/yunohost/certs/your.domain.tld/crt.pem
```
Puis tapez les commandes suivantes :
```bash
yunohost domain cert-install your.domain.tld --force --self-signed
yunohost domain cert-install your.domain.tld
```
pour chacun des domaines pour lesquels vous souhaitez avoir un certificat Let's Encrypt.

View file

@ -1,5 +1,7 @@
# Conférences
- [Université de technologie de compiègne 2017 Agir pour un internet éthique LJF](http://webtv.utc.fr/watch_video.php?v=O34AA7RBR1AH)
- [FOSDEM 2017 YunoHost/Internet Cube Bram/kload](https://video.fosdem.org/2017/AW1.125/)
- [Capitole du libre 2016 1 an et ½ de Brique Internet Bram](http://videos2016.capitoledulibre.org/communaute-du-libre/bram-1-an-et-demi-de-brique-internet.mp4)
* [PSES 2015 - La Brique Internet](http://www.youtube.com/watch?v=NCRn0yRfkIE)
* [THSF 2015 beudbeud](https://vimeo.com/128055751)

View file

@ -7,7 +7,6 @@
* [List of available applications](/apps)
* [Package new applications](/packaging_apps)
* [Develop on Docker](/docker)
* [Build OpenResty (Web server) for Raspberry Pi](/build_openresty)
* Documentation
* [Account creation to edit documentation](/accounting)
* [Write documentation](/write_documentation)
* [Write documentation](/write_documentation)

View file

@ -1,15 +1,14 @@
# Documentation contributeur
# Documentation contributeur YunoHost
* [Guide du contributeur](/contribute_fr)
* [Qu'est-ce que YunoHost](/whatsyunohost_fr)
* [Quest-ce que YunoHost ?](/whatsyunohost_fr)
* Développement
* <a href='https://dev.yunohost.org/projects/yunohost/roadmap' target='_BLANK'>Feuille de route du projet</a>
* [Liste des applications disponibles](/apps_fr)
* [Packager une application](/packaging_apps_fr)
* [Préparer/empaqueter une nouvelle application](/packaging_apps_fr)
* [Développer avec Docker](/docker_fr)
* [Builder OpenResty (serveur Web) pour Raspberry Pi](/build_openresty_fr)
* [Présentation du fonctionnement de YunoHost](/package_list_fr)
* [Se créer un environnement de développement](/ynh_dev_fr)
* Documentation
* [Création dun compte pour lédition de la documentation](/accounting_fr)
* [Création dun compte pour modifier la documentation](/accounting_fr)
* [Écrire de la documentation](/write_documentation_fr)

View file

@ -18,7 +18,11 @@ request subnet-mask, broadcast-address, time-offset, routers,
netbios-name-servers, netbios-scope, interface-mtu,
rfc3442-classless-static-routes, ntp-servers;
```
Apply this modification by rebooting the server.
Apply this modification by rebooting the DNS server:
```bash
service dnsmasq restart
```
(TODO: It's possible to restart a service to take into account the modification -DHCP?-, but didn't work for me).
It's possible to do same modification in all machine in local network by replacing *127.0.0.1* by IP server.
It's possible to do same modification in all machine in local network by replacing *127.0.0.1* by IP server.

View file

@ -20,7 +20,11 @@ request subnet-mask, broadcast-address, time-offset, routers,
rfc3442-classless-static-routes, ntp-servers;
```
Afin de prendre en compte la modification, redémarrer le serveur.
Afin de prendre en compte la modification, redémarrer le serveur DNS :
```bash
service dnsmasq restart
```
(TODO : il doit être possible de reconfigurer à chaud, mais ça na pas fonctionné).
Il est possible de faire la même modification sur toutes vos machines du réseau local en remplaçant 127.0.0.1 par lIP de votre serveur.

View file

@ -23,4 +23,18 @@ The automatic detection tool of Thunderbird does not work with YunoHost. You wil
* [Manage alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
#### For Android
[K-9 Mail](https://en.wikipedia.org/wiki/K-9_Mail) application works.
[K-9 Mail](https://en.wikipedia.org/wiki/K-9_Mail) application works.
#### For Firefox OS
Tested with Firefox OS 2.6.
On the home screen, enter the user name and the email address. Then use manual configuration:
<a href="/images/ffos_email_config_home_screen_empty.png"><img src="/images/ffos_email_config_home_screen_empty.png" width=200/></a> <a href="/images/ffos_email_config_home_screen_fill.png"><img src="/images/ffos_email_config_home_screen_fill.png" width=200/></a>
Configure manually the form as shown on following screenshots:
<a href="/images/ffos_email_config_manual_conf_empty.png"><img src="/images/ffos_email_config_manual_conf_empty.png" width=200/></a> <a href="/images/ffos_email_config_manual_conf_fill.png"><img src="/images/ffos_email_config_manual_conf_fill.png" width=200/></a>
<a href="/images/ffos_email_config_manual_conf_2_empty.png"><img src="/images/ffos_email_config_manual_conf_2_empty.png" width=200/></a> <a href="/images/ffos_email_config_manual_conf_2_fill.png"><img src="/images/ffos_email_config_manual_conf_2_fill.png" width=200/></a>

View file

@ -22,4 +22,19 @@ Lutilitaire de détection automatique de Thunderbird ne fonctionne pas avec l
* [Gestion des alias mails](https://support.mozilla.org/en-US/kb/configuring-email-aliases)
#### Pour Android
Lapplication [K-9 Mail](https://github.com/k9mail) fonctionne.
Lapplication [K-9 Mail](https://github.com/k9mail) fonctionne.
#### Pour Firefox OS
Testé avec Firefox OS 2.6.
Sur la page daccueil, entrez votre nom dutilisateur et ladresse email, puis allez dans la configuration manuelle :
<a href="/images/ffos_email_config_home_screen_empty.png"><img src="/images/ffos_email_config_home_screen_empty.png" width=200/></a> <a href="/images/ffos_email_config_home_screen_fill.png"><img src="/images/ffos_email_config_home_screen_fill.png" width=200/></a>
Configurer manuellement le formulaire comme indiqué sur les captures décran suivantes :
<a href="/images/ffos_email_config_manual_conf_empty.png"><img src="/images/ffos_email_config_manual_conf_empty.png" width=200/></a> <a href="/images/ffos_email_config_manual_conf_fill.png"><img src="/images/ffos_email_config_manual_conf_fill.png" width=200/></a>
<a href="/images/ffos_email_config_manual_conf_2_empty.png"><img src="/images/ffos_email_config_manual_conf_2_empty.png" width=200/></a> <a href="/images/ffos_email_config_manual_conf_2_fill.png"><img src="/images/ffos_email_config_manual_conf_2_fill.png" width=200/></a>

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 48 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

View file

@ -8,7 +8,7 @@ Once you have access to your server, either directly or by SSH, you can install
1. Install git
```bash
sudo apt-get install git
sudo apt-get install git dialog
```
2. Clone the Yunohost install script repository
@ -40,4 +40,4 @@ cd /tmp/install_script && sudo ./install_yunohost
---
*Once the installation is finished, you may want to proceed to post-installation: **[yunohost.org/postinstall](/postinstall)** *
*Once the installation is finished, you may want to proceed to post-installation: **[yunohost.org/postinstall](/postinstall)** *

View file

@ -8,7 +8,7 @@ Une fois que vous avez accès à votre serveur, directement ou par SSH, vous pou
1. Installez git
```bash
sudo apt-get install git
sudo apt-get install git dialog
```
2. Clonez le dépôt du script dinstallation de YunoHost

View file

@ -12,14 +12,16 @@ Before setting up a server at home, it is recommended that you know the [possibl
## Pre-requisite
- A Raspberry Pi 0, 1, 2 or 3 ;
- An SD 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)
- 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 and [following these instructions](https://davidmaitland.me/2015/12/raspberry-pi-zero-headless-setup/))
- The **YunoHost Raspberry Pi image**, available on [build.yunohost.org](http://build.yunohost.org/). (Not needed if you want to manually install YunoHost on an existing Debian system.)
---
## Installation using an image
## Installation using the image (recommended)
<a class="btn btn-lg btn-default" href="https://build.yunohost.org/">0. Download the pre-installed image for Raspberry Pi</a>
<a class="btn btn-lg btn-default" href="/copy_image">1. Copy image to the SD card</a>
@ -31,33 +33,28 @@ Before setting up a server at home, it is recommended that you know the [possibl
---
## Manual installation
## Manual installation (advanced users)
<div class="alert alert-warning" markdown="1">
We do not recommend the manual installation because it is more technical and longer than using the pre-installed image. This documentation is only intended for advanced users.
</div>
<div class="alert alert-warning" markdown="1">
The latest Rasbpian Jessie image 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).
</div>
0. Install Raspbian Jessie Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) and connect to your Pi.
0. Install Raspbian Jessie Lite on the SD card ([instructions](https://www.raspberrypi.org/downloads/raspbian/)).
1. The root user must have a password, or the installation will fail. To change the root password:
1. Connect to your Raspberry Pi with the user `pi`. Set the root password with
```bash
sudo passwd root
```
2. Install git
```bash
sudo apt-get install git
```
2. Edit `/etc/ssh/sshd_config` to allow ssh login for root, by replacing `PermitRootLogin without-password` with `PermitRootLogin yes`. Reload the ssh daemon with `service ssh reload`.
2. Clone the Yunohost install script repository
```bash
git clone https://github.com/YunoHost/install_script /tmp/install_script
```
3. Disconnect and reconnect, this time as root.
4. Execute the installation script
```bash
cd /tmp/install_script && sudo ./install_yunohost
```
4. Then follow the <a href="/install_manually">generic manual install procedure</a>.
---

View file

@ -16,50 +16,45 @@ Avant d'héberger un serveur chez vous, il est recommandé de prendre connaissan
- Une carte SD : au moins **8 Go** et **Classe 10** (par exemple une [Transcend 300x](http://www.amazon.fr/Transcend-microSDHC-adaptateur-TS32GUSDU1E-Emballage/dp/B00CES44EO)) ;
- Un adaptateur secteur pour la alimenter la carte ;
- Un câble ethernet/RJ-45 pour brancher la carte à votre routeur/box internet. Avec le Raspberry Pi Zero vous pouvez connecter votre carte avec un câble OTG et un adaptateur Wifi USB.
- L'image YunoHost pour Raspberry Pi, à télécharger sur [build.yunohost.org](http://build.yunohost.org/).
---
## Installation avec une image
## Installation avec l'image (recommandée)
<a class="btn btn-lg btn-default" href="/copy_image_fr">1. Copier limage sur une carte SD</a>
<a class="btn btn-lg btn-default" href="http://build.yunohost.org/">1. Télécharger l'image pour Raspberry Pi</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">2. Brancher & démarrer</a>
<a class="btn btn-lg btn-default" href="/copy_image_fr">2. Copier limage sur une carte SD</a>
<a class="btn btn-lg btn-default" href="/ssh_fr">3. Se connecter en SSH</a>
<a class="btn btn-lg btn-default" href="/plug_and_boot_fr">3. Brancher & démarrer</a>
<a class="btn btn-lg btn-default" href="/postinstall_fr">4. Procéder à la post-installation</a>
<a class="btn btn-lg btn-default" href="/ssh_fr">4. Se connecter en SSH</a>
<a class="btn btn-lg btn-default" href="/postinstall_fr">5. Procéder à la post-installation</a>
---
## Installation manuelle
## Installation manuelle (déconseillée)
<div class="alert alert-warning" markdown="1">
Nous déconseillons l'installation manuelle car elle plus technique et plus longue que l'installation via l'image pré-installée. Cette documentation est surtout destinée aux utilisateurs avancés.
</div>
<div class="alert alert-warning" markdown="1">
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.
</div>
0. Installez Raspbian Jessie Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD puis connectez-vous en ssh au Raspberry Pi.
0. Installez Raspbian Jessie Lite ([instructions](https://www.raspberrypi.org/downloads/raspbian/)) sur la carte SD.
1. L'user root doit avoir un mot de passe. (Si ce n'est pas le cas l'installation ne marchera pas.)
1. Connectez-vous en ssh au Raspberry Pi avec l'utilisateur pi. Définissez un mot de passe root avec
```bash
sudo passwd root
```
2. Installer git
```bash
sudo apt-get install git
```
2. Modifiez `/etc/ssh/sshd_config` pour autoriser root à se logger en ssh, en remplacant `PermitRootLogin without-password` par `PermitRootLogin yes`. Rechargez le daemon ssh avec `service ssh reload`, puis re-connectez-vous en root.
3. Récupérer le script d'installation de Yunohost
```bash
git clone https://github.com/YunoHost/install_script /tmp/install_script
```
3. Déconnectez-vous et reconnectez-vous avec l'utilisateur root cette fois.
4. Executez le script d' installation
```bash
cd /tmp/install_script && sudo ./install_yunohost
```
4. Poursuivez avec la <a href="/install_manually_fr">procédure d'installation manuelle générique</a>.
---

View file

@ -7,9 +7,7 @@
<img src="/images/virtualbox.png" width=200>
* A x86 computer with VirtualBox installed and enough RAM capacity to be able to run a small virtual machine.
* The latest **YunoHost ISO image**, available here:
* **Torrent** ([i386](http://build.yunohost.org/yunohostv2-latest-i386.iso.torrent), [amd64](http://build.yunohost.org/yunohostv2-latest-amd64.iso.torrent)): share at least to ratio 1 to assure the torrent's sustainability
* **Direct download** ([i386](http://build.yunohost.org/yunohostv2-latest-i386.iso), [amd64](http://build.yunohost.org/yunohostv2-latest-amd64.iso))
* The latest stable **YunoHost ISO image**, available [here](https://build.yunohost.org).
---

View file

@ -7,9 +7,7 @@
<img src="/images/virtualbox.png" width=200>
* Un ordinateur x86 avec VirtualBox installé et assez de RAM disponible pour lancer une petite machine virtuelle.
* La dernière **image ISO YunoHost**, disponible ici :
* **Torrent** ([i386](http://build.yunohost.org/yunohostv2-latest-i386.iso.torrent), [amd64](http://build.yunohost.org/yunohostv2-latest-amd64.iso.torrent)) : partagez au moins jusquà un ratio de 1 pour assurer la pérennité du torrent
* **Téléchargement direct** ([i386](http://build.yunohost.org/yunohostv2-latest-i386.iso), [amd64](http://build.yunohost.org/yunohostv2-latest-amd64.iso))
* La dernière **image ISO YunoHost** stable, disponible [ici](https://build.yunohost.org).
---

View file

@ -3,7 +3,7 @@
<a class="btn btn-lg btn-default" href="http://ports.yunohost.org">Check ports are open</a>
#### Access to box/routeur administration
In the URL bar of your web navigator put:
In the URL bar of your web browser put:
```bash
192.168.0.1 or 192.168.1.1
```
@ -20,14 +20,16 @@ Opening following ports are necessary to make works differents services.
* [DNS](/dns_en): 53
##### UPnP
UPnP permit opening automatically ports.
UPnP permit automatically forward ports.
In some case, after changing your box configuration (ex: add IPv6, or unlock SMTP ... ) and a reboot. It happens that ports are no onger opened. So you have to reload your firewall configuration:
In some case, after changing your box configuration (ex: add IPv6, or unlock SMTP…) and a reboot. It happens that ports are no longer forwarded. So you have to reload your firewall configuration:
```sudo yunohost firewall reload```
```bash
sudo yunohost firewall reload
```
##### Manual opening ports
In the case that UPnP doesnt works, manual opening ports are necessary.
##### Manual forward ports
In the case that UPnP doesnt works, manual ports forward are necessary.
##### Email
Internet service porviders blocks port 25 to avoid spam. To send mails, youll need to open port 25.
Internet service porviders blocks port 25 to avoid spam. To send mails, youll need to forward port 25.

View file

@ -8,8 +8,8 @@ Allez à ladresse suivante : http://192.168.0.1 (ou celle-ci http://192.168.
### Tutoriel
* [Tutoriel pour les ouvrir les ports sur les boxs dOrange, Free, SFR, Dartybox, Belgacom et sur les routeurs Netgear](https://craym.eu/tutoriels/utilitaires/ouvrir_les_ports_de_sa_box.html).
### Ouverture des ports
Louverture des ports suivants est nécessaire au fonctionnement des différents services.
### Redirection des ports
La redirection des ports suivants est nécessaire au fonctionnement des différents services.
**TCP :**
* Web : 80 <small>(HTTP)</small>, 443 <small>(HTTPS)</small>
@ -27,15 +27,17 @@ Louverture des ports suivants est nécessaire au fonctionnement des différen
LUPnP permet douvrir automatiquement les ports. Si ce nest pas le cas par défaut, vous pouvez lactiver via linterface dadministration de votre routeur.
Dans certains cas après avoir changé la configuration de votre box (ex : sur Freebox ajout dIPv6, débloquer le SMTP…) et après lavoir rebooté. Il se peut que vos ports ne soient plus ouverts. Il faut donc réautoriser ces ports par le firewall :
Dans certains cas après avoir changé la configuration de votre box (ex : sur Freebox ajout dIPv6, débloquer le SMTP…) et après lavoir rebooté. Il se peut que vos ports ne soient plus redirigés. Il faut donc réautoriser ces ports par le firewall :
```sudo yunohost firewall reload```
```bash
sudo yunohost firewall reload
```
#### Ouverture manuelle de ports
#### Redirection manuelle des ports
Dans le cas où lUPnP ne fonctionne pas, louverture manuelle des ports est nécessaire. Encore une fois référez-vous à linterface dadministration de votre routeur.
Dans le cas où lUPnP ne fonctionne pas, la redirection manuelle des ports est nécessaire. Encore une fois, référez-vous à linterface dadministration de votre routeur.
ATTENTION (CPU ARM) : lactivation de lUPnP est inefficace avec les serveurs équipés dun processeur ARM (remarque valable pour YunoHost v2.2). Une ouverture manuelle des ports du routeur est alors requise.
ATTENTION (CPU ARM) : lactivation de lUPnP est inefficace avec les serveurs équipés dun processeur ARM (remarque valable pour YunoHost v2.2). Une redirection manuelle des ports du routeur est alors requise.
#### Le courrier électronique

View file

@ -2,85 +2,264 @@
## Shell helpers
Since YunoHost 2.4 release, **new shell helpers** are available to ease packaging, in particular for common tasks like password generation, MySQL database creation…
Since YunoHost 2.4 release, **new shell helpers** are available to ease common packaging tasks like password generation, MySQL database creation…
Examples are available in the [example application](https://github.com/YunoHost/example_ynh/blob/master/scripts/install). We advise to use them.
Usage examples are available in the [example application](https://github.com/YunoHost/example_ynh/blob/master/scripts/install). We advise to use them.
You can find them on this [repository](https://github.com/YunoHost/yunohost/blob/unstable/data/helpers.d).
To use them, you need to add following lines in the shell scripts:
```bash
# Source app helpers
. /usr/share/yunohost/helpers
source /usr/share/yunohost/helpers
```
<!--
<br />
### Available helpers list (non exhaustive)
#### Database
#### Moulinette
The CLI [moulinette](/moulinette) provides a few tools to make the packager's work easier:
```bash
ynh_mysql_execute_as_root SQL DB
```
> Runs the SQL command `SQL` as database root user on `DB` database (this last argument is optional).
```bash
ynh_mysql_execute_file_as_root FILE DB
```
> Runs the SQL commands listed inside `FILE` as root user on `DB` database (this last argument is optional).
```bash
ynh_mysql_create_db DB USER PWD
```
> Create the `DB` database and grants all rights to `USER` (created on the fly with `PASSWORD` password).
```bash
ynh_mysql_drop_db DB
```
> Delete the `DB` database.
```bash
ynh_mysql_dump_db DB > ./FILE
```
> Exports the `DB` database into the `FILE` file.
#### Debian packages handling
```bash
ynh_package_is_installed PACKAGE
```
> Tests if the Debian package `PACKAGE` is installed on the system.
> Read command output to know the result. e.g:
> ```bash
> if ! ynh_package_is_installed "yunohost" ; then
> echo "Oops, package is not installed"
> else
> echo "Package is installed"
> fi
> ```
```bash
ynh_package_version PACKAGE
```
> Returns the installed version number of `PACKAGE`.
```bash
ynh_package_update
```
> Updates the packages list (`apt update`) in a silent and non-interactive way.
**Be careful, the following commands are to be avoided when possible. Installing (and even more removing) a package without handling conflicts and dependencies is risky. That will be improved in future Yunohost versions.**
```bash
ynh_package_install PACKAGE1 PACKAGE2
```
> Installs (`apt install`) `PACKAGE1`, `PACKAGE2`… packages, in a non interactive and silent way.
```bash
ynh_package_autoremove PACKAGE1 PACKAGE2
```
> Removes (`apt-get autoremove`) `PACKAGE1`, `PACKAGE2`… packages in a silent and non-interactive way.
#### Apps configuration
```bash
ynh_app_setting_set APP KEY VALUE
```
> Store the setting named `KEY` with value `VALUE` for the app `APP`. This allows to reuse it later (typically in the `upgrade` script), or so that YunoHost can autoconfigure the SSO.
> The settings are stored in the /etc/yunohost/apps/${APP}/settings.yml file.
> For example, to store the visibility setting (private or public app), you can use :
> ```bash
> ynh_app_setting_set my_app is_public "yes"
> ```
The SSO uses app stored settings to allow or deny public access to HTTP resources. There are 6 configuration keys :
`skipped_uris`, `unprotected_uris` and `protected_uris` are relative to app path. Example:
> ```bash
> ynh_app_setting_set app_name skipped_uris "/blog"
> ```
> Matches the /blog path of the application: https://domain.tld/path_app/blog and everything under this path, but not https://domain.tld/path_app/.
**skipped_uris**
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.
**unprotected_uris**
An URL set with *unprotected_uris* key will be accessible publicly, but if an user is logged in, his information will be accessible (though HTTP headers) to the app.
**protected_uris**
An URL set with *protected_uris* will be blocked by the SSO and accessible only to authenticated and authorized users.
`skipped_regex`, `unprotected_uris` and `protected_regex` are regex counterparts of the above keys.
> The syntax is **not** the "standard" regex syntax ([PCRE](https://en.wikipedia.org/wiki/Perl_Compatible_Regular_Expressions)) but [Lua patterns](http://lua-users.org/wiki/PatternsTutorial).
The regex patterns match the whole URL, unlike the string patterns (which match only the app-local part of the URL, as detailed above). This means you must write complete patterns including the *domain* and *path*.
> For example, to use *skipped_regex* to match /blog followed by a 1+ digit number:
> ```bash
> ynh_app_setting_set app_name skipped_regex "$domain$path/blog%?%d+$"
> ```
> This may lead to an issue : if $domain or $path contain a dash (-), it will interpreted as a pattern magic char. That is why dashes must be escaped with a %.
> ```bash
> domainregex=$(echo "$domain" | sed 's/-/\%&/g')
> pathregex=$(echo "$path" | sed 's/-/\%&/g')
> ynh_app_setting_set app_name skipped_regex "$domainregex$pathregex/blog%?%d+$"
> ```
```bash
ynh_app_setting_get APP KEY
```
> Get the value of the setting named `KEY` for the `APP` app.
> Example :
> ```bash
> is_public=$(ynh_app_setting_get app_name is_public)
> ```
```bash
ynh_app_setting_delete APP KEY
```
Delete the setting named `KEY` for the `APP` app.
#### Users management
```bash
ynh_user_exists USERNAME
```
> Checks the existence of `USERNAME` user in YunoHost.
> Command return code must be checked to know the result.
> Example:
> ```bash
> if ynh_user_exists "johndoe" ; then
> echo "This user exists!"
> fi
> ```
```bash
ynh_user_get_info USERNAME KEY
```
> Get the `KEY` information on `USERNAME` user.
> Possible `KEY` values are:
> - firstname
> - fullname
> - lastname
> - mail
> - mail-aliases
> - mailbox-quota
> Example:
> ```bash
> mailadmin=$(ynh_user_get_info $admin mail)
> ```
```bash
ynh_system_user_exists USERNAME
```
> Checks if the `USERNAME` unix user exists.
> Command return code must be checked to know the result.
> Example:
> ```bash
> if ynh_system_user_exists "www-data" ; then
> echo "User exists on system!"
> fi
> ```
#### Other commands
```bash
ynh_string_random LENGTH
```
> Generates a random string of `LENGTH` chars (defaults to 24).
```bash
ynh_die MSG RETCODE
```
> Displays the `MSG` message on stderr and exits the script with `RETCODE` return code (defaults to 1).
<br/>
**Following commands are to be replaced (or even deleted) in future YunoHost versions.**
```bash
sudo yunohost app checkport <port>
```
<blockquote>
This helper checks the port and returns an error if the port is already in use.
</blockquote>
> This helper checks the port and returns an error if the port is already in use.
> Command return code must be checked to know the result.
> Example:
> ```bash
> port=DEFAULT_PORT
> while ! sudo yunohost app checkport $port ; do
> port=$((port+1))
> done
> ```
<br>
```bash
sudo yunohost app setting <id> <key> [ -v <value> ]
sudo yunohost firewall allow [--no-upnp] {TCP,UDP,Both} PORT
```
<blockquote>
This is the most important helper of YunoHost. It allows you to store some settings for a specific app, in order to be either reused afterward or used for YunoHost configuration (**e.g.** for the SSO).
<br><br>
It sets the value if you append ```-v <value>```, and gets it otherwise.
<br><br>
** Some useful settings **<br><br>
```skipped_uris```<br><br>
Remove the protection on the uris list provided separated by commas.<br><br>
```protected_uris```<br><br>
Protects the uris list provided separated by commas. Only logged in users will have access.<br><br>
There are also `skipped_regex`, `protected_regex`, `unprotected_uris`, `unprotected_regex`.<br><br>
**Be careful** : you must run `yunohost app ssowatconf` to apply the effect. URIs will be converted into URLs and written to the file /etc/ssowat/conf.json.<br><br>
Example:<br>
```yunohost app setting myapp unprotected_urls -v "/"```<br>
```yunohost app ssowatconf```<br>
These commands will disable the SSO on the root of the aplication like domain.tld/myapp This is useful for public application.
</blockquote>
<br>
> Opens the port number `PORT` on the firewall, for TCP, UDP or both.
> Automatic port opening via upnp may be disabled on this port using `--no-upnp`
```bash
sudo yunohost app checkurl <domain><path> -a <id>
sudo yunohost firewall disallow {TCP,UDP,Both} PORT
```
<blockquote>
This helper is useful for web apps and allows you to be sure that the web path is not taken by another app. If not, it "reserves" the path.
<br><br>
**Note**: do not prepend `http://` or `https://` to the `<domain><path>`.
</blockquote>
<br>
> Closes the port number `PORT` on the firewall for TCP, UDP or both.
```bash
sudo yunohost app initdb <db_user> [ -p <db_pwd> ] [ -s <SQL_file> ]
sudo yunohost app checkurl DOMAINPATH -a APP
```
<blockquote>
This helper creates a MySQL database. If you do not append a password, it generates one and returns it. If you append a SQL file, it initializes your database with the SQL statements inside.
</blockquote>
<br>
> Checks `DOMAIN`/`PATH` url availability. Useful for web apps to make sure the chosen URL is not already taken by another app. If the URL is available, that commands register for the `APP` application.
> **Note**: do not prepend `http://` or `https://` to `DOMAINPATH`.
```bash
sudo yunohost app addaccess [--users=USER] APP
```
> Allow the `USER` user to access `APP`.
```bash
sudo yunohost app removeaccess --users=USER APP
```
> Remove the access authorization to `APP` from `USER` user.
```bash
sudo yunohost service remove NAME
```
> Remove the service `NAME` from the YunoHost management interface.
```bash
sudo yunohost app ssowatconf
```
<blockquote>
This helper reloads the SSO configuration. You have to call it at the end of the script when you are packaging a web app.
</blockquote>
-->
> This commands rebuilds the SSO configuration. It is called automatically at the end of any script, but you may want to call it by hand before.

View file

@ -140,7 +140,7 @@ Une url ajoutée avec la clé *protected_uris* sera bloquée par le SSO et acces
Les clés `skipped_regex`, `unprotected_regex` et `protected_regex` sont les équivalents en "expressions régulières" des 3 clés précédentes.
> Il est important de noter que ce ne sont pas véritablement des expressions régulières qui seront interprétés, mais des patterns lua, dont la syntaxe différe légèrement.
> [Plus d'infos sur la syntaxe des patterns lua.](http://wxlua.free.fr/Tutoriel_Lua/Tuto/Strings/strings6.php) [Ainsi que quelques exemples.](http://wxlua.free.fr/Tutoriel_Lua/Tuto/Strings/strings7.php)
Le pattern étant recherché sur l'ensemble des urls soumises, afin d'éviter des débordements on préfera ajouter au pattern l'url complète qui doit être prise en compte par ssowat.
Les patterns utilisant des regex, contrairement aux précédents, sont recherchés sur la totalité de l'URL, et non uniquement sur la partie spécifique à l'application. Il convient donc d'écrire des patterns qui englobent l'URL entière (incluant *domaine* et *chemin*).
> Par exemple, si on souhaite placer *skipped_regex* sur /blog en considérant une suite de chiffres indéfinie en argument. On indiquera ceci :
> ```bash
> ynh_app_setting_set nom_app skipped_regex "$domain$path/blog%?%d+$"

View file

@ -40,6 +40,14 @@ This password will be used to access to your server's [administration interface]
---
## Troubleshooting
### Secured connection fails after **post-installation**
If you're using your own domain and depending on your browser, you might be stuck out of your Yunohost installation until you deploy an appropriate certificate. Thanks to Yunohost and [Let's Encrypt](https://letsencrypt.org/), this proves to be quite easy: just run `yunohost domain cert-install` in command-line to issue and install your certificate and _Voilà_. Refresh your browser and you're good to go.
---
## And after ?
Once the post-installation finished, check if you can access to your server with your web-browser. If it is not the case, a few more configuration steps may be required.

View file

@ -1,3 +1,4 @@
# Post-Installation
Létape appelée « **post-installation** » est en fait létape de configuration initiale de YunoHost. Il faut lexécuter après l**installation** du système en lui-même.
@ -37,7 +38,7 @@ Cest le nom de domaine qui permettra laccès à votre serveur ainsi qua
### Mot de passe dadministration
Cest le mot de passe qui vous permettra daccéder à l[interface dadministration](/admin_fr) de votre serveur. Vous pourrez également lutiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers.
Cest le mot de passe qui vous permettra daccéder à l[interface dadministration](/admin_fr) de votre serveur. Vous pourrez également lutiliser pour vous connecter à distance via **SSH**, ou en **SFTP** pour transférer des fichiers.
De manière générale, cest la **clé dentrée à votre système**, pensez donc à la **[choisir attentivement](http://www.commentcamarche.net/faq/8275-choisir-un-bon-mot-de-passe)**.
@ -45,6 +46,14 @@ De manière générale, cest la **clé dentrée à votre système**, pense
---
## En cas de problème
### Échec de la connection sécurisée après la **post-installation**
Si vous utilisez votre propre domaine et selon votre navigateur, vous pourriez vous retrouver bloqué à l'entrée de votre Yunohost tant que vous n'avez pas déployé un certificat valide. Grâce à Yunohost et [Let's Encrypt](https://letsencrypt.org/), c'est plutôt simple : exécutez simplement `yunohost domain cert-install` en ligne de commande pour émettre et installer votre certificat et _Voilà_. Rafraichissez votre navigateur et vous êtes paré.
---
## Et après?
Une fois létape de post-installation exécutée, vérifiez que votre serveur est accessible en tapant le nom de domaine choisi précédemment dans votre navigateur web. Si celui-ci nest pas accessible, quelques étapes de configurations supplémentaires sont sûrement nécessaires.

View file

@ -102,7 +102,6 @@
* [Creation of Debian packages](/build_packages_en)
* [Create an ARM board image](/build_arm_image_en)
* [Create a live USB image](/create_live_usb)
* [Build Openresty](/build_openresty)
* Documentation
* [Write documentation](/write_documentation)
* [Accounting to edit documentation](/accounting)

View file

@ -115,7 +115,6 @@
* [Création de paquets Debian](/build_packages_fr)
* [Créer une image pour carte ARM](/build_arm_image_en)
* [Créer une image live USB](/create_live_usb_fr)
* [Builder Openresty](/build_openresty_fr)
* Documentation
* [Création dun compte pour lédition de la documentation](/accounting_fr)
* [Écrire de la documentation](/write_documentation_fr)

View file

@ -5,7 +5,7 @@ Ce guide peut trouver son intérêt lors du débuggage dune 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 dune 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/here.
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 dune 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.
Vous pouvez aussi lire ceci si vous avez encore envie de bricoler sur votre instance YunoHost en production : https://wiki.debian.org/DontBreakDebian

View file

@ -1,9 +1,9 @@
# Documentation utilisateur
# Documentation pour les utilisateurs YunoHost
* [Interface utilisateur](user_interface)
* [Linterface utilisateur](user_interface)
* [La messagerie électronique (email)](/email_fr)
* [Messagerie instantanée et réseaux sociaux XMPP](/XMPP_fr)
* [Applications officielles](/apps_fr)
* [La messagerie instantanée et les réseaux sociaux XMPP](/XMPP_fr)
* [Les applications officielles](/apps_fr)
* [Firefox Sync](/app_ffsync_fr)
* [Jappix](/app_jappix_fr)
* [Tiny Tiny RSS](/app_ttrss_fr)

View file

@ -29,7 +29,7 @@ Pour éviter ça il faut entre autre :
Malheureusement, aucun des FAI français les plus courants ne respecte la totalité de ces points.
Pour pallier à ça, l'usage d'un VPN respectant ces points peut être une alternative.
Pour pallier cela, l'usage d'un VPN respectant ces points peut être une alternative.
### Confiance
Enfin, si vous ne souhaitez pas que le contenu des communications de votre serveur soit espionnable par des équipements présent sur le réseau de votre Fournisseur d'Accès Internet, vous pouvez utiliser un VPN pour chiffrer vos communications et déporter votre confiance sur un fournisseur de VPN. Rappel, depuis 2015, le gouvernement déploie officiellement des boîtes noires chez les gros opérateurs réseau qui ont pour objectif de mettre sur écoute l'ensemble des communications numériques françaises entre autre pour préserver les intérêts scientifiques, économiques et industrielles de la France.