AlternC, qu’est-ce que c’est ?
Inutile de paraphraser, voici le descriptif que l’on trouvera sur le site officiel [1] : AlternC vise à créer une suite de logiciels d’hébergement facile à utiliser, facile à installer, basés uniquement sur des logiciels OpenSource, AlternC étant lui-même OpenSource.
Se basant sur la distribution Debian GNU/Linux ’Woody’, AlternC utilise d’autres logiciels tels Apache, Postfix, Bind ...
AlternC fournit un script d’installation (dans le fichier .deb), un système de configuration automatique, un bureau virtuel en PHP permettant de gérer les utilisateurs et les services (domaines, e-mails, comptes ftp, statistiques...). Il contient aussi une documentation d’API, permettant une personnalisation facile et rapide du bureau.
AlternC, comment ça marche ?
Il s’agit en fait d’un ensemble de classes et de fonctions php appelées depuis le "bureau". C’est depuis cette interface d’administration que vous modifierez la gestion de noms de domaines ou la base de données du site, et ce pour chaque compte hébergé. Notez que le fonctionnement a été séparé en deux parties : la première partie regroupe des classes servant à afficher les modifications et la seconde propose également des classes, permettant d’exécuter celles de la première partie. Pour chaque classe correspond un service à administrer : domaines, ftp, mails, liste de diffusion, mysql, quota, statistiques, accès à la messagerie par une interface Web. Les autres services sont plutôt dédiées à l’administration proprement dite du serveur. Notez que vous pouvez n’installer que le ou les services qui vous sont nécessaires.

- Fonctionnement du bureau AlternC
AlternC, j’en veux !
Pour faire cet article, je suis parti d’une Debian Woody standard, version 7 CDs, achetée chez Ikarios [2]. L’installation pouvant s’effectuer grâce au système apt (et au fameux apt-get), j’en ai profité pour reconfigurer celui-ci avec les sources adéquates, je vous le livre ici (/etc/apt/sources.list) d’après les conseils de Jean-Yves LENHOF sur la liste de diffusion :
# Debian standard . [3]
deb http://ftp.fr.debian.org/debian/ stable main non-free contrib
deb-src http://ftp.fr.debian.org/debian/ stable main non-free contrib
deb http://ftp.easynet.be/ftp/debian-non-US stable/non-US main contrib non-free
deb-src http://ftp.easynet.be/ftp/debian-non-US stable/non-US main contrib non-free
# Mises à jour de sécurité
deb http://security.debian.org/ stable/updates main contrib non-free
# Pour OpenOffice.org (avec GNOME 2 et freetype ;-)) )
deb http://pkedu.fbt.eitn.wau.nl/~wouter/ ./
# Pour XFree 4.2.1
deb http://people.debian.org/~blade/woody/i386 ./
# Pour GNOME 2.2
deb http://ftp.acc.umu.se/mirror/mirrors.evilgeniuses.org.uk/debian/backports/woody/
gnome2.2/
# Pour AlternC
deb http://debian.alternc.org debian/La technique standard pour mettre à jour est alors apt-get update suivi d’un apt-get dist-upgrade. Comptez deux bonnes heures avec une connexion câble 512 kBits
S’agissant d’une machine plutôt dédiée à un usage personnel, la plupart des services dépendant du paquet alternc n’est soit pas disponible sur ma machine, soit pas dans la version requise. Pas d’inquiétude, laissons faire le magique apt-get :
colerpia:/etc/apt# apt-get install alternc
Reading Package Lists... Done
Building Dependency Tree... Done
The following extra packages will be installed:
apache-ssl bind9 courier-authdaemon courier-base courier-imap courier-imap-ssl courier-ldap courier-pop courier-pop-ssl courier-ssl ldap-utils libapache-mod-fastcgi libapache-mod-gzip libcgi-fast-perl libconvert-asn1-perl libfcgi-perl libio-stringy-perl libiodbc2 libisccc0 libisccfg0 libmime-perl libmm11 libmsgcat-perl libnet-ldap-perl mhonarc openssl perl-suid php4 php4-cgi php4-ldap php4-mysql phpmyadmin proftpd-common proftpd-mysql quota rsync slapd squirrelmail sympa
webalizer wwsympa wwwconfig-common
The following packages will be REMOVED:
bind webmin-wuftpd wu-ftpd
The following NEW packages will be installed:
alternc apache-ssl bind9 courier-authdaemon courier-base courier-imap courier-imap-ssl courier-ldap courier-pop courier-pop-ssl courier-ssl ldap-utils libapache-mod-fastcgi libapache-mod-gzip libcgi-fast-perl libconvert-asn1-perl libfcgi-perl libio-stringy-perl libiodbc2 libisccc0 libisccfg0 libmime-perl libmm11 libmsgcat-perl libnet-ldap-perl mhonarc openssl perl-suid php4 php4-cgi php4-ldap php4-mysql phpmyadmin proftpd-common proftpd-mysql quota rsync slapd squirrelmail sympa webalizer wwsympa wwwconfig-common
0 packages upgraded, 43 newly installed, 3 to
remove and 1 not upgraded.
Need to get 10.6MB of archives. After unpackin
g 34.2MB will be used.
Do you want to continue? [Y/n]En général, si on veut qu’il se passe quelque chose, on répond "oui" (Y) , donc on souffle un grand coup et on y va.
debconf étant toujours présent, nous allons devoir répondre à quelques questions durant la procédure. Cela n’est absolument pas obligatoire. Il est tout à fait possible, et c’est même finalement recommandé, de passer outre debconf, AlternC se chargera de répondre à toutes ces questions.
- Installation de pop3d et courrier (ils seront utiles pour le web-mail) : YES
- Quel serveur sera utilisé par phpMyAdmin (pour administrer la base de données) : Apache, Apache-SSL ou les deux : BOTH
- Souhaite-t-on configurer ProFTPd (serveur FTP) : YES, on le mettra en standalone, en acceptant les connexions anonymes (pour en faire un dépôt commun par exemple).
- Concernant la configuration de Squirrelmail (Web-mail) : BOTH, pour qu’il soit disponible avec Apache et Apache-SSL.
- Nous entamons alors une série de question "à
cause" de Sympa, le gestionnaire de listes de
diffusion. La langue choisie est le français
French. Le nom de domaine choisi ici est
colerpia.acme.comet les messages de l’administrateur parviendront àpostmaster@colerpia.acme.com. Nous allons supporter les encryptions S/MIME (YES). Nous précisons un mot de passe pour l’administrateur "sympa" [4] et on ne purgera pas la "spool directory" ni les listes hébergées en cas de nettoyage du paquet Debian. Nous allons effectivement stocker les informations dans une base de Données, notre choix se portera sur MySQL. Le domaine utilisé par le serveur restera localhost car ici on ne dispose que d’une machine. Dans le cas d’une base de données dans un VLAN dorsal, il faudrait bien sûr préciser un nom de service. Le nom de notre base est tout simplementsympa_alterncsans modification particulière dans le fichier/etc/my.cnf. Le mot de passe de l’administrateur de cette base est alors à préciser. Nous n’avons pas encore configuré de base pour Sympa (No) et nous ne les purgerons pas en cas de--purgedu paquet.
- Les informations utilisateurs / noms de domaines
seront stockés dans un annuaire LDAP. Nous le
laissons choisir sa méthode d’initialisation avec
le paramètre Auto. Le on (organization name)
s’appuyera sur domain or host et le dn (domain
name) sera ici
acme.com. Nous précisons le mot de passe de l’administrateur de l’annuaire [5] et nous n’effectuerons pas de réplication (il s’agit d’une machine unique je le rappelle).
- Après Sympa, il faut configurer son interface
graphique ou plutôt Web devrais-je dire. Il s’agit
de wwsympa. Celle-ci sera disponible à
http://colerpia.cme.com/wws
C’est à l’heure actuelle le seul point faible
d’AlternC qui l’empêche d’être GPL à 100%. Comme
nous ne pouvons pas encore ici l’entrer dans les
deux versions du serveur Web Apache, nous
choisirons uniquement Apache-SSL. Nous allons
effectivement utiliser les options FastCGI bien
qu’elles ne soient pas libres pour un gain de
performances et le laisser modifier la
configuration du serveur http. Le service
s’appellera sans trop d’imagination AlternC’s
Mailing Lists Service. Des cookies seront
positionnés sur les postes clients en provenance
de
colerpia.acme.comavec une durée de vie de 30 minutes. Nous aurions tout à fait pu placer un cookie en provenance de.acme.com. Comme pour wwsympa, pas de purge.
- Un des aspects importants d’un hébergement mutualisé est qu’aucun utilisateur ne puisse empiéter sur les ressources d’un autre. Cela est aussi vrai dans la gestion de l’espace disque, c’est pourquoi, nous allons fixer des quota d’espace utilisables. Quota enverra effectivement des alertes YES à daily reminders pour les utilisateurs dépassant leur crédit, les courriels auront pour expéditeur
root@colerpia.acme.com .
- Le serveur de bases de données utilisé est
MySQL, bien faire attention à répondre YES pour
qu’il soit démarré lors du boot sinon le script
d’initialisation
mysqlne sera pas placé dans /etc/rc3.d .
On passe maintenant aux choses sérieuses sans lesquelles on n’en serait pas là, AlternC.
- On commence par un avertissement , AlternC est susceptible de mettre une belle pagaille sur votre machine. Ne le testez surtout pas sur une machine de production !
- L’analyseur de log http Webalizer s’installe
dans
/var/www/webalizer. Pourquoi pas après tout ?
- ProFTPd va corriger quelques petites failles de sécurité dans son fichier de configuration.
- Nouvel avertissement, oui, on y va pour AlternC.
Et le formidable apt-get découle :
Selecting previously deselected package alternc.
Unpacking alternc (from .../alternc_0.9 -14_i386.deb) ...
Setting up webalizer (2.01.10-2) ...
/var/www/webalizer created
Setting up openssl (0.9.6c-2.woody.2) ...
Setting up apache-ssl (1.3.26.1+1.48-0woody3) ...
creating selfsingned certificate replace it with one signed by a certification authority (CA)
enter your ServerName at the Common Name prompt
If you want your certificate to expire after x days call this programm with -days x
Using configuration from /usr/share/apa che-ssl/ssleay.cnf
Generating a 1024 bit RSA private key .......................................
..............................++++++
.....++++++
writing new private key to '/etc/apache-ssl/apache.pem'
-----
You are about to be asked to enter information that will be incorporated into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [GB]:FR
State or Province Name (full name) [Some-State]:Nord-Pas de Calais
Locality Name (eg, city) []:Lille
Organization Name (eg, company; recommended) []:Club Linux Nord-Pas de Calais
Organizational Unit Name (eg, section) []:
server name (eg. ssl.domain.tld; required!!!) []:colerpia.acme.com
Email Address []:daffyduke@lautre.net
Initializing apache config for immediate operation.
Installing new configuration file /etc/apache-ssl/httpd.conf ...
Installing new configuration file /etc/apache-ssl/access.conf ...
Installing new configuration file /etc/apache-ssl/srm.conf ...
Correcting mime_module loading.
The ServerAdmin is set to webmaster@colerpia.acme.com.
The DocumentRoot is set to /var/www.
Leaving existing site /var/www/index.html untouched.
Finding DSO mods..............................................found.
# LoadModule vhost_alias_module /usr/lib/apache/1.3/mod_vhost_alias.so
# LoadModule env_module /usr/lib/apache/1.3/mod_env.soOn le laisse modifier les configurations Apache, répondre Y de temps en temps. Et voilà ! [6]
Bon, Sympa étant en passe de ne plus être utilisé, vous pouvez aussi ne pas vous priver d’un apt-get install alternc-mailman alternc-procmailbuilder mailman.
Debian ayant son petit bug à elle concernant les locales, nous vous invitons à refaire [7] un coup de dpkg-reconfigure locales après l’installation d’AlternC, de choisir en_US(ISO-8859-1 ou UTF-8) , fr_FR(ISO-8859-1) , es_ES(ISO-8859-1) puis choisissez la langue par défaut (fr_FR pour la France par exemple). Un petit coup de set-language-env (choisir fr) et c’est bon. Cela vous permettra également de proposer trois langues au choix pour l’interface d’administration.
Nous passons à la phase de configuration proprement dite d’AlternC. Les commentaires sont assez explicites dans le fichier en question (/etc/alternc/alternc.conf) néanmoins, je vous fournis le mien ici :
#exit
# lang=en_US:
#
# MAIN AlternC Configuration file.
# Change it before the first install (alternc.install) and remove the 'exit' on line 1
# WARNING : When you change anything in this file, please launch alternc.update to apply the changes
# Normally, you should not change it after initial installation, use the administration panel instead
#
lang=fr_FR:
#
# Ceci est le fichier principal de configuration d'AlternC
# Modifiez ce fichier avant la première installation (alternc.install) et enlevez le 'exit' en ligne 1
# ATTENTION : lorsque vous changez quelque chose dans ce fichier, merci de lancer alternc.update pour
# appliquer les modifications.
# en temps normal, vous ne devriez pas changer ce fichier après l'installation de départ. Utilisez
# de préférence le panneau de contrôle des administrateurs par le Web
#
###########################################################################
###########################################################################
# Configuration générale :
# Adresse IP (ou ip/prefixe) du(des) serveur(s) dont on veut autoriser le ping vers nous et le status apache (pour le monitoring de serveur.)
monitor_ip=172.18.3.35
# Adresse ip de moi-même !
myip=172.18.3.35
# Nom de domaine du serveur hébergé
# ATTENTION : ce domaine DOIT être de la forme sub.domaine.tld !
#fqdn=sub.domaine.tld
fqdn=colerpia.acme.com
# Nom du service d'hebergement (en toutes lettres)
hosting=AlternC
# Nom de périphérique de la partition contenant /var/alternc
#DATA_PART=/dev/hda1
DATA_PART=/dev/hda11
###########################################################################
# Configuration des quotas par défaut.
# Quota : Nombre de Comptes FTP autorisés par défaut
QUOTA_FTP=20
# Quota : Nombre de Kilos-Octets d'espace disque autorisés par défaut
QUOTA_WEB=51200
# Quota : Nombre de Domaines autorisés par défaut
QUOTA_DOMAINS=5
# Quota : Nombre de Listes de Diffusion autorisées par défaut
QUOTA_ML=2
# Quota : Nombre de Comptes Mails autorisés par défaut
QUOTA_MAILS=100
# Quota : Nombre de jeux de statistiques autorisés par défaut
QUOTA_STATS=5
###########################################################################
# Configuration du serveur de noms
# Adresse IP ou classe d'IP des machines à l'intérieur de notre réseau de confiance DNS, séparés par ';', facultatif
bind_internal=
# Nom du serveur DNS primaire (normalement, c'est le nom de la machine, ou un alias)
#ns1=ns1.domaine.tld
ns1=colerpia.acme.com
# Nom du serveur DNS secondaire
#ns2=ns2.domaine.tls
# Nom du serveur de mail (normalement, c'est le nom de la machine, ou un alias)
#mx=mail.domaine.tld
mx=colerpia.acme.com
# Adresse IP ou classe d'IP des machines esclaves DNS, séparés par ';', facultatif
bind_slaves=
###########################################################################
# Configuration de MySQL
# Base de données système de MySQL à créer
dbname=system
# Nom d'utilisateur mysql réservé pour le Bureau
dbuser=sysusr
# Mot de passe de l'utilisateur mysql du Bureau (ne peux pas commencer ou finir par un blanc)
dbpwd=pppppp
# Password du script mainteneur debian de mysql
myrandom=mmmmmmm
###########################################################################
# Configuration de Ldap
# Mot de passe de l'utilisateur non root du serveur ldap
ldap_userpwd=pppmmmm
# Mot de passe de root du serveur ldap
ldap_rootpwd=mmmpppp
###########################################################################
# Configuration du Smtp
# Adresses ip des reseaux autorisés en SMTP (ou ip/préfixe) séparés par espace
#mynetwork=192.168.0.0/24
mynetwork=172.18.3.0/24Il est très important de ne pas faire ce que j’ai fait ici, c’est-à-dire de préciser des mots de passe pour les administrateurs du Bureau, de MySQL et de LDAP. De même au niveau de l’adressage, Apache est censé tourner sur sa propre adresse IP de service, cet article n’étant qu’un test fonctionnel !
La commande miracle est alors alternc.install :
-------------------------------------------------------------------------
This is the main install perl script for AlternC
This script should be launched only once, when installing AlternC
on a new server. THIS SCRIPT ERASE ALL DATA ON THE AlternC SYSTEM !!
(/var/alternc) YOU HAVE BEEN WARNED !
-------------------------------------------------------------------------
Are you sure that you want to install AlternC software on this computer ?
Starting professional ftp daemon: - No certificate files found!
proftpd.
Creating user root, with password root (change it as soon as possible)
setquota: Not all specified mountpoints are using quota.
AlternC Install complete.
You may use you server now. Don't forget to change your root password
as soon as possible.
If you use this software, please send a mail to tech@alternc.org
so that we know who use it :) and build some kind of statistics. Thanks.Et voilà, ça marche !
Vous pouvez alors, comme indiqué, changer le mot de passe de l’administrateur.
Les adresses utiles étant :
- http//colerpia.acme.com/admin : Accès au bureau ;
- http//colerpia.acme.com/webmail : Accès au webmail ;
- http//colerpia.acme.com/phpmyadmin : Accès à l’administration de la base de Données.

- Le Bureau d’AlternC
- ... l ’interface d’administration quivous permettra d’ajouter des utilisateurs, des domaines, des sites Web, des listes de diffusion...
J’ai installé AlternC, et après ?
Quelques petits bugs subsistent au niveau des
scripts d’initialisation pas forcément au bon
endroit, ceux des bases LDAP qui cafouillent,
etc. Pour cela, voici une bonne référence :
Mantis. Si vous
voulez jouer avec AlternC sans modifier votre
machine, foncez ! Ça se passe sur
http://dev.alternc.org/admin en vous logeant
avec l’utilisateur demo et le mot de
passe demo.
De la documentation existe bien évidemment, elle se situe sur le site officiel d’AlternC, à http://www.alternc.org/doc.
Mais qui utilise déjà AlternC ?
Quelques références :
- AlternC : http://www.alternc.org ;
- Globenet : http://www.globenet.org ;
- L’Autre Net : http://lautre3.lautre.net ;
- Heberge.info : http://heberge.info ;
- Ras l’Front : http://collectifs.raslfront.info/ ;
- Transfert 2 : http://www.transfert.net ;
- Confédération Nationale du Travail : http://www.cnt-f.org/ ;
- Reporters Sans Frontières : http://www.rsf.org/.
AlternC, je veux participer
Comme tout logiciel libre, AlternC est entièrement ouvert. En vue de le stabiliser et surtout de pouvoir le diffuser rapidement, vous pouvez vous aussi participer à son développement. Il suffit de vous inscrire sur les listes de diffusions du projet.




Commentaires