Serveur dédié : création d'un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d'utilisateurs/domaines virtuels photo 1

Serveur dédié : création d’un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et Courier (accès POP et IMAP) utilisant une base MySQL d’utilisateurs/domaines virtuels

Aujourd’hui, nous voyons comment créer un serveur mail sécurisé et qui tient bien la route. Comme je suis seul utilisateur du serveur, je ne voyais pas trop l’intérêt de créer des comptes utilisateurs sur le serveur juste pour pouvoir bénéficier d’un serveur mail.

J’ai donc opté pour la solution suivante : un serveur mail Postfix (sécurisé avec Saslauthd et certificat SSL) et un serveur Courier (accès POP et IMAP) qui utilisent MySQL (utilisateurs et domaines virtuels) pour la redirection des messages des utilsateurs/domaines.

icon mail server1

Le tutoriel est certainement le plus long de la série, j’estime que cela prend à peu près 50 minutes à compléter (en 15 étapes!). Attention au niveau des copier/coller, une simple erreur peut vous faire perdre pas mal de temps !

Etape 1 : configurer le hostname

Le hostname est le nom du serveur en général. Mon domaine est skyminds.net donc mon serveur s’appelle mail.skyminds.net

Il est également important que ce nom soit présent dans la configuration bind du serveur.

Pour connaitre le nom de votre machine, tapez :

hostname -f

Pour le modifiez, il faut éditer /etc/hostname :

nano /etc/hostname

Remplacez ce qui s’y trouve avec le nom de votre serveur. J’y mets ‘mail.skyminds.net’.

Ensuite, éditez /etc/hosts:

nano /etc/hosts

On ne touche pas à la première ligne mais on ajoute l’adresse IP du serveur suivie de notre nom de machine :

127.0.0.1       localhost.localdomain localhost
xxx.xxx.xxx.xxx  mail.skyminds.netCode language: CSS (css)

Il ne vous reste plus qu’à rebooter le serveur pour que les modifications soient prises en compte :

/sbin/reboot

Vérifiez bien que le nouveau nom a bien changé :

hostname -f

J’obtiens bien :

mail.skyminds.netCode language: CSS (css)

Si vous obtenez une erreur du style “name or service not found”, vérifiez que les enregistrements DNS du serveur sont bien corrects.

Lire la suite

Serveur dédié : sécurisation de la couche TCP/IP photo

Serveur dédié : sécurisation de la couche TCP/IP

icon security firewall

Il est facile de sécuriser la couche TCP/IP du serveur juste en activant quelques directives.

Normalement, le réseau de l’hébergeur est suffisant stable pour que nous puissions désactiver certains fonctions de routage IPv4 et IPv6.

Nous allons donc désactiver les redirections ICMP, nous protéger des attaques SYN FLOOD, du spoofing, du smurfing, désactiver le routage à l’intérieur des paquets et finalement désactiver l’autoconf IPV6.

Ce tutoriel prend à peine 10 minutes.

Configuration du fichier /etc/sysctl.conf

Il existe pas mal d’options dans le fichier sysctl.conf liées à la sécurité. Commençons par éditer le fichier :

nano /etc/sysctl.conf

Lire la suite

Serveur dédié : sécurisation des services avec iptables et fail2ban photo

Serveur dédié : sécurisation des services avec iptables et fail2ban

icon security firewall

Notre serveur est maintenant opérationnel et sert les pages du site. Il faut toutefois penser à le sécuriser un peu contre les attaques les plus communes.

Nous utilisons donc iptables – un firewall qui filtre activement nos ports utilisés et qui bloque les autres – et fail2ban qui scanne vos fichiers logs à la recherche de requêtes étranges pour bloquer les intrus à la porte lorsqu’ils deviennent trop insistants.

Installation et configuration d’iptables

Si ce n’est déjà fait, on installe iptables :

apt-get install iptablesCode language: JavaScript (javascript)

Les règles peuvent porter sur 3 chaînes :

  • INPUT en entrée,
  • FORWARD dans le cas d’un routage réseau,
  • OUPUT en sortie.

et les actions à entreprendre sont ACCEPT (accepter le paquet), DROP (le jeter), QUEUE et RETURN. Les arguments utilisés sont :

  • i : interface d’entrée (input)
  • o : interface de sortie (output)
  • t : table (par défaut filter contenant les chaînes INPUT, FORWARD, OUTPUT)
  • j : règle à appliquer (Jump)
  • A : ajoute la règle à la fin de la chaîne (Append)
  • I : insère la règle au début de la chaîne (Insert)
  • R : remplace une règle dans la chaîne (Replace)
  • D : efface une règle (Delete)
  • F : efface toutes les règles (Flush)
  • X : efface la chaîne
  • P : règle par défaut (Policy)
  • lo : localhost (ou 127.0.0.1, machine locale)

Lire la suite

Serveur dédié : changer les DNS du nom de domaine et le faire pointer vers le serveur photo 4

Serveur dédié : changer les DNS du nom de domaine et le faire pointer vers le serveur

icon dns

Notre site est opérationnel sur le serveur en local, il ne nous reste plus qu’à faire pointer notre nom de domaine vers l’IP de notre serveur. Pour cela, nous devons changer l’adresse des serveurs DNS du domaine.

Cela prend à peu près 30 minutes à tout configurer. La propagation DNS peut prendre plusieurs heures toutefois.

Changer les serveurs DNS du nom de domaine

Cette opération s’effectue chez le registrar chez qui nous avons réservé le nom de domaine. Dans mon cas, il s’agit de GANDI.

Après s’être identifié sur le site, il suffit de cocher le domaine à modifier et de sélectionner l’option “changer/modifier les DNS” :

dns gandi change1

Lire la suite

Serveur dédié : créer et activer un Virtual Host sous Apache photo

Serveur dédié : créer et activer un Virtual Host sous Apache

icon apache2

Dans le tutoriel précédent, nous avons importé notre base de données et uploadé nos fichiers sur le serveur.

Il nous faut maitenant indiquer au serveur Apache où se trouvent nos fichiers pour qu’il puisse les servir.

L’ajout d’un virtual host (hôte virtuel) ne prend que quelques minutes.

Création du VirtualHost

Nous créons un fichier sous /etc/apache2/sites-available/ qui porte le nom de domaine de notre site, cela permet de s’y retrouver :

nano /etc/apache2/sites-available/www.skyminds.net

Lire la suite

MySQL : résoudre l'erreur

Serveur dédié : créer la base de données MySQL et importer WordPress

icon mysql

Dans ce tutoriel, nous allons voir comment créer la base de données MySQL et importer notre base WordPress existante.

Ce tutoriel prend environ 15 minutes à réaliser. Tout se fait dans le terminal via une session SSH.

Création d’une base de données

On se connecte au serveur MySQL :

mysql -p -h localhost 

Entrez votre mot de passe du compte root pour MySQL. Vous obtenez un prompt.

On crée une base de données UTF-8, avec une collation utf8_unicode_ci :

CREATE DATABASE skyminds_wp CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Je vous recommande très fortement d’utiliser l’UTF-8 dès le départ. Cela évite bien des soucis qui pourraient survenir ultérieurement avec les caractères accentués.

Lire la suite

Serveur dédié : installation d'Apache, PHP, MySQL et Webmin photo

Serveur dédié : installation d’Apache, PHP, MySQL et Webmin

Ce premier guide est le premier d’une série d’articles consacrés à l’installation de services indispensables pour un serveur dédié.

Aujourd’hui, il s’agit d’installer Apache, PHP, MySQL et Webmin sur notre serveur.

Cela prend environ 20 minutes à réaliser.

Etape 1 : mettre à jour le système d’exploitation

Avant de commencer, on met l’OS à jour :

apt-get update && apt-get dist-upgradeCode language: JavaScript (javascript)

et on ajoute tout ce qu’il faut pour compiler :

apt-get install build-essentialCode language: JavaScript (javascript)

Voilà, nous sommes prêts à démarrer.

Lire la suite

Mise à jour du serveur : passage de Debian Lenny à Debian Squeeze photo

Mise à jour du serveur : passage de Debian Lenny à Debian Squeeze

logo debian squeeze

Tiens, Debian Squeeze est sorti ce week-end ! Du coup, j’en ai profité pour mettre à jour le serveur du site : nous sommes donc passés de Debian Lenny (5.0.8) à Debian Squeeze (6.0).

Lenny prend donc sa retraite au bout de 2 ans. Cela nous permet également de mettre à jour environ 400 paquets dont les différents serveurs.

La mise à jour prend quelques minutes sur la Kimsufi mais comme j’ai eu quelques erreurs (avec MySQL), je vous donne la marche à suivre.

Mise à jour des sources

On sauvegarde le fichier des sources :

cp /etc/apt/sources.list /etc/apt/sources.list-lennyCode language: PHP (php)

On remplace toutes les occurences de “lenny” en “squeeze” dans un nouveau fichier :

sed 's/lenny/squeeze/' /etc/apt/sources.list > /etc/apt/sources.list-squeezeCode language: PHP (php)

Ce nouveau fichier devient notre fichier source :

cp /etc/apt/sources.list-squeeze /etc/apt/sources.listCode language: PHP (php)

On met à jour les paquets apt et dpkg :

apt-get install apt dpkgCode language: JavaScript (javascript)

Voilà, il ne reste plus qu’à lancer l’installation.

Lire la suite

WordPress : optimiser le fichier htaccess pour les permalinks photo

WordPress : optimiser le fichier htaccess pour les permalinks

Toujours à la recherche de ce qui peut optimiser le chargement du site et soulager le serveur, je vous donne ma configuration du fichier htaccess en ce qui concerne les permaliens (permalinks) de WordPress.

Code de base WordPress

Voici le code htaccess standard de WordPress :

# BEGIN WordPress

RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]

# END WordPressCode language: PHP (php)

Lire la suite

Ubuntu : compression d'images JPG et PNG avec Trimage Image Compressor photo 1

Ubuntu : compression d’images JPG et PNG avec Trimage Image Compressor

trimage icon

Il y a quelques semaines, je vous ai parlé du plugin GIMP “Enregistrer pour le Web” qui permet d’obtenir le meilleur ratio qualité/poids pour vos images.

Et bien sachez qu’il existe une petite application qui permet d’automatiser la compression d’images JPEG et PNG sans perte de qualité et en un seul clic : Trimage Image Compressor, qui utilise optipng, advpng et jpegoptim, suivant le type du fichier.

Installation

L’installation est très simple, il suffit d’ajouter le dépôt PPA de l’application et de lancer l’installation :

sudo add-apt-repository ppa:kilian/trimage
sudo apt-get update && sudo apt-get install trimageCode language: JavaScript (javascript)

Lire la suite

Ubuntu : résoudre le plantage après une mise à niveau

Il y a quelques jours, je me suis mis en tête de mettre à jour le PC de mon père…

Le problème : une mise à jour interrompue

ubuntu update

Les mises à jour défilent quand tout à coup, patatras, plus de wifi. La mise à jour est interrompue, il est tard, on éteint la machine.

Au démarrage suivant, gros bug : on arrive sur l’ouverture de session Ubuntu mais la souris et le clavier ne répondent plus du tout, gros freeze.

Pas moyen non plus d’ouvrir une fenêtre de terminal, ce qui est très problématique. Et le mode recovery plante également (message d’erreur : Mountall : disconnected from Plymouth).

A ce stade, je soupçonne les pilotes de la carte graphique.

Lire la suite

iphone-icecast-add-stream

Ecouter une webradio Icecast sur un iPhone ou iPod Touch

iphone icecast icon

Je me suis posé la question de savoir si ma webradio pouvait être écoutée sur un iPhone ou iPod Touch. Et bien sachez que ce n’est pas possible nativement : le lecteur Quicktime intégré à l’iPhone ou iPod Touch attend un protocole de flux (RTSP, MMS…) et non le protocole HTTP.

Il est toutefois possible de lire un flux Icecast avec une application, FStream.

Installation de l’application FStream

Rendez-vous dans l’AppStore et installez l’application FStream, qui a le gros avantage d’être gratuite ce qui est idéal pour les tests (je vous encourage à donner un tip aux développeurs des applications que vous utilisez).

FStream est capable de lire les formats audio OGG Vorbis (via HTTP), AAC/AAC+ (via HTTP), MP3 (via HTTP), WMA (via MMS/MMSH – ASF). Il reconnaît les playlists M3U – PLS – ASX et peut encoder des flux aux formatx MP3, AAC, AIFF, WAV.

Lire la suite