22
0
Bifurcation 0

Remplacement de ``` par ~~~

Cette révision appartient à :
Jérémy Lecour 2017-01-20 10:51:37 +01:00 révisé par Jérémy Lecour
Parent 3c974f9883
révision 40083f75ff
9 fichiers modifiés avec 86 ajouts et 86 suppressions

Voir le fichier

@ -347,7 +347,7 @@ If you want to authenticate the user from github through oauth2, you need to
register your app with github to obtain a OAuth client secret and add the
following section to your configuration file:
```
~~~
[Github]
oauthclientid: 01239456789abcdef012
oauthclientsecret: 01239456789abcdef01239456789abcdef012394
@ -357,7 +357,7 @@ oauthaccesstokenendpoint: https://github.com/login/oauth/access_token
## Uncomment if you are checking membership against an organization and change
## gitit-testorg to this organization:
# github-org: gitit-testorg
```
~~~
The github authentication uses the scope `user:email`. This way, gitit gets the
email of the user, and the commit can be assigned to the right author if the
@ -368,10 +368,10 @@ To push your repository to gitub after each commit, you can add the file
`post-commit` with the content below in the .git/hooks directory of your
wikidata repository.
```
~~~
#!/bin/sh
git push origin master 2>> logit
```
~~~
Plugins
=======

Voir le fichier

@ -75,9 +75,9 @@ Un playbook va ensuite dérouler des _actions_ qui seront organisées en _roles_
Une **action** est l'invocation d'une fonctionnalité particulière fournie par un module. Exemple, pour s'assurer de l'absence d'un fichier :
```
~~~
- file: path=/etc/cron.daily/apticron state=absent
```
~~~
Les actions peuvent être listées dans la partie **tasks** du playbook et peuvent être aussi déportées dans un fichier et inclus dans le playbook.
@ -85,7 +85,7 @@ Les **handlers** sont des actions qui ne sont exécutées que si une autre actio
Lorsqu'on a besoin d'utiliser des fichiers ou _templates_ à copier, des variables avec des valeurs par défaut, des handlers… on peut organiser tout cela dans un **role** en respectant une structure conventionnelle :
```
~~~
foo
├── defaults
│   └── main.yml
@ -103,7 +103,7 @@ foo
│   └── test.yml
└── vars
└── main.yml
```
~~~
La partie **inventory** correspond à la description de l'inventaire des serveurs à configurer et inclus un mécanisme de configuration individuel et par groupe. Nous y revenons plus loin.
@ -401,9 +401,9 @@ handlers:
Dans des rôles longs, il est conseillé de purger les handlers de temps en temps (en fin de groupe d'action). En effet, si un playbook est interrompu les handlers ne sont pas forcément exécutés alors que l'action qui les a déclenchés a bien eu lieu. On insère alors l'action suivante :
```{.yaml}
~~~{.yaml}
- meta: flush_handlers
```
~~~
### Tags

Voir le fichier

@ -16,13 +16,13 @@ Les procédures d'installation suivantes sont destinées à Debian 8 (Jessie)
### Manuelle
```
~~~
# echo "deb http://apt.dockerproject.org/repo debian-jessie main" > /etc/apt/sources.list.d/docker.list
# apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
# apt update
# apt install docker-engine
# adduser <USER> docker
```
~~~
### Ansible
Le rôle docker-host permet d'installer le docker-engine sur un hôte distant et
@ -41,9 +41,9 @@ Pour autoriser des hôtes à se connecter à l'engine, il faut leur créer une c
et un certificat.
Pour ce faire, il suffit de lancer le script:
```
~~~
/home/docker/tls$ ./shellpki create
```
~~~
Les fichiers seront créés, par défaut, dans le répertoire
`/home/docker/tls/files/$CN`
@ -55,62 +55,62 @@ Un conteneur quant à lui est une instance (créée à partir d'une image)
en cours d'execution.
### Lister les conteneurs et les images:
```
~~~
$ docker ps [options]
```
~~~
Voici quelques options utiles pour la commande `ps`
```
~~~
-a : Lister tous les conteneurs
-l : Lister les conteneurs récentralise
-q : Lister uniquement les ID des conteneurs
```
~~~
### Démarrer un conteneur
```
~~~
$ docker run [options] IMAGE [commande]
```
~~~
Options courantes:
```
~~~
--name="nom" : Donner un nom au conteneur
-p port_hôte:port_conteneur : Rendre un port accessible depuis l'hôte
-d : Lancer le conteneur en mode 'détaché'
-it : Lancer le conteneur en mode intéractif avec tty
```
~~~
Pour plus d'options, consulter `$ man docker run`
### Éteindre ou tuer un conteneur
```
~~~
$ docker stop|kill [options] CONTENEUR
```
~~~
CONTENEUR correspond au nom ou à l'ID du conteneur.
Lorsque le conteneur n'est plus en fonction, il existe toujours et peut être
lister à l'aide de la commande `$ docker ps -a`
### Supprimer un conteneur ou une image
```
~~~
$ docker rm [options] CONTENEUR
ou
$ docker rmi [options] IMAGE
```
~~~
### Exécuter des commandes au sein d'un conteneur en marche
```
~~~
$ docker exec [options] CONTENEUR COMMANDE
```
~~~
Options courante:
```
~~~
-it : Lancer la commande de manière intéractive dans un TTY.
```
~~~
### Visionner les logs d'un conteneur
```
~~~
$ docker logs [options] CONTENEUR
```
~~~
Option:
```
~~~
-f : Suivre les logs en direct
```
~~~
### Se connecter à un conteneur en marche
S'il est nécessaire d'intéragir directement avec un process lancé dans un
@ -118,9 +118,9 @@ conteneur, il faut utiliser la commande `attach`.
Dans le cas où l'on souhaite simplement visionner la sortie (logs) du conteneur,
il faut utiliser `logs`.
Pour lancer un terminal ou une commande supplémmentaire, utiliser `exec`.
```
~~~
docker attach [options] CONTENEUR
```
~~~
**ATTENTION!!!**
@ -131,24 +131,24 @@ en cours. La commande *CTRL+P+Q* doit être utilisé ou l'on doit ajouter l'opti
### Astuces
Éteindre/Tuer/Supprimer tous les conteneurs:
```
~~~
$ docker stop|kill|rm $(docker ps -aq)
```
~~~
Supprimer toutes les images:
```
~~~
$ docker rmi $(docker images -q)
```
~~~
Lancer un terminal bash dans un conteneur en marche:
```
~~~
$ docker exec -it CONTENEUR bash
```
~~~
Démarrer un conteneur avec un terminal bash:
```
~~~
$ docker run -it IMAGE bash
```
~~~
### Dépannage

Voir le fichier

@ -9,59 +9,59 @@ Docker multi-conteneurs.
## Installation
### Manuellement
```
~~~
$ curl -L "https://github.com/docker/compose/releases/download/1.8.1/docker-compose-$(uname -s)-$(uname -m)" > /usr/local/bin/docker-compose
$ chmod +x /usr/local/bin/docker-compose
```
~~~
### pip:
```
~~~
$ pip install docker-compose
```
~~~
## Utilisation de base
### Lancer l'application
```
~~~
$ docker-compose up [options]
```
~~~
Options courantes:
```
~~~
-d : Lancer en mode détaché
--build : Construire les images avant de lancer les conteneurs
```
~~~
### Fermer ou forcer la fermeture de l'application
```
~~~
$ docker-compose down|kill [options]
```
~~~
Options:
```
~~~
-v : Supprimer les volumes déclarée dans le fichier docker-compose
```
~~~
### *Scaler* un composant de l'application
```
~~~
$ docker-compose scale <appname>=<## de conteneurs> ...
```
~~~
### Construire ou reconstruire un les images
```
~~~
$ docker-compose build [options]
```
~~~
Options courantes:
```
~~~
--force-rm : Supprimer les conteneurs intermédiaires
--no-cache : Ne pas utiliser le cache lors de la construction
--pull : Toujours tenter de télécharger une version plus récente de l'image
```
~~~
## Fichier de configuration
Le fichier qui définit l'application Docker Compose au format YAML est nommée
**docker-compose.yml**.
En voici un exemple:
```
~~~
version: '2'
services:
web:
@ -74,4 +74,4 @@ services:
- redis
redis:
image: redis
```
~~~

Voir le fichier

@ -6,15 +6,15 @@ Documentation officielle : <https://mmonit.com/monit/documentation/monit.html>
## Installation
```
~~~
# apt install monit
```
~~~
## Interface CLI
Monit est utilisable en ligne de commande :
```
~~~
start all - Start all services
start name - Only start the named service
stop all - Stop all services
@ -31,7 +31,7 @@ summary - Print short status information for each service
quit - Kill monit daemon process
validate - Check all services and start if not running
procmatch <pattern> - Test process matching pattern
```
~~~
En autorisant la commande Monit à certains utilisateurs non-administrateurs, il est possible de permettre la relance de processus lors de séquences de déploiement.
@ -50,7 +50,7 @@ Il peut être aussi utilisé pour déclencher des actions ou alertes en cas de c
Pour gérer la rotation des logs de Monit :
```
~~~
/var/log/monit.log {
weekly
missingok
@ -65,4 +65,4 @@ Pour gérer la rotation des logs de Monit :
fi
endscript
}
```
~~~

Voir le fichier

@ -6,21 +6,21 @@ title: Howto New Relic
Doc officielle : <https://docs.newrelic.com/docs/servers/new-relic-servers-linux/installation-configuration/servers-installation-ubuntu-debian>
```
~~~
# echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' > /etc/apt/sources.list.d/newrelic.list
# wget -O - https://download.newrelic.com/548C16BF.gpg | apt-key add -
# apt update
# apt install newrelic-sysmond
# nrsysmond-config --set license_key=<votre clé de licence>
# systemctl start newrelic-sysmond
```
~~~
# Installer l'agent PHP
Doc officielle : <https://docs.newrelic.com/docs/agents/php-agent>
```
~~~
# echo 'deb http://apt.newrelic.com/debian/ newrelic non-free' > /etc/apt/sources.list.d/newrelic.list
# wget -O - https://download.newrelic.com/548C16BF.gpg | apt-key add -
# apt update
@ -28,6 +28,6 @@ Doc officielle : <https://docs.newrelic.com/docs/agents/php-agent>
# newrelic-install install
# rm /etc/php5/conf.d/newrelic.ini
# systemctl restart <votre serveur web>
```
~~~
Debconf vous demandera la clé de license à mettre. On pourra aussi la mettre à la main dans `/etc/php5/mods-available/newrelic.ini`.

Voir le fichier

@ -25,10 +25,10 @@ TODO
Pour avoir des informations à propos de Squid :
```
~~~
$ squidclient -h 127.0.0.1 -p 3128 cache_object://localhost/
$ squidclient -h 127.0.0.1 -p 3128 mgr:info
```
~~~
### WARNING! Your cache is running out of filedescriptor
@ -38,9 +38,9 @@ depuis Debian Lenny où l'on trouve un '''ulimit -n 65535''' dans le script d'in
### Vérification de la configuration avant un start ou un reload :
```
~~~
# squid3 -k parse
```
~~~
### Résolution DNS

Voir le fichier

@ -6,9 +6,9 @@ Documentation officielle : <http://znc.in>
## Installation
```
~~~
# apt install -t jessie-backports znc
```
~~~
La version de ZNC fournie dans Jessie (et avant) est très ancienne et pourrait [contenir des bugs et des problèmes de sécurité](http://wiki.znc.in/Installation#Debian). N'ayant aucune dépendance externe au projet, il est acceptable de l'installer avec un paquet "backport".

Voir le fichier

@ -8,20 +8,20 @@ Avec cette astuce, pas besoin de modifier `/etc/hosts`, ce qui est très pratiqu
En HTTP classique :
```
~~~
$ curl http://192.0.2.1:8080/foo/bar -H 'Host: www.example.com'
```
~~~
En HTTPs (SNI) :
```
~~~
$ curl --resolve www.example.com:443:192.0.2.1 https://www.example.com/foo/bar
```
~~~
## Divers
Afficher uniquement le header :
```
~~~
$ curl -I www.example.com
```
~~~