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,
mais csoftadm est plus facilement scriptable et plusieurs utilisateurs
préfèrent une interface à ligne de commande plutôt qu'une interface web.
L'interpréteur de commande
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
L'exécution du programme
Connectez vous à votre serveur à l'aide d'un client SSH (voir la
documentation)
et exécutez «csoftadm» à l'invite de l'interpréteur de commandes.
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
Pour utiliser l'aide en ligne, tapez «help», optionellement suivi d'une
commande pour obtenir de l'aide sur cette commande en particulier.
csoftadm> help
csoftadm> help dns
csoftadm> help mail
csoftadm> help mail alias
csoftadm> help mail mbox
csoftadm> help db
csoftadm> help conf
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@mon-domaine» vers
«lui@son-domaine»:
csoftadm> mail alias add
Adresse de courrier électronique? moi@mon-domaine
Nouveau récipient #1? [terminé] lui@son-domaine
Le récipient «lui@son-domaine» a été ajouté à l'alias «moi@mon-domaine».
Pour diriger les messages pour «flavius@mon-domaine» vers une nouvelle
boîte de courrier nommée «flavius»:
csoftadm> mail mbox add flavius
csoftadm> mail alias add flavius@mon-domaine flavius
Pour enregistrer le courrier envoyé à «archive@mon-domaine» dans
./Mail/mon-archive (relatif à votre $HOME):
csoftadm> mail alias add archive@mon-domaine ./Mail/mon-archive
Pour traiter les messages adressés à «citation@mon-domaine», en utilisant
un programme situé sur ~/bin/citation:
csoftadm> mail alias add citation@mon-domaine |./bin/citation
Note:
Il faut faire preuve de jugement dans l'utilisation de cette fonction,
car un déluge de messages causés par spam ou attaque délibérée
pourrait consommer beaucoup de ressources sur le serveur. Si vous
devez traiter un volume de messages important, veuillez nous contacter
afin de mettre en place un serveur LMTP à cet effet.
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.
Il est souvent pratique de regrouper ces directives en
jeux d'instructions indépendants des adresses de courrier.
csoftadm> mail rule add user@my-domain spam<=5.0 ./Mail/Mailbox.non-spam
csoftadm> mail rule add user@my-domain spam>=5.0 ./Mail/Mailbox.spam
csoftadm> mail rule add &myruleset spam<=5.0 ./Mail/Mailbox.non-spam
csoftadm> mail rule add &myruleset spam>=5.0 ./Mail/Mailbox.spam
csoftadm> mail rule add foo@my-domain &myruleset
csoftadm> mail rule add bar@my-domain &myruleset
|
|
1.2.
Supprimer une adresse électronique |
Utilisez mail alias del pour supprimer entièrement une adresse.
csoftadm> mail alias del
Alias à détruire? terminé monutilisateur@mon-domaine
L'alias «vieil-utilisateur@mon-domaine» 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 de courrier sont des comptes dédiés généralement
accédés par le biais d'un programme de courrier électronique compatible
POP3 ou IMAP. Cette commande crée une nouvelle boîte, associée à aucune
adresse de courrier par défaut (voir
mail alias add).
|
2.1.
L'ajout de boîtes |
|
Utilisez mail mbox add pour créer une nouvelle boîte:
csoftadm> mail mbox add
nom de la nouvelle boîte? maboite
mot de passe initial? monmotdepasse
format? (pop3|imap) pop3
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:
csoftadm> mail mbox pass
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 maboite
Pour afficher votre liste de boîtes de courrier, saisissez la commande
mail mbox list:
csoftadm> mail mbox list
|
La gestion des noms de domaine
La fonction de gestion des noms de domaine est seulement disponible aux
clients qui possèdent un
plan d'hébergement à hôte virtuel
avec IP dédié (à partir de
Budget v-host).
Ces commandes permettent l'ajout et la configuration de noms de domaine
(et de sous-domaines) à nos serveurs de nom (ns*.csoft.net),
mais vous devez tout de même faire affaire avec un bureau d'enregistrement
de domaines (registrar) pour enregistrer ou effectuer des
transferts de domaines.
Il ya un délai de 4 à 8 heures pour les changements effectués au niveau
des serveurs de noms.
|
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 «sekhmet.net» et un sous-domaine «www», vous
utiliseriez:
csoftadm> dns add
domaine/sous domaine? sekhmet.net
destination? 1.2.3.4 (entrée))
L'hôte «sekhmet.net» a été créé avec succès.
csoftadm> dns add www.sekhmet.net @
L'hôte «www.sekhmet.net» a été créé avec succès.
L'adresse de destination par défaut pointe l'origine du domaine vers
votre adresse virtuelle (ici 1.2.3.4).
Alors dans cet exemple, «sekhmet.net» pointerait vers le répertoire
~/www/sekhmet.net et un lien symbolique,
~/www/www.sekhmet.net, serait simplement un alias pour ce
répertoire.
Il est possible d'utiliser une adresse IP externe comme destination.
Ici, une adresse externe est assignée à l'origine de «trektothecave.com»
et un sous-domaine «www» pointe vers ce dernier.
csoftadm> dns add trektothecave.com 10.0.0.1
csoftadm> dns add www.trektothecave.com @
Les sous-domaines peuvent également prendre une adresse IP comme
destination, ou alors « @ » (signifiant l'origine, c'est à dire le domaine
parent).
Si la destination est une adresse locale au serveur (ou si c'est «@» et
que l'origine, lui, pointe vers une adresse locale), alors un répertoire est
créé dans ~/www (à l'exception du sous-domaine «www», où un lien
symbolique est créé à l'instar d'un répertoire).
Il est toujours possible de manuellement créer des liens symboliques ou
des répertoires avec
ln(1) et
mkdir(1),
à partir de votre shell.
Créez un sous-domaine «nakht.sekhmet.net» par le biais de dns add.
Si sekhmet.net pointe vers une adresse locale, un répertoire est
créé dans ~/www/nakht.sekhmet.net.
csoftadm> dns add nakht.sekhmet.net @
Créez un autre sous-domaine, «nebt.sekhmet.net» et attribuez lui
10.0.0.2 comme adresse:
csoftadm> dns add nebt.sekhmet.net 10.0.0.2
|
|
3.2.
La suppression de noms de domaine |
|
Supprimez «sekhmet.net» du DNS avec dns del:
csoftadm> dns del sekhmet.net
L'hôte «sekhmet.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 «sekhmet.com»,
utilisez la commande dns mx add:
csoftadm> dns mx add
Domaine/sous domaine? sekhmet.net
Nom d'hôte du serveur de courrier? mail23.csoft.net mail.nekhbet.com
Le MX `mail.nekhbet.com' a été ajouté à l'hôte `sekhmet.net'.
Pour supprimer le MX:
csoftadm> dns mx del sekhmet.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).
Pour ajouter le NS «ns.kheperw.com» à «sekhmet.com», utilisez la
commande dns ns add:
csoftadm> dns ns add sekhmet.com ns.kheperw.com
Supprimez le NS avec dns ns del:
csoftadm> dns ns del sekhmet.net ns.kheperw.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 sekhmet.net admin@sekmnet.net
|
|
3.6.
L'affichage des noms de domaine |
|
Pour afficher la liste des domaines (sous-domaines exclus) actifs,
utilisez dns list. Pour inclure les sous-domaines, les SOA,
les NS ainsi que les MX, utilisez dns zone:
csoftadm> dns list
trektothecave.com
vedge.org
* Adresse IPv4: 1.2.3.4
* DNS inverse IPv4: vedge.org
csoftadm> dns zone trek
trektothecave.com {
@ soa ns261.csoft.net. vedge.trektothecave.com.
@ ns ns261.csoft.net.
@ ns ns128.csoft.net.
@ a 1.2.3.4
@ mx 10 mail231.csoft.net.
www cname @
}
* IPv4 address: 1.2.3.4
* IPv4 reverse DNS: vedge.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? mydatabase
La base de données `mydatabase' 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(1) auparavant.
csoftadm> db mysql del minedatabase
|
|
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).
-
Mettre le certificat dans ~/ssl/cert.
-
Mettre la clef dans ~/ssl/key.
-
Mettre la passphrase dans ~/ssl/pp (optionnel).
-
Attribuez au paramètre ssl une valeur de «yes».
|
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 = "mail23.csoft.net"
dns-default-ns = "ns73.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.
# Adresse par défaut pour nouveaux domaines.
pref set dns-default-a 10.0.0.1
# Programme utilisé pour la pagination des tables.
pref set pager less
|
La gestion des comptes CVS
Les commandes cvs administrent un ensemble d'utilisateurs
cvs(1), qui doivent se connecter en utilisant
la méthode «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, pour permettre l'authentification
sans mot de passe par clef RSA/DSA.
|
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 par clef RSA/DSA.
|
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
|
9.2.
Afficher vos détails de facturation |
csoftadm> billing info
|
|
9.3.
Afficher l'état de la facturation |
|
La commande billing status affiche l'état de votre compte et votre
niveau de service.
csoftadm> billing status
Account status: ACTIVE
Service level: standard-vhost
|
|