Qu'est-ce que csoftadm?

Ce guide décrit à l'aide de plusieurs exemples, l'utilisation de notre programme de configuration à ligne de commande, csoftadm. La fonctionnalité qu'offre csoftadm est équivalent à celle offerte par notre panneau de contrôle web. La ligne de commande est simple à automatiser (voyez: Utiliser csoftadm à partir d'un script).

Pour utiliser csoftadm, connectez vous à votre serveur shell (si vous n'êtes pas familier avec l'utilisation de SSH, voyez la documentation). À l'invite de l'interpréteur de commandes, exécutez « csoftadm » pour démarrer le programme. Pour utiliser la version française de csoftadm, assurez vous que vos variables d'environnement LC_ALL et LANG ont pour valeur «fr» (ces valeurs sont habituellement attribuées dans le fichier d'initialisation du shell, tel ~/.cshrc et ~/.profile).

  $ csoftadm

L'interface de csoftadm

Une référence rapide pour les commandes de csoftadm est disponible par la page de manuel de csoftadm (en anglais):

  $ man csoftadm

Une référence rapide pour les commandes est aussi intégrée à l'interface. Utilisez «help» pour de l'aide sur une commande spécifique:

  csoftadm> help
  csoftadm> help dns
  csoftadm> help mail
  csoftadm> help mail alias add

Il n'est pas nécessaire de mémoriser la syntaxe exacte des commandes. En mode interactif, csoftadm affiche une invite pour chaque paramètre manquant (avec la valeur par défaut affichée entre crochets). Dans ce guide, le texte en italique indique une valeur de paramètre à titre d'exemple. Grâce à la fonction de complétion de commande, la touche de tabulation a pour effet de compléter la commande saisie (ou elle affiche une liste de commandes possibles s'il ya un conflit).

  csoftadm> commande
  question? valeur par défaut saisie utilisateur

  $ echo "mail alias add foo@bar.baz foo" | csoftadm -
  $ csoftadm -c "mail alias list" > myaliases.txt

Configuration des Adresses Électroniques

Les commandes mail alias sont responsables de l'attribution de destinations précises aux adresses électroniques, soit une boîte aux lettres, une adresse électronique externe, un fichier sur le serveur, un programme à exécuter sur le serveur (soit un filtre de courrier), ou une référence vers un jeu d'instructions. Voici quelques exemples.

1.1. Configurer une nouvelle électronique

Faire suivre les messages adressés à moi@example.com vers joe@example.org:

  Adresse de courrier électronique? moi@example.com
  Nouveau récipient #1? [terminé] joe@example.org
  Le récipient «joe@example.org» a été ajouté à l'alias «moi@example.com».

Pour diriger les messages pour flavien@example.com vers une nouvelle boîte de courrier nommée flavien:

  csoftadm> mail mbox add flavien
  csoftadm> mail alias add flavien@example.com flavien

Livrer les courriels adressés à archive@example.com dans un dossier IMAP nommé MyArchive:

  csoftadm> mail alias add archive@example.com ./Mail/Maildir/.MyArchive/

Pour traiter les messages adressés à quote@example.com, en utilisant un programme situé sur ~/Mail/quote.pl:

  csoftadm> mail alias add quote@example.com "|./Mail/quote.pl args"

On peut combiner les exemples précédents avec des conditions afin de classifier les messages en fonction de critères spécifiques. Par exemple, dans l'exemple suivant, on utilise la condition spam afin de prendre une décision en fonction des résultats d'un test de SpamAssassin. On peut regrouper ces directives en un jeux d'instructions (ici &myInbox):

  # Filtrer le spam de user@example.com avec un dossier «Spam»:
  csoftadm> mail rule add user@example.com spam<=5 ./Mail/Maildir/
  csoftadm> mail rule add user@example.com spam>=5 ./Mail/Maildir/.Spam/
  
  # Créer un nouveau jeu d'instruction &myInbox:
  csoftadm> mail alias add &myInbox
  csoftadm> mail rule add &myInbox spam<=5 ./Mail/Maildir/
  csoftadm> mail rule add &myInbox spam>=5 ./Mail/Maildir/.Spam/
  csoftadm> mail rule add &myInbox spam>=10 /dev/null

  
  csoftadm> mail alias add foo@example.com &myInbox
  csoftadm> mail rule add bar@example.com any &myInbox
1.2. Supprimer une adresse électronique
Utilisez mail alias del pour supprimer une adresse:
  csoftadm> mail alias del
  Alias à détruire? terminé joe@example.com
  L'alias «joe@example.com» a été supprimé.
1.3. L'affichage des alias

Pour afficher la liste des alias actuels:

  csoftadm> mail alias list

La gestion des boîtes de courrier

Les Boîtes Courriel sont des comptes dédiés, accessible par programmes de courrier POP3/IMAP, webmail ou shell. Les utilisateurs de boîtes peuvent également se connecter sur l'Interface Web pour une gestion limitée (par exemple, pour changer leur mot de passe). La commande mail mbox add crée une nouvelle boîte courriel. Aucune adresse courriel n'est associée aux nouvelles boîtes par défaut (pour créer des adresses, voyez mail alias add).

2.1. L'ajout de boîtes

Utilisez mail mbox add pour créer une nouvelle boîte. Le format IMAP devrait être utilisé (le format POP3 ou "mbox" existe seulement pour des applications spécifiques, et les boîtes en format IMAP sont également accessibles via POP3).

  Nom de la nouvelle boîte? maboite
  Mot de passe? monmotdepasse
  Format de la boîte? imap|pop3 imap
  La boîte aux lettres «maboite» a été créée avec succès.
2.2. Le changement de mot de passe de boîte

Utilisez mail mbox pass pour changer le mot de passe d'une boîte:

  nom de la boîte aux lettres? maboite
  nouveau mot de passe? monmotdepasse
  Le mot de passe de la boîte aux lettres «maboite» a été changé.
2.3. La suppression de boîtes

Pour supprimer une boîte, utilisez mail mbox del:

  csoftadm> mail mbox del joe

Pour afficher votre liste de boîtes de courrier, saisissez la commande mail mbox list:

  csoftadm> mail mbox list

Gestion de clefs DKIM

DKIM insère une signature cryptographique aux en-têtes du courriel sortant, de façon à ce que les récipients puissent valider le domaine du champs « De: ». Notre système courriel prends en charge DKIM automatiquement (une clef est générée automatiquement lors de la création d'un nouveau domain), mais il est possible de manuellement générer et gérer des clefs manuellement.

2.4. La gestion de signatures DKIM

Utilisez mail dkim list pour afficher les clefs DKIM actives, et mail dkim add pour générer une nouvelle clef DKIM:

  csoftadm> mail dkim list
  +-------------+----------+------------+---------------+
  | Domain      | Selector | Key Length | Last Modified |
  +-------------+----------+------------+---------------+
  | example.com | foo1     | 1024       | 12/2/2013     |
  | example.net | bar1     | 2048       | 6/10/2015     |
  +-------------+----------+------------+---------------+

  csoftadm> mail dkim add example.com baz 2048
  Added 2048-bit DKIM keypair to example.com (baz).
  
  csoftadm> mail dkim del example.com baz
  Remove DKIM keypair: example.com (baz).

Les Noms de Domaine

Les commandes dns vous permettent de créer, supprimer et gérer des noms de domaines (et sous-domaines). Tout changement DNS s'opère en moins de 1 minute localement sur nos serveurs (globalement, le délai de propagation dépends du paramètre TTL du domaine en question).

3.1. L'ajout de noms de domaine

Utilisez dns add pour enregistrer un domaine en votre possession auprès de nos serveurs de noms. Pour créer un domaine example.net (avec son sous-domaine www.example.net), vous utiliseriez:

  csoftadm> dns add example.net
  Adresse [96.47.74.x]? (entrée))
  Ajout des enregistrements par défaut: MX SPF DKIM www.
  Ajouté nom de domaine: example.net (96.47.74.x)

L'adresse de destination par défaut pointe l'origine du domaine vers votre adresse IP allouée (ici 96.47.74.x). Si vous utilisez le serveur web standard (partagé), le serveur web retourne, par défaut, le contenu du répertoire ~/www/example.net en réponse aux requêtes pour http://example.net.

Il est possible d'utiliser n'importe quelle adresse IP (v4 ou v6). Ici, une adresse externe est assignée à l'origine de example.com (avec www.example.com comme alias):

  csoftadm> dns add example.com 10.0.0.1
  csoftadm> dns add www.example.com @

Les sous-domaines peuvent également prendre comme destination des adresses IP ou d'autres domaines (possiblement externes). Lorsque un sous-domaine doit pointer vers son domaine parent, on peut indiquer comme destination la valeur spéciale @.

Créez un sous-domaine nakht.example.net par le biais de dns add. Si example.net pointe vers une adresse locale, un répertoire est créé dans ~/www/nakht.example.net.

  csoftadm> dns add nakht.example.net @

Créez un autre sous-domaine, nebt.example.net et attribuez lui 10.0.0.2 comme adresse:

  csoftadm> dns add nebt.example.net 10.0.0.2

Un domaine peut avoir plusieurs adresses IPv4/IPv6 associées. Les commandes dns ip et dns ip6 peuvent être utilisées pour gérer des adresses multiples:

  csoftadm> dns ip add nebt.example.net 10.0.0.3
  csoftadm> dns ip del nebt.example.net 10.0.0.3
  csoftadm> dns ip6 add nebt.example.net 2001:db8:a0b:12f0::1
3.2. La suppression de noms de domaine

Supprimez example.net du DNS avec dns del:

  csoftadm> dns del example.net
  L'hôte «example.net» a été supprimé avec succès.
3.3. La gestion des échangeurs de courrier (MX)

Des échangeurs de courrier (MX) spécifiques peuvent être ajoutés à chaque domaine ou sous-domaine. Les MX définissent quelles sont les adresses que les serveurs de courrier doivent tenter de contacter afin de livrer le courrier aux adresses électroniques qui utilisent ce domaine. Les MX ont chacun une priorité, où le serveur qui possède la plus basse priorité est contacté en premier. Les nouveaux MX sont ajoutés à la fin de la liste avec dns mx add.

Pour attribuer le MX mail.nekhbet.com au domaine example.com, utilisez la commande dns mx add:

  Domaine/sous domaine? example.net
  Nom d'hôte du serveur de courrier? mail123.csoft.net mail.nekhbet.com
  Le MX `mail.nekhbet.com' a été ajouté à l'hôte `example.net'.

Pour supprimer le MX:

  csoftadm> dns mx del example.net mail.nekhbet.com
3.4. La gestion des serveurs de nom (NS)

Il est possible d'ajouter des NS (serveur de nom) spécifiques à des domaines. Cette fonction est habituellement utilisée pour répertorier des serveurs de nom additionels de type esclave. Par défaut, au moins deux NS sont attribués (soit le primaire et le secondaire qu'utilise votre serveur).

Vous pouvez gérer les enregistrements NS avec dns ns:

  csoftadm> dns ns add example.com ns123.example.com
  csoftadm> dns ns del example.com ns123.example.com
3.5. La gestion du SOA (Start Of Authority)

L'adresse électronique de l'administateur, associée au record SOA, est modifiable par le biais de la commande dns soa:

  csoftadm> dns soa example.net joe@example.net
3.6. L'affichage des noms de domaine

Pour afficher une liste courte de domaines actifs, utilisez dns list. Vous pouvez également afficher la zone DNS complète avec dns zone:

  csoftadm> dns list
  example.com
  example.org
  * Adresse IPv4: 96.47.74.x
  * DNS inverse IPv4: example.org

  csoftadm> dns zone example.com
  example.com {
              @    soa ns123.csoft.net. hostmaster.example.com.
	      @     ns ns123.csoft.net.
	      @     ns ns234.csoft.net.
	      @      a 96.47.74.x
	      @     mx 10 mail123.csoft.net.
	    www  cname @
  }
  * IPv4 address: 96.47.74.x
  * IPv4 reverse DNS: example.org

Notez que la plupart des commandes «list» de csoftadm acceptent un ou plusieurs arguments pour la recherche (le comportement de filtrage est configurable avec pref set exact-match).

  csoftadm> dns list pattern1 pattern2
  csoftadm> dns zone mydomain

La gestion des bases de données

Cette partie de csoftadm est utilisée pour créer des bases de données relationelles, leur associer un ou plusieurs utilisateurs, attribuer des privilèges spécifiques à ces utilisateurs, ou alors changer leur mot de passe.

4.1. La création de bases MySQL

La commande db mysql add crée une nouvelle base de données relationelle MySQL. Cette commande ne crée pas d'utilisateur MySQL par défaut, vous devrez donc subséquemment attribuer les privilèges à un ou plusieurs utilisateurs avec db mysql grant.

  csoftadm> db mysql add
  nom de base de données? exampledb
  La base de données `exampledb' a été activée avec succès.
4.2. La suppression de bases

Pour supprimer une base de données MySQL, utilisez db mysql del. Si nécessaire, faites une sauvegarde avec la commande mysqldump.

  csoftadm> db mysql del exampledb
4.3. L'affichage des bases

La commande db mysql list affiche une liste de vos bases avec vos utilisateurs MySQL et leurs privilèges. Vous pouvez également obtenir votre liste d'utilisateurs MySQL avec la commande db mysql userlist.

  csoftadm> db mysql list

  0. mydatabase {
      alice@localhost(SELECT,INSERT,UPDATE)
      bob@foo.domain.ext(SELECT)
  }
  1. myotherdatabase {
      alice@localhost(SELECT,INSERT,LOCK_TABLES,CREATE_VIEW)
      bob@foo.domain.ext(SELECT,SHOW_VIEW)
  }
  
  csoftadm> db mysql userlist

  0. alice@localhost {
      mydatabase: SELECT,INSERT,UPDATE
      myotherdatabase: SELECT,INSERT,LOCK_TABLES,CREATE_VIEW
  }
  1. bob@foo.domain.ext {
      mydatabase: SELECT
      myotherdatabase: SELECT,SHOW_VIEW
  }

4.4. La gestion des utilisateurs MySQL

Vous créez des utilisateurs MySQL avec db mysql useradd. Pour supprimer un utilisateur, c'est db mysql userdel. Lorsque vous créez un utilisateur, vous devez donner un nom d'hôte - les connections de cet utilisateur seront alors limitées à cet hôte (la valeur par défaut «localhost» est habituellement utilisée sauf si vous voulez un accès distant direct).

  csoftadm> db mysql useradd
  database user name? myuser
  allow access from host? localhost (enter)
  password for myuser? secret
  password for myuser? (again) secret
  Created database user myuser@localhost.

  csoftadm> db mysql userdel myuser
  Deleted database user myuser.
4.5. L'attribution de privilèges aux utilisateurs MySQL

L'exemple suivant permet à l'utilisateur MySQL monutilisateur d'effectuer des requêtes de type SELECT et INSERT sur mabase. Si cet utilisateur possédait déjà d'autres privilèges sur cette base, ils doivent être respécifiés sinon ils seront révoqués.

Pour voir la liste complète des privilèges disponibles sur votre serveur, utilisez db mysql userprivs.

  csoftadm> db mysql grant
  base de données? mabase
  utilisateur de base? monutilisateur
  privilèges à attribuer? SELECT,INSERT,UPDATE,CREATE,... INSERT,SELECT
  Les privilèges INSERT,SELECT ont été attributés à monutilisateur.
4.6. Le changement de mot de passe d'utilisateur de base

Vous pouvez changer le mot de passe d'un utilisateur MySQL avec db mysql pass.

  csoftadm> db mysql pass monutilisateur
  nouveau mot de passe? monmotdepasse
  Le mot de passe de monutilisateur a été changé.

La configuration côté serveur

Cette fonction de csoftadm permet de manipuler différents paramètres de configuration.

5.1. L'affichage des paramètres de configuration

Déterminez votre champs d'action à l'aide de la commande conf list:

  csoftadm> conf list
 0.          ssl (               no ) Enable SSL with custom certificate.
 1.         logs (              yes ) Apache access log enabled.
 2.       errlog (              yes ) Apache error log enabled.
 (...)

5.2. Changer un paramètre de configuration

Cette commande change la valeur associée à un paramètre. Les valeurs admissibles dépendent du paramètre en question.

5.3. Enregistrer un certificat SSL

Si votre plan d'hébergement comprends le support SSL, utilisez le paramètre ssl afin d'activer le service HTTPS. Voyez le petit guide SSL pour plus de détails. Il peut s'écouler un délai de une heure avant l'activation.

Si le certificat ou la clef est invalide, ce paramètre sera automatiquement réinitialisé à off, et un message sera ajoutée à votre fichier journal. Le CN (Common Name) du certificat doit correspondre exactement au nom de domaine principal de votre hôte virtuel (soit la valeur du paramètre name).

  1. Créer le répertoier ~/ssl/ au besoin (mode 0700).
  2. Mettre le certificat dans ~/ssl/cert.
  3. Mettre la clef dans ~/ssl/key (mode 0600).
  4. Mettre la passphrase dans ~/ssl/pp (si requis, mode 0600).
  5. Attribuez au paramètre ssl une valeur de «yes».

Si le nouveau certificat n'apparaît pas dans 1 minute, ouvrez votre fichier de journal (dans /var/log/users/yourname). Toute erreur de validation est enregistrée dans le journal.

La configuration côté client

Divers paramètres côté-client de csoftadm sont modifiables dans le fichier ~/.csoftadmrc.

6.1. L'affichage des paramètres côté-client

La commande pref show affiche les paramètres côté-client actuels.

  csoftadm> pref show
      conf-descriptions = true
        db-default-host = "localhost"
      db-default-rights = "SELECT,INSERT,UPDATE,DELETE"
         dns-default-mx = "mail123.csoft.net"
         dns-default-ns = "ns123.csoft.net"
  (...)
6.2. Les changements de paramètres côté-client

La commande pref set modifie un paramètre local au client shell de csoftadm.

  # Default address for new domains (IPv4)
  pref set dns-default-a 96.47.74.x
  
  # Default address for new domains (IPv6)
  # pref set dns-default-aaaa 2001:db8:a0b:12f0::1

  # Program used to display tables.
  pref set pager less

La gestion des comptes CVS

Les commandes cvs administrent un ensemble d'utilisateurs CVS, qui doivent se connecter en utilisant la méthode « CVS_RSH=ssh ».

7.1. L'ajout de compte CVS

Utilisez la commande cvs add afin de créer des comptes cvs. Pour créer un nouveau compte, mycvsuser, utilisez:

  csoftadm> cvs add
  nom du nouveau compte cvs? mycvsuser
  mot de passe initial? Vn4561
  Le compte cvs «mycvsuser» a été activé avec succès.
7.2. La suppresion de compte CVS

Avec cvs del, supprimez mycvsuser:

  csoftadm> cvs del mycvsuser
7.3. L'affichage des comptes CVS actuels

Sans argument, cvs list affiche l'ensemble des comptes cvs actuels:

  csoftadm> cvs list
  1.   anoncvs
  2.    yvonne
  3. mycvsuser
7.4. Le changement de mot de passe des comptes cvs

Utilisez la commande cvs pass pour changer le mot de passe attribué à un compte cvs:

  csoftadm> cvs pass mycvsuser
  nouveau mot de passe? Wasabi23
  Le mot de passe du compte cvs «mycvsuser» a été changé avec succès.

La gestion des clefs ssh publiques

Les commandes cvs pubkey sont utilisées pour gèrer l'ensemble de clefs publiques ssh associées à chaque compte CVS. L'authentification par clef publique permet aux utilisateurs CVS de se connecter sans mot de passe. Idéalement, utilisez ecdsa or ed25519 et attribuez une passphrase à vos clefs privées (utilisez ssh-agent sur votre poste de travail pour permettre l'authentification sans mot de passe).

7.5.1. Attribution de clefs publiques ssh

Faites un copier/coller du contenu de votre fichier de clef publique ssh (par exemple ~/.ssh/id_dsa.pub) sur cvs pubkey add:

  csoftadm> cvs pubkey add mycvsuser
  clef publique à ajouter? ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcOFZK ...
  La clef publique a été ajoutée au compte cvs «mycvsuser».
7.5.2. L'affichage des clefs publiques ssh attribuées à un compte

Utilisez cvs pubkey list pour afficher les clefs publiques ssh attribuées à mycvsuser:

  csoftadm> cvs pubkey list mycvsuser
  1. ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcO9aFZKvrtXN/+cE+m ...
    
  1/32 public keys uploaded today.
7.5.3. La suppresion de clefs publiques

Pour supprimer une des clefs de mycvsuser, utilisez:

  csoftadm> cvs pubkey del mycvsuser
  clef publique à supprimer? ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcOFZK ...
  La clef publique a été supprimée du compte cvs «mycvsuser».

La gestion des comptes Subversion

Les commandes svn administrent un ensemble d'utilisateurs Subversion qui doivent se connecter en utilisant la méthode «ssh+svn».

8.1. L'ajout de compte Subversion

Utilisez la commande svn add afin de créer des comptes Subversion. Pour créer un nouveau compte, mysvnuser, utilisez:

  csoftadm> svn add mysvnuser
  mot de passe initial? monmotdepasse
  Le compte svn «mysvnuser» a été activé avec succès.
8.2. Supprimer un compte Subversion

Avec svn del, supprimez mysvnuser:

  csoftadm> svn del mysvnuser
8.3. L'affichage des comptes Subversion

Sans argument, svn list affiche l'ensemble des comptes Subversion actuels:

  csoftadm> svn list
  1.    yvonne
  2. mysvnuser
8.4. Changer le mot de passe d'un compte Subversion

Utilisez la commande svn pass pour changer le mot de passe attribué à un compte Subversion:

  csoftadm> svn pass mysvnuser
  nouveau mot de passe? monmotdepasse
  Le mot de passe du compte svn «mysvnuser» a été changé avec succès.

La gestion des clefs ssh publiques

Les commandes svn pubkey sont utilisées pour gèrer l'ensemble de clefs publiques SSH associées à chaque compte Subversion, pour permettre l'authentification sans mot de passe. Idéalement, utilisez ecdsa or ed25519 et attribuez une passphrase à vos clefs privées (utilisez ssh-agent sur votre poste de travail pour permettre l'authentification sans mot de passe).

8.5.1. Attribution de clefs publiques ssh

Faites un copier/coller du contenu de votre fichier de clef publique ssh (par exemple ~/.ssh/id_dsa.pub) sur svn pubkey add:

  csoftadm> svn pubkey add mysvnuser
  clef publique à ajouter? ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcOFZK ...
  La clef publique a été ajoutée au compte svn «mysvnuser».
8.5.2. L'affichage des clefs publiques ssh attribuées à un compte

Utilisez svn pubkey list pour afficher les clefs publiques ssh attribuées à mysvnuser:

  csoftadm> svn pubkey list mysvnuser
  1. ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcO9aFZKvrtXN/+cE+m ...
    
  1/32 public keys uploaded today.
8.5.3. La suppresion de clefs publiques

Pour supprimer une des clefs de mysvnuser, utilisez:

  csoftadm> svn pubkey del mysvnuser
  clef publique à supprimer? ssh-dss AAAAB3NzaC1kc3MAAACBALhnPcOFZK ...
  La clef publique a été supprimée du compte svn «mysvnuser».

Détails de Facturation

Les commandes billing vous permettent de mettre à jour vos informations personnelles (équivalent à l'Interface Web).

9.0. Afficher et mettre à jour vos détails de facturation
 csoftadm> billing status
 csoftadm> billing info
 csoftadm> billing update

Csoft.net
© 2024 Communications CubeSoft
Tous Droits Réservés.