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
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
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.
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
csoftadm> mail alias del
Alias à détruire? terminé joe@example.com L'alias «joe@example.com» a été supprimé.
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).
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.
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é.
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
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.
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 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).
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
Supprimez example.net du DNS avec dns del:
csoftadm> dns del example.net L'hôte «example.net» a été supprimé avec succès.
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
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
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
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
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.
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.
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
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 }
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.
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.
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é.
Cette fonction de csoftadm permet de manipuler différents 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. (...)
Cette commande change la valeur associée à un paramètre. Les valeurs admissibles dépendent du paramètre en question.
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).
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.
Divers paramètres côté-client de csoftadm sont modifiables dans le fichier ~/.csoftadmrc.
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" (...)
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
Les commandes cvs administrent un ensemble d'utilisateurs
CVS, qui doivent se connecter en utilisant
la méthode « CVS_RSH=ssh
».
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.
Sans argument, cvs list affiche l'ensemble des comptes cvs actuels:
csoftadm> cvs list 1. anoncvs 2. yvonne 3. mycvsuser
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.
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).
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».
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.
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».
Les commandes svn administrent un ensemble d'utilisateurs Subversion qui doivent se connecter en utilisant la méthode «ssh+svn».
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.
Sans argument, svn list affiche l'ensemble des comptes Subversion actuels:
csoftadm> svn list 1. yvonne 2. mysvnuser
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.
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).
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».
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.
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».
Les commandes billing vous permettent de mettre à jour vos informations personnelles (équivalent à l'Interface Web).