Trucs:Avoir une adresse fixe et gratuite pour son serveur web

De Lea Linux
(Redirigé depuis Trucs:Oldid=625)
Aller à la navigation Aller à la recherche
hugo seuté<seute.hugo@wanadoo.fr>

Introduction

Je me suis demandé après avoir installé le célèbrissime serveur Apache, comment je pouvais avoir une adresse plus facile à retenir qu'une rébarbative suite de chiffres (une IP). Pour ça, il est possible de prendre un compte chez un hébergeur gratuit pour héberger uniquement (publicité oblige) une page de redirection vers votre serveur. Mais le problème est que la plupart des fournisseurs d'accès fournissent des adresses IP dynamiques (qui changent à chaque connexion), et donc il faudrait changer l'adresse de la page de redirection après chaque nouvelle connexion. C'est répétitif et pas spécialement excitant, DONC ça doit etre fait automatiquement ;-) Mais comment donc ? me diriez-vous. En créant un script qui envoie automatiquement votre nouvelle IP à la page de redirection !

ATTENTION: l'hébergeur gratuit doit accepter le PHP et le transfert de fichiers par FTP ! (mais pas forcemment MySQL)

On va diviser le boulot en 2 étapes :
-Le script Bash
-La page de redirection

Let's go !

Le script Bash

Un script bash sur la machine où est installé le serveur va relever l'adresse IP de la machine, et l'envoyer au serveur FTP qui heberge la page de redirection.

Note : vous devez exécuter les commandes suivantes en tant que Grand Manitou Administrateur du système, soit : en tant que root (commande su)
#!/bin/bash
# début du script
# l'adresse est relevée et stockée dans le fichier ipserveur.txt :
/sbin/ifconfig ppp0 | grep "inet adr" > /root/ipserveur.txt
# on envoie ce fichier par FTP :
ftp <<**
open ftp.QuelqueChose.fr
send /root/ipserveur.txt ./ipserveur.txt
bye
**
# fin du script
REMARQUE : il sera peut-être nécessaire d'adapter ce script à votre configuration, en plus de modifier l'adresse FTP.

Enregistrer ce fichier par exemple sous uploadip.sh dans le répertoire /root
Puis rendez-le exécutable pour root, et restreignez ses droits d'accès :
chmod 700 /root/uploadip.sh

Il faut aussi créer un fichier nommé .netrc toujours dans le répertoire /root contenant vos données de connexion FTP, comme ceci :

machine ftp.QuelqueChose.fr
login VotreLoginFTP
password VotreMotDePasse

Ensuite il faut aussi restreindre les droits pour ce fichier :
chmod 600 /root/.netrc

Voilà ! Maintenant vous avez créer un script qui inscrit une ligne contenant votre IP toute neuve dans un fichier et qui envoie ce fichier sur le serveur. Il est à lancer après chaque connexion (avec la commande sh /root/uploadip.sh). Vous pouvez d'ailleurs rajouter une ligne de commande au début du script qui vous permet de vous connecter à internet, pour n'avoir qu'une seule commande à taper lors de votre connexion, vous évitant ainsi une dépense d'énergie à transmettre à vos phalanges ;-)

La page de redirection

Un script PHP sur le serveur de la page de redirection va lire le fichier précédemment envoyé contenant l'IP, et va l'intégrer à la page HTML : (enregistrez ce qui suit sous index.php)

<html>
<head>
<title>Redirection en cours</title>
<?
$fp = fopen("ipserveur.txt","r");
$adresse = fgets($fp,255);
fclose($fp);
$adresse = str_replace (" inet adr:","",$adresse);
$adresse = str_replace (" P-t-P:193.253.160.3 Masque:255.255.255.255","",$adresse);
$adresse = str_replace ("\n","",$adresse);
$adresse = "http://".$adresse;
 ?>
<script language='javascript'>
function redirection()
{
window.location="<? echo $adresse; ?>";
}
</script>
<body onLoad="redirection()">
<a href="<? echo $adresse; ?>">Cliquez ici si vous n'etes pas redirigé
Click here if you're not redirected</a>
</body>
</html>
REMARQUE : il sera là encore peut-être nécessaire d'adapter au résultat de votre commande ifconfig

Mettez ensuite cette page sur le serveur de l'hébergeur gratuit et c'est terminé ! Pour accéder à votre propre serveur rien qu'à vous tout seul, entrez simplement l'URL de la page php que vous avez créée.