Archives pour la catégorie Tutos

Rendre des pages dynamiques statiques

Pour limiter les accés à la base de données et les ressources nécessaires au niveau du serveur, comme je vous l’ai indiqué dans l’un de mes précédents articles, j’ai crée un script qui me permet de stocker le contenu demandé dans des fichiers html. Ainsi lors de la première demande d’un fichier, celui-ci est généré puis copié et lors des demandes suivantes, c’est la page statique qui est directement renvoyée.

Ayant reçu quelques demandes sur la façon de mettre en œuvre ce type de fonctionnement, j’ai décidé d’expliquer ici le script crée.

<?php

$url= $_SERVER[‘REQUEST_URI’]; //Récupération de l’url demandée

$delcar=array( « / », « ? » ); //liste des caractères à supprimer de l’url

$file= $url. « .html »; //nom du fichier à utiliser

if (file_exists($file)) include_once($file); //si le fichier existe celui-ci sera affiché

else

{

@copy( « http://site-hebergé » .$url, $file); //sinon il sera copié puis affiché

include_once($file);

}

?>

En complément de ce script, il faut également un script pour supprimer ces fichiers générés lorsque cela est nécessaire:

<?php

$repertoire = opendir( « . » );

while(false !== ($fichier = readdir($repertoire))) //lecture des fichiers du répertoire courant 1par1

{

$infos = pathinfo($chemin); //infos du fichier

$extension = $infos[‘extension’]; //récupération de l’extension

if($extension == « html ») unlink($fichier); //suppresion des fichiers html

}

closedir($repertoire);

?>

Et voilà, il ne reste plus qu’à ajouter un appel à ce script à l’endroit souhaité afin d’automatiser tout celà. J’ai choisi de placer cet appel à la publication.

Tags: , , ,

Restaurer Grub

Il arrive de temps en temps, notamment après la réinstallation d’un Windows sur un système en dual boot Linux / Windows que Grub soit effacé de la MBR (Zone d’amorçage du disque dur). Dans ces cas là, il faut procéder à la restauration de Grub.

Il faut lancer le système depuis un live-cd puis une fois lancé:

Passer en root:

sudo su –

Monter la partition système contenant Linux sur votre disque dur:

mount /dev/sda1 /mnt

Monter /dev, /proc et copier les points de montages dans ce point de montage:

mount -o bind /dev /mnt/dev

mount -o bind /proc /mnt/proc

cp /proc/mounts /mnt/etc/mtab

Se chrooter dans ce système:

chroot /mnt

À partir de ce moment, toutes les actions effectuées ne le sont plus sur le système du live-cd mais sur votre système installé sur le disque dur. Toute mauvaise manipulation peut s’avérer désastreuse pour votre système.

À partir d’ici 2 méthodes peuvent être utilisées, si la première ne fonctionne pas, la deuxième doit fonctionner à coup sûr.

Première méthode:

Cette méthode fonctionne relativement bien, elle est relativement simple et se résume à une ligne de commande

grub-install hd0

update-grub # vérifie la présence de l’installation de Grub et le met à jour

Deuxième méthode:

Lancer un shell Grub et y effectuer les différentes étapes nécessaires:

grub

grub> find /boot/grub/stage1 # recherche l’emplacement de grub

grub> root (hdx,y) #avec les donnees precedentes

grub> setup (hd0)

grub> quit

update-grub # vérifie la présence de l’installation de Grub et le met à jour

À la fin de chacune de ces 2 méthodes, il faut redémarrer afin de vérifier la prise en compte effective des modifications.

reboot


Il arrive également que ce soit le système Linux qui ne répond plus et dans ce cas, il peut être impossible d’utiliser Grub pour lancer Windows.

Dans ces cas là, il suffit de nettoyer la MBR

Cela peut se faire via une disquette de démarrage Windows 98 via la commande:

fdisk /mbr

Mais également depuis un cd de Windows 2000/XP en choisissant

Réparer une installation de Windows puis

Réparation manuelle

La commande à utiliser dans ce cas est

fixmbr

Confirmer l’action sur l’écran présenté en utilisant la touche o

Une fois effectué, le dual-boot n’existe plus et seul le système Windows est accessible.

Il ne reste plus qu’à réinstaller (ou réparer) votre système Linux en démarrant sur un live-cd.

Tags: , , , , , ,

Installer une imprimante partagée sur Linux et Windows

Il arrive de plus en plus souvent d’avoir chez soi une imprimante installée sur un PC sous un système Linux et de vouloir rendre cette imprimante accessible directement depuis les autres postes du réseau, que ces machines soient sous Linux ou Windows.

Voici donc la marche à suivre dans ces deux cas de figure pour installer l’imprimante sur les autres postes sans utiliser Samba.

Au niveau du serveur:

L‘imprimante doit être activée et partagée. Elle doit être accessible depuis cups.

On peut le vérifier via un navigateur web à l’adresse

http://localhost:631/

Dans l’onglet imprimante, nous pouvons voir les caractéristiques des différentes imprimantes installées.

Au niveau des postes clients:

Sous Linux:

Ouvrir le gestionnaire d’imprimante

Ajouter une imprimante

-> Imprimante réseau

-> Imprimante IPP

Mettre l’adresse IP du serveur sur lequel est branché l’imprimante

Cliquer sur détecter la file d’attente

Séléctionner votre imprimante

Puis terminer l’installation

Votre imprimante est à présent installée.

Si vous ne pouvez ajouter une nouvelle imprimante, vérifier que cups soit bien actif, sinon l’installer ou le relancer

Sous Windows:

Sous Windows la manipulation est légèrement plus complexe puisque l’on ne peut saisir directement une adresse IP comme serveur d’impression.

Il faut donc éditer le fichier hosts de Windows et y faire figurer notre serveur d’impression:

edit c:/windows/system32/drivers/etc/hosts

-> 192.168.0.200 printserv

Il faut ensuite ajouter une nouvelle imprimante via le panneau de configuration.

Choisir imprimante réseau puis saisir l’url de l’imprimante

-> http://printserv:631/printers/Nom-de-l’imprimante

Le nom de l’imprimante est visible sous cups sur le serveur d’impression.

Une fois cette imprimante sélectionnée, il faut choisir le pilote:

Generique -> MS publisher color printer

Et voici une imprimante réseau installée sur un poste Linux et accessible sur les différents postes du réseau.

Tags: , , , , , ,

Créer un DVD à partir d’un enregistrement DVB

Je mets ici la manipulation que j’utilise afin de graver des films enregistrés via un tuner TNT sous Ubuntu. Ceci est également valable pour les enregistrement effectués depuis une freebox.

L’ensemble de l’opération ne dure pas plus d’un demi-heure pour un film de 3h.

Les enregistrements sont ici réalisés sous Kaffeine qui est un logiciel de gestion multimédia (lecteur audio/vidéo). Ces enregistrements ne peuvent être gravés directement pour être lus sur un lecteur de salon puisque lors de la capture du flux, certaines images manquent.

Ce tuto donne les différentes étapes afin d’obtenir un véritable DVD à partir de cet enregistrement.

  • Les outils nécessaires:
  • ProjectX

    IfoEdit (Avec Wine, je n’ai pas encore trouvé d’équivalent aussi simple)

    Ces outils étant disponibles aussi bien sous Linux que sous Windows, ce tutoriel s’applique aux 2.

  • La manipulation:

ProjectX est une application qui permet d’effectuer de nombreux traitements sur des fichiers multimédias.

Nous allons l’utiliser ici pour supprimer les parties inutiles et démultiplexer le flux DVB.

Cliquer sur le + en bas à gauche pour sélectionner le(s) fichier(s) à traiter.

Déplacer le curseur jusqu’au début du film

Cliquer sur le + encadré en mauve (au milieu)

Placer ensuite le curseur au niveau des pubs puis cliquer à nouveaux sur + et ainsi de suite jusqu’à la fin du film.

Les parties vertes sont gardées, les autres seront supprimées.

Maintenant, cliquer sur ouvrir (à gauche, au milieu)

Cocher le bouton radio demux

Dans le menu préférences, l’onglet externe, choisir Version idd

Fermer la fenêtre de préférences

Lancer le traitement en cliquant sur play/pause

Interface du logiciel ProjectX

Interface du logiciel ProjectX

En sortie de ce traitement, on obtient 3 fichiers:

  • La vidéo .M2V
  • Le son .MP2
  • L’index .Idd

Maintenant, nous allons utiliser IfoEdit pour créer la structure du DVD:

Pour celà il faut créer un répertoire AUDIO_TS et un VIDEO_TS.

Lancer ensuite IfoEdit

Choisir Créateur DVD

Indiquer quel sont les fichiers vidéos et audios (voire même les sous-titres)

Indiquer le découpage en chapitre à effectuer (en nombre d’images)

Indiquer le répertoire VIDEO_TS comme flux de sortie.

Cliquer sur OK pour lancer le traitement.

Une fois ce traitement terminé, nous pouvons graver ce DVD vidéo via notre logiciel de gravure habituel (brasero, K3B, nero, …)

Tags: , , , , , , ,

Mettre en œuvre un tunnel VPN

Il peut y avoir de nombreuses raisons pour aboutir à l’installation d’un tunnel VPN. Nous allons voir ici 2 méthodes pour mettre en place ce type de tunnel. Tout d’abord une méthode plutôt utilisable lors d’un besoin temporaire avec SSH puis pur un tunnel permanent avec OpenVPN.

Ce que j’appelle ici un besoin temporaire, c’est par exemple un tunnel qui ne doit rester en place que le temps d’une intervention.

Pour ce type de tunnel, SSH et son option -w sont bien pratiques

Il faut tout d’abord mettre en place certains éléments au niveau du serveur:

Dans /etc/ssh/sshd_config, rajouter (ou modifier)

PermitRootLogin yes
PermitTunnel point-to-point

Ne pas oublier ensuite de redémarrer le service:

/etc/init.d/ssh restart

Voici maintenant un exemple d’utilisation (côté client):

Commande de base:

ssh -w 0:0 root@toto.exemple.test

Cette commande exécutée côté client établie un tunnel entre les 2 machines cependant cela ne suffit pas, il faut également mettre en place des paramètres IP:

ssh -w 0:0 root@toto.exemple.test ifconfig tun0 192.168.0.20 pointopoint 192.168.0.21

ifconfig tun0 192.168.0.21 pointopoint 192.168.0.20

Une fois ces 2 commandes exécutées, le tunnel sécurisé est ouvert et les paramètres IP sont attribués, il ne reste plus qu’à utiliser ce tunnel. Une fois le poste redémarré ou la connexion interrompue, le tunnel n’existe plus.

Bien souvent, un tunnel permanent est nécessaire et bien plus pratique. Pour ce type de tunnel VPN, un outil efficace est OpenVPN.

Sa mise en œuvre se révèle relativement simple mais nécessite quelques conditions:

Ces tunnels sont en général mis en place entre des routeurs.

Il faut paramétrer les parefeux de sorte à accepter la mise en place de ceux-ci.

Passons à la configuration d’OpenVPN:

L’installation d’OpenVPN est relativement simple, apt-get install openvpn openssh-server openssl

Pour ce qui est de la configuration, nous allons partir ici sur une solution simple et graphique. Nous allons installer et utiliser

network-manager-openvpn.

Ouvrir le gestionnaire de connexion réseaux à l’onglet VPN

Cliquer sur « Ajouter »

Choisir type de connexion « OpenVPN »

La passerelle est l’adresse IP ou le nom du poste distant.

Pour cette configuration, nous allons utiliser une authentification de type clé statique (la même pour les deux machines).

La clé peut être crée simplement à l’aide de la commande suivante:

openvpn -genkey -secret nom_de_la_cle.pem

Il suffit de sélectionner cette clé dans l’interface puis indiquer l’adresse IP locale.

Cette clé devra ensuite être transmise sur le second poste et la configuration du second poste devra être effectuée de la même manière en inversant simplement la passerelle et l’adresse IP locale. Il est également possible de définir diverses routes d’un côté comme de l’autre afin par exemple de pouvoir accéder à l’ensemble du réseau de l’autre côté.

Tags: , , , ,

Installation de Webmin sur Ubuntu

Webmin est un outil extrêment pratique pour un administrateur réseau. En effet, celui-ci permet de configurer pratiquement tout ce qui est installé sur une machine. Il s’agit d’une interface Web permettant l’administration d’un serveur depuis un navigateur Web.

Webmin ne fait pas partie des paquets disponibles dans les dépôts officiels d’Ubuntu. Il est cependant possible d’installer la dernière version depuis un dépôt qui bien qu’indiqué pour la version Debian Sarge permet son installation sur tous système Ubuntu.

Voici donc la marche à suivre:

Ajouter la clé gpg du dépôt au système:

cd /root
sudo wget http://www.webmin.com/jcameron-key.asc
sudo apt-key add jcameron-key.asc

Ajouter la ligne suivante à /etc/apt/sources.list:

deb http://download.webmin.com/download/repository sarge contrib

Installer Webmin:

sudo apt-get update && sudo apt-get install webmin

Il est ensuite possible de changer le mot de passe de l’utilisateur par défaut de Webmin (root):

sudo /usr/share/webmin/changepass.pl /etc/webmin root votre_mot_de_passe

Webmin est désormais accessible via:

https://ip_du_routeur_ou_webmin_est_installé:10000/

Modifier le mot de passe pour Webmin:

Tags: , , ,