purge from gitea unsupported markdown

This commit is contained in:
nas 2021-03-22 15:02:19 +01:00
commit cbe37d1e00

View file

@ -3,10 +3,10 @@ Installer WikiPP
### Dépendences
Le guide d\'installation est relativement bien fait¹ Cependant
l\'emplacement des dépendences est un peu floue :
Le guide d'installation est relativement bien fait¹ Cependant
l'emplacement des dépendences est un peu floue :
- cppCMS : l\'installation est déjà renseigner [ici](#cppcms)
- cppCMS : l'installation est déjà renseigner [ici](#cppcms)
- CPPDB : il faut chopper le code et le compiler
@ -23,10 +23,10 @@ l\'emplacement des dépendences est un peu floue :
- Gettext : est normalement disponible via le gestionnaire de packet
`apt install gettext`
### Notes sur l\'installation
### Notes sur l'installation
La procédure l\'installation est plutôt bien décrite mais il y une typo
a un endroit, je remet la liste des commandes dans l\'ordre :
La procédure l'installation est plutôt bien décrite mais il y une typo
a un endroit, je remet la liste des commandes dans l'ordre :
wget https://github.com/cppweb/wikipp.git
@ -39,12 +39,12 @@ a un endroit, je remet la liste des commandes dans l\'ordre :
De même, il manque la création de l\'utilisateur gérant da base de
donnée, je reprend cette phase en l\'y ajoutant. Les commandes suivantes
De même, il manque la création de l'utilisateur gérant da base de
donnée, je reprend cette phase en l'y ajoutant. Les commandes suivantes
sont pour les moteurs mariadb ou mysql; réferes-toi sur le site¹ pour
une base sqlite3 ou postgres. Adaptes la premières commande pour
t\'authentifier avec les droits de créations de base et sur le moteur de
base de données ; dans mon cas `sudo mariadb`, mais il peut s\'agir de
t'authentifier avec les droits de créations de base et sur le moteur de
base de données ; dans mon cas `sudo mariadb`, mais il peut s'agir de
`mysql -u root -p`.
@ -57,7 +57,7 @@ base de données ; dans mon cas `sudo mariadb`, mais il peut s\'agir de
### Note sur la configuration
Si tu doutes de l\'emplacement de l\'installation de wikipp, lance la
Si tu doutes de l'emplacement de l'installation de wikipp, lance la
commande suivante :
@ -65,7 +65,7 @@ commande suivante :
Ignore le résultat dans `/usr`, il s\'agit de la base de donnée; dans la
Ignore le résultat dans `/usr`, il s'agit de la base de donnée; dans la
suite je comsidère que ce répertoire est ` /usr/local/share/wikipp`. Une
fois obtenu, nous pouvons finaliser da base de donénes en important la
structure par défaut; souviens toi que je suis sur mariadb, adaptes à
@ -96,7 +96,7 @@ permet de se connecter à la base de données. Dans mon cas :
Il faut ensuite générer une clef privée pour l\'application, en fonction
Il faut ensuite générer une clef privée pour l'application, en fonction
de la librairie utilisée.
#### Avec libgcrypt et openssl
@ -112,7 +112,7 @@ copier son résultat ou en le redirigeant dans un fichier (i.e
En cherchant les clefs des valeurs renvoyés par cette commande,
j\'obtiens le bloc suivant dans le fichier de configuration, où «CLEF
j'obtiens le bloc suivant dans le fichier de configuration, où «CLEF
PRIVÉE » finit les chaines de caractère générées :
@ -156,11 +156,11 @@ génération est la configuration sont différentes :
#### Configuration du socket
L\'executable de wikipp peut-être atteinds via différents types de
L'executable de wikipp peut-être atteinds via différents types de
socket; la configuration se fait dans la partie `"service"` de notre
fichier conf.js qu\'on passe en option. On peut utiliser un fichier
socket ou l\'interface réseau interne `127.*.*.*`. Je trouve plus simple
d\'utiliser cette dernière solution, qui est aussi la solution retenue
fichier conf.js qu'on passe en option. On peut utiliser un fichier
socket ou l'interface réseau interne `127.*.*.*`. Je trouve plus simple
d'utiliser cette dernière solution, qui est aussi la solution retenue
dans mes autres billets sur nginx.
@ -172,17 +172,17 @@ dans mes autres billets sur nginx.
Depuis ma machine, l\'adresse du wiki sera sur `http://127.0.0.89:8065`.
Depuis ma machine, l'adresse du wiki sera sur `http://127.0.0.89:8065`.
#### Configuration du serveur web
Je me suis basé sur la doc officiel pour configurer le serveur nginx;
pour les autres serveurs, regarde la doc officiel dans les sources.
Sinon c\'est exactement le même bloc, mais avec une redirection vers
l\'interface interne⁴. J\'ai ajouter toute la configuration, avec le
Sinon c'est exactement le même bloc, mais avec une redirection vers
l'interface interne⁴. J'ai ajouter toute la configuration, avec le
certificat SSL multi-domaine générer par certbot, la redirection de HTTP
vers HTTPS. Des billets dédiés existent pour expliquer spécifiquement
ces configurations; si tu n\'en veux pas, ajoute simplement au bloc
ces configurations; si tu n'en veux pas, ajoute simplement au bloc
`location ~ ^/wikipp.*$`. Il faut aussi que les fichiers
`/var/log/www/wiki/access.log` et `/var/log/www/wiki/error.log`
existent. Dans le fichie
@ -253,10 +253,10 @@ existent. Dans le fichie
Après avoir fait un lien symbolique dans `/etc/nginx/sites-enabled/`,
redémarre nginx; avec systemd : `systemctl restart nginx`
#### Droits d\'utilisations
#### Droits d'utilisations
Il faut que l\'utilisateur qui execute l\'application ai les droits de
lecture sur le repo, voir d\'écriture sur le fichier socket (s\'il est
Il faut que l'utilisateur qui execute l'application ai les droits de
lecture sur le repo, voir d'écriture sur le fichier socket (s'il est
utilisé). Je te conseille de créer un utilisateur dédié, membre du group
www-data :
@ -274,12 +274,12 @@ utilisateur, sinon va dedans (chez moi `/var/www/wiki`):
### Tester
Pour tester, place toi dans le répertoire des sources de wikipp en tant
qu\'utilisateur wikipp, après les avoir compilées, et lance la commande
qu'utilisateur wikipp, après les avoir compilées, et lance la commande
suivante :
`wikipp -c config.js `
Si tu as interdit de s\'identifier en tant que wikipp, utilise su:
Si tu as interdit de s'identifier en tant que wikipp, utilise su:
`su -c "wikipp -c config.js"`
@ -293,8 +293,8 @@ Ou si tu as déclaré ton nom de domaine :
#### Configuration de la racine
En omettant `wikipp` à la fin de l\'url, on se tape une sale erreur
`403`. Ce qui n\'est pas top. Il suffit simplemet de modifier les
En omettant `wikipp` à la fin de l'url, on se tape une sale erreur
`403`. Ce qui n'est pas top. Il suffit simplemet de modifier les
configuration nginx. Remplace la ligne :
`location ~ ^/wikipp.*$`
@ -303,9 +303,9 @@ Par :
`location ~ ^/(?!(favicon\.ico|.*.css|robots\.txt|.*.js)) {`
Relance nginx, et c\'est bon.
Relance nginx, et c'est bon.
Au lieu de lancer l\'application à partir du point wikipp, on la lance
Au lieu de lancer l'application à partir du point wikipp, on la lance
toujours, sauf exceptions; ces exceptions étant les feuille de style
(.css), les scripts .js et le fichier pour les crawlers (robots.txt). Ça
ajoute une couche de sécurité; ce qui ne dispense bien sûr pas des
@ -314,12 +314,12 @@ autres.
`mv /var/www/wiki/conf.js /var/www/wiki/conf.ini`
Ça pose un problème de sécunité; le fichier de conf est lisible via le
serveur, puisqu\'il est en .js. Je propose le le changer en conf.ini
serveur, puisqu'il est en .js. Je propose le le changer en conf.ini
#### Wikipp en tant que service
On va pas lancer wikipp à la main à chaque démarrage de la machine. Le
plus simple est de créer un service; je part lu principe que t\'es sur
plus simple est de créer un service; je part lu principe que t'es sur
systemd, regarde de la doc de ton gestionnaire de service pour adapter.
On va créer un fichier de service; remplace ton éditeur de texte :
@ -342,7 +342,7 @@ On va créer un fichier de service; remplace ton éditeur de texte :
Ensuite on donne l\'autorisation et on actualise les daemon :
Ensuite on donne l'autorisation et on actualise les daemon :
chmod +x /etc/systemd/system/wiki.service
@ -360,18 +360,18 @@ Et si tu veux que le service se lance automatiquement au démarrage⁵ :
#### Autres configurations
Le guide officiel prévoit d\'autres configuration pour les dictionnaires
de traductions et la connection de la libraire CPPDB. Je n\'en ai pas eu
Le guide officiel prévoit d'autres configuration pour les dictionnaires
de traductions et la connection de la libraire CPPDB. Je n'en ai pas eu
besoin, sauf pour les langues; le français étant absent par défaut.
### Messages d\'erreurs
### Messages d'erreurs
- `wikipp, error: system: Socket operation on non-socket (main.cpp:14)`
: Le socket est mal définit dans le fichier de configuration ou le
fichier de configuration est mal définit.
- `Failed to load skin:view, no shared object/dll found` : il manque
des fichiers de la compilation. Soit la compilation a échouée, soit
l\'execution n\'a pas eu lieu dans le répertoire des sources.
l'execution n'a pas eu lieu dans le répertoire des sources.
La commande `wikipp` permet de lancer le logiciel. Il faut cependant
spécifier `-c` en option, pour le fichier de configuration fournit avec
@ -390,81 +390,3 @@ les sources `config.js`
- \[5\][digitalocean.com
manage-systemd-services-and-units](https://www.digitalocean.com/community/tutorials/how-to-use-systemctl-to-manage-systemd-services-and-units)
:::
::: {#20210311-audio-stream .billet data-tag="audio stream html5"}
Lecteur web de flux audio
-------------------------
HTML5 introduit des lecteurs média par défaut, capabde ve lire des fluxs
de média. Bien sûr, les navigateurs intègre cette norme de manière
inégale. La balise audio prend les atrributs suivants :
- `controls` : affiche les controles
- `preload` : pré-charge autonmatiquement
- `autoplay` : lance aucomatiquement de contenu
La source du flux peu-être précisée en attribut (`src`) ou dans des
sous-éléments de types `<source>`. Il est possible de donner plusieurs
sources; en cas d'échec, le lecteur tentera la suivante. C'est
indispensable pour assurer une compatibilité entre les navigateurs.
Aucun format audio n'est compatible partout pour le moment. Dans
l'exemple suivant, jqai une source ogg ec ure autre en mp3, ce qui
devrait mancher sur Opéra, Firefox, et Chromium.
` `
<audio controls preload autoplay>
<source src="https://server.de.stream/1.mp3" type="audio/mpeg">
<source src="https://server.de.stream/1.ogg" type="audio/ogg">
</audio>
:::
::: {#20210310-vlc-radio .billet data-tag="vlc nginx"}
Faire une webradio avec VLC
---------------------------
On le dira jamais assez : VLC est magique. Je m\'attarderais pas sur
tout ce que ce petit soft est capable de faire; c\'est très long. Ce qui
nous intéresse ici c\'est sa capacité à être compdètement utilisé dans
la console, et à pouvoir créer un flux audio ou vidéo sur le réseau. Par
exemple, si mon adresse de réseau local est 192.168.1.2, et que je veux
diffuser le fichier radio.mp4 :
` `
vlc -vvv radio.mp4 --sout "#standard{access=http,mux=ogg,dst=192.168.1.2}"
Pour tester, il est possible d\'ouvrir un flux réseau depuis
l\'interface graphique, et y écrire `http://192.168.1.2`
Pour faire une webradio, je propose de diffuser le contenu sur une
interface réseau local (loop), et de rediriger les demandes de
connexions externe vers ce flux interne. Pour cela, suit le tuto pour
ajouter un sous-réseau, et créer le fichier de configuration suivant
(ici pour radio\@example.cccp). Lance la cammande précédante, mais
remplace l\'adresse de diffusion par 127.0.0.1.1032:
` `
server {
listen 80;
listen [::]:80;
server_name radio.example.com;
location / {
proxy_pass http://127.0.0.1:1032/;
}
}
Il est tout a fait possuble de faire passer le stream par une connexion
https via nginx.
Sources :
---------
- [wiki.videolan.org RTSP on demand
streaming](https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/#RTSP_on-demand_streaming)
:::