Valhalla

Valhalla est une interface graphique d’administration de serveur grâce au logiciel SPIP.

Valhalla (Vers une Administration Libre et Héroïque Apportant La Liberté de l’Administrateur)

Le but est d’avoir une interface d’administration pour les hébergés. Afin de squeletter cette interface avec des outils que l’on connait bien, l’idée est d’utiliser spip pour la créer.

autres noms possibles

  • maginot
    • Méga Administration Générale et Intelligible de Nos Ordinateurs de Travail.
  • SADE
    • SPIP Admin Debian Extended
    • VALHALLA :
      • V
        • ers une
      • A
        • dministration
      • L
        • égère et
        • aborieuse et
      • H
        • éroïque
        • armonique
        • égémonique
      • A
        • menant
        • pportant
      • L
        • a liberté de
      • L
      • A
        • dministrateur

Définir les fonctionnalités pour l’utilisateur.

  • Enregistrer un nom de domaine
  • Créer un compte pops / imaps
  • Changer un mot de passe d’un compte mail
  • Créer un alias mail
  • Créer une base de donnée
  • Créer un compte d’hébergement (apache)
  • Définir le dossier root d’un compte d’hébergement
  • Créer une liste de diffusion/discussion
  • Changer le mot de passe d’une liste
  • Changer son mot de passe SFTP

Définir les fonctionnalités pour l’administrateur.

  • Créer un compte SFTP (utilisateur unix)
  • Créer un utilisateur mysql
  • Définir les quota pour chacun des services

Définir les programmes et les fichiers de conf qu’il faut pouvoir changer.

  • apache
    • /etc/apache2/sites-available
    • /etc/apache2/sites-enabled
  • sftp - ssh
    • /etc/passwd
    • /etc/shadow
  • postfix
    • /etc/postfix/valias.txt
    • /etc/postfix/vmaps.txt
    • /etc/postfix/vhosts.txt
  • mailman
  • mysql
  • dovecot
    • /etc/dovecot/passwd
  • système de fichier (création de dossier et de fichier)
    • /var/www/$compte/$hebergement/

Définir les procédures pour le changement des fichiers de conf

sftp

  • création
    • adduser $compte
    • créer le dossier si il n’existe pas /var/www/$compte
    • chmod 755, chown root\ :
  • update
    • modifier /etc/shadow
  • delete
    • deluser
    • effacer le dossier /var/www/$compte si il est vide

apache

  • avec un ndd
    • Création
      • faire le dossier /var/www/$compte/$ndd (si non existant)
      • faire le dossier /var/www/$compte/$ndd/www (si non existant)
      • créer le fichier de conf /etc/apache2/site-available/$ndd
      • faire lien symbolique /etc/apache2/site-enabled/$ndd
      • invoke-rc.d apache2 reload
    • update
      • modifier le fichier de conf
      • invoke-rc.d apache2 reload
    • delete
      • effacer le fichier de conf /etc/apache2/site-available/$ndd
      • effacer le lien symbolique /etc/apache2/site-enabled/$ndd
      • effacer le dossier si il est vide /var/www/$compte/$ndd/www
      • invoke-rc.d apache2 reload

postfix-vhosts

  • avec un ndd
    • création, update et delete
      • changer le fichier de conf /etc/postfix/vhosts.txt
      • invoke-rc.d postfix reload

postfix-valias

  • avec un vhosts
    • création, update et delete
      • changer le fichier de conf /etc/postfix/valias.txt
      • faire un postmap dessus
      • invoke-rc.d postfix reload

postfix-vmaps

  • avec un vhosts
    • création
      • créer les dossiers /var/mail/virtuel/$ndd/$nom/cur,temp,new
      • écrire le fichier de conf /etc/postfix/vmaps.txt
      • faire un postmap dessus
      • invoke-rc.d postfix reload
    • delete
      • effacer les dossiers
      • écrire le fichier de conf /etc/postfix/vmaps.txt
      • faire un postmap dessus
      • invoke-rc.d postfix reload
      • écrire le fichier de conf de dovecot /etc/dovecot/passwd

dovecot

  • avec un vmaps
    • création, update, delete
      • écrire le fichier de conf /etc/dovecot/passwd
      • invoke-rc.d dovecot reload

mysql utilisateur

  • création
    • créer l’utilisateur
  • update
    • changer le mdp
  • delete
    • si plus de base de données
    • effacer l’utilisateur

mysql bdd

  • avec un utilisateur mysql
    • création
      • créer le base $compte_$bdd
    • delete
      • si la base est vide
      • effacer la base $compte_$bdd

les vérifications

sftp

  • le nom d’utilisateur ne doit pas déjà exister

apache

  • ndd obligatoire
  • le dossier document_root doit exister et être lisible par www-data, ne doit pas comporter de "."

postfix vhosts

  • ndd obligatoire

postfix valias

  • vhost obligatoire
  • $nom@$ndd doit être une adresse valide
  • $alias doit être découpé selon ",", chaque résultat doit être une adresse valide

postfix vmaps

  • vhost obligatoire
  • /var/mail/virtual/$ndd/$nom ne doit pas exister
  • $nom@$ndd doit être une adresse valide

dovecot

  • vmaps obligatoire

mysql bdd

  • utilisateur mysql obligatoire
  • $compte_$bdd ne doit pas exister

par Arnaud, ShaZaam