Choisir si un mail doit être supprimé du serveur sous Thunderbird

Les deux principaux protocoles utilisés pour récupérer ses mails sur son serveur de mail sont IMAP et POP.Ceux ci sont différents sur leur fonctionnement bien que servant le même intérêt.

Pour faire simple, POP est le plus vieux et IMAP a été créé pour corriger certains de ses défauts. Il a notamment été conçu pour pouvoir conserver les messages sur le serveur mais permet aussi de créer des dossiers ou de manipuler ses mails et leurs statuts (Lu, Non lu, …)

De plus, les capacités actuelles des serveurs de messageries grand public sont telles qu’il est quasiment impossible de les dépasser. Malgré tout, certains y arrivent et il est parfois nécessaire de faire un petit nettoyage.

Pour le protocole POP, vous pouvez gérer vos choix de suppression du serveur directement en faisant un clic droit sur votre compte, Paramètres…, puis dans la section correspondante à votre compte POP, sélectionnez Paramètres serveur et reportez vous à la case à cocher Laisser les messages sur le serveur.

En ce qui concerne IMAP, au lieu de reprendre point par point les explications que l’équipe de Thunderbird détaille déjà très bien, je mets à la suite les liens vers la documentation officielle.

Apache 2 après passage à Ubuntu 13.10

Pas mal de problèmes sur le serveur ces derniers jours. J’ai eu la bonne idée de faire la mise à jour depuis Ubuntu 13.04 à Ubuntu 13.10 sur le serveur. Du coup Apache a été mis à jour (bonne chose) mais beaucoup de choses ont changé (mauvaise chose).

La première chose à savoir si le problème vous arrive aussi c’est qu’apache, dans ses nouvelles configurations, n’accepte plus les fichiers de configuration de site qui ne finissent pas en « .conf« . Moi qui les avais tous nommés en fonction du nom du site(domaine/sous-domaine), j’ai dû renommer tous mes fichiers de config pour rajouter l’extension magique.

Une fois que ceci était fait, il m’a fallut supprimer les anciens lien symboliques rajoutés par apache lors des mes précédents a2ensite et présents dans /etc/apache2/sites-enabled/ en faisant :

cd /etc/apache2/sites-enabled/
rm *

De plus, mes fichiers de configuration possédaient des «  » lorsque je voulais désactiver une option mais jamais de « + » lorsque je voulais en ajouter une. Je me contentais par exemple de marquer

Options -Indexes FollowSymLinks MultiViews

Il faut donc reprendre tous les fichiers pour rajouter les « + » qui ont l’air d’être devenus obligatoires donnant donc :

Options -Indexes +FollowSymLinks +MultiViews

Voilà tous les fichiers de configuration de sites sont désormais valides il ne reste plus qu’à activer soit site par site ceux que l’on désire mettre en place soit d’un coup d’un seul tous ceux disponibles en faisant :

a2ensite *

La plupart du temps, les anciens fichiers de configurations ont été conservés et le nouveau fichier de configuration a été mis à côté avec pour extension « .dpkg-new« . Cependant l’ancien est toujours effectif. Dans le doute j’ai quand même refait mes configurations dans le nouveau fichier histoire de ne pas prendre de risques.

Cependant, si vous n’aviez jamais touché un fichier de config, il a été remplacé par la nouvelle version. Dans mon cas, ceci n’a pas été un franc succès puisque le dossier de base des fichiers de site du serveur était revenu à sa valeur par défaut à savoir /var/www/

J’ai donc changé dans le fichier /etc/apache2/apache2.conf les lignes

<Directory /var/www/>
        Options Indexes FollowSymLinks
        AllowOverride None
        Require all granted
</Directory>

par le bon dossier et les bonnes options.

J’ai aussi eu la désagréable surprise de voir que le module php5-json n’était plus installé. Mais pour régler le problème un petit

apt-get install php5-json

et le voilà installé. Plus qu’à faire

service apache2 restart

et voilà un apache qui refait ce qu’on attend de lui.

En conclusion, je dirais que là la solution était relativement simple donc même si ce n’était pas la meilleure des surprises, le problème se corrigeait rapidement. Cependant, pour ceux qui ne savent pas trop gérer les fichiers de config, la tâche aurait pu s’avérer compliquée. Ne faites donc les mises à jour de version d’Ubuntu sur votre serveur qu’en gardant en tête que bien des choses peuvent ne pas se passer comme prévu. Gardez vous quelques heures/jours devant vous quand vous réalisez ce genre d’opération.

EDIT : Une petite précision après quelques recherches. Ce tuto s’applique sur Ubuntu de fait car les versions intégrées entraîne ce problème mais la résolution peut être la même du moment qu’Apache passe d’une version 2.2.X à 2.4.X. (Dans mon cas 2.2.22 à 2.4.6)

Changement de serveur 12-03-2013

J’ai des tonnes d’articles en retard et beaucoup de travail pour l’école donc je vais tenter de rédiger tout ça mais ça tarde un peu.

J’ai fait la migration hier de mon ancien serveur qui était chez ikoula sur un serveur que nous nous partageons avec des amis. Une VM chacun et des IP failover pour tous comme ça on reste tous indépendants et on a la possibilité de faire ce qu’on veut sans risquer de gêner les autres. Nous avons ainsi des machines bien plus puissantes que ce que nous aurions pu avoir pour le même prix. J’ai dû conserver mon nom de domaine chez ikoula car il est impossible de faire un transfert de domaine moins de 60 jours avant l’expiration de l’abonnement. Je le saurais pour la prochaine fois. La gestion des nom de domaine chez ikoula est très bien foutue (contrairement à 1&1 par exemple) donc ce n’est pas très dérangeant même s’ils sont plus chers que d’autres acteurs du marché. De manière générale d’ailleurs, même si la qualité des services est irréprochable, ikoula reste plus cher que la concurrence.

Un atout que possède notamment OVH est l’anonymisation des whois que ne propose pas gratuitement ikoula. Même si ce n’est pas très grave, c’est toujours rassurant de ne pas voir ses informations personnelles traîner partout en invoquant une simple commande.

Du coup normalement tout est fonctionnel (en tout cas pour la partie web). Si vous voyez des problèmes de liens cassés ou autres, n’hésitez pas à m’en faire part.

J’ai appliqué de nouvelles configurations à certains programmes que j’utilisais auparavant donc je ferais aussi des articles dans, j’espère, pas très longtemps sur les nouveaux choix que j’ai fait.

Installation d’un serveur web sous Debian

J’avais lors d’un précédent post, expliqué comment installer WordPress sur son serveur Web mais je n’avais pas expliqué comment installer ce serveur.

On partira donc du principe que l’on a besoin de mettre en place un serveur HTTP, un interpréteur PHP, un SGBD (Système de Gestion de Base de Données) et un serveur FTP. De plus pour le contrôler facilement à distance on utilisera le protocole SSH.

Tout d’abord le choix de la distribution. Ayant toujours utilisé des distributions basées sur Debian et Debian étant réputé pour sa stabilité, il m’a semblé évident de prendre cette distribution comme base. De plus les installations sont facilitées grâce à des dépôts bien remplis (pas toujours à jour, mais fournis).

Ainsi, après une installation standard de cette distribution, enfin, en tout cas sans gestionnaire de fenêtre vu que c’est pour un serveur, nous allons passer à la phase d’installation.

Les logiciels que j’ai choisis d’utiliser pour combler tous nos besoins sont :

  • Serveur HTTP : Apache
  • Serveur FTP : vsFTPd
  • Serveur SSH : openSSH
  • interpréteur PHP : PHP5
  • SGBD : MySQL

Nous allons commencer par installer openSSH afin de pouvoir administrer le serveur à distance par la suite à l’aide de la commande :

apt-get install ssh

Nous verrons les configurations à apporter à chaque logiciel par la suite. Installons maintenant le serveur Apache à l’aide de la commande :

apt-get install apache2

Puis PHP et son module pour apache en tapant :

apt-get install php5 libapache2-mod-php5

Pour MySQL, Debian se charge normalement tout seul de récupérer les paquets qui permettent les interactions avec PHP. Dans le cas contraire il faudra les rajouter en plus (paquet php5-mysql). On tapera donc :

apt-get install mysql-server

Un mot de passe root est demandé à ce moment là. Bien penser à en mettre un fort.

Nous allons enfin installer vsFTPd en tapant :

apt-get install vsftpd

Maintenant que tous les logiciels dont nous avons besoin sont installés, il va nous falloir les configurer. Toujours garder en tête cependant que les configurations sont la partie la plus personnelle de ce genre de mise en place car elles dépendent principalement de ce que l’on désire faire. Je ne détaillerais pas les configurations d’SSH car j’ai déjà mis un exemple détaillé dans ce post ci.

Commençons donc avec la configuration d’Apache. Un fichier de configuration extrêmement important est le fichier /etc/apache2/conf.d/security. C’est ce fichier qui déterminera le niveau de détail des messages d’erreur. Pour un serveur en production, afin d’éviter toute fuite d’information sensible en cas de faille, on mettra les lignes :

ServerTokens Prod
ServerSignature Off
TraceEnable Off

Pour un serveur de développement, le but étant d’obtenir un maximum d’informations, on mettra :

ServerTokens Full
ServerSignature On
TraceEnable Extended

La configuration de base d’Apache donne le dossier /var/www/ comme dossier du site principal. On peut héberger plusieurs sites sur un seul serveur en rajoutant des fichiers de configuration dans le dossier /etc/apache2/sites-available/ (De manière globale, tout fichier présent dans ce dossier est inclus dans le fichier de configuration au lancement d’Apache). Une configuration minimale de site possible est :

<VirtualHost <ADRESSE_DU_SERVEUR>:<PORT_DE_CONNEXION>>
ServerName <NOM_DU_SERVEUR>
ServerAdmin <ADRESSE_DU_WEBMASTER>

DocumentRoot <DOSSIER_DU_SITE>
<Directory <DOSSIER_DU_SITE>>
Options -Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>

CustomLog <URI_DU_FICHIER_DE_LOG> combined
LogLevel warn
</VirtualHost>

Pour plus de détail on peut aller sur la documentation officielle d’Apache sans oublier les conseils sur la sécurité. On pourra, selon la distinction que l’on voudra faire entre les différents sites web (différentes adresses IP, différents ports de connexion), utiliser cette page de documentation ou celle ci pour choisir ses options.
Vous remarquerez le -Indexes qui permet de ne pas lister le contenu d’un dossier lorsque le fichier index.html ou index.php n’existe pas. Pour d’autres options de sécurités on peut aller voir par là.

Il ne reste alors plus qu’à activer le site nouvellement configuré à l’aide de la commande

a2ensite <NOM_DU_FICHIER_DE_CONFIGURATION>

et à redémarrer apache (nous ferons ceci à la fin).

En ce qui concerne PHP, je ne rentrerais pas dans les détails de la configuration car ils sont beaucoup trop dépendants de ce que l’on souhaite mettre en place. De plus, ceux de base conviendront la plupart du temps.

La configuration de MySQL étant plus une configuration par base de données que dans sa globalité, les paramètres originaux feront largement l’affaire. Cependant, il ne faudra pas oublier de créer un nouvel utilisateur pour chaque base afin d’améliorer la sécurité et de ne pas laisser traîner le mot de passe root quelque part. J’avais détaillé le script de création dans mon post sur la mise en place de mon blog.

Il nous reste enfin à configurer vsFTPd. Mon choix s’est porté sur ce logiciel plutôt que sur ProFTP, qui est le plus souvent cité lorsque l’on cherche un serveur FTP, car, notamment, il a été conçu en étant orienté sécurité. Le fichier de configuration est /etc/vsftpd.conf. Il est bien détaillé et facile à paramétrer. On peut choisir de chrooter les utilisateurs, utiliser le serveur en IPv4/IPv6, autoriser l’accès anonyme, etc … J’ai détaillé une des configuration que j’utilise sur l’un de mes serveurs dans ce post.

Il suffit ensuite soit de redémarrer la machine (le plus simple), soit de redémarrer tous les services, après configuration. On peut les relancer un par un à l’aide des commandes :

/etc/init.d/apache restart
/etc/init.d/ssh restart
/etc/init.d/vsftpd restart

On a alors un serveur HTTP/FTP/MySQL/SSH prêt à être utilisé.