Attention

Cette page est une ébauche de documentation, qui pour le moment N'EST PAS UN MODÈLE À SUIVRE à l'AuF

Page dédiée aux explications techniques des hébergements web assurés par l'AUF

Infrastructure

Réseau

Au minimum 2 interfaces réseau.

Parefeu et Filtrage

seconde interface IP qui ferait
pont avec les containers... Si on peut éviter, c'est mieux, non ? 

[..] on pourrait effectivement pousser un peu plus, en faisant un pont
pour un réseau portant les services publiques (via NAT quand on a un
nombre d'IP limitées) et un autre pont qui ne ferait de communication
que via le proxy frontal web

NS

Serveur DNS installé sur l'hôte à usage exclusif par les différents CTs

Messagerie et smarthost

Conteneur standard

Au minimum il faut disposer des conteneurs suivant

CT base de données

Plusieurs technologies au choix... MySQL , PostgreSQL 2

Ce qui compte est de centraliser l'ensemble des bases de données dans un seul conteneur

/!\ Planifier des sauvegardes par base qui seront stockées dans un site approprié selon le contexte

CT MySQL

CT PostgreSQL

...

Web frontal

<VirtualHost *:80>
        ServerAdmin webmaster@localhost
        ServerAlias ct.xxxx
        ServerName xxxx
        ProxyPass / http://xxxx./
        ProxyPassReverse / http://xxxx./
        ErrorLog ${APACHE_LOG_DIR}/site-xxxx_error.log
        CustomLog ${APACHE_LOG_DIR}/site-xxxx_access.log combined

</VirtualHost>

{i} le ServerAlias peut être utilisé avec profit pour certaines tâches comme lancer des scripts depuis le web frontal qui passeraient par l'interface web d'un conteneur..

CT supervision

Il est préférable qu'il ait un numéro d'ordre (CTID) plus élevé que tous les autres conteneurs.

Il pourrait servir pour monitorer l'ensemble des CTs si on ne souhaite pas déporter l'ensemble des informations ailleurs. Comme outils:

$ModLoad imudp
$UDPServerRun 514

# pour les templates
$template DynFile,"/var/log/host/%fromhost%/all.log"
*.*    ?DynFile

Modèles de conteneurs OpenVZ

En fonction des besoins, il faudra disposer de plusieurs templates; certains pouvant dériver d'autres.

Template de base

emplacement des logs de tous les niveaux de priorité pour la facility xx
localxx.*     /var/log/localxx

#envoi des logs en UDP sur le CT de supervision
*.* @nom.DNS.du.CT.de.supervision

ErrorLog syslog:localxx

Template application python

Template application django

Template application php

Template CT-moodle

Ce template repose sur l'installation du paquet moodle fournit par Debian squeeze, en l'occurence moodle-1.9.9.dfsg2-2.1+squeeze3

dbc_dbtype='mysql'
dbc_dbuser='xxxx'
dbc_dbpass='xxxx'
dbc_dbserver='ct110.openvz'
dbc_dbname='moodleNOMDUSITE'
dbc_dbadmin='root'

Template CT-moodle-wheezy

Il est préférable de faire un debootstrap se servant de wheezy et puis archiver le contenu et le stocker dans /var/lib/vz/template/cache avant de continuer.

De là, démarrer une instance qu'on peut configurer en se basant sur ce qui a été fait pour le ct-moodle squeeze.

Template CT-spip

Des notes:

Modèles avec debootstrap

Une alternative aux modèles de conteneurs c'est de se servir uniquement de debootstrap. Ce dernier se sert de template avec la liste des paquets à installer.

Sauvegarde


  1. Ce peut être une adresse réellement publique ou même encore privée ;) (1)

  2. ou bien encore d'autres comme MongoDB quoique... ;) (2)

HébergementWeb/SocleTechnique (dernière édition le 2012-08-03 14:06:04 par WillyManga)