Commit 6ca8255f authored by Pierre Gilles Mialon's avatar Pierre Gilles Mialon

AlternC Plugin are now part of AlternC svn repository\n Migration Phase 2

parents
This diff is collapsed.
Build instructions
==================
1- get the source
# cvs co alternc
2- get the dependencies
You probably need at least dpkg-dev, dehelper and optionally fakeroot, to
build the package as non-root.
3- build the package
Should be as simple as calling dpkg-buildpackage now. The package will
be in ../alternc_<version>_<arch>.deb
You can verify the validity of the package using:
lintian -i ../*.deb
Warning: this will print out a lot of messages, since the package is
really not clean right now.
This diff is collapsed.
Modularisation d'AlternC
========================
- Chaque classe a un nom en lettres (pas trop long).
- Chaque classe fournit :
* Un fichier m_<classname>.php contenant la déclaration de la classe php
* Une classe qui s'appelle "m_<classname>"
* La variable globale instanciant la classe est $<classname>, elle est créée automatiquement par config_real.php
* Un fichier .pot dans locales/<classname>.po (et eventuellement <classname>_manual.po pour les entrees non détectées par gettext
* Les messages d'erreur sont du type "err_<classname>_<errno>" ou <errno> est un entier positif. 0 pour "OK"
* Une classe PEUT présenter un fichier "menu_<classname>.php" dans admin/
- Une classe peut présenter les fonctions particulières suivantes :
* alternc_add_domain($domain) qui est appellée quand un domaine est créé sur le compte membre courant
* alternc_del_domain($domain) qui est appellée quand un domaine est supprimé sur le compte membre courant
* alternc_add_member($uid) quand un membre est créé
* alternc_del_member($uid) quand un membre est détruit
* alternc_quota_check($uid) pour recalculer le quota utilisé par un membre
* alternc_quota_names() qui retourne une chaine ou un tableau avec le(s) noms des quota(s) gérés par cette classe.
si elle ne les contient pas, ces fonctions ne seront pas appellées...
AlternC est fourni en standard avec les classes :
- domain (installation domaines / dns / mx)
- ftp (maintenance des comptes ftp)
- mail (maintenance des emails pop/alias)
- quota (gestion globale des quotas de service et de disques)
- bro (navigateur dans le système de fichier)
- admin (panneau administrateur)
- mem (connexion et préférences membre)
- mysql (maintenance de bdd mysql)
- err (gestion des erreurs)
- sta2 (demande de sortie de logs bruts apache)
- hta (protection de dossiers web par htaccess/htpasswd)
Les modules additionnels dispo :
- alternc-webinstaller (cette classe particulière permet l'intégration facile d'outils (dmanager, spip, forum, chat ...) )
- alternc-mailman (gestion de listes sous mailman)
- alternc-sympa (gestion de listes sous sympa)
- alternc-webalizer (gestion de stats webalizer)
- procmail_builder (plugin spécial pour squirrelmail)
Donc, pour s'installer, une classe a besoin de :
- Créer les éventuelles structures de données nécessaires (mysql)
- Copier le fichier m_<classname> dans bureau/class/
- Copier l'eventuel fichier menu_<classname>.php
- Copier les éventuels autres fichiers dans bureau/admin, bureau/locales/* ...
Quotas
------
Le système de quota est simple : la classe peut appeler
$quota->inc dec ...
pour le membre donné, sur le nom de quota utilisé par celle-ci,
(utiliser <classname> est conseillé ;)
Quand un nouveau membre est créé, la valeur par défaut choisi par
l'admin lui est associé, et cette valeur vaut 0 par défaut.
Autres
------
Il est conseillé que chaque classe non standard fournisse un dossier
dans /bureau/admin/ dans lequel elle stocke les pages web
correspondantes, ceci afin de ne pas alourdir le dossier bureau/admin...
Ajout à l'API :
- La variable globale "$classes" contient un tableau avec le nom des
classes disponibles (nom court sans m_ =>mail, quota, err...)
Hooks ou "events" AlternC
=========================
Liste des fonctions "events" appellées lorsqu'un évènement particulier a lieu
sur un compte, tel que l'ajout d'un domaine, la suppression d'un domaine etc.
- Ces fonctions commencent TOUJOURS par "alternc_"
- SEULES ces fonctions ont le droit d'utiliser le prefixe alternc_ dans les
classes
- Les fonctions ne peuvent apparaitre que dans les classes d'AlternC, ayant
pour nom m_<nom du module>
- Chaque fonction est prototypée ci-dessous et son évènement est expliqué en
détail
alternc_del_domain($dom)
fonction appellée lorsqu'un domaine est effacé d'un compte AlternC.
$dom est le nom de domaine concerné.
alternc_add_domain($dom)
fonction appellée lorsqu'un domaine est installé sur un compte AlternC.
$dom est le nom de domaine concerné.
alternc_quota_check($id)
fonction appellée afin de recalculer le quota d'un membre pour le service correspondant.
$id est le numéro unique du membre concerné.
alternc_add_member($id)
fonction appellée lorsqu'un compte membre est créé sur le serveur AlternC.
$id est le numéro unique du membre concerné, qui a déjà été créé dans les tables principales.
alternc_del_member($id)
fonction appellée lorsqu'un compte membre est supprimé sur le serveur AlternC.
$id est le numéro unique du membre concerné, qui sera détruit après l'appel.
alternc_add_mx_domain($dom)
fonction appellée lorsqu'un domaine déjà hébergé mais n'ayant pas le mx pointant vers nous voit son mx
pointer vers nous. Pour les classes sensible au mail, cela équivaut bien souvent à add_domain
alternc_del_mx_domain($dom)
fonction appellée lorsqu'un domaine déjà hébergé et ayant son mx pointant vers nous voit son mx
nous quitter. Pour les classes sensible au mail, cela équivaut bien souvent à del_domain
alternc_description()
retourne la chaine ou la liste de chaine de description du module, traduit par gettext.
permet de savoir à quoi sert un module ou les éléments d'un module.
AlternC: Architecture pour serveurs d'hébergement
=================================================
Introduction
------------
AlternC est un ensemble de logiciels d'hébergement facile à utiliser,
facile à installer, basé uniquement sur des logiciels OpenSource,
AlternC étant sous licence GPL.
Ce logiciel contient un système d'installation et de configuration
automatique, ainsi qu'un panneau de contrôle accessible par le web, pour
la gestion des utilisateurs et des services web (domaines, mails,
comptes ftp, statistiques ...)
Techniquement, AlternC se base sur la distribution Debian GNU/Linux
'Woody', et utilise d'autres logiciels tels Apache, Postfix, Mailman ...
Il contient aussi une documentation d'API, permettant une
personnalisation facile et rapide du bureau, le 'panneau de contrôle
web' d'AlternC.
La langue natale de ce projet est le Français. Cependant, le paquet
debian contient le bureau en Français ET en Anglais. Une version
Espagnole et Allemande est en cours de préparation. Les traductions dans
d'autres langues auront lieu si vous nous y aidez. La documentation
n'est actuellement disponible qu'en Français, mais une traduction
multilingue devrait arriver un jour ...
AlternC est développé par les administrateurs système de l'Autre Net,
les membres de l'Autre Net, ainsi que d'autres structures / développeurs
parmis lesquels Globenet.
Installation
------------
Pour l'instant, AlternC doit être installé en package Debian. Ceci prend
soin d'installer AlternC lui-même est toutes ses dépendances. Pour
télécharger les packages Debian d'alternc, veuillez insérer les linges
suivantes dans votre fichier /etc/apt/sources.list
deb http://debian.alternc.org debian/
deb-src http://debian.alternc.org debian/
See http://dev.alternc.org/trac/alternc/roadmap to get up to date information
about what's left to do for AlternC.
#!/bin/sh
# $Id: build.sh,v 1.1.1.1 2003/03/26 17:41:29 root Exp $
cd /data/bureau/admin/aide/
# BUILD HTML
rm -rf html
mkdir html
docbook2html --dsl /data/bureau/admin/aide/bin/frames.dsl -o html index.sgml
rsync files/ html/files/ -a
rsync inline/ html/ -a
cd ..
# Construction du fichier langue :
# fr_FR :
cd /data/bureau/admin/locale/fr_FR/LC_MESSAGES
msgfmt -o alternc.mo alternc.po
cd /data/bureau/admin/locale/en_US/LC_MESSAGES
msgfmt -o alternc.mo alternc.po
<!DOCTYPE style-sheet PUBLIC "-//James Clark//DTD DSSSL Style Sheet//EN" [
<!ENTITY docbook.dsl PUBLIC "-//Norman Walsh//DOCUMENT DocBook HTML Stylesheet//EN" CDATA DSSSL>
]>
<style-sheet>
<style-specification use="docbook">
<style-specification-body>
(define %stylesheet-version%
"DocBook HTML Frames Stylesheet version 2.0")
(define %stylesheet% "docbook.css");
(root
(make sequence
(process-children)
(with-mode manifest
(process-children))
(make-dhtml-toc)))
(define (make-dhtml-toc)
(make entity
system-id: "toc.htm"
(make element gi: "HTML"
(make element gi: "HEAD"
(make element gi: "TITLE" (literal "DocBook TOC"))
($standard-html-header$))
(make element gi: "BODY"
(with-mode dhtmltoc
(process-children))
)))
)
(define (dhtml-toc-entry nd gilist)
(let*
(
(subdivnodes (node-list-filter-by-gi (children nd) gilist))
(subdivs (and (> (node-list-length subdivnodes) 0) (not (node-list=? nd (sgml-root-element))) ) )
)
(if (node-list=? nd (sgml-root-element))
; SEQUENCE 1 : ROOT element
(make sequence
(make element gi: "NOBR"
(make element gi: "A"
attributes: (list (list "HREF" (href-to (current-node)))
(list "TARGET" "right")
)
(element-title-sosofo (current-node))
)
(make empty-element gi: "BR")
(make element gi: "UL"
attributes: (list (list "CLASS" "TOC"))
(process-children))
)
)
; SEQUENCE 2 : Children elements
(make sequence
(make empty-element gi: "LI")
(make element gi: "NOBR"
(make element gi: "A"
attributes: (list (list "HREF" (href-to (current-node)))
(list "TARGET" "right")
)
(element-title-sosofo (current-node))
))
; DIV ENFANT :
(make element gi: "UL"
attributes: (list (list "CLASS" "TOC2"))
(process-children))
) ; sequence
) ; if node-list ...
))
(mode dhtmltoc
(default (empty-sosofo))
(element set (dhtml-toc-entry (current-node)
(list (normalize "book"))))
(element book (dhtml-toc-entry (current-node)
(list (normalize "part")
(normalize "preface")
(normalize "chapter")
(normalize "appendix")
(normalize "reference"))))
(element preface (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element part (dhtml-toc-entry (current-node)
(list (normalize "preface")
(normalize "chapter")
(normalize "appendix")
(normalize "reference"))))
(element chapter (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element appendix (dhtml-toc-entry (current-node)
(list (normalize "sect1"))))
(element sect1 (dhtml-toc-entry (current-node) '()))
(element reference (dhtml-toc-entry (current-node)
(list (normalize "refentry"))))
(element refentry (dhtml-toc-entry (current-node) '()))
)
</style-specification-body>
</style-specification>
<external-specification id="docbook" document="docbook.dsl">
</style-sheet>
<chapter id="browser"><title>Le gestionnaire de fichiers</title>
<sect1 id="browser.1"><title>Introduction / Description</title>
<para>
Sur AlternC, vous disposez d'un espace disque personnel sur lequel vous pouvez installer vos
domaines, sous-domaines, comptes ftp, statistiques web etc. Cet espace est en fait un dossier
sur le serveur, dans lequel vous pouvez stocker des fichiers, mais aussi des sous-dossiers,
afin d'organiser au mieux votre espace disponible.
</para>
<para>
Afin de pouvoir modifier facilement vos fichiers, vous pouvez utiliser le FTP, en créant un
compte sur votre bureau virtuel. Plus d'info sur le FTP dans <link id="ftp">la section FTP de l'Aide.</link>.
Vous pouvez aussi utiliser le gestionnaire de fichier pour gérer vos fichiers directement depuis le
bureau virtuel. Pour cela, dans le menu principal, cliquez sur "Gestionnaire de fichiers"
</para>
<para>
Le gestionnaire de fichier permet de gérer l'ensemble de vos fichiers, à savoir :
<itemizedlist>
<listitem><para>Créer Supprimer et Renommer des fichiers</para></listitem>
<listitem><para>Créer Supprimer et Renommer des dossiers / Sous-dossiers</para></listitem>
<listitem><para>Editer les fichiers présents dans le compte (fichiers textes, html ...)</para></listitem>
<listitem><para>Visualiser les fichiers du compte (html, images, document ...)</para></listitem>
<listitem><para>Télécharger l'ensemble de votre compte dans un fichier compressé (plusieurs formats supportés)</para></listitem>
<listitem><para>Accéder aux autres fonctions du bureau, tels la création de comptes FTP ou la protection de
dossier par nom d'utilisateur et mot de passe.
</para></listitem>
</itemizedlist>
</para>
</sect1>
<sect1 id="browser.2"><title>Paramètres du gestionnaire de fichiers</title>
<para>
Vous pouvez régler les préférences du gestionnaire de fichier en cliquant sur "Régler mes préférences"
en bas du gestionnaire.
<graphic fileref="files/browser_set.png" format="png"></>
Les éléments ci-dessous peuvent être réglés :
<itemizedlist>
<listitem><para>Type d'affichage du gestionnaire (1 colonne de fichiers, 2 colonnes, 3 colonnes)</para></listitem>
<listitem><para>L'affichage ou pas des icones des fichiers</para></listitem>
<listitem><para>L'affichage ou pas des types des fichiers (image jpeg, page html, ...)</para></listitem>
<listitem><para>Le format de compression utilisé pour téléchargé tout le site au format compressé. (zip, tgz, tar.z, tar.bz2 supportés)</para></listitem>
<listitem><para>La largeur et la hauteur de la fenêtre de l'éditeur de fichiers.</para></listitem>
<listitem><para>Si vous préférer aller à l'éditeur de fichiers ou au gestionnaire après la création d'un nouveau fichier.</para></listitem>
</itemizedlist>
</para>
<para>
</para>
<para>
</para>
<para>
</para>
<para>
</para>
</sect1>
</chapter>
<chapter id="domain"><title>Les Noms de Domaines</title>
<sect1 id="domain.1"><title>Introduction / Installation d'un nouveau domaine</title>
<para>
AlternC propose de l'hébergement de noms de domaine personnels sur votre compte.
Un nom de domaine est toujours de la forme quelquechose.tld. Exemple : <literal>virtuel.org</literal>, <literal>masociete.com</literal> etc.
</para>
<para>
Un nom de domaine, pour être hébergé chez un hébergeur de site, doit être proprement installé. Pour cela, il faut procéder par étape :
<orderedlist>
<listitem><para>Acheter le nom de domaine voulu chez un registrar.</para>
<example><title>Exemple de registrar</title>
<para>On peut acheter par exemple un domaine en <literal>.fr</literal> auprès d'un partenaire de <ulink url="http://www.nic.fr">l'AFNIC</ulink>,
ou un <literal>.com .org .net</literal> auprès de <ulink url="http://www.gandi.net">Gandi</ulink>
</para></example>
</listitem>
<listitem><para>Lors de l'achat du nom de domaine, préciser le nom des serveurs DNS d'AlternC au registrar.</para>
<example><title>Exemple de DNS</title>
<para>Chaque hébergeur dispose d'au moins 2 serveurs DNS. Votre hébergeur vous donnera les noms et adresse Internet des siens.</para>
<para>Exemple : ns1.alternc.net (80.67.172.5) et ns2.alternc.net (80.67.172.9)</para></example>
</listitem>
<listitem><para>Installer le domaine sur AlternC.</para>
<para>Une fois acheté et ses DNS corrects, le domaine peut être installé sur
AlternC. Pour cela, cliquez sur le lien "Ajouter un domaine" dans le bureau virtuel.
</para>
</listitem>
</orderedlist>
</para>
</sect1>
<sect1 id="domain.2"><title>Configuration d'un domaine / sous-domaine</title>
<para>
Lorsque vous avez installé un domaine sur AlternC, vous pouvez choisir dans quel dossier
de votre espace disque vous souhaitez connecter ce domaine, ou tout sous-domaine associé.
Pour cela, Cliquez sur le domaine dans le menu de gauche. Cela affiche l'ensemble des
sous-domaines installé. Vous pouvez ensuite modifier l'emplacement de ces sous-domaines,
ou en créer de nouveaux.
</para>
<para>
Par défaut, les sous-domaines suivants sont installés : (exemple pour <literal>virtuel.org</literal>)
<itemizedlist>
<listitem><para><literal>virtuel.org</literal> Ce sous-domaine est en fait le domaine
lui-même. Vous pouvez choisir comment vous voulez rediriger le domaine lui-même.
Le plus simple est de le rediriger vers l'URL http://www.virtuel.org ou vers
le même dossier que www.virtuel.org</para></listitem>
<listitem><para><literal>www.virtuel.org</literal> Ce sosu-domaine correspond à l'adresse
qu'utiliseront la plupart des internautes, l'adresse www de votre site web. Vous pouvez donc
l'héberger sur un dossier local. Par défaut, c'est la racine (nommé /) de votre espace
disque qui recoit ce domaine.</para></listitem>
<listitem><para><literal>mail.virtuel.org</literal> Ce sous-domaine particulier recoit le webmail
de votre domaine. Vous pouvez donc accéder à votre mail par l'adresse <literal>http://mail.virtuel.org</literal>
Si vous souhaitez connecter le webmail sur un autre nom, détruisez ce sous-domaine et recréez-en un
en lui affectant le type "webmail".
</para></listitem>
<listitem><para><literal>admin.virtuel.org</literal> Ce sous-domaine particulier recoit l'interface
du bureau virtuel. Ainsi, vous pouvez administrer votre domaine directement depuis le domaine lui-même.
Si vous souhaitez connecter le bureau d'administration sur un autre nom, détruisez ce sous-domaine et recréez-en un
en lui affectant le type "bureau virtuel".
</para></listitem>
</itemizedlist>
</para>
</sect1>
</chapter>
<chapter id="ftp"><title>Comptes FTP</title>
<sect1 id="ftp.1"><title>Introduction</title>
<para>
Le FTP est un moyen pratique de pouvoir échanger des fichiers entre un serveur et une
machine connectée à Internet. Pour cela, il faut disposer d'un compte FTP sur le serveur,
constitué d'un nom d'utilisateur et d'un mot de passe.
</para>
<para>
Sur AlternC, vous pouvez créer des comptes FTP, en précisant le nom d'utilisateur, le mot de passe,
et le dossier dans lequel sera connecté ce compte FTP. Ainsi, chaque compte pourra accéder à son dossier
et ses sous-dossiers, en lecture et en écriture.
</para>
<para>
Par exemple, si vous disposez des dossiers suivants dans votre compte :
<graphic fileref="files/ftp_list.png" format="png"></>
Vous pouvez créer, par exemple, un compte ftp pour philippe, que vous hébergez sur
<literal>http://virtuel.org/philippe/</literal>
Pour cela, il suffit de cliquer sur "Comptes FTP" puis "Créer un compte FTP" et enfin,
entrez les paramètres de connexion, à savoir, un nom d'utilisateur, un mot de passe, et un répertoire.
<graphic fileref="files/ftp_add.png" format="png"></>
</para>
<para>
Philippe peut donc modifier les fichiers de son dossier en utilisant les paramètres suivants :
<programlisting>
Serveur ftp : "virtuel.org"
Nom d'utilisateur : "virtuel.org_philippe"
Mot de passe : "philpas"
</programlisting>
</para>
</sect1>
</chapter>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook V3.1//EN" [
<!ENTITY chap1 SYSTEM "sommaire.sgml">
<!ENTITY hlpftp SYSTEM "ftp.sgml">
<!ENTITY hlpdomain SYSTEM "domain.sgml">
<!ENTITY hlpbrouteur SYSTEM "brouteur.sgml">
<!ENTITY hlpstats SYSTEM "stats.sgml">
]>
<book lang="fr">
<bookinfo>
<title>AlternC, Documentation Utilisateur</title>
<authorgroup>
<author>
<firstname></firstname><surname>AlternC Development Team</surname>
<affiliation><address><email>tech@alternc.org</email></address> </affiliation>
</author>
</authorgroup>
<date>2002-06-11</date>
<releaseinfo>0.1</releaseinfo>
<abstract>
<para>Bienvenue dans l'aide en ligne d'AlternC.</para>
</abstract>
<keywordset>
<keyword>AlternC</keyword>
<keyword>Hbergement</keyword>
</keywordset>
</bookinfo>
&chap1;
&hlpdomain;