Derniers billets
Modification du schéma de partitionnement d’edoras
Cette opération est lourde et longue, mais j’ai décidé de modifier le partitionnement de mon petit serveur edoras actuellement sous Fedora 10.
En effet, depuis de nombreuses années, j’utilisais un partitionnement classique, et depuis Cambridge, je suis passé à LVM (enfin!) et même au RAID 1 pour encore plus sécuriser mes sauvegardes photos. Le RAID a été ajouté avec deux disques non utilisés, mais il me restait deux autres disques avec une seule partition chacun sdb1 et sdc1 bourrés de données et montés de façon classique, respectivement en /data1 (200Go) et /backup (160Go), ces deux partitions étant utilisés en montages NFS sur mon réseau (et TRES solicités).
Avant :
$ df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VG1-LVroot
9,9G 3,7G 5,7G 40% /
/dev/mapper/VG1-LVhome
26G 853M 23G 4% /home
/dev/sdc1 145G 83G 54G 61% /backup
/dev/sdb1 184G 111G 64G 64% /data1
/dev/sda1 236M 29M 195M 13% /boot
/dev/mapper/VGraid-LVraid
459G 216G 220G 50% /raid
D’une part, cela me faisait beaucoup de montages (NFS) sur mes Mac alors que je pouvais – théoriquement – rassembler /backup et /data1 en un seul volume, et d’autre part, je désirais passer en full LVM pour plus de flexibilité.
La limitation des systèmes de fichiers classiques m’imposait d’avoir ces deux partitions séparées, celles-ci étant sur deux disques différents. C’est là que LVM montre sa puissance : la possibilité de créer un groupe de volumes sur les deux disques, soit au final avoir une seule partition virtuelle de 360Go unique sur les deux disques.
Après :
$ df -h
Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur
/dev/mapper/VG1-LVroot
9,9G 3,7G 5,7G 40% /
/dev/mapper/VG1-LVhome
26G 855M 23G 4% /home
/dev/mapper/VGdata-LVdata
331G 1,8G 312G 1% /mnt/data
/dev/sda1 236M 29M 195M 13% /boot
/dev/mapper/VGraid-LVraid
459G 275G 162G 63% /mnt/raid
Après avoir déplacé mes données sur un autre disque pour faire la modification, redéfini sdb1 et sdc1 en partition de type 8e (Linux LVM) dans fdisk, j’ai opéré comme suit pour ajouter un groupe de volumes VGdata contenant un unique volume logique LVdata de la totalité de l’espace disponible (je ne détaillerai pas, les étapes ayant été un peu mieux expliquées dans ce billet) :
# pvcreate /dev/sdb1 # pvcreate /dev/sdc1 # vgcreate -s 16M VGdata /dev/sdb1 /dev/sdc1 # lvcreate -l 21462 VGdata -n LVdata # mkfs.ext3 /dev/VGdata/LVdata # mkdir /mnt/data # mount /dev/VGdata/LVdata /mnt/data
Ajout du montage dans fstab :
/dev/VGdata/LVdata /mnt/data ext3 defaults 1 2
script : vérifier que rTorrent est lancé
Pour la gestion de mes torrents, j’utilise rTorrent, j’ai eu l’occasion d’en parler dans ce billet et celui-ci. Il s’agit d’un daemon très stable, mais pour des raisons X ou Y (genre redémarrage de la machine), j’oublie de le lancer. Pour palier à cela, j’ai écrit ce petit script qui vérifie que le programme est bien démarré, sinon il va tenter de le faire. Si tel est le cas, un email est envoyé pour signaler que rTorrent a été redémarré. Le tout est loggé.
# Fichier de log LOGPATH="/home/fabien/bin/log/check_rtorrent.log" # Email EMAIL="fabien@feub.net" SUBJECT="[check] rTorrent" # Si pas de fichier de log, on le crée if [ ! -f $LOGPATH ] then touch $LOGPATH fi echo -n $(date) " : Vérification que rTorrent est lancé..." >> $LOGPATH if /sbin/pidof rtorrent then echo "en fonctionnement : OK" >> $LOGPATH else echo -n "non démarré..." >> $LOGPATH echo -n "démarrage..." >> $LOGPATH /home/fabien/bin/btlaunch.sh echo "en fonctionnement : OK" >> $LOGPATH mail -s "$SUBJECT" "$EMAIL" < $LOGPATH fi
Pour automatiser cela, je l’ajoute dans mon crontab pour qu’il vérifie toutes les 5 minutes :
$ crontab -e */5 * * * * /home/fabien/bin/check_rtorrent.sh
Ajouter un disque dur P-ATA
Petit mémo pour ajouter un disque dur à sa machine. C’est une procédure plutôt générale à GNU/Linux, mais pour info elle à été réalisée sur une Fedora 10.
Pour étendre la capacité de mon vieux serveur, j’ai acquis une carte PCI SATA RAID qui se négocie pour une bouchée de pain. Cette carte possède outre les 3 connecteurs SATA, un connecteur IDE. Voulant rapidement tester cette carte, son chipset (VT6421) étant reconnu sans problème, j’y ai ajouté un petit disque IDE de 80Go. J’en profite donc pour écrire ce petit tuto.
Vérification de la présence du disque
Cette machine possède déjà 3 disques, un ls -l /dev/sd* doit donc m’en afficher un quatrième :
$ ls -l /dev/sd* brw-rw---- 1 root disk 8, 0 déc. 23 23:29 /dev/sda brw-rw---- 1 root disk 8, 1 déc. 23 23:29 /dev/sda1 brw-rw---- 1 root disk 8, 2 déc. 23 23:29 /dev/sda2 brw-rw---- 1 root disk 8, 3 déc. 23 23:29 /dev/sda3 brw-rw---- 1 root disk 8, 16 déc. 23 23:29 /dev/sdb brw-rw---- 1 root disk 8, 17 déc. 23 23:29 /dev/sdb1 brw-rw---- 1 root disk 8, 32 déc. 23 23:29 /dev/sdc brw-rw---- 1 root disk 8, 33 déc. 23 23:29 /dev/sdc1 <strong style="color:yellow">brw-rw---- 1 root disk 8, 48 déc. 23 23:49 /dev/sdd</strong>
Partitionnement
L’étape suivant consiste à le partitionner. Dans mon cas, je ne crée qu’une seule partition de tout le disque. Voici les étapes avec fdisk, les actions étant en gras. A tout moment dans fdisk vous pouvez taper m pour afficher l’aide sur les commandes disponibles.
# <strong style="color:yellow">fdisk /dev/sdd</strong> Le nombre de cylindres pour ce disque est initialisé à 9964. Il n'y a rien d''incorrect avec cela, mais c'est plus grand que 1024, et cela pourrait causer des problèmes en fonction pour certaines configurations: 1) logiciels qui sont exécutés à l'amorçage (i.e., vieilles versions de LILO) 2) logiciels d'amorçage et de partitionnement pour d'autres SE (i.e., DOS FDISK, OS/2 FDISK) Commande (m pour l'aide): <strong style="color:yellow">p</strong> Disque /dev/sdd: 81.9 Go, 81964302336 octets 255 heads, 63 sectors/track, 9964 cylinders Units = cylindres of 16065 * 512 = 8225280 bytes Disk identifier: 0x0f800000 Périphérique Amorce Début Fin Blocs Id Système Commande (m pour l'aide): <strong style="color:yellow">n</strong> Action de commande e étendue p partition primaire (1-4) <strong style="color:yellow">p</strong> Numéro de partition (1-4): <strong style="color:yellow">1</strong> Premier cylindre (1-9964, par défaut 1): Utilisation de la valeur par défaut 1 Last cylindre, +cylindres or +size (1-9964, par défaut 9964): Utilisation de la valeur par défaut 9964 Commande (m pour l'aide): <strong style="color:yellow">p</strong> Disque /dev/sdd: 81.9 Go, 81964302336 octets 255 heads, 63 sectors/track, 9964 cylinders Units = cylindres of 16065 * 512 = 8225280 bytes Disk identifier: 0x0f800000 Périphérique Amorce Début Fin Blocs Id Système /dev/sdd1 1 9964 80035798+ 83 Linux Commande (m pour l'aide): <strong style="color:yellow">w</strong> La table de partitions a été altérée! Appel de ioctl() pour relire la table de partitions. La nouvelle table sera utilisé lors du prochain réamorçage. Synchronisation des disques.
Le disque est maintenant prêt à être formaté :
Formatage
Celui-ci va simplement être fait en ext3 par cette commande :
# <strong style="color:yellow">mkfs.ext3 /dev/sdd1</strong> mke2fs 1.41.3 (12-Oct-2008) Étiquette de système de fichiers= Type de système d'exploitation : Linux Taille de bloc=4096 (log=2) Taille de fragment=4096 (log=2) 5005312 i-noeuds, 20008949 blocs 1000447 blocs (5.00%) réservés pour le super utilisateur Premier bloc de données=0 Nombre maximum de blocs du système de fichiers=0 611 groupes de blocs 32768 blocs par groupe, 32768 fragments par groupe 8192 i-noeuds par groupe Superblocs de secours stockés sur les blocs : 32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000, 7962624, 11239424 Écriture des tables d'i-noeuds : complété Création du journal (32768 blocs) : complété Écriture des superblocs et de l'information de comptabilité du système de fichiers : complété Le système de fichiers sera automatiquement vérifié tous les 33 montages ou après 180 jours, selon la première éventualité. Utiliser tune2fs -c ou -i pour écraser la valeur.
La partition est opérationnelle, il ne reste plus qu’à la monter. Pour ce faire, au préalable je crée un répertoire de montage data sous /mnt :
# mkdir /mnt/data # mount /dev/sdd1 /mnt/data
Mon disque est accessible :
# df -h Sys. de fich. Tail. Occ. Disp. %Occ. Monté sur /dev/mapper/VG1-LVroot 9,9G 3,6G 5,9G 38% / /dev/mapper/VG1-LVhome 26G 3,2G 22G 13% /home /dev/sdc1 145G 130G 7,1G 95% /backup /dev/sdb1 184G 153G 22G 88% /data1 /dev/sda1 236M 22M 203M 10% /boot <strong style="color:yellow">/dev/sdd1 76G 180M 72G 1% /mnt/data</strong>
Apache : Protéger un répertoire web
Sujet vu des milliers de fois sur le web, l’authentification basique HTTP est relativement simple à mettre en pratique pour qui connait un peu le serveur web Apache. Ce petit article me fait office de mémo, petite piqure de rappel, sous Fedora 10.
Configuration d’Apache
Il faut s’assurer que le serveur web Apache puisse utiliser les fichiers .htaccess. Pour ce faire, il faut lui ajouter la directive AllowOverride AuthConfig. Ceci peut se faire directement dans le httpd.conf, mais il est recommandé – et plus clair – de ne pas y toucher et d’ajouter ses propres fichiers de configurations sous /etc/httpd/conf.d/. Il est en effet plus simple d’avoir plusieurs fichiers bien nommés qu’un énorme qu’il serait fastidieux d’éditer. Dans mon cas, j’ai détaché les directives concernant /var/www du httpd.conf dans un fichier fab_docroot.conf sous /etc/httpd/conf.d/ (petite entorse à ce qui est dit plus haut de ne pas toucher au fichier principal. Mais c’est pour la bonne cause ;} ). Attention, je ne fais ceci que parce que je n’héberge qu’un seul site qui est directement sous /var/www.
Voici donc la tête des directives en question pour accepter l’authentification par .htaccess :
<directory /var/www> Options Indexes Includes FollowSymLinks MultiViews AllowOverride AuthConfig Order allow,deny Allow from all </directory>
Sauvegarder le fichier et redémarrer Apache :
# service httpd restartChanger l’icône d’une applet d’AWN
J’utilise le dock Avant Window Navigator comme lanceur avec Gnome. Très bien fait, il est élégant et fonctionnel. Mais un problème – minime et non bloquant – survient lorsque l’on veut ajouter un lanceur pour une application Wine, l’implémentation des API Windows pour faire tourner un programme pour la plateforme de Microsoft sous GNU/Linux. En effet, il est impossible de modifier l’apparence de l’icône, AWN affiche un icône par défaut pas beau du tout. J’utilise en particulier Dreamweaver et Photoshop même sous GNU/Linux, n’ayant jamais trouvé d’équivalent de ces standards, mais voilà, point d’icônes.
Pas très beau l’icône par défaut pour une application Wine
A ma connaissance il n’est pas possible de changer cet icône, l’option pour le faire n’a aucun effet. La raison version courte est que AWN utilise l’icône du programme lancé, en l’occurence si je veux utiliser Dreamweaver, je le lance avec la commande wine et l’icône qui va avec.
Voilà une astuce qui fait parfaitement l’affaire : créer un fichier exécutable qui se borne à lancer notre commande wine et ajouter ce fichier au lanceur d’AWN et non pas la commande wine complète. Simple comme bonjour et ça marche ;}
