IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

AlternC comme si vous y étiez

Image non disponible


précédentsommairesuivant

8. Trucs & astuces pour AlternC

8-1. Introduction

Ce chapitre va vous donner un ensemble de trucs et astuces pour l'administrateur système utilisant AlternC. La plupart des astuces décrites ici nécessitent des bases en administration système.

Comme bien souvent dans les logiciels libres développés par la communauté, si vous avez d'autres questions, vous pouvez utiliser les listes de discussions du projet pour les poser, après avoir cherché dans les archives de ces listes bien entendu !

Le projet AlternC dispose de deux listes de discussion à ce jour :

user@alternc.org, qui est la liste de discussion des administrateurs système utilisateurs d'AlternC. Si vous avez un serveur sous AlternC, nous vous conseillons vivement de vous y inscrire : il y a assez peu de messages, mais ils sont souvent pertinents : annonce de nouvelles versions et questions d'autres utilisateurs vous aideront à approfondir votre connaissance de Debian, de Linux et d'AlternC en particulier ;

dev@alternc.org, qui concerne surtout ceux qui développent AlternC. C'est le meilleur endroit pour poser une question véritablement pointue et nécessitant des compétences importantes. Si vous souhaitez aider au développement d'AlternC, c'est un endroit quasiment incontournable pour bien suivre le projet.

Nous espérons enfin que vos premières questions trouveront réponse dans les trucs & astuces présentes ici même. C'est parti !

8-2. Trucs & astuces

8-2-1. Emplacement des données dans AlternC

Question  : Où se trouvent les données web et mail des utilisateurs ?

Dans un serveur utilisant AlternC, les emplacements par défaut des données sont les suivants :

les données web des comptes AlternC sont dans /var/alternc/html/, ou plus précisément :

/var/alternc/html/<premiere lettre du compte>/<nom du compte>

Les données des adresses e‑mail des utilisateurs sont, quant à elles, dans :

/var/alternc/mail/<premiere lettre du compte POP/IMAP>/<nom du compte POP/IMAP>

où le « nom du compte pop/imap » est l'adresse e‑mail où @ est remplacé par _.

Si vous souhaitez pouvoir accéder facilement aux données HTML de vos comptes AlternC, vous pouvez, en tant que root, créer un lien symbolique de /var/alternc/html à la racine :

ln -sf /var/alternc/html /html

ainsi, vous pouvez accéder facilement par exemple au compte demo ainsi :

 
Sélectionnez
cd /html/d/demo

8-2-2. Mailman

Question  : Où se trouvent les listes de diffusion Mailman ?

Comme pour tout mailman standard de Debian GNU/Linux, Les listes mailman gérées par AlternC sont dans

/var/lib/mailman/lists/

Dans le dossier « lists » vous trouverez un dossier par liste dans lequel se trouvent les fichiers de configuration de mailman (config.pck) et d'autres données (par exemple les pages HTML personnalisées).

Question  : Où se trouvent les archives des listes ?

Les archives des listes mailman se situent dans le dossier

/var/lib/mailman/archives/

Dans ce dossier se trouvent deux sous-dossiers : public et private.

Public contient uniquement des liens symboliques vers les archives dans private/, pour les listes dont les archives ont été déclarées publiques.

Dans private, on trouve deux dossiers par liste :

- un au nom de la liste, qui contient les archives au format HTML ;

- un au « nom de la liste.mbox », qui contient un fichier mailbox : c'est la liste des e‑mails reçus sur cette liste, lisibles avec mutt.

Étant donné que depuis l'interface mailman, il n'est pas possible de supprimer des archives, vous pouvez procéder à leur suppression en console par exemple.

Question : Comment régénérer les archives des listes mailman ?

La régénération se fait, pour une liste, de la manière suivante :

se connecter en root dans le répertoire indiqué ci-dessous et déclencher la régénération des archives

 
Sélectionnez
# cd /var/lib/mailman/bin
# ./arch nomdelaliste

Attention, si vous souhaitez régénérer l'ensemble des archives d'une liste, effacez tout d'abord les archives HTML dans

/var/lib/mailman/archives/private

Question : Comment enlever un e‑mail des archives d'une liste mailman ?

Pour régénérer ou modifier les archives d'une liste, le plus simple est de procéder ainsi (par exemple pour la liste « discussion ») :

  • tout d'abord, assurez-vous que mutt est installé sur votre serveur. Pour cela, tapez
 
Sélectionnez
aptitude install mutt
  • ensuite, rendez-vous dans les archives HTML de la liste, et supprimez tout :
 
Sélectionnez
# rm -rf /var/lib/mailman/archives/private/discussion/*
  • rendez-vous dans le second dossier d'archive et lancez Mutt sur votre archive :
 
Sélectionnez
cd /var/lib/mailman/archives/private/discussion.mbox/
mutt -f discussion.mbox

Dans Mutt, cherchez les messages à supprimer, et appuyez sur « d » sur chacun d'eux pour le supprimer. validez avec $ et quittez Mutt avec q.

Enfin, régénérez les archives publiques (ou privées) par la commande arch :

 
Sélectionnez
su - list 
cd /var/lib/mailman/bin/
./arch discussion

Notez que cette régénération peut prendre un certain temps selon la taille des archives.

Question : Comment disposer d'un mot de passe valide pour toutes les listes ?

Mailman dispose d'une fonctionnalité intéressante pour les administrateurs système, à savoir le fait de disposer d'un « mot de passe-partout ». Pour fixer ou modifier ce mot de passe, on procède ainsi :

 
Sélectionnez
cd /var/lib/mailman/bin
./mmsite

Entrez ensuite deux fois votre nouveau mot de passe, qui sera valide pour toutes les listes mailman.

8-2-3. MySQL

Question  : Où se trouve le mot de passe du PhpMyAdmin général ?

Tout d'abord, si vous avez suivi notre didacticiel pour l'installation d'AlternC, vous avez donc lancé mysql_secure_installation, qui vous a proposé de créer un mot de passe pour le compte root de MySQL, qui a accès à toutes les bases et tous les droits dans MySQL de manière illimitée.

Vous pouvez donc utiliser ce login et ce mot de passe pour vous connecter à MySQL soit via le PhpMyAdmin général, soit via la console avec

 
Sélectionnez
# mysql -uroot -pvotremotdepasse

Sinon, vous pouvez aussi utiliser directement la commande « mysql » seule, à condition d'avoir dans votre compte un fichier .my.cnf contenant les bonnes informations.

Pour cela, vous pouvez créer un lien symbolique du fichier d'AlternC contenant la configuration de mysql, qui est :

/etc/alternc/my.cnf

La commande pour créer ce lien est

 
Sélectionnez
# ln -sf /etc/alternc/my.cnf /root/.my.cnf

Ainsi, si, en tant que root, vous tapez :

 
Sélectionnez
mysql <enter>

il se connectera automatiquement sans demander le mot de passe général.

8-2-4. Awstats

Question  : Comment régénérer les stats awstats ?

Awstats calcule tous les matins les statistiques de la veille pour tous les sites web.

Si vous devez recalculer les statistiques d'un site depuis sa création, vous pouvez procéder ainsi :

- dans /var/cache/awstats, trouvez le sous-dossier du domaine correspondant (par exemple ici, mondomaine.fr)

serveur:/var/cache/awstats# ls

mondomaine.fr

intranet.unautre.com

www.lulu.net

Rendez-vous dans ce sous-dossier et déplacez dans un dossier de sauvegarde tous les fichiers présents dans ce sous-dossier (par exemple un sous-dossier du répertoire root)

 
Sélectionnez
mkdir /root/mondomaine
mv * /root/mondomaine/

lancez ensuite la commande suivante en tant que www-data :

 
Sélectionnez
# su - www-data
$ /usr/lib/alternc/alternc-awstats mondomaine.fr

Cela relancera les stats de mondomaine.fr sur toute la période couverte par vos logs Apache2, et pour les mois où vous avez retiré les fichiers de cache.

Si vous voulez le faire pour tous vos domaines hébergés, vous pouvez lancer plus généralement :

 
Sélectionnez
# su - www-data
$ /usr/lib/alternc/alternc-awstats all

(Attention, cela peut prendre vraiment beaucoup de temps sur une machine chargée. N'hésitez pas à utiliser la commande « screen » pour lancer ce process en arrière-plan.)

Cela vous permet aussi de générer des statistiques pour un site qui était hébergé depuis longtemps sur votre serveur.

8-2-5. Divers

Question  : Un logiciel en PHP que j'installe sur le serveur nécessite de désactiver le Safe Mode, et refuse de fonctionner sans. Comment faire ?

Ou encore  : J'ai écrit ou j'utilise un programme qui nécessite de lancer des exécutables sur le serveur, et nécessite de pouvoir accéder à des dossiers en dehors de mon espace web. Comment faire ?

Par défaut Safe Mode est à « on » sur Alternc. Ce paramètre de PHP est une sécurité pour un serveur mutualisé. Il permet d'interdire certaines commandes comme l'exécution de toute commande sur le serveur.

Par ailleurs, chaque sous-domaine est cloisonné à son espace web, par la directive open_basedir de php. Ainsi, dans /var/alternc/apacheconf/m/mondomaine.fr/ on trouve un extrait de fichier de configuration Apache qui emprisonne le site dans son espace web, par exemple /var/alternc/html/u/uncompte/. Ainsi chacun est cloisonné chez soi.

Il peut arriver que vous ayez besoin de mettre Safe Mode à « off » pour un domaine ou sous-domaine en particulier. En effet :

- certains programmes en PHP nécessitent la désactivation du safe_mode ;

- certains programmes PHP ont besoin de pouvoir lancer des commandes shell (comme imagemagick, latex ou d'autres commandes…).

Voici comment procéder pour un nom de domaine spécifique :

  • créer un fichier dans /etc/apache2/conf.d/ au nom de votre domaine (histoire de ne pas être perdu) et terminé par « .conf »

par exemple :

 
Sélectionnez
serveur:~/# cd /etc/apache2/conf.d
serveur:/etc/apache2/conf.d# vim www.nomdedomaine.tld.conf
  • inscrire dans le fichier les lignes suivantes :
 
Sélectionnez
<directory /var/alternc/dns/n/www.nomdedomaine.tld>
 php_admin_flag safe_mode off
 php_admin_flag safe_mode_gid off
</directory>
  • ensuite, sauvez le fichier ainsi créé et relancez Apache comme suit :
 
Sélectionnez
# /etc/init.d/apache2 reload

Question : Je viens d'installer un domaine sur mon serveur,

ou  : Je viens de supprimer un domaine sur mon serveur,

ou encore  : Je viens de changer la configuration d'un domaine sur mon serveur,

…mais je ne veux pas attendre cinq minutes, comment faire ?

L'installation des domaines étant une opération nécessitant des droits avancés, elle ne peut pas être réalisée par le panel, qui n'a pas de droits particuliers.

Cette installation des domaines est donc réalisée par une tâche planifiée lancée en tant qu'administrateur du serveur (root). Si vous avez accès au serveur via SSH sur le compte root, vous pouvez lancer la tâche planifiée quand vous le voulez. Pour cela, tapez :

 
Sélectionnez
# /usr/lib/alternc/update_domains.sh

Cette commande doit rendre la main assez rapidement, les modifications en attente sur les domaines ont toutes été prises en compte.

Question : Un des services du serveur est arrêté, comment puis-je le relancer ?

Pour relancer un service sur le serveur, il suffit de lancer son script d'init, situé dans

/etc/init.d/

avec comme paramètre stop, start ou restart selon l'action que vous voulez réaliser.

Ainsi, il est possible de redémarrer ProFTPd avec :

 
Sélectionnez
/etc/init.d/proftpd restart

Pour recharger Apache2 sans le redémarrer :

 
Sélectionnez
/etc/init.d/apache2 restart

Pour arrêter postfix :

 
Sélectionnez
/etc/init.d/postfix stop

Question  : Mon site web me sort une page : « Internal Server Error ».

Ce message d'erreur peut signifier 1000 choses différentes. Les plus classiques étant :

  • vous avez mis un fichier nommé « .htaccess » dans votre espace d'hébergement, et ce fichier, qui est un extrait de fichier de configuration d'Apache, doit respecter une syntaxe très précise, et ne contenir aucune faute, sans quoi, votre site sera entièrement indisponible avec l'erreur ci-dessus ;
  • vous utilisez un cgi-bin et celui-ci échoue.

Dans tous les cas, Apache mémorise l'erreur « 500 Internal Server Error » dans son fichier de log. Taper en console :

 
Sélectionnez
# tail -f /var/log/apache2/error.log <enter>

permet de voir défiler les nouveaux messages d'erreur de votre serveur web. Rechargez la page provoquant l'erreur, et vous verrez la raison de celle-ci, par exemple :

[Thu Jun 24 12:46:47 2008] [alert] [client 91.194.61.194] /var/alternc/dns/m/www.mondomaine.tld/.htaccess: Illegal option

Cela montre dans quel fichier de configuration d'Apache2 une erreur s'est glissée, rendant le site inutilisable.

Question  : Pour l'installation d'un kit de paiement en ligne, je dois poser un script CGI, comment faire ?

ou  : J'ai un programme binaire compilé à installer sur le serveur pour servir des pages CGI, comment faire ?

La plupart du temps, vous n'aurez pas besoin d'utiliser ce que l'on appelle des cgi-bin (qui sont des programmes en Perl, C, ou tout autre binaire, lancés par le serveur web à une adresse spécifique). Cependant, pour certains usages, comme l'installation de kit de paiement en ligne, vous aurez besoin d'installer un CGI-BIN de votre banque.

Les cgi-bin peuvent être installés à la main par root dans le dossier

/var/alternc/cgi-bin/

Dans ce dossier, vous pouvez mettre le programme à installer en tant que cgi, et lui donner des droits d'exécution par la commande

 
Sélectionnez
chmod a+x votre-programme

Vous pouvez l'envoyer via sftp sur votre compte root.

Il sera accessible sur votre site à L'URL

http://votredomaine.tld/cgi-bin/votre-programme

Vous pouvez aussi le mettre dans un sous-dossier de /var/alternc/cgi-bin/ auquel cas L'URL deviendra

http://votredomaine.tld/cgi-bin/sous-dossier/votre-programme

Notez que les CGI ainsi installés sont accessibles à tout domaine installé sur le serveur, à la même adresse. Ainsi, si vous avez « unautredomaine.eu » sur votre serveur, L'URL ci-dessous marchera aussi :

http://unautredomaine.eu/cgi-bin/sous-dossier/votre-programme

Question : À l'affichage de mes pages, les caractères accentués sont incorrects.

Sur certains sites, les accents peuvent apparaitre ainsi :

jeu de caractères par défaut au lieu de

jeu de caractères par défaut.

Il se peut que cela vienne de la configuration par défaut d'Apache2, qui est de fournir les pages comme étant encodées en ISO-8859-1.

Dans ce cas, essayez le truc suivant : à la racine de votre site, créez un fichier nommé « .htaccess » et entrez la ligne suivante dans le fichier (si ce fichier existe déjà, ajoutez cette ligne en bas du fichier.)

AddDefaultCharset UTF-8

Cela passera toutes les pages de votre site en encodage UTF-8, et les accents devraient désormais s'afficher correctement.

Si cela n'est pas résolu, il se peut que cela vienne de votre programme PHP qui ne gère pas bien les jeux de caractères. Nous ne pouvons hélas pas y faire grand-chose : revoyez votre programme.

8-2-5-1. Octopuce

L'équipe d'Octopuce, constituée d'experts qui œuvrent dans l'administration système et réseau sous Linux depuis 1999, est une société d'hébergement administré et de conseil en infrastructure internet. Les auteurs de ce présent ouvrage, associés dans Octopuce, sont à l'origine du projet AlternC. Ils sont toujours actifs, tant dans le développement que dans la documentation.

http://www.octopuce.fr.

8-2-5-2. Neuronnexion

Hébergeur et fournisseur d'accès à internet depuis 1996, basé en Picardie, Neuronnexion développe et commercialise les services liés à internet. Depuis quelques années, Neuronnexion propose des serveurs dédiés sous AlternC.

http://www.neuronnexion.coop/.

8-2-5-3. Webelys

Basée au cœur de la Provence, Webelys est une société spécialisée dans l'hébergement de solutions internet depuis 2009. Elle bénéficie grâce à son équipe d'une expérience de près de cinq ans avec AlternC. Webelys participe activement à l'évolution du projet principalement sur la publication de la documentation technique et sur l'adaptation, intégration de plugins (Munin, ferme à CMS…).

http://www.webelys.com.

8-2-5-4. Lautre Net

Laboratoire associatif ayant donné naissance à AlternC (voir le chapitre Un peu d'histoire), Lautre Net est un hébergeur internet associatif et autogéré depuis 2001. L'association compte à ce jour près de 1000 membres et utilise AlternC au centre de son infrastructure d'hébergement.

http://www.lautre.net.

8-2-5-5. Koumbit

Koumbit est une organisation à but non lucratif dont la mission est de créer un espace d'entraide et de partage de ressources pour les travailleurs des technologies de l'information engagés socialement, et du même coup favoriser l'appropriation de l'informatique libre et l'autonomie technologique des groupes sociaux québécois.

Antoine Beaupré, de Koumbit, fait partie des principaux développeurs d'AlternC.

http://www.koumbit.org.

8-2-5-6. Globenet

Association militante au service de la liberté d'expression, proposant des services internet, Globenet a hébergé le premier serveur de Lautre Net, permettant de ce fait le développement du projet AlternC. Globenet utilise par ailleurs AlternC pour l'hébergement de ses membres.

http://www.globenet.org.

8-2-5-7. Domaine public

Situé en Belgique, l'association Domaine Public héberge 300 adhérents depuis près de huit ans.

Domaine Public a participé activement à la naissance de la première version d'AlternC et suit toujours le projet.

http://www.domainepublic.net/.

8-2-5-8. Assodev-Marsnet

Assodev-Marsnet est une association militante, pour la promotion de l'internet coopératif et de l'informatique libre afin de favoriser le développement des activités solidaires et les pratiques de coopération, auprès du public associatif de la région PACA.

L'association accompagne une centaine de membres dans leur usage (entraide, formations, création de sites, outils réseau, hébergement). Elle anime une trentaine d'évènements annuels autour de l'internet, de l'informatique et de la culture libre.

http://www.marsnet.org/.


précédentsommairesuivant

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2010 Chantal Bernard-Putz et Benjamin Sonntag. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.