AlternC ou l’Hébergement facile

samedi 12 avril 2003
par  Benjamin Sonntag, Olivier Duquesne (DaffyDuke)
popularité : 2%

AlternC est un ensemble de scripts fondé uniquement sur des Logiciels Libres. Grâce à sa facilité d’administration, il permet d’offrir un hébergement de qualité à moindre coût financier et humain.

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.

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.com et 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
simplement sympa_alternc sans
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 --purge du 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.com avec 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 mysql ne 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.so

On 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/24

Il 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.

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
.


Je ne suis pas certain que cela soit bien passé dans cet article, AlternC est disponible ici : http://www.alternc.org.

L’installation en images et en couleurs (mais loin d’être indispensable puisqu’AlternC répond déjà à ces questions) est visible sur mon site perso http://daffyduke.lautre.net/alternc....

La méthode présentée ici utilise le paquet Debian qui à ce jour est encore buggué, rendez-vous sur le site des développeurs pour le patch de stabilité.


[3Voir aussi
l’excellent article de
Gaétan
.

[4c’est jamais sympa un
admin de toute façon :-)

[5Non, ça n’a rien à voir avec France
Telecom.

[6Attention, si vous avez d’autres services
intéressants, indiqués dans le fichier de
configuration d’Apache (personnellement j’avais
WIMS)
vous devrez aller rechercher des bouts
d’httpd.conf dans les httpd.conf0 ou
httpd.conf1.

[7C’est même
obligatoire si vous voulez qu’AlternC puisse
fonctionner !


Commentaires

Annonces

Annuaire LibreNord

Retrouvez l’annuaire de logiciels libres créé par l’association Club Linux Nord-Pas de Calais sur le site suivant http://www.librenord.org