Jump to content

[tuto] J'héberge et je diffuse avec mon Mac !


falou

Recommended Posts

Créer et héberger un site avec Mac OS X

Tuto en cours de rédaction

-----

Introduction

Voici le premier pas de ce tuto dont le but et d'offrir à tous et à toutes les moyens de diffuser de l'information textuelle, audio, ou audio-vidéo. Bref, de faire un site web et du broadcasting.

Alors on peut se demander pourquoi, alors que nous avons tous avec nos fournisseurs un espace web gratuit qui n'empiète pas sur la bande passante de son ordinateur perso. Hé bien on peut arguer la facilité et la rapidité de mise à jour, le fait qu'on n'a pas besoin de logiciel ftp capricieux, contrôler les usages et les historiques. L'intérêt de la webradio et plus évidente : les fournisseurs ne donnent pas accès à ce service. Idem pour le broadcating.

Enfin, l'intérêt majeur est probablement surtout la démarche, la volonté de faire quelque-chose indépendamment, avec ses propres moyens.

-----

Etape 1 : activer le serveur HTTP Apache (Apache HTTP Server).

Quelques mots sur Apache. Produit par l'Apache Software Foundation (ASF), il est une évolution du NCSA HTTPd. Son appellation n'a rien à voir avec les amérindiens ; il est originaire d'un jeu de mot sur son nom de baptême : "a patchy server". Né en 2005, c'est devenu la référence des serveurs HTTP. Comme tout serveur (ou daemon) HTTP (HyperText Transfer Protocol), c'est un logiciel dédié à répondre aux requêtes http de navigateurs internet via le WWW (World Wide Web). Ce genre de logiciels est communément appelé service.

C'est donc dans les Préférences Système, Partage que l'on va pouvoir l'activer en cliquant sur la case de Partage Web Personnel.

Dans Sécurité/Coupe-feu des Préférences système, on peut voir que "Partage Web Personnel" est présent. L'activation du service active automatiquement les ports adéquats permettant le bon fonctionnement du hhtpd. Le coupe-feu permet de fermer les ports inutiles et ferment donc le trafic pour empêcher une utilisation malicieuse. Vous pouvez paramétrer votre Coupe-feu selon le niveau de sécurité requis, celui du routeur, et les besoins.

Pour vérifier que le serveur est bien actif et fonctionnel, cliquer sur le lien "Site web de votre ordinateur" dans Partage/partage web. Une page comme quoi le site n'est pas terminé doit s'afficher. Si c'est pour faire un site intranet pour des ordinateurs sur un même sous-réseau, la configuration s'arrête là !

----

Etape 2 : Rendre sa page visible du monde entier

Avec un connexion directe (modem)

Votre adresse IP correspondante est votre adresse publique. Vous pouvez donc faire les tests directement, en tapant cette adresse directement dans Safari.

Derrière un NAT

Le NAT (Network Adress Translation : Traduction d'adresse réseau) a vu le jour pour résoudre la limitation du nombre d'adresses ip liimité par l'IPv4. Il inclut la notion d'adresse publique (l'adresse ip internet du routeur) et l'adresse privée (adresse ip locale du routeur et de l'ordinateur). L'adresse publique est la seule connue sur le WAN (World Area Network), c'est-à-dire sur internet. Ainsi, si vous avez dix ordinateurs derrière un routeur et qu'ils sont connectés à internet, ils auront tous pour adresse publique celle du routeur. Mais chacun aura une adresse privée différente, adresse attribuée à l'ordinateur par le routeur via dhcp (Dynamic Host Configuration Protocol : Protocol dynamique de configuration client). L'intérêt est aussi sécuritaire : les ordinateurs derrières un NAT n'ont pas d'adresse à proprement parler sur le WEB. C'est à l'aide d'une table que le routeur fait correspondre adresse publique vers adresse privée et vis et versa. Le PAT (Port Adress Translation) permet de faire la même chose avec les ports. Les ports réseau sont des sortes de canaux qui permettent de faire fonctionner plusieurs services via une même adresse. Le http transite sur le port 80, le ftp sur le port 21, etc.

D'où le problème : si la table sait dire qui demande quoi aux serveurs extérieurs et redistribuer les réponses, lorsque le schémas est inversé et que les requêtes viennent de l'extérieur, le NAT ne peut pas l'interpréter. En effet, l'adresse de l'ordinateur qui va servir de serveur WEB n'est connue que du routeur et des autres ordinateurs de son sous-réseau. Les autres ordinateurs du WEB ne peuvent envoyer les requêtes HTTP qu'au routeur (qui possède l'adresse publique), qui ne sait pas quoi en faire. A quel ordinateur de son réseau le routeur doit-il faire parvenir la requête ? Il en découle une fin de non recevoir. Mais heureusement, on peut expliquer au NAT quel ordinateur traite un type de requête particulier.

Vous aurez besoin pour cette étape de connaître l'adresse IP privée du Mac qui sera serveur HTTP. Si vous ne la connaissez pas, dans le menu pomme, cliquer sur '"a propos de ce Mac", "Plus d'infos...", puis sur dans la colonne Contenu sur "Réseau". Relever l'adresse assignée par la borne (AirPort si vous êtes en WiFi)

-Avec une borne AirPort

Dans le cas d'un borne AirPort, connectée au Web via un modem ethernet, il faut la configurer avec Utilitaire Admin AirPort du dossier Utilitaires. Sélectionner la borne et sur Configurer. Dans l'onglet Mappage de port, cliquer sur Ajouter. dans le Port public et le port privé, entrer 80. Renseigner "Adresse privée" en entrant le dernier octet de l'adresse IP privée de ce qui doit être le serveur HTTP ; valider et c'est fini ! En faisant ainsi on explique à la borne que les requête sur le port 80 de l'extérieur doit joindre l'ordinateur à l'adresse IP spécifiée sur le même port 80, qui correspond rappelons-le au port d'usage du HTTP.

-Avec la Livebox

Le principe est exactement le même. Sauf qu'il faut non pas utiliser le logiciel fourni, souvent limité, mais accéder directement au serveur http de paramétrage du routeur.

Dans Safari, entrer 192.168.1.1 dans la barre d'adresse. L'adresse publique s'affiche (notez-là) ; il faut cliquer sur Accès aux pages de configuration (accès réservé, protégé par mot de passe). S'identifier (par défaut l'identifiant et le mot de passe sont "admin"), puis aller dans Configuration, Avancée, Routeur. Dans le paragraphe Routeur NAT, cliquer sur Ajouter. Dans service, cliquer sur le premier menu déroulant, puis valider HTTP : les autres champs se remplissent automatiquement (bien foutu sur ce coup-là). Cliquer sur Soumettre, et voilà. Le principe est toujours le même : on spécifie quel ordinateur répond à quel port externe, sur quel port interne.

Si vous n'utilisez pas de borne Airport ou de Livebox, consultez le manuel de votre Box pour plus d'informations.

-Autre Box ou routeur

Le principe est le même. Consultez votre manuel concernant les fonctions routeur NAT de votre appareil.

Une fois cela fait, vous pouvez tester de la visibilité de votre serveur. Entrer l'adresse IP de connexion internet de votre routeur (votre adresse publique) dans la barre d'adresse de Safari. Si vous ne la connaissez pas, connectez-vous sur votre routeur avec un navigateur internet comme précédemment pour y trouver les détails de connexion. Reportez-vous à la documentation de votre appareil pour plus de détails. Certains sites comme http://adresseip.sur-la-toile.com/ permettent de vous renseigner sur votre ip publique.

Il serait possible de désactiver le NAT ou de configurer le DMZ (exposer l'ordinateur directement au Web) mais la sécurité apportée par le NAT est loin d'être négligeable ; c'est même un atout majeur.

Etape 3 : le DNS dynamique ; et comment avoir une "vraie" adresse internet

Quel que soit votre moyen de connexion, chaque fois que le modem se déconnecte et se reconnecte, l'adresse IP publique change. même en restant connecté 24 heures sur 24, les fournisseurs d'accès provoquent une déconnexion régulièrement (toutes les 24 heures chez Orange), ce qui provoque une reconnexion transparente avec une nouvelle adresse. Donc, vous oblige à renouveler tous les jours à vos contact l'adresse de votre site. Allons, ne laissez pas le découragement vous gagner ! DynDNS est là.

Définir une adresse classique

Nous allons utiliser les services gratuits de DynDNS. Tout d'abord, vous devez vous enregistrer sur https://www.dyndns.com/account/create.html. Une fois ceci fait et votre confirmation d'enregistrement envoyée, sur le site identifiez-vous, cliquez sur l'onglet Services, puis sur Dynamic DNS du paragraphe DNS Services. Cliquez sur Add dynamic DNS. Votre IP publique est déjà renseignée. Dans Hostname, cliquez sur le menu déroulant et sélectionnez le suffixe que vous préférez (exemple : dnsalias.net). Dans le champ à remplir, tapez librement le préfixe que vous voulez (exemple : micmac). Ainsi, la synthèse des deux (dans notre exemple, micmac.dnsalias.net) renverra à votre site. Cliquez sur Add host. Et voilà ! Votre site répondra maintenant à cette URL comme à votre IP publique. DynDNS répertorie des noms de domaine et fait la liaison avec l'adresse IP. Ainsi ceux qui veulent accéder à votre site n'ont plus à ce soucier de votre adresse. Vous pourrez la mettre à jour chaque fois que l'adresse à changé, en allant sur Manage Existing Host (https://www.dyndns.com/services/dns/dyndns/), cliquez sur l'adresse puis sur Modify Host. Ainsi la table sera mise à jour et fera correspondre la bonne IP à l'adresse de votre site.

Mettre à jour automatiquement l'adresse IP publique

Bon c'est bien beau tout ça, mais le fait de devoir mettre à jour manuellement l'adresse est problématique. En effet, l'adresse peut avoir changé plusieurs heures avant sa mise à jour, et pendant ce temps le site est injoignable ! Il y a des solutions.

-Avec tout appareil

Il existe un client gratuit pour mettre à jour automatiquement votre adresse : DynDNS Updater. Il se compose d'un logiciel principal de configuration, d'un daemon qui va relever votre IP et un Widget qui vous tiendra informé de son activité. Installez le widget et lancez le logiciel. Il demandera à installer le Daemon : valider, puis configurer le logiciel : cliquer sur Add User, puis renseigner votre identifiant et mot de passe et la description, puis validez. Automatiquement, le nom du site et l'adresse associée est affichée. Cliquer sur l'adresse à configurer puis sur Edit Host pour sélectonner l'interface. Si vous êtres connecté à l'aide d'un modem, entrez "adsl modem", si vous êtes connecté à l'aide d'un routeur entrez "External", etc. Dans les préférences, sélectionnez "activate on boot" pour permettre au daemon de procéder à la mise à jour de l'adresse dès le redémarrage de la machine. Plus besoin de lancer le logiciel, le daemon (un genre de service) tourne en permanence. On peut vérifier son activité à l'aide du Widget.

-Avec la Livebox

Solution nec plus ultra : la Livebox permet de gérer elle-même la mise à jour via le service DynDNS ou No-ip. Dans safari entrer 192.168.1.1 dans la barre d'adresse, s'identifier puis aller dans Configuration, Avancée, DNS dynamique. Entrer le nom de domaine que vous avez enregistré sur DynDNS, puis votre identifiant et mot de passe. C'est tout. Dès qu'elle change d'adresse la Livebox la communique à DynDNS. Vous pourrez consulter l'activité et al validité de la configuration sur cette même page.

Faites des tests sur votre adresse DNS chez vous puis par quelques personnes de l'extérieur. Si c'est concluant, étape suivante !

Etape 4 : Réalisation et publication d'un site

Votre site HTML est déjà réalisé

Le dossier où se trouvent les pages web est dans la Bibliothèque de la racine du disque dur, dans Webserver/Documents. Déplacez-en le contenu pour y glisser les fichiers et dossiers de votre site. La page d'accueil doit s'appeler Index.html.

Vous ne l'avez pas fait et vous utilisez iWeb

iWeb est un logiciel fourni avec tout Mac qui permet de faire de belles pages à l'aide de thèmes en Wysiwyg. Consultez l'aide iWeb pour réaliser votre site. Une fois la page d'accueil réalisée, allez dans la Bibliothèque de la racine du disque dur, dans Webserver et Documents. Supprimez ou mieux déplacez le contenu afin que le dossier Documents soit vide. Dans iWeb, allez dans le menu Fichier, cliquer sur Publier dans un dossier, et sélectionnez ce même dossier Documents. Dans le champ d'adresse URL, entrez l'adresse DNS souscrite précédemment chez DynDNS puis validez, et testez. Ca marche ? Bravo, tout bon :)

Vous utilisez PHP

Le php est l'acronyme de Hypertext Preprocessor. C'est un langage interprété qui permet de générer des pages sur le serveur pour le compte des ordinateurs clients qui lisent le code qui en résulte. Il est très apprécié pour sa capacité à générer du code dynamique interactif, en particulier des forums de discussion bien sûr (celui de PC INpact par exemple: Invision Power Board, tout comme le très populaire PHPBB).

Le PHP 5.2.6 est pré-installé mais désactivé dans Leopard (version 5.3 dans Snow Leopard). Voici la procédure pour l'activer.

Tout d'abord, désactiver le partage web.

Dans Safari, entrer l'adresse ///etc/apache2/. Une fenêtre va s'ouvrir, ne la fermez pas. Copier le fichier httpd.conf sur le bureau puis l'ouvrir avec un éditeur (TextEdit suffit) puis rechercher "php" (cmd-f). Vous allez tomber sur la ligne

#LoadModule php5_module		libexec/apache2/libphp5.so

Il faut simplement effacer le caractère '#' et sauvegarder. Il faut ensuite recopier le fichier de là où on l'a pris (/etc/apache2). Le Finder demandera à s'authentifier pour copier le fichier.

Ensuite, toujours dans un éditeur de texte, ouvrir un nouveau document et y copier

<?
phpinfo();
?>

puis le sauvegarder dans le dossier Sites sous le nom "index.php".

Réactiver le partage Web dans partage des Préférences système, puis cliquer sur le lien "votre site web personnel". Safari ouvre votre page html. Ajouter à la fin de l'adresse url "index.php". Si tout va bien, tous les détails de votre installation php s'affiche.

Etape 5 : Installation et paramétrage de MySQL

MySQL est un serveur de bases de données relationnelles SQL. Puissant et très utilisé, il est distribué sous une double licence dont l'une est GNU GPL. Il est requis pour de nombreuses applications web, comme (encore une fois) les forums.

Installation du serveur

Il faut tout d'abord la télécharger et l'installer, ce qui n'a rien de compliqué. Choisissez la version qui convient à votre plate-forme puis lancez l'installation.

Une fois tout cela fait, allez dans les Préférences système, un nouveau panneau "MySQL" a fait son installation. L'ouvrir et cliquer sur le bouton "Start"...) pour activer le serveur.

Cela pourrait être tout mais cela ne convient pas aux fichiers de configuration de base. Les fichiers sock ne sont pas cherchés là où ils sont installés par défaut.

Il faut donc ouvrir le terminal et entrer ces commandes (valider chaque ligne et entrer le mot de passe si il est demandé).

sudo mkdir /var/mysql 
sudo ln -s /private/tmp/mysql.sock /var/mysql/mysql.sock

Voilà qui est fait!

Administration avec PHPMyAdmin

PHPMyAdmin permet d'administrer MySQL en lui fournissant une GUI (Graphic user interface, ou interface graphique) parce que sinon, il faut tout faire par ligne de commande et ce n'est pas très jouasse.

Il fait le télécharger ici. En résulte un dossier, à glisser dans le dossier Sites du home et à renommer "phpmyadmin". Dans ce dossier, aller dans Libraries et copier config.inc.php à la racine de phpmyadmin. Une fois fait, il faut l'ouvrir dans un éditeur et aller à

$cfg['Servers'][$i]['user'] = 'root';

/**
* MySQL password (only needed with 'config' auth_type)
*
* @global string $cfg['Servers'][$i]['password']
*/
$cfg['Servers'][$i]['password'] = '';

A cette dernière ligne, entre les apostrophes, entrer le mot de passe de root (root par défaut).

Il est également possible de rentrer ici les noms et mot de passe d'un autre superutilisateur du serveur.

Ensuite, dans Safari entrer l'adresse du site local et ajouter phpmyadmin à la fin (sous la forme: http://nomdemonmac/~monuser/phpmyadmin/).

Si tout va bien plein de choses s'affichent, dont la liste des tables dans une colonne à gauche, une colonne localhost et une colonne sur la version de phpmyadmin.

Link to comment
Share on other sites

-Réservé-

-Réservé-

Vu l'intensité des réactions, je vais plutôt me faire un petit N3 :ouioui:

Y'a bien eu des ptits malins qui ont essayé d'accéder à des sites sur mes comptes utilsateurs. J'ai les noms ! (ou les IP plus exactement :craint: ) :byebye:

Je ferme mon serv en attendant.

Link to comment
Share on other sites

Euh, ptite question tu n'aurais pas fait une erreur dans le titre?

Non, il était surtout imprécis, c'est corrigé !

J'ai pas pris le train en marche... Du coup, j'ai rien compris... ;)

;)

En fait je projette de faire un tuto pour faire de son mac un serveur web et broadcast (radio mp3 et vidéos).

Rien d'extraordinaire ! Mais avec les trucs et astuces pour le faire derrière une Box avec un NAT, DNS dynamique, uniquement avec les outils Apple fournis ou gratuits.

C'est dans ce dessein que j'avais mis en ligne une page hébergée sur mon mac avec un lien vers une webradio que j'hébergeais également. Je vais remettre ça en ligne bientôt.

Link to comment
Share on other sites

Waaa... C super simple de mettre en route Apache en fait ! :zarb:

Et sinon, tu as prévu une partie PHP & MySQL ? :chinois:

A la base oui, mais malheureusement, ma propre expérience n'est pas favorable (je n'ai pas réussi à faire des tests concluants). Mais en principe le php fonctionne, il est juste désactivé dans les fichiers de configuration. Le serveur MySQL se télécharge et s'installe en 2 tours de main.

Link to comment
Share on other sites

Uaip comme le dis falou c'est vite fait,

pour apache local:root$apachectl start

pour php dans /etc/httpd/httpd.conf retirer deux signe " # " pour le module PHP4

pour MySQL faut voir sur entropy.ch, c'est peu plus long ;)

Falou Si tu as eu des problèmes avec PHP je peut peut-être t'aider, comme ça tu pouras ajouter le chapitre au tuto...

Link to comment
Share on other sites

Falou Si tu as eu des problèmes avec PHP je peut peut-être t'aider, comme ça tu pouras ajouter le chapitre au tuto...

Excellente idée ! Je vais vérifier avec la manip que tu décris et si y'a un soucis je te pv :) Merci pour cette proposition.

Sympa falou mais tu pourrais essayer d'utiliser des couleurs compatibles aux deux skins :ouioui:

Je dis ca parce que là certaines couleurs passent mal sur le skin sombre et ca ne met pas en valeur ton boulot ;)

OUPS ! Je vais relire et corriger mon Tuto et je remédierai à ces méchantes couleurs :)

Link to comment
Share on other sites

Sur MSN ça sera plus rapide :)

gribouille_a@hotmail.com

Bon t'étais pas là alors j'ai galéré lol

Je n'ai hélas pas réussi à activer le php4 de base dès que j'active les modules, Apache ne démarre plus. Je suis donc passé par une installation de php5, et avec modification adéquate du httpd.conf, ça fonctionne

ma page de test php

J'aimerais avant de décrire cette méthode savoir si certains d'entre vous ont réussi à activer le php4 intégré ? A ce sujet, la méthode de Gribouille est exacte (c'est pas ça que je mets en cause hein) je veux juste savoir si c'est à cause de ma config que ça marche pas :p

Link to comment
Share on other sites

Bon quelques soucis pour la suite de ce tuto... beaucoup de boulot, pas beaucoup chez moi, et surtout pas mal de problèmes avec la dernière build de Darwin Streaming Server qui plante notamment à la diffusion temps réel. Si ça continue je vais devoir me contenter de faire un Tuto sur le principe, hum...

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...