vendredi 24 octobre 2008

[DEPRECIER][Debian] Tenir son serveur à l'heure.

Attention il n'est pas conseillé de suivre les instructions de cet article. Veuillez vous référer aux commentaires pour plus d'informations.

Il est important pour un serveur d'être à l'heure. Pour cela il existe un moyen simple et automatique : ntpdate. ntpdate est un petit logiciel qui se connecte à un serveur ntp et se charge de garder votre serveur à l'heure.

Son installation est fort simple
aptitude install ntpdate


et sont utilisation l'est tout aussi
ntpdate ntp.serveur.tld


Enfin pour tenir à jour votre serveur, nous pouvons configurer un cron.
crontab -e

Ajouter la ligne
0 */1 * * * /usr/sbin/ntpdate ntp.serveur.tld

Ceci effectuera une mise à jour toute les heures de l'heure !!

(Avec bien sure l'adresse exacte de votre serveur ntp !)

lundi 20 octobre 2008

[NFS] Installer un serveur de partage sous debian

Il est souvent utile de partager des données dans un réseau. Il existe de nombreuses méthodes pour ceci, je vais ici présenter l'installation d'un serveur de partage basé sur NFS (Network File System) et son utilisation pour les clients.
L'installation du serveur est assez simple car il suffit de faire un
aptitude install nfs-kernel-server

et le tour est joué.

La configuration des partages se fait dans /etc/exports. Pour plus d'informations sur la rédaction de ce fichier de configuration vous pouvez consulter le man
man exports


Pour faire simple voici la syntaxe de ce fichier :
partage utilisateur(options)


Chaque ligne représente un partage et nous pouvons spécifier un groupe d'utilisateur (@groupe) ou des adresses IP (avec ou sans masque de sous-réseau) à la place d'un simple utilisateur.
Il y a beaucoup d'options disponibles. Les plus féquentes sont :
rw : pour partager les fichiers en lecture/ecriture (par défaut ils sont en lecture seul)
sync et async qui permet de spécifier si le serveur doit répondre avant (async) ou après(sync) avoir écrit les données sur le disque. async est plus performant mais peut corrompre des fichiers en cas de plantage du serveur.
Par exemple pour partager tout les dossiers home des utilisateurs sur notre réseau local, nous pourrions rajouter dans le fichier /etc/exports
/home/ 192.168.1.0/255.255.255.0(rw, sync)


Le client pour monter son partage NFS doit tout d'abord installer nfs-common
aptitude install nfs-common

Ensuite il peut effectuer la commande
mount -t nfs serveur_nfs:partage destination

Exemple :
mount -t nfs 192.168.1.25:/home/ /mnt/home/

ainsi le dossier partagé /home sera monté dans /mnt/home

jeudi 16 octobre 2008

[Apache2] Encodage de caractère

Il est fréquent qu'après la réinstallation d'un serveur apache2, que nos caractères spéciaux (é, à, û, ÿ, ...) ne s'affiche pas correctement. Ceci peut être du à plusieurs choses.

Soit vous n'avez pas bien spécifier votre encodage dans votre page web avec la balise :
<?xml version="1.0" encoding="ISO-8859-1" ?>


Soit votre serveur ne prend pas par défaut l'encodage de vos pages. Par exemples pour l'encodage ISO-8859-1. Il faut rajouter (ou dé-commenter) dans votre httpd.conf la ligne :
AddDefaultCharset ISO-8859-1

mercredi 15 octobre 2008

[PHPMyAdmin] Installer PHPMyAdmin sur un serveur distant du serveur MySQL

L'installation de PHPMyAdmin par défaut se connecte au serveur MySQL local (soit localhost). Si comme moi vous avez décentralisé votre base de données vous voudrez avoir accès à celle-ci via PHPMyAdmin tout de même. Et bien ... (comme toujours) ... c'est possible !

La configuration à faire n'est pas très compliquée car PHPMyAdmin n'est en soit qu'une application PHP. Il vous faudra éditer le fichier
/etc/phpmyadmin/config.inc.php

Dans celui-ci nous retrouvons, tout d'abord une syntaxe PHP, mais aussi beaucoup de lignes commentées. La variable à dé-commenter et éditer qui nous intéresse est :
$cfg['Servers'][$i]['host'] = 'localhost';

Il suffit de renseigner l'adresse de votre serveur MySQL et le tour est joué.
Remarquez que vous pouvez aussi éditer la variable $cfg['Servers'][$i]['port'] pour changer le port de connexion ou encore d'autres variables que je vous laisse le soin de découvrir.

[MySQL] Connaitre la version de MySQL sous Linux

Pour connaitre la version de MySQL rien de plus simple il suffit de taper
mysql -V
et vous obtiendrez une chaine où nous trouvons l'information. Cette chaine est du type :
mysql Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2

[MySQL] Installer un serveur MySQL accessible par le réseau et de l'extérieur

Tout le monde connait MySQL, le SGBD gratuit qui est abondamment utilisé sur le web. Nous allons donc voir ici comment installer MySQL et le rendre accessible aux machines de notre réseau local.

Tout d'abord il nous faut installer MySQL. Pour cela nous utiliserons la commande
aptitude install mysql-server

Si vous n'utilisez pas le système de package apt le nom du package doit être sensiblement le même. Reportez le donc dans votre syntaxe habituelle.

Il faut tout d'abord préciser le mot de passe root. Pour cela il faut se connecter à MySQL en ligne de commande via la commande :
mysql

Et taper ceci (avec votre mot de passe !) :
SET PASSWORD FOR root@localhost = PASSWORD('mot_de_pass');


Vous pouvez aussi changer le nom de l'utilisateur root (pour plus de sécurité) via :
UPDATE mysql.user SET user='nom_du_root' WHERE user='root';


Pour que vous puissiez vous connecter depuis l'extérieur il vous faut donner des droits à un utilisateur. Pour cela on utilisera la commande suivant :
GRANT ALL PRIVILEGES ON *.* TO 'nom'@'10.0.0.0/255.0.0.0';


Vous pouvez ajouter l'option WITH GRANT OPTION à cette commande ce qui permettra à l'utilisateur d'exécuter les commande GRANT (modification de privilèges).
Il vous faut bien entendu mettre l'adresse IP et le masque de sous réseau en rapport avec votre installation.
Le paramètre *.* représente la base de donnée et la table.


A ce moment là l'utilisateur qui à tout les droits n'a pas de mot de passe il faut donc lui en attribuer un. (Même si l'utilisateur est root par exemple et que vous lui avez déjà attribué un mot de passe pour localhost il vous faut en attribuer un autre (ou le même)).
SET PASSWORD FOR ‘nom’@’10.0.0.0/255.0.0.0’ = PASSWORD(‘mot_de_pass’);


Il vous faudra par contre recharger les privilèges:
FLUSH PRIVILEGES